diff --git a/config/_default/menus/api.en.yaml b/config/_default/menus/api.en.yaml index e90f12457ef..69a68acc26c 100644 --- a/config/_default/menus/api.en.yaml +++ b/config/_default/menus/api.en.yaml @@ -12579,6 +12579,84 @@ menu: url: /api/latest/governance-controls/ identifier: governance-controls generated: true + - name: Mitigate governance detections + url: /api/latest/governance-controls/mitigate-governance-detections/ + identifier: governance-controls-mitigate-governance-detections + parent: governance-controls + generated: true + params: + versions: + - v2 + operationids: + - CreateGovernanceMitigation + unstable: + - v2 + order: 5 + - name: Update governance control notification settings + url: /api/latest/governance-controls/update-governance-control-notification-settings/ + identifier: governance-controls-update-governance-control-notification-settings + parent: governance-controls + generated: true + params: + versions: + - v2 + operationids: + - UpdateGovernanceControlNotificationSettings + unstable: + - v2 + order: 10 + - name: Get governance control notification settings + url: /api/latest/governance-controls/get-governance-control-notification-settings/ + identifier: governance-controls-get-governance-control-notification-settings + parent: governance-controls + generated: true + params: + versions: + - v2 + operationids: + - GetGovernanceControlNotificationSettings + unstable: + - v2 + order: 9 + - name: Update a governance control detection + url: /api/latest/governance-controls/update-a-governance-control-detection/ + identifier: governance-controls-update-a-governance-control-detection + parent: governance-controls + generated: true + params: + versions: + - v2 + operationids: + - UpdateGovernanceControlDetection + unstable: + - v2 + order: 8 + - name: Get a governance control detection + url: /api/latest/governance-controls/get-a-governance-control-detection/ + identifier: governance-controls-get-a-governance-control-detection + parent: governance-controls + generated: true + params: + versions: + - v2 + operationids: + - GetGovernanceControlDetection + unstable: + - v2 + order: 7 + - name: List governance control detections + url: /api/latest/governance-controls/list-governance-control-detections/ + identifier: governance-controls-list-governance-control-detections + parent: governance-controls + generated: true + params: + versions: + - v2 + operationids: + - ListGovernanceControlDetections + unstable: + - v2 + order: 6 - name: Update a governance control url: /api/latest/governance-controls/update-a-governance-control/ identifier: governance-controls-update-a-governance-control @@ -12635,6 +12713,75 @@ menu: unstable: - v2 order: 1 + - name: Governance Settings + url: /api/latest/governance-settings/ + identifier: governance-settings + generated: true + - name: List governance resource limits + url: /api/latest/governance-settings/list-governance-resource-limits/ + identifier: governance-settings-list-governance-resource-limits + parent: governance-settings + generated: true + params: + versions: + - v2 + operationids: + - ListGovernanceResourceLimits + unstable: + - v2 + order: 7 + - name: Update governance notification settings + url: /api/latest/governance-settings/update-governance-notification-settings/ + identifier: governance-settings-update-governance-notification-settings + parent: governance-settings + generated: true + params: + versions: + - v2 + operationids: + - UpdateGovernanceNotificationSettings + unstable: + - v2 + order: 9 + - name: Get governance notification settings + url: /api/latest/governance-settings/get-governance-notification-settings/ + identifier: governance-settings-get-governance-notification-settings + parent: governance-settings + generated: true + params: + versions: + - v2 + operationids: + - GetGovernanceNotificationSettings + unstable: + - v2 + order: 8 + - name: List governance limits + url: /api/latest/governance-settings/list-governance-limits/ + identifier: governance-settings-list-governance-limits + parent: governance-settings + generated: true + params: + versions: + - v2 + operationids: + - ListGovernanceLimits + unstable: + - v2 + order: 6 + - name: Get the governance console configuration + url: /api/latest/governance-settings/get-the-governance-console-configuration/ + identifier: governance-settings-get-the-governance-console-configuration + parent: governance-settings + generated: true + params: + versions: + - v2 + operationids: + - GetGovernanceConfig + unstable: + - v2 + order: 5 - name: High Availability MultiRegion url: /api/latest/high-availability-multiregion/ identifier: high-availability-multiregion diff --git a/content/en/api/latest/governance-controls/get-a-governance-control-detection/index.md b/content/en/api/latest/governance-controls/get-a-governance-control-detection/index.md new file mode 100644 index 00000000000..bc4d9aff87e --- /dev/null +++ b/content/en/api/latest/governance-controls/get-a-governance-control-detection/index.md @@ -0,0 +1,3 @@ +--- +title: Get a governance control detection +--- diff --git a/content/en/api/latest/governance-controls/get-governance-control-notification-settings/index.md b/content/en/api/latest/governance-controls/get-governance-control-notification-settings/index.md new file mode 100644 index 00000000000..bd84d81e089 --- /dev/null +++ b/content/en/api/latest/governance-controls/get-governance-control-notification-settings/index.md @@ -0,0 +1,3 @@ +--- +title: Get governance control notification settings +--- diff --git a/content/en/api/latest/governance-controls/list-governance-control-detections/index.md b/content/en/api/latest/governance-controls/list-governance-control-detections/index.md new file mode 100644 index 00000000000..c1108b4e4fd --- /dev/null +++ b/content/en/api/latest/governance-controls/list-governance-control-detections/index.md @@ -0,0 +1,3 @@ +--- +title: List governance control detections +--- diff --git a/content/en/api/latest/governance-controls/mitigate-governance-detections/index.md b/content/en/api/latest/governance-controls/mitigate-governance-detections/index.md new file mode 100644 index 00000000000..a2190ea5a5c --- /dev/null +++ b/content/en/api/latest/governance-controls/mitigate-governance-detections/index.md @@ -0,0 +1,3 @@ +--- +title: Mitigate governance detections +--- diff --git a/content/en/api/latest/governance-controls/update-a-governance-control-detection/index.md b/content/en/api/latest/governance-controls/update-a-governance-control-detection/index.md new file mode 100644 index 00000000000..8e931be74de --- /dev/null +++ b/content/en/api/latest/governance-controls/update-a-governance-control-detection/index.md @@ -0,0 +1,3 @@ +--- +title: Update a governance control detection +--- diff --git a/content/en/api/latest/governance-controls/update-governance-control-notification-settings/index.md b/content/en/api/latest/governance-controls/update-governance-control-notification-settings/index.md new file mode 100644 index 00000000000..481094dfec8 --- /dev/null +++ b/content/en/api/latest/governance-controls/update-governance-control-notification-settings/index.md @@ -0,0 +1,3 @@ +--- +title: Update governance control notification settings +--- diff --git a/content/en/api/latest/governance-settings/_index.md b/content/en/api/latest/governance-settings/_index.md new file mode 100644 index 00000000000..3603b60c438 --- /dev/null +++ b/content/en/api/latest/governance-settings/_index.md @@ -0,0 +1,3 @@ +--- +title: Governance Settings +--- diff --git a/content/en/api/latest/governance-settings/get-governance-notification-settings/index.md b/content/en/api/latest/governance-settings/get-governance-notification-settings/index.md new file mode 100644 index 00000000000..c8d96316c7d --- /dev/null +++ b/content/en/api/latest/governance-settings/get-governance-notification-settings/index.md @@ -0,0 +1,3 @@ +--- +title: Get governance notification settings +--- diff --git a/content/en/api/latest/governance-settings/get-the-governance-console-configuration/index.md b/content/en/api/latest/governance-settings/get-the-governance-console-configuration/index.md new file mode 100644 index 00000000000..a57cc48a3d3 --- /dev/null +++ b/content/en/api/latest/governance-settings/get-the-governance-console-configuration/index.md @@ -0,0 +1,3 @@ +--- +title: Get the governance console configuration +--- diff --git a/content/en/api/latest/governance-settings/list-governance-limits/index.md b/content/en/api/latest/governance-settings/list-governance-limits/index.md new file mode 100644 index 00000000000..9f6fba6513a --- /dev/null +++ b/content/en/api/latest/governance-settings/list-governance-limits/index.md @@ -0,0 +1,3 @@ +--- +title: List governance limits +--- diff --git a/content/en/api/latest/governance-settings/list-governance-resource-limits/index.md b/content/en/api/latest/governance-settings/list-governance-resource-limits/index.md new file mode 100644 index 00000000000..989cf300951 --- /dev/null +++ b/content/en/api/latest/governance-settings/list-governance-resource-limits/index.md @@ -0,0 +1,3 @@ +--- +title: List governance resource limits +--- diff --git a/content/en/api/latest/governance-settings/update-governance-notification-settings/index.md b/content/en/api/latest/governance-settings/update-governance-notification-settings/index.md new file mode 100644 index 00000000000..d9d7701be98 --- /dev/null +++ b/content/en/api/latest/governance-settings/update-governance-notification-settings/index.md @@ -0,0 +1,3 @@ +--- +title: Update governance notification settings +--- diff --git a/content/en/api/v2/governance-controls/examples.json b/content/en/api/v2/governance-controls/examples.json index 0d087862ad8..676d2457344 100644 --- a/content/en/api/v2/governance-controls/examples.json +++ b/content/en/api/v2/governance-controls/examples.json @@ -610,5 +610,668 @@ }, "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

The data of a governance control update request.

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

attributes

\n
\n

object

\n

