Datadog Custom API

The Custom API from Datadog — 8 operation(s) for custom.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

datadog-custom-api-openapi.yml Raw ↑
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 Custom 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: Custom
paths:
  /api/v2/cloud_security_management/custom_frameworks:
    post:
      description: Create a custom framework.
      operationId: CreateCustomFramework
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCustomFrameworkRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCustomFrameworkResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '409':
          $ref: '#/components/responses/ConflictResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/BadRequestResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - security_monitoring_rules_read
        - security_monitoring_rules_write
      summary: Datadog Create a Custom Framework
      tags:
      - Custom
      x-codegen-request-body-name: body
      x-given:
        custom_framework:
          parameters:
          - name: body
            value: "{\n  \"data\": {\n    \"type\":\"custom_framework\",\n    \"attributes\":{\n      \"name\":\"name\",\n      \"handle\":\"create-framework-new\",\n      \"version\":\"10\",\n      \"icon_url\":\"test-url\",\n      \"requirements\":[{\n        \"name\":\"requirement\",\n        \"controls\":[{\n          \"name\":\"control\",\n          \"rules_id\":\n            [\"def-000-be9\"]\n        }]\n      }]\n    }\n  }\n}"
          step: there is a valid "custom_framework" in the system
      x-menu-order: 4
      x-permission:
        operator: AND
        permissions:
        - security_monitoring_rules_read
        - security_monitoring_rules_write
      x-undo:
        operationId: DeleteCustomFramework
        parameters:
        - name: handle
          source: data.attributes.handle
        - name: version
          source: data.attributes.version
        type: unsafe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/cloud_security_management/custom_frameworks/{handle}/{version}:
    delete:
      description: Delete a custom framework.
      operationId: DeleteCustomFramework
      parameters:
      - $ref: '#/components/parameters/CustomFrameworkHandle'
      - $ref: '#/components/parameters/CustomFrameworkVersion'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCustomFrameworkResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/BadRequestResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - security_monitoring_rules_read
        - security_monitoring_rules_write
      summary: Datadog Delete a Custom Framework
      tags:
      - Custom
      x-codegen-request-body-name: body
      x-menu-order: 4
      x-permission:
        operator: AND
        permissions:
        - security_monitoring_rules_read
        - security_monitoring_rules_write
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      description: Get a custom framework.
      operationId: GetCustomFramework
      parameters:
      - $ref: '#/components/parameters/CustomFrameworkHandle'
      - $ref: '#/components/parameters/CustomFrameworkVersion'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCustomFrameworkResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/BadRequestResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - security_monitoring_rules_read
      summary: Datadog Get a Custom Framework
      tags:
      - Custom
      x-codegen-request-body-name: body
      x-menu-order: 4
      x-permission:
        operator: OR
        permissions:
        - security_monitoring_rules_read
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      description: Update a custom framework.
      operationId: UpdateCustomFramework
      parameters:
      - $ref: '#/components/parameters/CustomFrameworkHandle'
      - $ref: '#/components/parameters/CustomFrameworkVersion'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCustomFrameworkRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCustomFrameworkResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/BadRequestResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - security_monitoring_rules_read
        - security_monitoring_rules_write
      summary: Datadog Update a Custom Framework
      tags:
      - Custom
      x-codegen-request-body-name: body
      x-menu-order: 4
      x-permission:
        operator: AND
        permissions:
        - security_monitoring_rules_read
        - security_monitoring_rules_write
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/cost/custom_costs:
    get:
      description: List the Custom Costs files.
      operationId: ListCustomCostsFiles
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomCostsFileListResponse'
          description: OK
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - cloud_cost_management_read
      summary: Datadog List Custom Costs Files
      tags:
      - Custom
      x-menu-order: 10
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      description: Upload a Custom Costs file.
      operationId: UploadCustomCostsFile
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomCostsFileUploadRequest'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomCostsFileUploadResponse'
          description: Accepted
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - cloud_cost_management_write
      summary: Datadog Upload Custom Costs File
      tags:
      - Custom
      x-menu-order: 11
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/cost/custom_costs/{file_id}:
    delete:
      description: Delete the specified Custom Costs file.
      operationId: DeleteCustomCostsFile
      parameters:
      - $ref: '#/components/parameters/FileID'
      responses:
        '204':
          description: No Content
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - cloud_cost_management_write
      summary: Datadog Delete Custom Costs File
      tags:
      - Custom
      x-menu-order: 13
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      description: Fetch the specified Custom Costs file.
      operationId: GetCustomCostsFile
      parameters:
      - $ref: '#/components/parameters/FileID'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomCostsFileGetResponse'
          description: OK
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - cloud_cost_management_read
      summary: Datadog Get Custom Costs File
      tags:
      - Custom
      x-menu-order: 12
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/logs/config/custom-destinations:
    get:
      description: Get the list of configured custom destinations in your organization with their definitions.
      operationId: ListLogsCustomDestinations
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDestinationsResponse'
          description: OK
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Get All Custom Destinations
      tags:
      - Custom
      x-menu-order: 1
      x-permission:
        operator: OR
        permissions:
        - logs_read_data
        - logs_read_config
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      description: Create a custom destination in your organization.
      operationId: CreateLogsCustomDestination
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomDestinationCreateRequest'
        description: The definition of the new custom destination.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDestinationResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '409':
          $ref: '#/components/responses/ConflictResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Create a Custom Destination
      tags:
      - Custom
      x-codegen-request-body-name: body
      x-given:
        custom_destination:
          parameters:
          - name: body
            value: "{\n  \"data\": {\n    \"attributes\": {\n      \"name\": \"{{ unique }}\",\n      \"query\": \"source:nginx\",\n      \"enabled\": false,\n      \"forwarder_destination\": {\n        \"type\": \"http\",\n        \"endpoint\": \"https://example.com\",\n        \"auth\": {\n          \"type\": \"basic\",\n          \"username\": \"my-username\",\n          \"password\": \"my-password\"\n        }\n      },\n      \"forward_tags_restriction_list_type\": \"BLOCK_LIST\",\n      \"forward_tags_restriction_list\": [\"host\"],\n      \"forward_tags\": false\n    },\n    \"type\": \"custom_destination\"\n  }\n}"
          step: there is a valid "custom_destination" in the system
      x-menu-order: 2
      x-permission:
        operator: OR
        permissions:
        - logs_write_forwarding_rules
      x-undo:
        operationId: DeleteLogsCustomDestination
        parameters:
        - name: custom_destination_id
          source: data.id
        type: unsafe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/logs/config/custom-destinations/{custom_destination_id}:
    delete:
      description: Delete a specific custom destination in your organization.
      operationId: DeleteLogsCustomDestination
      parameters:
      - $ref: '#/components/parameters/CustomDestinationId'
      responses:
        '204':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Delete a Custom Destination
      tags:
      - Custom
      x-menu-order: 5
      x-permission:
        operator: OR
        permissions:
        - logs_write_forwarding_rules
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      description: Get a specific custom destination in your organization.
      operationId: GetLogsCustomDestination
      parameters:
      - $ref: '#/components/parameters/CustomDestinationId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDestinationResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Get a Custom Destination
      tags:
      - Custom
      x-menu-order: 3
      x-permission:
        operator: OR
        permissions:
        - logs_read_data
        - logs_read_config
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      description: Update the given fields of a specific custom destination in your organization.
      operationId: UpdateLogsCustomDestination
      parameters:
      - $ref: '#/components/parameters/CustomDestinationId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomDestinationUpdateRequest'
        description: New definition of the custom destination's fields.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDestinationResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '409':
          $ref: '#/components/responses/ConflictResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Update a Custom Destination
      tags:
      - Custom
      x-codegen-request-body-name: body
      x-menu-order: 4
      x-permission:
        operator: OR
        permissions:
        - logs_write_forwarding_rules
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/remote_config/products/asm/waf/custom_rules:
    get:
      description: Retrieve a list of WAF custom rule.
      operationId: ListApplicationSecurityWAFCustomRules
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleListResponse'
          description: OK
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog List All Waf Custom Rules
      tags:
      - Custom
      x-menu-order: 13
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      description: Create a new WAF custom rule with the given parameters.
      operationId: CreateApplicationSecurityWafCustomRule
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleCreateRequest'
        description: The definition of the new WAF Custom Rule.
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleResponse'
          description: Created
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '409':
          $ref: '#/components/responses/ConcurrentModificationResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Create a Waf Custom Rule
      tags:
      - Custom
      x-codegen-request-body-name: body
      x-given:
        custom_rule:
          parameters:
          - name: body
            value: "{\n  \"data\": {\n    \"type\": \"custom_rule\",\n    \"attributes\": {\n      \"blocking\": false,\n      \"conditions\": [\n        {\n          \"operator\": \"match_regex\",\n          \"parameters\": {\n            \"inputs\": [\n              {\n                \"address\": \"server.request.query\",\n                \"key_path\": [\n                  \"id\"\n                ]\n              }\n            ],\n            \"regex\": \"badactor\"\n          }\n        }\n      ],\n      \"enabled\": true,\n      \"name\": \"test\",\n      \"path_glob\": \"/test\",\n      \"scope\": [\n        {\n          \"env\": \"test\",\n          \"service\": \"test\"\n        }\n      ],\n      \"tags\": {\n        \"category\": \"attack_attempt\",\n        \"type\": \"test\"\n      }\n    }\n  }\n}"
          step: there is a valid "custom_rule" in the system
      x-menu-order: 12
      x-undo:
        operationId: DeleteApplicationSecurityWafCustomRule
        parameters:
        - name: custom_rule_id
          source: data.id
        type: unsafe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/remote_config/products/asm/waf/custom_rules/{custom_rule_id}:
    delete:
      description: Delete a specific WAF custom rule.
      operationId: DeleteApplicationSecurityWafCustomRule
      parameters:
      - $ref: '#/components/parameters/ApplicationSecurityWafCustomRuleIDParam'
      responses:
        '204':
          description: No Content
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '409':
          $ref: '#/components/responses/ConcurrentModificationResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Delete a Waf Custom Rule
      tags:
      - Custom
      x-menu-order: 16
      x-terraform-resource: appsec_waf_custom_rule
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      description: Retrieve a WAF custom rule by ID.
      operationId: GetApplicationSecurityWafCustomRule
      parameters:
      - $ref: '#/components/parameters/ApplicationSecurityWafCustomRuleIDParam'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleResponse'
          description: OK
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Get a Waf Custom Rule
      tags:
      - Custom
      x-menu-order: 10
      x-terraform-resource: appsec_waf_custom_rule
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      description: 'Update a specific WAF custom Rule.

        Returns the Custom Rule object when the request is successful.'
      operationId: UpdateApplicationSecurityWafCustomRule
      parameters:
      - $ref: '#/components/parameters/ApplicationSecurityWafCustomRuleIDParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleUpdateRequest'
        description: New definition of the WAF Custom Rule.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '409':
          $ref: '#/components/responses/ConcurrentModificationResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Update a Waf Custom Rule
      tags:
      - Custom
      x-codegen-request-body-name: body
      x-menu-order: 15
      x-terraform-resource: appsec_waf_custom_rule
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    CustomCostsFileMetadataWithContentHighLevel:
      description: JSON API format of for a Custom Costs file with content.
      properties:
        attributes:
          $ref: '#/components/schemas/CustomCostsFileMetadataWithContent'
        id:
          description: ID of the Custom Costs metadata.
          type: string
          example: abc-123-def
        type:
          description: Type of the Custom Costs file metadata.
          type: string
          example: metric alert
      type: object
    CustomDestinationForwardDestinationHttp:
      description: The HTTP destination.
      properties:
        auth:
          $ref: '#/components/schemas/CustomDestinationHttpDestinationAuth'
        endpoint:
          description: 'The destination for which logs will be forwarded to.

            Must have HTTPS scheme and forwarding back to Datadog is not allowed.'
          example: https://example.com
          type: string
        type:
          $ref: '#/components/schemas/CustomDestinationForwardDestinationHttpType'
      required:
      - type
      - endpoint
      - auth
      type: object
    ApplicationSecurityWafCustomRuleAction:
      description: The definition of `ApplicationSecurityWafCustomRuleAction` object.
      properties:
        action:
          $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleActionAction'
        parameters:
          $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleActionParameters'
      type: object
    CustomCostsFileGetResponse:
      description: Response for Get Custom Costs files.
      properties:
        data:
          $ref: '#/components/schemas/CustomCostsFileMetadataWithContentHighLevel'
        meta:
          $ref: '#/components/schemas/CustomCostGetResponseMeta'
      type: object
    CustomCostsFileUploadResponse:
      description: Response for Uploaded Custom Costs files.
      properties:
        data:
          $ref: '#/components/schemas/CustomCostsFileMetadataHighLevel'
        meta:
          $ref: '#/components/schemas/CustomCostUploadResponseMeta'
      type: object
    ApplicationSecurityWafCustomRuleTagsCategory:
      description: The category of the WAF Rule, can be either `business_logic`, `attack_attempt` or `security_response`.
      enum:
      - attack_attempt
      - business_logic
      - security_response
      example: business_logic
      type: string
      x-enum-varnames:
      - ATTACK_ATTEMPT
      - BUSINESS_LOGIC
      - SECURITY_RESPONSE
    UpdateCustomFrameworkResponse:
      description: Response object to update a custom framework.
      properties:
        data:
          $ref: '#/components/schemas/FrameworkHandleAndVersionResponseData'
      required:
      - data
      type: object
    CustomDestinationForwardDestinationSplunk:
      description: The Splunk HTTP Event Collector (HEC) destination.
      properties:
        access_token:
          description: Access token of the Splunk HTTP Event Collector. This field is not returned by the API.
          example: splunk_access_token
          type: string
          writeOnly: true
        endpoint:
          description: 'The destination for which logs will be forwarded to.

            Must have HTTPS scheme and forwarding back to Datadog is not allowed.'
          example: https://example.com
          type: string
        type:
          $ref: '#/components/schemas/CustomDestinationForwardDestinationSplunkType'
      required:
      - type
      - endpoint
      - access_token
      type: object
    CustomDestinationResponseHttpDestinationAuthCustomHeader:
      description: Custom header access authentication.
      properties:
        header_name:
          description: The header name of the authentication.
          example: CUSTOM-HEADER-NAME
          type: string
        type:
          $ref: '#/components/schemas/CustomDestinationResponseHttpDestinationAuthCustomHeaderType'
      required:
      - type
      - header_name
      type: object
    ApplicationSecurityWafCustomRuleResponse:
      description: Response object that includes a single WAF custom rule.
      properties:
        data:
          $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleData'
      type: object
    CustomDestinationElasticsearchDestinationAuth:
      description: Basic access authentication.
      properties:
        password:
          description: The password of the authentication. This field is not returned by the API.
          example: datadog-custom-destination-password
          type: string
          writeOnly: true
        username:
          description: The username of the authentication. This field is not returned by the API.
          example: datadog-custom-destination-username
          type: string
          writeOnly: true
      required:
      - username
      - password
      type: object
    ApplicationSecurityWafCustomRuleConditionParameters:
      description: The scope of the WAF custom rule.
      properties:
        data:
          description: Identifier of a list of data from the denylist. Can only be used as substitution from the list parameter.
          example: blocked_users
          type: string
        inputs:
          description: List of inputs on which at least one should match with the given operator.
          items:
            $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleConditionInput'
          type: array
        list:
          description: 'List of value to use with the condition. Only used with the phrase_match, !phrase_match, exact_match and

            !exact_match operator.'
          items:
            type: string
          type: array
        options:
          $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleConditionOptions'
        regex:
          description: Regex to use with the condition. Only used with match_regex and !match_regex operator.
          example: path.*
          type: string
        value:
          description: Store the captured value in the specified tag name. Only used with the capture_data operator.
          example: custom_tag
          type: string
      required:
      - inputs
      type: object
    GetCustomFrameworkResponse:
      description: Response object to get a custom framework.
      properties:
        data:
          $ref: '#/components/schemas/FullCustomFrameworkData'
      required:
      - data
      type: object
    FullCustomFrameworkData:
      description: Contains type and attributes for custom frameworks.
      properties:
        attributes:
          $ref: '#/components/schemas/FullCustomFrameworkDataAttributes'
        id:
          description: The ID of the custom framework.
          example: handle-version
          type: string
        type:
          $ref: '#/components/schemas/CustomFrameworkT

# --- truncated at 32 KB (86 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/datadog/refs/heads/main/openapi/datadog-custom-api-openapi.yml