openapi: 3.0.0
info:
contact:
email: support@datadoghq.com
name: Datadog Support
url: https://www.datadoghq.com/support/
description: The Datadog API is an HTTP REST API. The API uses resource-oriented URLs to call the API, uses status codes to indicate the success or failure of requests, returns JSON from all requests, and uses standard HTTP response codes. Use the Datadog API to access the Datadog platform programmatically.
title: Datadog Account Identifiers API
version: '1.0'
servers:
- url: https://{subdomain}.{site}
variables:
site:
default: datadoghq.com
description: The regional site for Datadog customers.
enum:
- datadoghq.com
- us3.datadoghq.com
- us5.datadoghq.com
- ap1.datadoghq.com
- datadoghq.eu
- ddog-gov.com
subdomain:
default: api
description: The subdomain where the API is deployed.
- url: '{protocol}://{name}'
variables:
name:
default: api.datadoghq.com
description: Full site DNS name.
protocol:
default: https
description: The protocol for accessing the API.
- url: https://{subdomain}.{site}
variables:
site:
default: datadoghq.com
description: Any Datadog deployment.
subdomain:
default: api
description: The subdomain where the API is deployed.
security:
- apiKeyAuth: []
appKeyAuth: []
tags:
- name: Identifiers
paths:
/api/v2/agentless_scanning/ondemand/aws/{task_id}:
get:
description: Fetch the data of a specific on demand task.
operationId: GetAwsOnDemandTask
parameters:
- $ref: '#/components/parameters/OnDemandTaskId'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AwsOnDemandResponse'
description: OK.
'400':
$ref: '#/components/responses/BadRequestResponse'
'403':
$ref: '#/components/responses/NotAuthorizedResponse'
'404':
$ref: '#/components/responses/NotFoundResponse'
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
summary: Datadog Get Aws on Demand Task by Id
tags:
- Identifiers
x-menu-order: 6
x-permission:
operator: OR
permissions:
- security_monitoring_findings_read
x-undo:
type: safe
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v2/integration/aws/accounts/{aws_account_config_id}:
get:
description: Get an AWS Account Integration Config by config ID.
operationId: GetAWSAccount
parameters:
- $ref: '#/components/parameters/AWSAccountConfigIDPathParameter'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AWSAccountResponse'
description: AWS Account object
'400':
$ref: '#/components/responses/BadRequestResponse'
'403':
$ref: '#/components/responses/ForbiddenResponse'
'404':
$ref: '#/components/responses/NotFoundResponse'
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
summary: Datadog Get an Aws Integration by Config Id
tags:
- Identifiers
x-menu-order: 3
x-permission:
operator: OR
permissions:
- aws_configuration_read
x-undo:
type: safe
x-unstable: '**Note: This endpoint is in Preview. If you have any feedback,
contact [Datadog support](https://docs.datadoghq.com/help/).**'
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v2/integration/aws/generate_new_external_id:
post:
description: Generate a new external ID for AWS role-based authentication.
operationId: CreateNewAWSExternalID
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AWSNewExternalIDResponse'
description: AWS External ID object
'403':
$ref: '#/components/responses/ForbiddenResponse'
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
summary: Datadog Generate a New External Id
tags:
- Identifiers
x-menu-order: 2
x-permission:
operator: OR
permissions:
- aws_configuration_edit
x-undo:
type: safe
x-unstable: '**Note: This endpoint is in Preview. If you have any feedback,
contact [Datadog support](https://docs.datadoghq.com/help/).**'
x-api-evangelist-processing:
PascalCaseOperationSummaries: true
ChooseTags: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
AWSTracesConfig:
description: AWS Traces Collection config.
properties:
xray_services:
$ref: '#/components/schemas/XRayServicesList'
type: object
AWSMetricsConfig:
description: AWS Metrics Collection config.
properties:
automute_enabled:
description: Enable EC2 automute for AWS metrics. Defaults to `true`.
example: true
type: boolean
collect_cloudwatch_alarms:
description: Enable CloudWatch alarms collection. Defaults to `false`.
example: false
type: boolean
collect_custom_metrics:
description: Enable custom metrics collection. Defaults to `false`.
example: false
type: boolean
enabled:
description: Enable AWS metrics collection. Defaults to `true`.
example: true
type: boolean
namespace_filters:
$ref: '#/components/schemas/AWSNamespaceFilters'
tag_filters:
description: AWS Metrics collection tag filters list. Defaults to `[]`.
items:
$ref: '#/components/schemas/AWSNamespaceTagFilter'
type: array
type: object
AWSNamespaceFiltersIncludeOnly:
description: Include only these namespaces.
properties:
include_only:
description: Include only these namespaces.
example:
- AWS/EC2
items:
example: AWS/EC2
type: string
type: array
required:
- include_only
type: object
AWSAccountResponseData:
description: AWS Account response data.
properties:
attributes:
$ref: '#/components/schemas/AWSAccountResponseAttributes'
id:
$ref: '#/components/schemas/AWSAccountConfigID'
type:
$ref: '#/components/schemas/AWSAccountType'
required:
- id
- type
type: object
AWSRegionsIncludeOnly:
description: Include only these regions.
properties:
include_only:
description: Include only these regions.
example:
- us-east-1
items:
example: us-east-1
type: string
type: array
required:
- include_only
type: object
AWSNewExternalIDResponseData:
description: AWS External ID response body.
properties:
attributes:
$ref: '#/components/schemas/AWSNewExternalIDResponseAttributes'
id:
default: external_id
description: The `AWSNewExternalIDResponseData` `id`.
example: external_id
type: string
type:
$ref: '#/components/schemas/AWSNewExternalIDResponseDataType'
required:
- id
- type
type: object
AwsOnDemandData:
description: Single AWS on demand task.
properties:
attributes:
$ref: '#/components/schemas/AwsOnDemandAttributes'
id:
description: The UUID of the task.
example: 6d09294c-9ad9-42fd-a759-a0c1599b4828
type: string
type:
$ref: '#/components/schemas/AwsOnDemandType'
type: object
AwsOnDemandAttributes:
description: Attributes for the AWS on demand task.
properties:
arn:
description: The arn of the resource to scan.
example: arn:aws:ec2:us-east-1:727000456123:instance/i-0eabb50529b67a1ba
type: string
assigned_at:
description: Specifies the assignment timestamp if the task has been already assigned to a scanner.
example: '2025-02-11T18:25:04.550564Z'
type: string
created_at:
description: The task submission timestamp.
example: '2025-02-11T18:13:24.576915Z'
type: string
status:
description: 'Indicates the status of the task.
QUEUED: the task has been submitted successfully and the resource has not been assigned to a scanner yet.
ASSIGNED: the task has been assigned.
ABORTED: the scan has been aborted after a period of time due to technical reasons, such as resource not found, insufficient permissions, or the absence of a configured scanner.'
example: QUEUED
type: string
type: object
AWSNewExternalIDResponseDataType:
default: external_id
description: The `AWSNewExternalIDResponseData` `type`.
enum:
- external_id
example: external_id
type: string
x-enum-varnames:
- EXTERNAL_ID
AWSLogsConfig:
description: AWS Logs Collection config.
properties:
lambda_forwarder:
$ref: '#/components/schemas/AWSLambdaForwarderConfig'
type: object
APIErrorResponse:
description: API error response.
properties:
errors:
description: A list of errors.
example:
- Bad Request
items:
description: A list of items.
example: Bad Request
type: string
type: array
required:
- errors
type: object
XRayServicesIncludeAll:
description: Include all services.
properties:
include_all:
description: Include all services.
example: false
type: boolean
required:
- include_all
type: object
AwsOnDemandResponse:
description: Response object that includes an AWS on demand task.
properties:
data:
$ref: '#/components/schemas/AwsOnDemandData'
type: object
AWSRegionsIncludeAll:
description: Include all regions. Defaults to `true`.
properties:
include_all:
description: Include all regions.
example: true
type: boolean
required:
- include_all
type: object
AWSNamespaceFiltersExcludeOnly:
description: 'Exclude only these namespaces from metrics collection. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`.
`AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls.'
properties:
exclude_only:
description: 'Exclude only these namespaces from metrics collection. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`.
`AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls.'
example:
- AWS/SQS
- AWS/ElasticMapReduce
items:
example: AWS/SQS
type: string
type: array
required:
- exclude_only
type: object
AWSRegions:
description: AWS Regions to collect data from. Defaults to `include_all`.
oneOf:
- $ref: '#/components/schemas/AWSRegionsIncludeAll'
- $ref: '#/components/schemas/AWSRegionsIncludeOnly'
AWSAccountResponse:
description: AWS Account response body.
properties:
data:
$ref: '#/components/schemas/AWSAccountResponseData'
required:
- data
type: object
AWSResourcesConfig:
description: AWS Resources Collection config.
properties:
cloud_security_posture_management_collection:
description: Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Defaults to `false`. Requires `extended_collection` to be set to `true`.
example: false
type: boolean
extended_collection:
description: Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Defaults to `true`. Required for `cloud_security_posture_management_collection`.
example: true
type: boolean
type: object
AWSAccountResponseAttributes:
description: AWS Account response attributes.
properties:
account_tags:
$ref: '#/components/schemas/AWSAccountTags'
auth_config:
$ref: '#/components/schemas/AWSAuthConfig'
aws_account_id:
$ref: '#/components/schemas/AWSAccountID'
aws_partition:
$ref: '#/components/schemas/AWSAccountPartition'
aws_regions:
$ref: '#/components/schemas/AWSRegions'
created_at:
description: Timestamp of when the account integration was created.
format: date-time
readOnly: true
type: string
example: example_value
logs_config:
$ref: '#/components/schemas/AWSLogsConfig'
metrics_config:
$ref: '#/components/schemas/AWSMetricsConfig'
modified_at:
description: Timestamp of when the account integration was updated.
format: date-time
readOnly: true
type: string
example: example_value
resources_config:
$ref: '#/components/schemas/AWSResourcesConfig'
traces_config:
$ref: '#/components/schemas/AWSTracesConfig'
required:
- aws_account_id
type: object
AWSLambdaForwarderConfig:
description: 'Log Autosubscription configuration for Datadog Forwarder Lambda functions. Automatically set up triggers for existing
and new logs for some services, ensuring no logs from new resources are missed and saving time spent on manual configuration.'
properties:
lambdas:
description: List of Datadog Lambda Log Forwarder ARNs in your AWS account. Defaults to `[]`.
items:
example: arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder
type: string
type: array
sources:
description: 'List of service IDs set to enable automatic log collection. Discover the list of available services with the
[Get list of AWS log ready services](https://docs.datadoghq.com/api/latest/aws-logs-integration/#get-list-of-aws-log-ready-services) endpoint.'
items:
example: s3
type: string
type: array
type: object
AWSNamespaceTagFilter:
description: 'AWS Metrics Collection tag filters list. Defaults to `[]`.
The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service.
Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported.
For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored.
For example, `env:production,instance-type:c?.*,!region:us-east-1`.'
properties:
namespace:
description: The AWS service for which the tag filters defined in `tags` will be applied.
example: AWS/EC2
type: string
tags:
description: The AWS resource tags to filter on for the service specified by `namespace`.
items:
description: Tag in the form `key:value`.
example: datadog:true
type: string
nullable: true
type: array
type: object
AWSNewExternalIDResponse:
description: AWS External ID response body.
properties:
data:
$ref: '#/components/schemas/AWSNewExternalIDResponseData'
required:
- data
type: object
AWSAccountPartition:
description: 'AWS partition your AWS account is scoped to. Defaults to `aws`.
See [Partitions](https://docs.aws.amazon.com/whitepapers/latest/aws-fault-isolation-boundaries/partitions.html) in the AWS documentation for more information.'
enum:
- aws
- aws-cn
- aws-us-gov
example: aws
type: string
x-enum-varnames:
- AWS
- AWS_CN
- AWS_US_GOV
AwsOnDemandType:
default: aws_resource
description: The type of the on demand task. The value should always be `aws_resource`.
enum:
- aws_resource
example: aws_resource
type: string
x-enum-varnames:
- AWS_RESOURCE
AWSAuthConfig:
description: AWS Authentication config.
oneOf:
- $ref: '#/components/schemas/AWSAuthConfigKeys'
- $ref: '#/components/schemas/AWSAuthConfigRole'
AWSAuthConfigKeys:
description: AWS Authentication config to integrate your account using an access key pair.
properties:
access_key_id:
description: AWS Access Key ID.
example: AKIAIOSFODNN7EXAMPLE
type: string
secret_access_key:
description: AWS Secret Access Key.
example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
minLength: 1
type: string
writeOnly: true
required:
- access_key_id
type: object
XRayServicesList:
description: AWS X-Ray services to collect traces from. Defaults to `include_only`.
oneOf:
- $ref: '#/components/schemas/XRayServicesIncludeAll'
- $ref: '#/components/schemas/XRayServicesIncludeOnly'
AWSAccountID:
description: AWS Account ID.
example: '123456789012'
type: string
AWSAccountType:
default: account
description: AWS Account resource type.
enum:
- account
example: account
type: string
x-enum-varnames:
- ACCOUNT
AWSAccountTags:
description: Tags to apply to all hosts and metrics reporting for this account. Defaults to `[]`.
items:
description: Tag in the form `key:value`.
example: env:prod
type: string
nullable: true
type: array
AWSAuthConfigRole:
description: AWS Authentication config to integrate your account using an IAM role.
properties:
external_id:
description: AWS IAM External ID for associated role.
type: string
example: abc-123-def
role_name:
description: AWS IAM Role name.
example: DatadogIntegrationRole
maxLength: 576
minLength: 1
type: string
required:
- role_name
type: object
XRayServicesIncludeOnly:
description: Include only these services. Defaults to `[]`.
nullable: true
properties:
include_only:
description: Include only these services.
example:
- AWS/AppSync
items:
example: AWS/AppSync
type: string
type: array
required:
- include_only
type: object
AWSNewExternalIDResponseAttributes:
description: AWS External ID response body.
properties:
external_id:
description: AWS IAM External ID for associated role.
example: acb8f6b8a844443dbb726d07dcb1a870
type: string
required:
- external_id
type: object
AWSNamespaceFilters:
description: AWS Metrics namespace filters. Defaults to `exclude_only`.
oneOf:
- $ref: '#/components/schemas/AWSNamespaceFiltersExcludeOnly'
- $ref: '#/components/schemas/AWSNamespaceFiltersIncludeOnly'
AWSAccountConfigID:
description: 'Unique Datadog ID of the AWS Account Integration Config.
To get the config ID for an account, use the [List all AWS integrations](https://docs.datadoghq.com/api/latest/aws-integration/#list-all-aws-integrations)
endpoint and query by AWS Account ID.'
example: 00000000-abcd-0001-0000-000000000000
type: string
responses:
NotAuthorizedResponse:
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
description: Not Authorized
TooManyRequestsResponse:
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
description: Too many requests
NotFoundResponse:
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
description: Not Found
BadRequestResponse:
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
description: Bad Request
ForbiddenResponse:
content:
application/json:
schema:
$ref: '#/components/schemas/APIErrorResponse'
description: Forbidden
parameters:
OnDemandTaskId:
description: The UUID of the task.
example: 6d09294c-9ad9-42fd-a759-a0c1599b4828
in: path
name: task_id
required: true
schema:
type: string
AWSAccountConfigIDPathParameter:
description: 'Unique Datadog ID of the AWS Account Integration Config. To get the config ID for an account, use the
[List all AWS integrations](https://docs.datadoghq.com/api/latest/aws-integration/#list-all-aws-integrations) endpoint and query by AWS Account ID.'
in: path
name: aws_account_config_id
required: true
schema:
type: string
securitySchemes:
AuthZ:
description: This API uses OAuth 2 with the implicit grant flow.
flows:
authorizationCode:
authorizationUrl: /oauth2/v1/authorize
scopes:
apm_api_catalog_read: View API catalog and API definitions.
apm_api_catalog_write: Add, modify, and delete API catalog definitions.
apm_read: Read and query APM and Trace Analytics.
apm_service_catalog_read: View service catalog and service definitions.
apm_service_catalog_write: Add, modify, and delete service catalog definitions when those definitions are maintained by Datadog.
appsec_vm_read: View infrastructure, application code, and library vulnerabilities. This does not restrict API or inventory SQL access to the vulnerability data source.
cases_read: View Cases.
cases_write: Create and update cases.
ci_visibility_pipelines_write: Create CI Visibility pipeline spans using the API.
ci_visibility_read: View CI Visibility.
cloud_cost_management_read: View Cloud Cost pages and the cloud cost data source in dashboards and notebooks. For more details, see the Cloud Cost Management docs.
cloud_cost_management_write: Configure cloud cost accounts and global customizations. For more details, see the Cloud Cost Management docs.
code_analysis_read: View Code Analysis.
continuous_profiler_pgo_read: Read and query Continuous Profiler data for Profile-Guided Optimization (PGO).
create_webhooks: Create webhooks integrations.
dashboards_embed_share: Create, modify, and delete shared dashboards with share type 'embed'.
dashboards_invite_share: Create, modify, and delete shared dashboards with share type 'invite'.
dashboards_public_share: Generate public and authenticated links to share dashboards or embeddable graphs externally.
dashboards_read: View dashboards.
dashboards_write: Create and change dashboards.
data_scanner_read: View Data Scanner configurations.
data_scanner_write: Edit Data Scanner configurations.
embeddable_graphs_share: Generate public links to share embeddable graphs externally.
events_read: Read Events data.
hosts_read: List hosts and their attributes.
incident_notification_settings_write: Configure Incidents Notification settings.
incident_read: View incidents in Datadog.
incident_settings_write: Configure Incident Settings.
incident_write: Create, view, and manage incidents in Datadog.
metrics_read: View custom metrics.
monitor_config_policy_write: Edit and delete monitor configuration.
monitors_downtime: Set downtimes to suppress alerts from any monitor in an organization. Mute and unmute monitors. The ability to write monitors is not required to set downtimes.
monitors_read: View monitors.
monitors_write: Edit, delete, and resolve individual monitors.
org_management: Edit org configurations, including authentication and certain security preferences such as configuring SAML, renaming an org, configuring allowed login methods, creating child orgs, subscribing & unsubscribing from apps in the marketplace, and enabling & disabling Remote Configuration for the entire organization.
security_comments_read: Read comments of vulnerabilities.
security_monitoring_filters_read: Read Security Filters.
security_monitoring_filters_write: Create, edit, and delete Security Filters.
security_monitoring_findings_read: View a list of findings that include both misconfigurations and identity risks.
security_monitoring_notification_profiles_read: View Rule Security Notification rules.
security_monitoring_notification_profiles_write: Create, edit, and delete Security Notification rules.
security_monitoring_rules_read: Read Detection Rules.
security_monitoring_rules_write: Create and edit Detection Rules.
security_monitoring_signals_read: View Security Signals.
security_monitoring_suppressions_read: Read Rule Suppressions.
security_monitoring_suppressions_write: Write Rule Suppressions.
security_pipelines_read: View Security Pipelines.
security_pipelines_write: Create, edit, and delete CSM Security Pipelines.
slos_corrections: Apply, edit, and delete SLO status corrections. A user with this permission can make status corrections, even if they do not have permission to edit those SLOs.
slos_read: View SLOs and status corrections.
slos_write: Create, edit, and delete SLOs.
synthetics_global_variable_read: View, search, and use Synthetics global variables.
synthetics_global_variable_write: Create, edit, and delete global variables for Synthetics.
synthetics_private_location_read: View, search, and use Synthetics private locations.
synthetics_private_location_write: Create and delete private locations in addition to having access to the associated installation guidelines.
synthetics_read: List and view configured Synthetic tests and test results.
synthetics_write: Create, edit, and delete Synthetic tests.
teams_manage: Manage Teams. Create, delete, rename, and edit metadata of all Teams. To control Team membership across all Teams, use the User Access Manage permission.
teams_read: Read Teams data. A User with this permission can view Team names, metadata, and which Users are on each Team.
test_optimization_read: View Test Optimization.
timeseries_query: Query Timeseries data.
usage_read: View your organization's usage and usage attribution.
user_access_invite: Invite other users to your organization.
user_access_manage: Disable users, manage user roles, manage SAML-to-role mappings, and configure logs restriction queries.
user_access_read: View users and their roles and settings.
workflows_read: View workflows.
workflows_run: Run workflows.
workflows_write: Create, edit, and delete workflows.
tokenUrl: /oauth2/v1/token
type: oauth2
apiKeyAuth:
description: Your Datadog API Key.
in: header
name: DD-API-KEY
type: apiKey
x-env-name: DD_API_KEY
appKeyAuth:
description: Your Datadog APP Key.
in: header
name: DD-APPLICATION-KEY
type: apiKey
x-env-name: DD_APP_KEY
bearerAuth:
scheme: bearer
type: http
x-env-name: DD_BEARER_TOKEN
x-group-parameters: true
x-merge-override:
paths: false