The attributes of a governance control that can be updated. Only the attributes present in the request are modified.

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

detection_frequency

\n
\n

string

\n

How often detections should be evaluated for the control.

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

detection_parameters

\n
\n

object

\n

A free-form map of parameter names to their configured values.

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

mitigation_parameters

\n
\n

object

\n

A free-form map of parameter names to their configured values.

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

mitigation_type

\n
\n

string

\n

The mitigation type to configure for the control.

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

name

\n
\n

string

\n

A new human-readable name for the control.

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

notification_frequency

\n
\n

string

\n

The notification frequency to configure for the control.

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

notification_parameters

\n
\n

object

\n

A free-form map of parameter names to their configured values.

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

notification_type

\n
\n

string

\n

The notification type to configure for the control.

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

id

\n
\n

string

\n

The unique identifier of the control.

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

type [required]

\n
\n

enum

\n

JSON:API resource type for a governance control. \nAllowed enum values: governance_control

\n
\n \n
\n
\n
\n
" } + }, + "ListGovernanceControlDetections": { + "responses": { + "200": { + "json": { + "data": [ + { + "attributes": { + "assigned_team": "platform-security", + "assigned_to": "11111111-2222-3333-4444-555555555555", + "assignment_source": "manual", + "control_id": "0d4e6f8a-1b2c-3d4e-5f6a-7b8c9d0e1f2a", + "created_at": "2024-03-01T12:00:00Z", + "detection_type": "unused_api_keys", + "display_name": "CI Deploy Key", + "exception_at": "2024-03-05T09:00:00Z", + "exception_by": "11111111-2222-3333-4444-555555555555", + "metadata": { + "region": "us-east-1" + }, + "mitigate_after": "2024-03-15T00:00:00Z", + "mitigated_at": "2024-03-10T15:30:00Z", + "priority": 1, + "resource_id": "api-key-12345", + "resource_url": "/organization-settings/api-keys/api-key-12345", + "state": "active" + }, + "id": "3f9b2c1a-8d4e-4a6b-9c2f-1e7d5a0b3c4d", + "type": "governance_control_detection" + } + ] + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

[object]

\n

An array of governance control detection resources.

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

attributes [required]

\n
\n

object

\n

The attributes of a governance control detection.

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

assigned_team

\n
\n

string

\n

The identifier of the team the detection is assigned to, if any.

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

assigned_to

\n
\n

string

\n

The identifier of the user the detection is assigned to, if any.

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

assignment_source [required]

\n
\n

enum

\n

How the detection's current assignment was determined. Possible values are auto_resolved, manual, reassigned, and cleared. \nAllowed enum values: auto_resolved,manual,reassigned,cleared

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

control_id [required]

\n
\n

string

\n

The unique identifier of the control that produced this detection.

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

created_at [required]

\n
\n

date-time

\n

The date and time when the detection was created.

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

detection_type [required]

\n
\n

string

\n

The type of detection, which determines what condition was detected.

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

display_name [required]

\n
\n

string

\n

The human-readable name of the detected resource.

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

exception_at

\n
\n

date-time

\n

The date and time when the detection was marked as an exception, if applicable.

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

exception_by

\n
\n

string

\n

The identifier of the user who marked the detection as an exception, if applicable.

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

metadata

\n
\n

\n

Free-form metadata associated with the detection.

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

mitigate_after

\n
\n

date-time

\n

The date and time after which the detection is scheduled to be mitigated, if applicable.

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

mitigated_at

\n
\n

date-time

\n

The date and time when the detection was mitigated, if applicable.

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

priority [required]

\n
\n

int64

\n

The priority of the detection, if set.

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

resource_id [required]

\n
\n

string

\n

The identifier of the resource the detection applies to.

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

resource_url [required]

\n
\n

string

\n

A link to the detected resource in Datadog.

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

state [required]

\n
\n

enum

\n

The current state of the detection. Possible values are active, exception, mitigated, inactive, obsolete, resolved_externally, and mitigation_in_progress. \nAllowed enum values: active,exception,mitigated,inactive,obsolete,resolved_externally,mitigation_in_progress

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

id [required]

\n
\n

string

\n

The unique identifier of the detection.

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

type [required]

\n
\n

enum

\n

Governance control detection resource type. \nAllowed enum values: governance_control_detection

\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
" + }, + "401": { + "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
" + }, + "403": { + "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": "" + } + }, + "GetGovernanceControlDetection": { + "responses": { + "200": { + "json": { + "data": { + "attributes": { + "assigned_team": "platform-security", + "assigned_to": "11111111-2222-3333-4444-555555555555", + "assignment_source": "manual", + "control_id": "0d4e6f8a-1b2c-3d4e-5f6a-7b8c9d0e1f2a", + "created_at": "2024-03-01T12:00:00Z", + "detection_type": "unused_api_keys", + "display_name": "CI Deploy Key", + "exception_at": "2024-03-05T09:00:00Z", + "exception_by": "11111111-2222-3333-4444-555555555555", + "metadata": { + "region": "us-east-1" + }, + "mitigate_after": "2024-03-15T00:00:00Z", + "mitigated_at": "2024-03-10T15:30:00Z", + "priority": 1, + "resource_id": "api-key-12345", + "resource_url": "/organization-settings/api-keys/api-key-12345", + "state": "active" + }, + "id": "3f9b2c1a-8d4e-4a6b-9c2f-1e7d5a0b3c4d", + "type": "governance_control_detection" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

A governance control detection resource.

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

attributes [required]

\n
\n

object

\n

The attributes of a governance control detection.

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

assigned_team

\n
\n

string

\n

The identifier of the team the detection is assigned to, if any.

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

assigned_to

\n
\n

string

\n

The identifier of the user the detection is assigned to, if any.

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

assignment_source [required]

\n
\n

enum

\n

How the detection's current assignment was determined. Possible values are auto_resolved, manual, reassigned, and cleared. \nAllowed enum values: auto_resolved,manual,reassigned,cleared

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

control_id [required]

\n
\n

string

\n

The unique identifier of the control that produced this detection.

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

created_at [required]

\n
\n

date-time

\n

The date and time when the detection was created.

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

detection_type [required]

\n
\n

string

\n

The type of detection, which determines what condition was detected.

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

display_name [required]

\n
\n

string

\n

The human-readable name of the detected resource.

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

exception_at

\n
\n

date-time

\n

The date and time when the detection was marked as an exception, if applicable.

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

exception_by

\n
\n

string

\n

The identifier of the user who marked the detection as an exception, if applicable.

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

metadata

\n
\n

\n

Free-form metadata associated with the detection.

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

mitigate_after

\n
\n

date-time

\n

The date and time after which the detection is scheduled to be mitigated, if applicable.

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

mitigated_at

\n
\n

date-time

\n

The date and time when the detection was mitigated, if applicable.

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

priority [required]

\n
\n

int64

\n

The priority of the detection, if set.

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

resource_id [required]

\n
\n

string

\n

The identifier of the resource the detection applies to.

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

resource_url [required]

\n
\n

string

\n

A link to the detected resource in Datadog.

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

state [required]

\n
\n

enum

\n

The current state of the detection. Possible values are active, exception, mitigated, inactive, obsolete, resolved_externally, and mitigation_in_progress. \nAllowed enum values: active,exception,mitigated,inactive,obsolete,resolved_externally,mitigation_in_progress

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

id [required]

\n
\n

string

\n

The unique identifier of the detection.

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

type [required]

\n
\n

enum

\n

Governance control detection resource type. \nAllowed enum values: governance_control_detection

\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
" + }, + "401": { + "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
" + }, + "403": { + "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": "" + } + }, + "UpdateGovernanceControlDetection": { + "responses": { + "200": { + "json": { + "data": { + "attributes": { + "assigned_team": "platform-security", + "assigned_to": "11111111-2222-3333-4444-555555555555", + "assignment_source": "manual", + "control_id": "0d4e6f8a-1b2c-3d4e-5f6a-7b8c9d0e1f2a", + "created_at": "2024-03-01T12:00:00Z", + "detection_type": "unused_api_keys", + "display_name": "CI Deploy Key", + "exception_at": "2024-03-05T09:00:00Z", + "exception_by": "11111111-2222-3333-4444-555555555555", + "metadata": { + "region": "us-east-1" + }, + "mitigate_after": "2024-03-15T00:00:00Z", + "mitigated_at": "2024-03-10T15:30:00Z", + "priority": 1, + "resource_id": "api-key-12345", + "resource_url": "/organization-settings/api-keys/api-key-12345", + "state": "active" + }, + "id": "3f9b2c1a-8d4e-4a6b-9c2f-1e7d5a0b3c4d", + "type": "governance_control_detection" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

A governance control detection resource.

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

attributes [required]

\n
\n

object

\n

The attributes of a governance control detection.

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

assigned_team

\n
\n

string

\n

The identifier of the team the detection is assigned to, if any.

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

assigned_to

\n
\n

string

\n

The identifier of the user the detection is assigned to, if any.

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

assignment_source [required]

\n
\n

enum

\n

How the detection's current assignment was determined. Possible values are auto_resolved, manual, reassigned, and cleared. \nAllowed enum values: auto_resolved,manual,reassigned,cleared

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

control_id [required]

\n
\n

string

\n

The unique identifier of the control that produced this detection.

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

created_at [required]

\n
\n

