diff --git a/config/_default/menus/api.en.yaml b/config/_default/menus/api.en.yaml index 3361b2f656d..1efced3c8f1 100644 --- a/config/_default/menus/api.en.yaml +++ b/config/_default/menus/api.en.yaml @@ -10931,6 +10931,36 @@ menu: unstable: - v2 order: 5 + - name: Data Observability + url: /api/latest/data-observability/ + identifier: data-observability + generated: true + - name: Run a data observability monitor + url: /api/latest/data-observability/run-a-data-observability-monitor/ + identifier: data-observability-run-a-data-observability-monitor + parent: data-observability + generated: true + params: + versions: + - v2 + operationids: + - RunDataObservabilityMonitor + unstable: + - v2 + order: 1 + - name: Get data observability monitor run status + url: /api/latest/data-observability/get-data-observability-monitor-run-status/ + identifier: data-observability-get-data-observability-monitor-run-status + parent: data-observability + generated: true + params: + versions: + - v2 + operationids: + - GetDataObservabilityMonitorRunStatus + unstable: + - v2 + order: 2 - name: Datasets url: /api/latest/datasets/ identifier: datasets diff --git a/content/en/api/latest/data-observability/_index.md b/content/en/api/latest/data-observability/_index.md new file mode 100644 index 00000000000..21f1e2fdf1d --- /dev/null +++ b/content/en/api/latest/data-observability/_index.md @@ -0,0 +1,3 @@ +--- +title: Data Observability +--- diff --git a/content/en/api/latest/data-observability/get-data-observability-monitor-run-status/index.md b/content/en/api/latest/data-observability/get-data-observability-monitor-run-status/index.md new file mode 100644 index 00000000000..22308da38ce --- /dev/null +++ b/content/en/api/latest/data-observability/get-data-observability-monitor-run-status/index.md @@ -0,0 +1,3 @@ +--- +title: Get data observability monitor run status +--- diff --git a/content/en/api/latest/data-observability/run-a-data-observability-monitor/index.md b/content/en/api/latest/data-observability/run-a-data-observability-monitor/index.md new file mode 100644 index 00000000000..c6d9efc151b --- /dev/null +++ b/content/en/api/latest/data-observability/run-a-data-observability-monitor/index.md @@ -0,0 +1,3 @@ +--- +title: Run a data observability monitor +--- diff --git a/content/en/api/v2/data-observability/_index.md b/content/en/api/v2/data-observability/_index.md new file mode 100644 index 00000000000..c2391f40dda --- /dev/null +++ b/content/en/api/v2/data-observability/_index.md @@ -0,0 +1,4 @@ +--- +title: Data Observability +headless: true +--- diff --git a/content/en/api/v2/data-observability/examples.json b/content/en/api/v2/data-observability/examples.json new file mode 100644 index 00000000000..6a41124dae8 --- /dev/null +++ b/content/en/api/v2/data-observability/examples.json @@ -0,0 +1,112 @@ +{ + "GetDataObservabilityMonitorRunStatus": { + "responses": { + "200": { + "json": { + "data": { + "attributes": { + "error_message": "run completed but produced no metric data", + "status": "pending" + }, + "id": "abc123def456", + "type": "monitor_run" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

The data object for a data observability monitor run status response.

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

attributes [required]

\n
\n

object

\n

The attributes of a data observability monitor run status response.

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

error_message

\n
\n

string

\n

Error message describing why the monitor run failed. Only present when status is error.

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

status [required]

\n
\n

enum

\n

The status of a data observability monitor run. \nAllowed enum values: pending,ok,warn,alert,error

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

id [required]

\n
\n

string

\n

The unique identifier of the monitor run.

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

type [required]

\n
\n

enum

\n

The JSON:API resource type for a data observability monitor run. \nAllowed enum values: monitor_run

default: monitor_run

\n
\n \n
\n
\n
\n
" + }, + "404": { + "json": { + "errors": [ + { + "detail": "Missing required attribute in body", + "meta": {}, + "source": { + "header": "Authorization", + "parameter": "limit", + "pointer": "/data/attributes/title" + }, + "status": "400", + "title": "Bad Request" + } + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[object]

\n

A list of errors.

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

detail

\n
\n

string

\n

A human-readable explanation specific to this occurrence of the error.

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

meta

\n
\n

object

\n

Non-standard meta-information about the error

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

source

\n
\n

object

\n

References to the source of the error.

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

header

\n
\n

string

\n

A string indicating the name of a single request header which caused the error.

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

parameter

\n
\n

string

\n

A string indicating which URI query parameter caused the error.

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

pointer

\n
\n

string

\n

A JSON pointer to the value in the request document that caused the error.

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

status

\n
\n

string

\n

Status code of the response.

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

title

\n
\n

string

\n

Short human-readable summary of the error.

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

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + } + }, + "request": { + "json_curl": {}, + "json": {}, + "html": "" + } + }, + "RunDataObservabilityMonitor": { + "responses": { + "200": { + "json": { + "data": { + "id": "abc123def456", + "type": "monitor_run" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

The data object returned when a data observability monitor run is triggered.

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

id [required]

\n
\n

string

\n

The unique identifier of the monitor run.

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

type [required]

\n
\n

enum

\n

The JSON:API resource type for a data observability monitor run. \nAllowed enum values: monitor_run

default: monitor_run

\n
\n \n
\n
\n
\n
" + }, + "400": { + "json": { + "errors": [ + { + "detail": "Missing required attribute in body", + "meta": {}, + "source": { + "header": "Authorization", + "parameter": "limit", + "pointer": "/data/attributes/title" + }, + "status": "400", + "title": "Bad Request" + } + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[object]

\n

A list of errors.

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

detail

\n
\n

string

\n

A human-readable explanation specific to this occurrence of the error.

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

meta

\n
\n

object

\n

Non-standard meta-information about the error

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

source

\n
\n

object

\n

References to the source of the error.

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

header

\n
\n

string

\n

A string indicating the name of a single request header which caused the error.

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

parameter

\n
\n

string

\n

A string indicating which URI query parameter caused the error.

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

pointer

\n
\n

string

\n

A JSON pointer to the value in the request document that caused the error.

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

status

\n
\n

string

\n

Status code of the response.

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

title

\n
\n

string

\n

Short human-readable summary of the error.

\n
\n \n
\n
\n
\n
" + }, + "404": { + "json": { + "errors": [ + { + "detail": "Missing required attribute in body", + "meta": {}, + "source": { + "header": "Authorization", + "parameter": "limit", + "pointer": "/data/attributes/title" + }, + "status": "400", + "title": "Bad Request" + } + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[object]

\n

A list of errors.

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

detail

\n
\n

string

\n

A human-readable explanation specific to this occurrence of the error.

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

meta

\n
\n

object

\n

Non-standard meta-information about the error

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

source

\n
\n

object

\n

References to the source of the error.

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

header

\n
\n

string

\n

A string indicating the name of a single request header which caused the error.

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

parameter

\n
\n

string

\n

A string indicating which URI query parameter caused the error.

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

pointer

\n
\n

string

\n

A JSON pointer to the value in the request document that caused the error.

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

status

\n
\n

string

\n

Status code of the response.

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

title

\n
\n

string

\n

Short human-readable summary of the error.

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

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + } + }, + "request": { + "json_curl": {}, + "json": {}, + "html": "" + } + } +} \ No newline at end of file diff --git a/data/api/v2/full_spec.yaml b/data/api/v2/full_spec.yaml index 146c9e69b84..cd2864e2acd 100644 --- a/data/api/v2/full_spec.yaml +++ b/data/api/v2/full_spec.yaml @@ -28523,6 +28523,31 @@ components: - bucket_name - bucket_region 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 + 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 DataRelationshipsTeams: description: Associates teams with this schedule in a data structure. properties: @@ -39197,6 +39222,42 @@ components: required: - data type: object + GetDataObservabilityMonitorRunStatusResponse: + description: The response for getting the status of a data observability monitor run. + properties: + data: + $ref: "#/components/schemas/GetDataObservabilityMonitorRunStatusResponseData" + required: + - data + 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 + 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 GetDeviceAttributes: description: The device attributes properties: @@ -78882,6 +78943,27 @@ components: $ref: "#/components/schemas/RumRetentionFilterData" type: array 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 + 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 RunHistoricalJobRequest: description: Run a historical job request. properties: @@ -126182,6 +126264,107 @@ paths: x-unstable: |- **Note**: 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/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-menu-order: 2 + x-unstable: |- + **Note**: 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-menu-order: 1 + x-unstable: |- + **Note**: 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/datasets: get: description: Get all datasets that have been configured for an organization. @@ -189668,6 +189851,8 @@ tags: [Dashboards documentation](https://docs.datadoghq.com/dashboards/) for more information. name: Dashboards + - description: Manage and run data observability monitors. + name: Data Observability - description: |- Data Access Controls in Datadog is a feature that allows administrators and access managers to regulate access to sensitive data. By defining Restricted Datasets, you can ensure that only specific teams or roles can diff --git a/data/api/v2/translate_actions.json b/data/api/v2/translate_actions.json index 3d0c6d06967..ed06c7c206c 100644 --- a/data/api/v2/translate_actions.json +++ b/data/api/v2/translate_actions.json @@ -1564,6 +1564,14 @@ "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.", "summary": "Get usage stats for a dashboard" }, + "GetDataObservabilityMonitorRunStatus": { + "description": "Retrieves the current status of a data observability monitor run. Poll this endpoint after triggering a run to determine when evaluation is complete.", + "summary": "Get data observability monitor run status" + }, + "RunDataObservabilityMonitor": { + "description": "Manually triggers a run for a data observability monitor. Only monitors that are not scheduled (manually-runnable) can be triggered this way.", + "summary": "Run a data observability monitor" + }, "GetAllDatasets": { "description": "Get all datasets that have been configured for an organization.", "summary": "Get all datasets" diff --git a/data/api/v2/translate_tags.json b/data/api/v2/translate_tags.json index cd7dc74568c..875ced2b5d7 100644 --- a/data/api/v2/translate_tags.json +++ b/data/api/v2/translate_tags.json @@ -163,6 +163,10 @@ "name": "Dashboards", "description": "Get usage statistics for the dashboards in your organization, including view\ncounts, last-edit times, widget counts, and quality scores. See the\n[Dashboards documentation](https://docs.datadoghq.com/dashboards/) for more\ninformation." }, + "data-observability": { + "name": "Data Observability", + "description": "Manage and run data observability monitors." + }, "datasets": { "name": "Datasets", "description": "Data Access Controls in Datadog is a feature that allows administrators and access managers to regulate\naccess to sensitive data. By defining Restricted Datasets, you can ensure that only specific teams or roles can\nview certain types of telemetry (for example, logs, traces, metrics, and RUM data)."