date-time

\n

The date and time when the detection was created.

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

detection_type [required]

\n
\n

string

\n

The type of detection, which determines what condition was detected.

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

display_name [required]

\n
\n

string

\n

The human-readable name of the detected resource.

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

exception_at

\n
\n

date-time

\n

The date and time when the detection was marked as an exception, if applicable.

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

exception_by

\n
\n

string

\n

The identifier of the user who marked the detection as an exception, if applicable.

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

metadata

\n
\n

\n

Free-form metadata associated with the detection.

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

mitigate_after

\n
\n

date-time

\n

The date and time after which the detection is scheduled to be mitigated, if applicable.

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

mitigated_at

\n
\n

date-time

\n

The date and time when the detection was mitigated, if applicable.

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

priority [required]

\n
\n

int64

\n

The priority of the detection, if set.

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

resource_id [required]

\n
\n

string

\n

The identifier of the resource the detection applies to.

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

resource_url [required]

\n
\n

string

\n

A link to the detected resource in Datadog.

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

state [required]

\n
\n

enum

\n

The current state of the detection. Possible values are active, exception, mitigated, inactive, obsolete, resolved_externally, and mitigation_in_progress. \nAllowed enum values: active,exception,mitigated,inactive,obsolete,resolved_externally,mitigation_in_progress

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

id [required]

\n
\n

string

\n

The unique identifier of the detection.

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

type [required]

\n
\n

enum

\n

Governance control detection resource type. \nAllowed enum values: governance_control_detection

\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
" + }, + "401": { + "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
" + }, + "403": { + "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": { + "data": { + "type": "governance_control_detection" + } + }, + "json": { + "data": { + "attributes": { + "assigned_team": "platform-security", + "assigned_to": "11111111-2222-3333-4444-555555555555", + "mitigate_after": "2024-03-15T00:00:00Z", + "state": "exception" + }, + "type": "governance_control_detection" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

The data of a governance control detection update request.

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

attributes

\n
\n

object

\n

The attributes of a governance control detection that can be updated. Only the attributes present in the request are modified.

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

assigned_team

\n
\n

string

\n

The handle of the team the detection is assigned to. Set to an empty string to clear the assignment.

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

assigned_to

\n
\n

string

\n

The UUID of the user the detection is assigned to. Set to an empty string to clear the assignment.

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

mitigate_after

\n
\n

date-time

\n

The timestamp after which the detection becomes eligible for mitigation. Used to defer mitigation to a later time.

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

state

\n
\n

enum

\n

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. \nAllowed enum values: exception,active

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

type [required]

\n
\n

enum

\n

Governance control detection resource type. \nAllowed enum values: governance_control_detection

\n
\n \n
\n
\n
\n
" + } + }, + "GetGovernanceControlNotificationSettings": { + "responses": { + "200": { + "json": { + "data": { + "attributes": { + "event_settings": [ + { + "enabled": true, + "event_type": "new_detection", + "targets": [ + { + "handle": "#governance-alerts", + "type": "slack" + } + ] + } + ] + }, + "id": "unused_api_keys", + "type": "control_notification_settings" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

A control notification settings resource.

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

attributes [required]

\n
\n

object

\n

The attributes of a governance control's notification settings.

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

event_settings [required]

\n
\n

[object]

\n

The notification settings for each supported event type on the control.

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

enabled [required]

\n
\n

boolean

\n

Whether notifications are enabled for this event type.

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

event_type [required]

\n
\n

string

\n

The event type the notification settings apply to, such as new_detection.

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

targets [required]

\n
\n

[object]

\n

The destinations that receive notifications for an event type.

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

handle [required]

\n
\n

string

\n

The destination handle, such as an email address, Slack channel, or user handle.

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

type [required]

\n
\n

enum

\n

The type of notification destination. \nAllowed enum values: email,slack,at_mention,case

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

id [required]

\n
\n

string

\n

The detection type the notification settings apply to.

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

type [required]

\n
\n

enum

\n

Control notification settings resource type. \nAllowed enum values: control_notification_settings

\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
" + }, + "401": { + "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
" + }, + "403": { + "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": "" + } + }, + "UpdateGovernanceControlNotificationSettings": { + "responses": { + "200": { + "json": { + "data": { + "attributes": { + "event_settings": [ + { + "enabled": true, + "event_type": "new_detection", + "targets": [ + { + "handle": "#governance-alerts", + "type": "slack" + } + ] + } + ] + }, + "id": "unused_api_keys", + "type": "control_notification_settings" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

A control notification settings resource.

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

attributes [required]

\n
\n

object

\n

The attributes of a governance control's notification settings.

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

event_settings [required]

\n
\n

[object]

\n

The notification settings for each supported event type on the control.

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

enabled [required]

\n
\n

boolean

\n

Whether notifications are enabled for this event type.

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

event_type [required]

\n
\n

string

\n

The event type the notification settings apply to, such as new_detection.

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

targets [required]

\n
\n

[object]

\n

The destinations that receive notifications for an event type.

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

handle [required]

\n
\n

string

\n

The destination handle, such as an email address, Slack channel, or user handle.

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

type [required]

\n
\n

enum

\n

The type of notification destination. \nAllowed enum values: email,slack,at_mention,case

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

id [required]

\n
\n

string

\n

The detection type the notification settings apply to.

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

type [required]

\n
\n

enum

\n

Control notification settings resource type. \nAllowed enum values: control_notification_settings

\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
" + }, + "401": { + "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
" + }, + "403": { + "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": { + "data": { + "attributes": { + "event_settings": [ + { + "enabled": true, + "event_type": "new_detection", + "targets": [ + { + "handle": "#governance-alerts", + "type": "slack" + } + ] + } + ] + }, + "type": "control_notification_settings" + } + }, + "json": { + "data": { + "attributes": { + "event_settings": [ + { + "enabled": true, + "event_type": "new_detection", + "targets": [ + { + "handle": "#governance-alerts", + "type": "slack" + } + ] + } + ] + }, + "type": "control_notification_settings" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

The data of a control notification settings update request.

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

attributes

\n
\n

object

\n

The attributes of a governance control's notification settings that can be updated.

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

event_settings

\n
\n

[object]

\n

The notification settings for each supported event type on the control.

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

enabled [required]

\n
\n

boolean

\n

Whether notifications are enabled for this event type.

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

event_type [required]

\n
\n

string

\n

The event type the notification settings apply to, such as new_detection.

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

targets [required]

\n
\n

[object]

\n

The destinations that receive notifications for an event type.

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

handle [required]

\n
\n

string

\n

The destination handle, such as an email address, Slack channel, or user handle.

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

type [required]

\n
\n

enum

\n

The type of notification destination. \nAllowed enum values: email,slack,at_mention,case

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

type [required]

\n
\n

enum

\n

Control notification settings resource type. \nAllowed enum values: control_notification_settings

\n
\n \n
\n
\n
\n
" + } + }, + "CreateGovernanceMitigation": { + "responses": { + "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
" + }, + "401": { + "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
" + }, + "403": { + "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": { + "data": { + "type": "governance_control_detection" + } + }, + "json": { + "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" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

The data of a governance mitigation request.

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

attributes

\n
\n

object

\n

The attributes of a governance mitigation request.

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

detection_ids

\n
\n

[string]

\n

The identifiers of the detections to mitigate in this request.

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

detection_type

\n
\n

string

\n

The detection type whose detections should be mitigated.

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

mitigation_parameters

\n
\n

object

\n

A free-form map of parameter names to their configured values.

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

mitigation_type

\n
\n

string

\n

The mitigation to apply to the selected detections. Defaults to the control's configured mitigation when omitted.

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

type [required]

\n
\n

enum

\n

Governance control detection resource type. \nAllowed enum values: governance_control_detection

\n
\n \n
\n
\n
\n
" + } } } \ No newline at end of file diff --git a/content/en/api/v2/governance-insights/examples.json b/content/en/api/v2/governance-insights/examples.json index 4d5f85b51eb..ba08d9bf50b 100644 --- a/content/en/api/v2/governance-insights/examples.json +++ b/content/en/api/v2/governance-insights/examples.json @@ -91,7 +91,7 @@ } ] }, - "html": "
\n
\n
\n
\n

data [required]

\n
\n

[object]

\n

An array of governance insight resources.

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

attributes [required]

\n
\n

object

\n

The attributes of a governance insight.

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

audit_query [required]

\n
\n

object

\n

An audit log query used to compute an insight value.

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

compute [required]

\n
\n

object

\n

The aggregation applied to an audit log query.

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

aggregation [required]

\n
\n

string

\n

The aggregation function to apply.

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

interval [required]

\n
\n

int64

\n

The aggregation time window, in milliseconds.

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

metric [required]

\n
\n

string

\n

The metric or attribute to aggregate.

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

rollup

\n
\n

string

\n

An optional secondary aggregation applied to the audit query result.

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

indexes [required]

\n
\n

[string]

\n

The audit log indexes the query runs against.

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

query [required]

\n
\n

string

\n

The audit log search query string.

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

source [required]

\n
\n

string

\n

The data source the query runs against.

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

best_practice [required]

\n
\n

object

\n

The best practice associated with an insight. Populated with the first active best practice\nmatched to the insight; null when no best practice is attached.

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

category [required]

\n
\n

string

\n

The value driver the best practice is grouped under, such as access_governance,\nsecurity, compliance, or operational_hygiene.

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

deep_link [required]

\n
\n

string

\n

A relative link to the configuration page where the best practice can be acted upon.

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

description [required]

\n
\n

string

\n

The full rationale and guidance for the best practice.

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

detection_type

\n
\n

string

\n

An optional association to a control's detection type. null when not associated with a control.

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

id [required]

\n
\n

string

\n

The unique identifier of the best practice.

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

impact [required]

\n
\n

string

\n

The expected impact of following the best practice.

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

impact_hint [required]

\n
\n

int64

\n

A priority hint for ordering best practices by expected impact. Lower values indicate\nhigher priority.

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

permissions [required]

\n
\n

[string]

\n

The permissions required for the user to act on the best practice.

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

status [required]

\n
\n

string

\n

Whether the best practice is currently active or deprecated.

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

summary [required]

\n
\n

string

\n

A one-line explanation of why this best practice matters.

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

title [required]

\n
\n

string

\n

A short, human-readable name for the best practice.

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

trigger_condition [required]

\n
\n

string

\n

The condition that surfaces the best practice. For an insight trigger, the insight\nslug; for a static trigger, a descriptive condition key.

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

trigger_type [required]

\n
\n

string

\n

How the best practice is surfaced. insight ties it to an insight; static surfaces it\nunless its condition is met.

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

deep_link [required]

\n
\n

string

\n

A relative link to the product surface where the insight can be acted upon.

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

description [required]

\n
\n

string

\n

A human-readable description of what the insight measures.

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

display_name [required]

\n
\n

string

\n

Human-readable name of the insight.

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

event_query [required]

\n
\n

object

\n

An event query used to compute an insight value.

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

compute

\n
\n

object

\n

The aggregation applied to an event query.

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

aggregation [required]

\n
\n

string

\n

The aggregation function to apply.

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

interval [required]

\n
\n

int64

\n

The aggregation time window, in milliseconds.

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

indexes [required]

\n
\n

[string]

\n

The event indexes the query runs against.

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

query [required]

\n
\n

string

\n

The event search query string.

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

metric_query [required]

\n
\n

object

\n

A metric query used to compute an insight value.

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

query [required]

\n
\n

string

\n

The query string.

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

reducer [required]

\n
\n

string

\n

How the query result series is reduced to a single value.

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

source [required]

\n
\n

string

\n

The data source the query runs against.

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

old_value [required]

\n
\n

double

\n

The value of the insight over the previous comparison window. null when values were\nnot requested or could not be computed.

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

percentage_query [required]

\n
\n

object

\n

A percentage query that computes an insight value as a ratio of two metric queries.

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

denominator_query [required]

\n
\n

object

\n

A metric query used to compute an insight value.

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

query [required]

\n
\n

string

\n

The query string.

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

reducer [required]

\n
\n

string

\n

How the query result series is reduced to a single value.

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

source [required]

\n
\n

string

\n

The data source the query runs against.

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

numerator_query [required]

\n
\n

object

\n

A metric query used to compute an insight value.

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

query [required]

\n
\n

string

\n

The query string.

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

reducer [required]

\n
\n

string

\n

How the query result series is reduced to a single value.

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

source [required]

\n
\n

string

\n

The data source the query runs against.

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

product [required]

\n
\n

string

\n

The product the insight belongs to.

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

query_config

\n
\n

object

\n

Query execution context that allows the frontend to execute insight queries directly.

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

chart_type

\n
\n

string

\n

The chart type the frontend should use to render the insight.

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

comparison_shift [required]

\n
\n

string

\n

The window used for the previous value comparison, for example week or month.

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

default_value

\n
\n

int64

\n

The default value to display when no data is available.

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

directionality

\n
\n

string

\n

Whether an increase in the value is good, bad, or neutral. One of neutral,\nincrease_better, or decrease_better.

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

effective_time_window_days [required]

\n
\n

int64

\n

The number of days the insight value is computed over.

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

sort_order

\n
\n

int64

\n

The relative order in which the insight should be displayed.

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

state [required]

\n
\n

string

\n

The state of the insight. A critical insight receives extra UI treatment to draw\nattention to it.

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

sub_product [required]

\n
\n

string

\n

The sub-product the insight belongs to, if any.

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

time_range [required]

\n
\n

string

\n

The time range the insight value is computed over, if applicable.

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

unit_name [required]

\n
\n

string

\n

The unit that the insight's value is measured in.

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

usage_query [required]

\n
\n

object

\n

A usage query used to compute an insight value.

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

query [required]

\n
\n

string

\n

The usage query string.

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

reducer [required]

\n
\n

string

\n

How the query result series is reduced to a single value.

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

value [required]

\n
\n

double

\n

The current value of the insight. null when values were not requested or could not be computed.

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

id [required]

\n
\n

string

\n

The unique identifier of the insight.

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

type [required]

\n
\n

enum

\n

JSON:API resource type for a governance insight. \nAllowed enum values: insight

\n
\n \n
\n
\n
\n
" + "html": "
\n
\n
\n
\n

data [required]

\n
\n

[object]

\n

An array of governance insight resources.

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

attributes [required]

\n
\n

object

\n

The attributes of a governance insight.

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

audit_query [required]

\n
\n

object

\n

An audit log query used to compute an insight value.

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

compute [required]

\n
\n

object

\n

The aggregation applied to an audit log query.

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

aggregation [required]

\n
\n

string

\n

The aggregation function to apply.

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

interval [required]

\n
\n

int64

\n

The aggregation time window, in milliseconds.

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

metric [required]

\n
\n

string

\n

The metric or attribute to aggregate.

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

rollup

\n
\n

string

\n

An optional secondary aggregation applied to the audit query result.

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

indexes [required]

\n
\n

[string]

\n

The audit log indexes the query runs against.

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

query [required]

\n
\n

string

\n

The audit log search query string.

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

source [required]

\n
\n

string

\n

The data source the query runs against.

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

best_practice [required]

\n
\n

object

\n

The best practice associated with an insight. Populated with the first active best practice\nmatched to the insight; null when no best practice is attached.

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

category [required]

\n
\n

string

\n

The value driver the best practice is grouped under, such as access_governance,\nsecurity, compliance, or operational_hygiene.

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

deep_link [required]

\n
\n

string

\n

A relative link to the configuration page where the best practice can be acted upon.

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

description [required]

\n
\n

string

\n

The full rationale and guidance for the best practice.

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

detection_type

\n
\n

string

\n

An optional association to a control's detection type. null when not associated with a control.

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

id [required]

\n
\n

string

\n

The unique identifier of the best practice.

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

impact [required]

\n
\n

string

\n

The expected impact of following the best practice.

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

impact_hint [required]

\n
\n

int64

\n

A priority hint for ordering best practices by expected impact. Lower values indicate\nhigher priority.

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

permissions [required]

\n
\n

[string]

\n

The permissions required for the user to act on the best practice.

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

status [required]

\n
\n

string

\n

Whether the best practice is currently active or deprecated.

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

summary [required]

\n
\n

string

\n

A one-line explanation of why this best practice matters.

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

title [required]

\n
\n

string

\n

A short, human-readable name for the best practice.

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

trigger_condition [required]

\n
\n

string

\n

The condition that surfaces the best practice. For an insight trigger, the insight\nslug; for a static trigger, a descriptive condition key.

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

trigger_type [required]

\n
\n

string

\n

How the best practice is surfaced. insight ties it to an insight; static surfaces it\nunless its condition is met.

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

deep_link [required]

\n
\n

string

\n

A relative link to the product surface where the insight can be acted upon.

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

description [required]

\n
\n

string

\n

A human-readable description of what the insight measures.

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

display_name [required]

\n
\n

string

\n

Human-readable name of the insight.

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

event_query [required]

\n
\n

object

\n

An event query used to compute an insight value.

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

compute

\n
\n

object

\n

The aggregation applied to an event query.

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

aggregation [required]

\n
\n

string

\n

The aggregation function to apply.

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

interval [required]

\n
\n

int64

\n

The aggregation time window, in milliseconds.

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

indexes [required]

\n
\n

[string]

\n

The event indexes the query runs against.

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

query [required]

\n
\n

string

\n

The event search query string.

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

metric_query [required]

\n
\n

object

\n

A metric query used to compute an insight value.

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

query [required]

\n
\n

string

\n

The query string.

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

reducer [required]

\n
\n

string

\n

How the query result series is reduced to a single value.

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

source [required]

\n
\n

string

\n

The data source the query runs against.

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

old_value [required]

\n
\n

double

\n

The value of the insight over the previous comparison window. null when values were\nnot requested or could not be computed.

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

percentage_query [required]

\n
\n

object

\n

A percentage query that computes an insight value as a ratio of two metric queries.

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

denominator_query [required]

\n
\n

object

\n

A metric query used to compute an insight value.

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

query [required]

\n
\n

string

\n

The query string.

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

reducer [required]

\n
\n

string

\n

How the query result series is reduced to a single value.

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

source [required]

\n
\n

string

\n

The data source the query runs against.

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

numerator_query [required]

\n
\n

object

\n

A metric query used to compute an insight value.

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

query [required]

\n
\n

string

\n

The query string.

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

reducer [required]

\n
\n

string

\n

How the query result series is reduced to a single value.

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

source [required]

\n
\n

string

\n

The data source the query runs against.

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

product [required]

\n
\n

string

\n

The product the insight belongs to.

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

query_config

\n
\n

object

\n

Query execution context that allows the frontend to execute insight queries directly.

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

chart_type

\n
\n

string

\n

The chart type the frontend should use to render the insight.

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

comparison_shift [required]

\n
\n

string

\n

The window used for the previous value comparison; for example, week or month.

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

default_value

\n
\n

int64

\n

The default value to display when no data is available.

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

directionality

\n
\n

string

\n

Whether an increase in the value is good, bad, or neutral. One of neutral,\nincrease_better, or decrease_better.

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

effective_time_window_days [required]

\n
\n

int64

\n

The number of days the insight value is computed over.

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

sort_order

\n
\n

int64

\n

The relative order in which the insight should be displayed.

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

state [required]

\n
\n

string

\n

The state of the insight. A critical insight receives extra UI treatment to draw\nattention to it.

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

sub_product [required]

\n
\n

string

\n

The sub-product the insight belongs to, if any.

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

time_range [required]

\n
\n

string

\n

The time range the insight value is computed over, if applicable.

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

unit_name [required]

\n
\n

string

\n

The unit that the insight's value is measured in.

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

usage_query [required]

\n
\n

object

\n

A usage query used to compute an insight value.

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

query [required]

\n
\n

string

\n

The usage query string.

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

reducer [required]

\n
\n

string

\n

How the query result series is reduced to a single value.

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

value [required]

\n
\n

double

\n

The current value of the insight. null when values were not requested or could not be computed.

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

id [required]

\n
\n

string

\n

The unique identifier of the insight.

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

type [required]

\n
\n

enum

\n

JSON:API resource type for a governance insight. \nAllowed enum values: insight

\n
\n \n
\n
\n
\n
" }, "400": { "json": { diff --git a/content/en/api/v2/governance-settings/_index.md b/content/en/api/v2/governance-settings/_index.md new file mode 100644 index 00000000000..b18718fb1de --- /dev/null +++ b/content/en/api/v2/governance-settings/_index.md @@ -0,0 +1,4 @@ +--- +title: Governance Settings +headless: true +--- diff --git a/content/en/api/v2/governance-settings/examples.json b/content/en/api/v2/governance-settings/examples.json new file mode 100644 index 00000000000..f20caa10b8c --- /dev/null +++ b/content/en/api/v2/governance-settings/examples.json @@ -0,0 +1,480 @@ +{ + "GetGovernanceConfig": { + "responses": { + "200": { + "json": { + "data": { + "attributes": { + "assignment_notifications_enabled": true, + "enabled": true, + "usage_attribution_configured": true + }, + "id": "11111111-2222-3333-4444-555555555555", + "type": "governance_console_config" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

A Governance Console configuration resource.

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

attributes [required]

\n
\n

object

\n

The attributes of a Governance Console configuration.

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

assignment_notifications_enabled [required]

\n
\n

boolean

\n

Whether notifications are sent to users when detections are assigned to them.

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

enabled [required]

\n
\n

boolean

\n

Whether the Governance Console is enabled for the organization.

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

usage_attribution_configured [required]

\n
\n

boolean

\n

Whether usage attribution is configured for the organization.

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

id [required]

\n
\n

string

\n

The unique identifier of the organization the Governance Console configuration applies to.

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

type [required]

\n
\n

enum

\n

Governance console config resource type. \nAllowed enum values: governance_console_config

\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
" + }, + "401": { + "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
" + }, + "403": { + "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": "" + } + }, + "ListGovernanceLimits": { + "responses": { + "200": { + "json": { + "data": [ + { + "attributes": { + "description": "The number of log events indexed in the last 30 days.", + "display_name": "Indexed Logs", + "limit_type": "usage", + "product": "logs", + "query": { + "query": "sum:datadog.estimated_usage.logs.ingested_events{*}", + "reducer": "sum", + "source": "metrics" + }, + "query_config": { + "chart_type": "line", + "comparison_shift": "month", + "default_value": 0, + "directionality": "increase_better", + "effective_time_window_days": 30 + }, + "time_range": "month", + "times_hit_limit": 2, + "unit_name": "events", + "usage_status": "approaching" + }, + "id": "logs_indexed_events", + "type": "limit" + } + ] + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

[object]

\n

An array of governance limit resources.

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

attributes [required]

\n
\n

object

\n

The attributes of a governance limit.

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

description [required]

\n
\n

string

\n

A description of what the limit measures.

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

display_name [required]

\n
\n

string

\n

The human-readable name of the limit.

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

limit_type [required]

\n
\n

string

\n

The type of limit, such as a rate limit or a usage limit.

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

product [required]

\n
\n

string

\n

The Datadog product the limit belongs to.

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

query [required]

\n
\n

object

\n

A metric query used to compute usage against a limit.

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

query [required]

\n
\n

string

\n

The metric query expression used to compute the limit value.

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

reducer [required]

\n
\n

string

\n

How the query results are aggregated into a single value (for example, sum, max, or avg).

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

source [required]

\n
\n

string

\n

The data source used to evaluate the metric query (for example, the metrics or events backend).

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

query_config [required]

\n
\n

object

\n

The query execution context used to visualize a limit and its usage.

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

chart_type

\n
\n

string

\n

The chart type used to visualize the limit and its usage.

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

comparison_shift

\n
\n

string

\n

The time shift applied to compare current usage against a prior period.

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

default_value

\n
\n

int64

\n

The default value used for the limit when no explicit value is configured.

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

directionality

\n
\n

string

\n

The direction in which usage approaches the limit, indicating whether higher or lower values are closer to the limit.

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

effective_time_window_days

\n
\n

int64

\n

The number of days of data the limit query evaluates over.

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

time_range [required]

\n
\n

string

\n

The time range over which usage against the limit is measured.

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

times_hit_limit [required]

\n
\n

double

\n

The number of times usage has reached the limit within the measured time range.

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

unit_name [required]

\n
\n

string

\n

The unit in which the limit and its usage are measured.

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

usage_status [required]

\n
\n

string

\n

The current usage status of the limit relative to its threshold.

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

id [required]

\n
\n

string

\n

The unique identifier of the limit.

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

type [required]

\n
\n

enum

\n

Limit resource type. \nAllowed enum values: limit

\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
" + }, + "401": { + "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
" + }, + "403": { + "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": "" + } + }, + "GetGovernanceNotificationSettings": { + "responses": { + "200": { + "json": { + "data": { + "attributes": { + "assignment_notifications_enabled": true + }, + "id": "11111111-2222-3333-4444-555555555555", + "type": "governance_notification_settings" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

A governance notification settings resource.

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

attributes [required]

\n
\n

object

\n

The attributes of the organization-wide governance notification settings.

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

assignment_notifications_enabled [required]

\n
\n

boolean

\n

Whether notifications are sent to users when detections are assigned to them.

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

id [required]

\n
\n

string

\n

The unique identifier of the organization the notification settings apply to.

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

type [required]

\n
\n

enum

\n

Governance notification settings resource type. \nAllowed enum values: governance_notification_settings

\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
" + }, + "401": { + "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
" + }, + "403": { + "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": "" + } + }, + "UpdateGovernanceNotificationSettings": { + "responses": { + "200": { + "json": { + "data": { + "attributes": { + "assignment_notifications_enabled": true + }, + "id": "11111111-2222-3333-4444-555555555555", + "type": "governance_notification_settings" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

A governance notification settings resource.

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

attributes [required]

\n
\n

object

\n

The attributes of the organization-wide governance notification settings.

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

assignment_notifications_enabled [required]

\n
\n

boolean

\n

Whether notifications are sent to users when detections are assigned to them.

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

id [required]

\n
\n

string

\n

The unique identifier of the organization the notification settings apply to.

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

type [required]

\n
\n

enum

\n

Governance notification settings resource type. \nAllowed enum values: governance_notification_settings

\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
" + }, + "401": { + "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
" + }, + "403": { + "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": { + "data": { + "type": "governance_notification_settings" + } + }, + "json": { + "data": { + "attributes": { + "assignment_notifications_enabled": true + }, + "type": "governance_notification_settings" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

The data of a governance notification settings update request.

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

attributes

\n
\n

object

\n

The attributes of the governance notification settings that can be updated. Only the attributes present in the request are modified.

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

assignment_notifications_enabled

\n
\n

boolean

\n

Whether notifications are sent to users when detections are assigned to them.

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

type [required]

\n
\n

enum

\n

Governance notification settings resource type. \nAllowed enum values: governance_notification_settings

\n
\n \n
\n
\n
\n
" + } + }, + "ListGovernanceResourceLimits": { + "responses": { + "200": { + "json": { + "data": [ + { + "attributes": { + "current_limit": 10000, + "current_value": 8200, + "deep_link": "/metric/summary", + "default_current_value": 0, + "default_limit_value": 0, + "description": "The number of custom metrics in use against your contracted limit.", + "display_name": "Custom Metrics", + "limit_query": { + "query": "sum:datadog.estimated_usage.logs.ingested_events{*}", + "reducer": "sum", + "source": "metrics" + }, + "product": "metrics", + "query": { + "query": "sum:datadog.estimated_usage.logs.ingested_events{*}", + "reducer": "sum", + "source": "metrics" + }, + "query_config": { + "chart_type": "line", + "comparison_shift": "month", + "default_value": 0, + "directionality": "increase_better", + "effective_time_window_days": 30 + }, + "time_range": "month", + "unit_name": "metrics", + "usage_status": "approaching" + }, + "id": "custom_metrics", + "type": "resource-limit" + } + ] + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

[object]

\n

An array of governance resource limit resources.

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

attributes [required]

\n
\n

object

\n

The attributes of a governance resource limit.

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

current_limit [required]

\n
\n

double

\n

The current limit configured for the resource.

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

current_value [required]

\n
\n

double

\n

The current value of the resource.

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

deep_link [required]

\n
\n

string

\n

A link to the Datadog page where the resource and its limit can be managed.

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

default_current_value [required]

\n
\n

double

\n

The default current value used when the resource value cannot be computed from the query.

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

default_limit_value [required]

\n
\n

double

\n

The default limit value used when the limit cannot be computed from the query.

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

description [required]

\n
\n

string

\n

A description of what the resource limit measures.

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

display_name [required]

\n
\n

string

\n

The human-readable name of the resource limit.

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

limit_query [required]

\n
\n

object

\n

A metric query used to compute usage against a limit.

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

query [required]

\n
\n

string

\n

The metric query expression used to compute the limit value.

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

reducer [required]

\n
\n

string

\n

How the query results are aggregated into a single value (for example, sum, max, or avg).

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

source [required]

\n
\n

string

\n

The data source used to evaluate the metric query (for example, the metrics or events backend).

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

product [required]

\n
\n

string

\n

The Datadog product the resource limit belongs to.

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

query [required]

\n
\n

object

\n

A metric query used to compute usage against a limit.

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

query [required]

\n
\n

string

\n

The metric query expression used to compute the limit value.

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

reducer [required]

\n
\n

string

\n

How the query results are aggregated into a single value (for example, sum, max, or avg).

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

source [required]

\n
\n

string

\n

The data source used to evaluate the metric query (for example, the metrics or events backend).

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

query_config [required]

\n
\n

object

\n

The query execution context used to visualize a limit and its usage.

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

chart_type

\n
\n

string

\n

The chart type used to visualize the limit and its usage.

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

comparison_shift

\n
\n

string

\n

The time shift applied to compare current usage against a prior period.

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

default_value

\n
\n

int64

\n

The default value used for the limit when no explicit value is configured.

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

directionality

\n
\n

string

\n

The direction in which usage approaches the limit, indicating whether higher or lower values are closer to the limit.

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

effective_time_window_days

\n
\n

int64

\n

The number of days of data the limit query evaluates over.

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

time_range [required]

\n
\n

string

\n

The time range over which the resource value is measured.

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

unit_name [required]

\n
\n

string

\n

The unit in which the resource value and limit are measured.

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

usage_status [required]

\n
\n

string

\n

The current usage status of the resource relative to its limit.

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

id [required]

\n
\n

string

\n

The unique identifier of the resource limit.

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

type [required]

\n
\n

enum

\n

Resource limit resource type. \nAllowed enum values: resource-limit

\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
" + }, + "401": { + "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
" + }, + "403": { + "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 a5c9417faa8..639913de2a3 100644 --- a/data/api/v2/full_spec.yaml +++ b/data/api/v2/full_spec.yaml @@ -21292,6 +21292,125 @@ components: - IDENTITY - GZIP - DEFLATE + 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 + ControlNotificationEventSettingsArray: + description: The notification settings for each supported event type on the control. + items: + $ref: "#/components/schemas/ControlNotificationEventSetting" + type: array + ControlNotificationSettingsAttributes: + description: The attributes of a governance control's notification settings. + properties: + event_settings: + $ref: "#/components/schemas/ControlNotificationEventSettingsArray" + required: + - event_settings + type: object + 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 + ControlNotificationSettingsResourceType: + description: Control notification settings resource type. + enum: + - control_notification_settings + example: "control_notification_settings" + type: string + x-enum-varnames: + - CONTROL_NOTIFICATION_SETTINGS + ControlNotificationSettingsResponse: + description: The notification settings for a governance control. + properties: + data: + $ref: "#/components/schemas/ControlNotificationSettingsData" + required: + - data + type: object + ControlNotificationSettingsUpdateAttributes: + description: The attributes of a governance control's notification settings that can be updated. + properties: + event_settings: + $ref: "#/components/schemas/ControlNotificationEventSettingsArray" + 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 + ControlNotificationSettingsUpdateRequest: + description: A request to update the notification settings for a governance control. + properties: + data: + $ref: "#/components/schemas/ControlNotificationSettingsUpdateData" + required: + - data + 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 + ControlNotificationTargetArray: + description: The destinations that receive notifications for an event type. + items: + $ref: "#/components/schemas/ControlNotificationTarget" + type: array + 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 ConvertJobResultsToSignalsAttributes: description: Attributes for converting historical job results to signals. properties: @@ -42034,6 +42153,58 @@ components: - impact_hint - status 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 + required: + - enabled + - assignment_notifications_enabled + - usage_attribution_configured + 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. + example: "11111111-2222-3333-4444-555555555555" + type: string + type: + $ref: "#/components/schemas/GovernanceConsoleConfigResourceType" + required: + - id + - type + - attributes + type: object + GovernanceConfigResponse: + description: The Governance Console configuration for an organization. + properties: + data: + $ref: "#/components/schemas/GovernanceConfigData" + required: + - data + type: object + GovernanceConsoleConfigResourceType: + description: Governance console config resource type. + enum: + - governance_console_config + example: "governance_console_config" + type: string + x-enum-varnames: + - GOVERNANCE_CONSOLE_CONFIG GovernanceControlAttributes: description: The attributes of a governance control. properties: @@ -42207,6 +42378,211 @@ components: - type - attributes type: object + 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 + GovernanceControlDetectionAttributes: + description: The attributes of a governance control detection. + properties: + 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: + description: The unique identifier of the control that produced this detection. + example: "0d4e6f8a-1b2c-3d4e-5f6a-7b8c9d0e1f2a" + 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: + 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_url: + description: A link to the detected resource in Datadog. + example: "/organization-settings/api-keys/api-key-12345" + type: string + state: + $ref: "#/components/schemas/GovernanceControlDetectionState" + required: + - state + - control_id + - resource_id + - resource_url + - detection_type + - display_name + - created_at + - assignment_source + - priority + 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 + GovernanceControlDetectionResourceType: + description: Governance control detection resource type. + enum: + - governance_control_detection + example: "governance_control_detection" + type: string + x-enum-varnames: + - GOVERNANCE_CONTROL_DETECTION + GovernanceControlDetectionResponse: + description: A single governance control detection. + properties: + data: + $ref: "#/components/schemas/GovernanceControlDetectionData" + required: + - data + type: object + 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 + 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 + 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 + 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 + GovernanceControlDetectionUpdateRequest: + description: A request to update a governance control detection. + properties: + data: + $ref: "#/components/schemas/GovernanceControlDetectionUpdateData" + required: + - data + type: object + 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 + GovernanceControlDetectionsDataArray: + description: An array of governance control detection resources. + items: + $ref: "#/components/schemas/GovernanceControlDetectionData" + type: array + GovernanceControlDetectionsResponse: + description: A list of governance control detections. + properties: + data: + $ref: "#/components/schemas/GovernanceControlDetectionsDataArray" + required: + - data + type: object GovernanceControlMitigationDefinition: description: The definition of a mitigation available for a control. properties: @@ -42672,7 +43048,7 @@ components: example: "line" type: string comparison_shift: - description: The window used for the previous value comparison, for example `week` or `month`. + description: The window used for the previous value comparison; for example, `week` or `month`. example: "month" type: string default_value: @@ -42731,6 +43107,360 @@ components: required: - data type: object + GovernanceLimitAttributes: + description: The attributes of a governance limit. + properties: + description: + description: A description of what the limit measures. + example: "The number of log events indexed in the last 30 days." + type: string + display_name: + description: The human-readable name of the limit. + example: "Indexed Logs" + type: string + limit_type: + description: The type of limit, such as a rate limit or a usage limit. + example: "usage" + type: string + product: + description: The Datadog product the limit belongs to. + example: "logs" + type: string + query: + $ref: "#/components/schemas/GovernanceLimitQuery" + query_config: + $ref: "#/components/schemas/GovernanceLimitQueryConfig" + time_range: + description: The time range over which usage against the limit is measured. + example: "month" + type: string + times_hit_limit: + description: The number of times usage has reached the limit within the measured time range. + example: 2 + format: double + type: number + unit_name: + description: The unit in which the limit and its usage are measured. + example: "events" + type: string + usage_status: + description: The current usage status of the limit relative to its threshold. + example: "approaching" + type: string + required: + - display_name + - description + - product + - limit_type + - unit_name + - time_range + - query + - times_hit_limit + - usage_status + - query_config + type: object + GovernanceLimitData: + description: A governance limit resource. + properties: + attributes: + $ref: "#/components/schemas/GovernanceLimitAttributes" + id: + description: The unique identifier of the limit. + example: "logs_indexed_events" + type: string + type: + $ref: "#/components/schemas/GovernanceLimitResourceType" + required: + - id + - type + - attributes + type: object + GovernanceLimitQuery: + description: A metric query used to compute usage against a limit. + properties: + query: + description: The metric query expression used to compute the limit value. + example: "sum:datadog.estimated_usage.logs.ingested_events{*}" + type: string + reducer: + description: How the query results are aggregated into a single value (for example, sum, max, or avg). + example: "sum" + type: string + source: + description: The data source used to evaluate the metric query (for example, the metrics or events backend). + example: "metrics" + type: string + required: + - source + - query + - reducer + type: object + GovernanceLimitQueryConfig: + description: The query execution context used to visualize a limit and its usage. + properties: + chart_type: + description: The chart type used to visualize the limit and its usage. + example: "line" + type: string + comparison_shift: + description: The time shift applied to compare current usage against a prior period. + example: "month" + type: string + default_value: + description: The default value used for the limit when no explicit value is configured. + example: 0 + format: int64 + type: integer + directionality: + description: The direction in which usage approaches the limit, indicating whether higher or lower values are closer to the limit. + example: "increase_better" + type: string + effective_time_window_days: + description: The number of days of data the limit query evaluates over. + example: 30 + format: int64 + type: integer + type: object + GovernanceLimitResourceType: + description: Limit resource type. + enum: + - limit + example: "limit" + type: string + x-enum-varnames: + - LIMIT + GovernanceLimitsDataArray: + description: An array of governance limit resources. + items: + $ref: "#/components/schemas/GovernanceLimitData" + type: array + GovernanceLimitsResponse: + description: A list of governance limits. + properties: + data: + $ref: "#/components/schemas/GovernanceLimitsDataArray" + 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 + GovernanceMitigationRequestAttributes: + description: The attributes of a governance mitigation request. + properties: + 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 + 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 + 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 + GovernanceNotificationSettingsAttributes: + description: The attributes of the organization-wide governance notification settings. + properties: + 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 + 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 + GovernanceNotificationSettingsResourceType: + description: Governance notification settings resource type. + enum: + - governance_notification_settings + example: "governance_notification_settings" + type: string + x-enum-varnames: + - GOVERNANCE_NOTIFICATION_SETTINGS + GovernanceNotificationSettingsResponse: + description: The organization-wide governance notification settings. + properties: + data: + $ref: "#/components/schemas/GovernanceNotificationSettingsData" + required: + - data + type: object + 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 + 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 + GovernanceNotificationSettingsUpdateRequest: + description: A request to update the organization-wide governance notification settings. + properties: + data: + $ref: "#/components/schemas/GovernanceNotificationSettingsUpdateData" + required: + - data + type: object + GovernanceResourceLimitAttributes: + description: The attributes of a governance resource limit. + properties: + current_limit: + description: The current limit configured for the resource. + example: 10000 + format: double + type: number + current_value: + description: The current value of the resource. + example: 8200 + format: double + type: number + deep_link: + description: A link to the Datadog page where the resource and its limit can be managed. + example: "/metric/summary" + type: string + default_current_value: + description: The default current value used when the resource value cannot be computed from the query. + example: 0 + format: double + type: number + default_limit_value: + description: The default limit value used when the limit cannot be computed from the query. + example: 0 + format: double + type: number + description: + description: A description of what the resource limit measures. + example: "The number of custom metrics in use against your contracted limit." + type: string + display_name: + description: The human-readable name of the resource limit. + example: "Custom Metrics" + type: string + limit_query: + $ref: "#/components/schemas/GovernanceLimitQuery" + product: + description: The Datadog product the resource limit belongs to. + example: "metrics" + type: string + query: + $ref: "#/components/schemas/GovernanceLimitQuery" + query_config: + $ref: "#/components/schemas/GovernanceLimitQueryConfig" + time_range: + description: The time range over which the resource value is measured. + example: "month" + type: string + unit_name: + description: The unit in which the resource value and limit are measured. + example: "metrics" + type: string + usage_status: + description: The current usage status of the resource relative to its limit. + example: "approaching" + type: string + required: + - display_name + - description + - product + - unit_name + - time_range + - current_value + - current_limit + - default_current_value + - default_limit_value + - deep_link + - query + - limit_query + - query_config + - usage_status + type: object + GovernanceResourceLimitData: + description: A governance resource limit resource. + properties: + attributes: + $ref: "#/components/schemas/GovernanceResourceLimitAttributes" + id: + description: The unique identifier of the resource limit. + example: "custom_metrics" + type: string + type: + $ref: "#/components/schemas/GovernanceResourceLimitResourceType" + required: + - id + - type + - attributes + type: object + GovernanceResourceLimitResourceType: + description: Resource limit resource type. + enum: + - resource-limit + example: "resource-limit" + type: string + x-enum-varnames: + - RESOURCE_LIMIT + GovernanceResourceLimitsDataArray: + description: An array of governance resource limit resources. + items: + $ref: "#/components/schemas/GovernanceResourceLimitData" + type: array + GovernanceResourceLimitsResponse: + description: A list of governance resource limits. + properties: + data: + $ref: "#/components/schemas/GovernanceResourceLimitsDataArray" + required: + - data + type: object GreyNoiseAPIKey: description: The definition of the `GreyNoiseAPIKey` object. properties: @@ -136727,6 +137457,61 @@ paths: operator: OR permissions: - 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 + id: "11111111-2222-3333-4444-555555555555" + type: "governance_console_config" + schema: + $ref: "#/components/schemas/GovernanceConfigResponse" + 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: [] + - AuthZ: [] + summary: Get the governance console configuration + tags: + - Governance Settings + x-menu-order: 5 + x-unstable: |- + **Note**: This 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: |- @@ -136829,10 +137614,18 @@ paths: description: Forbidden "429": $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] summary: List governance controls tags: - Governance Controls x-menu-order: 2 + "x-permission": + 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/). @@ -136929,10 +137722,18 @@ paths: description: Not Found "429": $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] summary: Get a governance control tags: - Governance Controls x-menu-order: 3 + "x-permission": + 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/). @@ -137036,10 +137837,487 @@ paths: description: Not Found "429": $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] summary: Update a governance control tags: - Governance Controls x-menu-order: 4 + "x-permission": + operator: AND + permissions: + - 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: |- + 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: The attribute to sort detections by. Prefix with `-` for descending order. + example: "-created_at" + 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: "0d4e6f8a-1b2c-3d4e-5f6a-7b8c9d0e1f2a" + 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_url: "/organization-settings/api-keys/api-key-12345" + state: "active" + id: "3f9b2c1a-8d4e-4a6b-9c2f-1e7d5a0b3c4d" + type: "governance_control_detection" + schema: + $ref: "#/components/schemas/GovernanceControlDetectionsResponse" + 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: [] + - AuthZ: + - governance_console_read + summary: List governance control detections + tags: + - Governance Controls + x-menu-order: 6 + "x-permission": + 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}/detections/{detection_id}: + get: + description: Retrieve a single detection produced by the governance control with the given detection type. + operationId: GetGovernanceControlDetection + 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: 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: "0d4e6f8a-1b2c-3d4e-5f6a-7b8c9d0e1f2a" + 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_url: "/organization-settings/api-keys/api-key-12345" + state: "active" + id: "3f9b2c1a-8d4e-4a6b-9c2f-1e7d5a0b3c4d" + type: "governance_control_detection" + schema: + $ref: "#/components/schemas/GovernanceControlDetectionResponse" + 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: [] + - AuthZ: + - governance_console_read + summary: Get a governance control detection + tags: + - Governance Controls + x-menu-order: 7 + "x-permission": + 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 detection produced by the governance control with the given detection type. 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: UpdateGovernanceControlDetection + 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: 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: "0d4e6f8a-1b2c-3d4e-5f6a-7b8c9d0e1f2a" + 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_url: "/organization-settings/api-keys/api-key-12345" + state: "active" + id: "3f9b2c1a-8d4e-4a6b-9c2f-1e7d5a0b3c4d" + type: "governance_control_detection" + schema: + $ref: "#/components/schemas/GovernanceControlDetectionResponse" + 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: [] + - AuthZ: + - governance_console_read + summary: Update a governance control detection + tags: + - Governance Controls + x-menu-order: 8 + "x-permission": + 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}/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/ControlNotificationSettingsResponse" + 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: [] + - AuthZ: + - governance_console_read + summary: Get governance control notification settings + tags: + - Governance Controls + x-menu-order: 9 + "x-permission": + 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/). + 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: + - 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": + 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: [] + - AuthZ: + - governance_console_read + - governance_console_write + summary: Update governance control notification settings + tags: + - Governance Controls + x-menu-order: 10 + "x-permission": + operator: AND + permissions: + - 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/). @@ -137166,10 +138444,371 @@ paths: description: Forbidden "429": $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - audit_logs_read + - events_read + - metrics_read summary: List governance insights tags: - Governance Insights x-menu-order: 1 + "x-permission": + operator: OR + permissions: + - metrics_read + - events_read + - audit_logs_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/limits: + get: + description: |- + Retrieve the list of usage limits tracked for the organization in the Governance Console. + Each limit reports the query used to compute current usage, the unit and time range it is + measured over, and its current usage status. + operationId: ListGovernanceLimits + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + - attributes: + description: "The number of log events indexed in the last 30 days." + display_name: "Indexed Logs" + limit_type: "usage" + product: "logs" + query: + query: "sum:datadog.estimated_usage.logs.ingested_events{*}" + reducer: "sum" + source: "metrics" + query_config: + chart_type: "line" + comparison_shift: "month" + default_value: 0 + directionality: "increase_better" + effective_time_window_days: 30 + time_range: "month" + times_hit_limit: 2 + unit_name: "events" + usage_status: "approaching" + id: "logs_indexed_events" + type: "limit" + schema: + $ref: "#/components/schemas/GovernanceLimitsResponse" + 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: [] + - AuthZ: + - governance_console_read + summary: List governance limits + tags: + - Governance Settings + x-menu-order: 6 + "x-permission": + 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/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: CreateGovernanceMitigation + 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/GovernanceMitigationRequest" + 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 + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - governance_console_read + summary: Mitigate governance detections + tags: + - Governance Controls + x-menu-order: 5 + "x-permission": + 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/notification_settings: + get: + 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/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/JSONAPIErrorResponse" + description: Forbidden + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - governance_console_read + summary: Get governance notification settings + tags: + - Governance Settings + x-menu-order: 8 + "x-permission": + 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 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/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/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/JSONAPIErrorResponse" + description: Forbidden + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - governance_console_read + - governance_console_write + summary: Update governance notification settings + tags: + - Governance Settings + x-menu-order: 9 + "x-permission": + operator: AND + permissions: + - 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/resource-limits: + get: + description: |- + Retrieve the list of resource limits tracked for the organization in the Governance Console. + Each resource limit reports its current value and configured limit, the queries used to + compute them, and its current usage status. + operationId: ListGovernanceResourceLimits + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + - attributes: + current_limit: 10000 + current_value: 8200 + deep_link: "/metric/summary" + default_current_value: 0 + default_limit_value: 0 + description: "The number of custom metrics in use against your contracted limit." + display_name: "Custom Metrics" + limit_query: + query: "sum:datadog.contract.metrics.custom{*}" + reducer: "max" + source: "metrics" + product: "metrics" + query: + query: "sum:datadog.estimated_usage.metrics.custom{*}" + reducer: "sum" + source: "metrics" + query_config: + chart_type: "line" + comparison_shift: "month" + default_value: 0 + directionality: "decrease_better" + effective_time_window_days: 30 + time_range: "month" + unit_name: "metrics" + usage_status: "approaching" + id: "custom_metrics" + type: "resource-limit" + schema: + $ref: "#/components/schemas/GovernanceResourceLimitsResponse" + 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: [] + - AuthZ: + - governance_console_read + summary: List governance resource limits + tags: + - Governance Settings + x-menu-order: 7 + "x-permission": + 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/). @@ -193422,10 +195061,18 @@ paths: description: Forbidden "429": $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] summary: List tag policies tags: - Tag Policies x-menu-order: 1 + "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/). @@ -193514,10 +195161,17 @@ paths: description: Conflict "429": $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] summary: Create a tag policy tags: - Tag Policies x-menu-order: 2 + "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/). @@ -193572,10 +195226,17 @@ paths: description: Not Found "429": $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] summary: Delete a tag policy tags: - Tag Policies x-menu-order: 5 + "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/). @@ -193685,10 +195346,18 @@ paths: description: Not Found "429": $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] summary: Get a tag policy tags: - Tag Policies x-menu-order: 3 + "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/). @@ -193777,10 +195446,17 @@ paths: description: Not Found "429": $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] summary: Update a tag policy tags: - Tag Policies x-menu-order: 4 + "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/). @@ -193860,10 +195536,18 @@ paths: description: Not Found "429": $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] summary: Get a tag policy compliance score tags: - Tag Policies x-menu-order: 6 + "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/). @@ -199471,6 +201155,11 @@ tags: optionally, a previous value for comparison) along with the query used to compute it, so that the Console can render trends and highlight areas that need attention. name: Governance Insights + - description: |- + Governance Settings cover organization-wide Governance Console configuration, usage limits and + resource limits, and notification preferences that determine when and how the Console alerts + users about governance activity. + name: Governance Settings - description: |- Configure High Availability Multi-Region (HAMR) connections between Datadog organizations. HAMR provides disaster recovery capabilities by maintaining synchronized data between primary diff --git a/data/api/v2/translate_actions.json b/data/api/v2/translate_actions.json index 2554871d8ff..8b90be20419 100644 --- a/data/api/v2/translate_actions.json +++ b/data/api/v2/translate_actions.json @@ -1958,6 +1958,10 @@ "description": "Returns organizations across regions for the authenticated user. The `user_handle` query parameter must match the authenticated user's handle.", "summary": "List global orgs" }, + "GetGovernanceConfig": { + "description": "Retrieve the Governance Console configuration for the organization, including whether the\nConsole is enabled, whether assignment notifications are enabled, and whether usage\nattribution is configured.", + "summary": "Get the governance console configuration" + }, "ListGovernanceControls": { "description": "Retrieve the list of governance controls configured for the organization. Each control pairs a\ndetection definition with the organization's current detection, notification, and mitigation\nconfiguration, along with counts of active and mitigated detections.", "summary": "List governance controls" @@ -1972,10 +1976,58 @@ "request_description": "", "request_schema_description": "A request to update a governance control." }, + "ListGovernanceControlDetections": { + "description": "Retrieve the detections produced by the governance control with the given detection type.\nResults can be filtered by state and free-text query, sorted, and paginated.", + "summary": "List governance control detections" + }, + "GetGovernanceControlDetection": { + "description": "Retrieve a single detection produced by the governance control with the given detection type.", + "summary": "Get a governance control detection" + }, + "UpdateGovernanceControlDetection": { + "description": "Update a detection produced by the governance control with the given detection type. Only the\nattributes present in the request are modified, allowing a detection to be acknowledged as an\nexception, reopened, reassigned, or deferred for mitigation.", + "summary": "Update a governance control detection", + "request_description": "", + "request_schema_description": "A request to update a governance control detection." + }, + "GetGovernanceControlNotificationSettings": { + "description": "Retrieve the notification settings for the governance control with the given detection type,\nincluding, for each supported event type, whether notifications are enabled and which\ndestinations receive them.", + "summary": "Get governance control notification settings" + }, + "UpdateGovernanceControlNotificationSettings": { + "description": "Replace the notification settings for the governance control with the given detection type,\nsetting, for each supported event type, whether notifications are enabled and which\ndestinations receive them.", + "summary": "Update governance control notification settings", + "request_description": "", + "request_schema_description": "A request to update the notification settings for a governance control." + }, "ListGovernanceInsights": { "description": "Retrieve the list of governance insights available to the organization. By default, only\ninsight metadata is returned; pass `withValues=true` to also compute and include each\ninsight's current and previous values. Insights can be filtered by product.", "summary": "List governance insights" }, + "ListGovernanceLimits": { + "description": "Retrieve the list of usage limits tracked for the organization in the Governance Console.\nEach limit reports the query used to compute current usage, the unit and time range it is\nmeasured over, and its current usage status.", + "summary": "List governance limits" + }, + "CreateGovernanceMitigation": { + "description": "Apply a mitigation to a set of governance detections of a given detection type. When the\nmitigation type is omitted, the control's configured mitigation is used. The request is\naccepted for asynchronous processing.", + "summary": "Mitigate governance detections", + "request_description": "", + "request_schema_description": "A request to mitigate a set of governance detections." + }, + "GetGovernanceNotificationSettings": { + "description": "Retrieve the organization-wide governance notification settings, including whether users are\nnotified when detections are assigned to them.", + "summary": "Get governance notification settings" + }, + "UpdateGovernanceNotificationSettings": { + "description": "Update the organization-wide governance notification settings. Only the attributes present in\nthe request are modified.", + "summary": "Update governance notification settings", + "request_description": "", + "request_schema_description": "A request to update the organization-wide governance notification settings." + }, + "ListGovernanceResourceLimits": { + "description": "Retrieve the list of resource limits tracked for the organization in the Governance Console.\nEach resource limit reports its current value and configured limit, the queries used to\ncompute them, and its current usage status.", + "summary": "List governance resource limits" + }, "GetHamrOrgConnection": { "description": "Retrieve the High Availability Multi-Region (HAMR) organization connection details for the authenticated organization.\nThis endpoint returns information about the HAMR connection configuration, including the target organization,\ndatacenter, status, and whether this is the primary or secondary organization in the HAMR relationship.", "summary": "Get HAMR organization connection" diff --git a/data/api/v2/translate_tags.json b/data/api/v2/translate_tags.json index b4e27272915..296fb70afd0 100644 --- a/data/api/v2/translate_tags.json +++ b/data/api/v2/translate_tags.json @@ -231,6 +231,10 @@ "name": "Governance Insights", "description": "Governance Insights surface key usage, configuration, and best-practice signals for an\norganization within the Governance Console. Each insight reports a current value (and,\noptionally, a previous value for comparison) along with the query used to compute it, so\nthat the Console can render trends and highlight areas that need attention." }, + "governance-settings": { + "name": "Governance Settings", + "description": "Governance Settings cover organization-wide Governance Console configuration, usage limits and\nresource limits, and notification preferences that determine when and how the Console alerts\nusers about governance activity." + }, "high-availability-multiregion": { "name": "High Availability MultiRegion", "description": "Configure High Availability Multi-Region (HAMR) connections between Datadog organizations.\nHAMR provides disaster recovery capabilities by maintaining synchronized data between primary\nand secondary organizations across different datacenters."