Datadog · Capability

Datadog API — Custom

Datadog API — Custom. 18 operations. Lead operation: Datadog Create a Custom Framework. Self-contained Naftiko capability covering one Datadog business surface.

Run with Naftiko DatadogCustom

What You Can Do

POST
Createcustomframework — Datadog Create a Custom Framework
/v1/api/v2/cloud-security-management/custom-frameworks
DELETE
Deletecustomframework — Datadog Delete a Custom Framework
/v1/api/v2/cloud-security-management/custom-frameworks/{handle}/{version}
GET
Getcustomframework — Datadog Get a Custom Framework
/v1/api/v2/cloud-security-management/custom-frameworks/{handle}/{version}
PUT
Updatecustomframework — Datadog Update a Custom Framework
/v1/api/v2/cloud-security-management/custom-frameworks/{handle}/{version}
GET
Listcustomcostsfiles — Datadog List Custom Costs Files
/v1/api/v2/cost/custom-costs
PUT
Uploadcustomcostsfile — Datadog Upload Custom Costs File
/v1/api/v2/cost/custom-costs
DELETE
Deletecustomcostsfile — Datadog Delete Custom Costs File
/v1/api/v2/cost/custom-costs/{file-id}
GET
Getcustomcostsfile — Datadog Get Custom Costs File
/v1/api/v2/cost/custom-costs/{file-id}
GET
Listlogscustomdestinations — Datadog Get All Custom Destinations
/v1/api/v2/logs/config/custom-destinations
POST
Createlogscustomdestination — Datadog Create a Custom Destination
/v1/api/v2/logs/config/custom-destinations
DELETE
Deletelogscustomdestination — Datadog Delete a Custom Destination
/v1/api/v2/logs/config/custom-destinations/{custom-destination-id}
GET
Getlogscustomdestination — Datadog Get a Custom Destination
/v1/api/v2/logs/config/custom-destinations/{custom-destination-id}
PATCH
Updatelogscustomdestination — Datadog Update a Custom Destination
/v1/api/v2/logs/config/custom-destinations/{custom-destination-id}
GET
Listapplicationsecuritywafcustomrules — Datadog List All Waf Custom Rules
/v1/api/v2/remote-config/products/asm/waf/custom-rules
POST
Createapplicationsecuritywafcustomrule — Datadog Create a Waf Custom Rule
/v1/api/v2/remote-config/products/asm/waf/custom-rules
DELETE
Deleteapplicationsecuritywafcustomrule — Datadog Delete a Waf Custom Rule
/v1/api/v2/remote-config/products/asm/waf/custom-rules/{custom-rule-id}
GET
Getapplicationsecuritywafcustomrule — Datadog Get a Waf Custom Rule
/v1/api/v2/remote-config/products/asm/waf/custom-rules/{custom-rule-id}
PUT
Updateapplicationsecuritywafcustomrule — Datadog Update a Waf Custom Rule
/v1/api/v2/remote-config/products/asm/waf/custom-rules/{custom-rule-id}

MCP Tools

datadog-create-custom-framework

Datadog Create a Custom Framework

datadog-delete-custom-framework

Datadog Delete a Custom Framework

idempotent
datadog-get-custom-framework

Datadog Get a Custom Framework

read-only idempotent
datadog-update-custom-framework

Datadog Update a Custom Framework

idempotent
datadog-list-custom-costs-files

Datadog List Custom Costs Files

read-only idempotent
datadog-upload-custom-costs-file

Datadog Upload Custom Costs File

idempotent
datadog-delete-custom-costs-file

Datadog Delete Custom Costs File

idempotent
datadog-get-custom-costs-file

Datadog Get Custom Costs File

read-only idempotent
datadog-get-all-custom-destinations

Datadog Get All Custom Destinations

read-only idempotent
datadog-create-custom-destination

Datadog Create a Custom Destination

datadog-delete-custom-destination

Datadog Delete a Custom Destination

idempotent
datadog-get-custom-destination

Datadog Get a Custom Destination

read-only idempotent
datadog-update-custom-destination

Datadog Update a Custom Destination

idempotent
datadog-list-all-waf-custom

Datadog List All Waf Custom Rules

read-only idempotent
datadog-create-waf-custom-rule

Datadog Create a Waf Custom Rule

datadog-delete-waf-custom-rule

Datadog Delete a Waf Custom Rule

idempotent
datadog-get-waf-custom-rule

Datadog Get a Waf Custom Rule

read-only idempotent
datadog-update-waf-custom-rule

Datadog Update a Waf Custom Rule

idempotent

Capability Spec

datadog-custom.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Datadog API — Custom
  description: 'Datadog API — Custom. 18 operations. Lead operation: Datadog Create a Custom Framework. Self-contained Naftiko
    capability covering one Datadog business surface.'
  tags:
  - Datadog
  - Custom
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    DATADOG_API_KEY: DATADOG_API_KEY
capability:
  consumes:
  - type: http
    namespace: datadog-custom
    baseUri: https://{subdomain}.{site}
    description: Datadog API — Custom business capability. Self-contained, no shared references.
    resources:
    - name: api-v2-cloud_security_management-custom_frameworks
      path: /api/v2/cloud_security_management/custom_frameworks
      operations:
      - name: createcustomframework
        method: POST
        description: Datadog Create a Custom Framework
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-cloud_security_management-custom_frameworks-handle-version
      path: /api/v2/cloud_security_management/custom_frameworks/{handle}/{version}
      operations:
      - name: deletecustomframework
        method: DELETE
        description: Datadog Delete a Custom Framework
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: getcustomframework
        method: GET
        description: Datadog Get a Custom Framework
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatecustomframework
        method: PUT
        description: Datadog Update a Custom Framework
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-cost-custom_costs
      path: /api/v2/cost/custom_costs
      operations:
      - name: listcustomcostsfiles
        method: GET
        description: Datadog List Custom Costs Files
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: uploadcustomcostsfile
        method: PUT
        description: Datadog Upload Custom Costs File
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-cost-custom_costs-file_id
      path: /api/v2/cost/custom_costs/{file_id}
      operations:
      - name: deletecustomcostsfile
        method: DELETE
        description: Datadog Delete Custom Costs File
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: getcustomcostsfile
        method: GET
        description: Datadog Get Custom Costs File
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v2-logs-config-custom-destinations
      path: /api/v2/logs/config/custom-destinations
      operations:
      - name: listlogscustomdestinations
        method: GET
        description: Datadog Get All Custom Destinations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createlogscustomdestination
        method: POST
        description: Datadog Create a Custom Destination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-logs-config-custom-destinations-custom_destination_id
      path: /api/v2/logs/config/custom-destinations/{custom_destination_id}
      operations:
      - name: deletelogscustomdestination
        method: DELETE
        description: Datadog Delete a Custom Destination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: getlogscustomdestination
        method: GET
        description: Datadog Get a Custom Destination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatelogscustomdestination
        method: PATCH
        description: Datadog Update a Custom Destination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-remote_config-products-asm-waf-custom_rules
      path: /api/v2/remote_config/products/asm/waf/custom_rules
      operations:
      - name: listapplicationsecuritywafcustomrules
        method: GET
        description: Datadog List All Waf Custom Rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createapplicationsecuritywafcustomrule
        method: POST
        description: Datadog Create a Waf Custom Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-remote_config-products-asm-waf-custom_rules-custom_rule_id
      path: /api/v2/remote_config/products/asm/waf/custom_rules/{custom_rule_id}
      operations:
      - name: deleteapplicationsecuritywafcustomrule
        method: DELETE
        description: Datadog Delete a Waf Custom Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: getapplicationsecuritywafcustomrule
        method: GET
        description: Datadog Get a Waf Custom Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateapplicationsecuritywafcustomrule
        method: PUT
        description: Datadog Update a Waf Custom Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.DATADOG_API_KEY}}'
  exposes:
  - type: rest
    namespace: datadog-custom-rest
    port: 8080
    description: REST adapter for Datadog API — Custom. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/api/v2/cloud-security-management/custom-frameworks
      name: api-v2-cloud-security-management-custom-frameworks
      description: REST surface for api-v2-cloud_security_management-custom_frameworks.
      operations:
      - method: POST
        name: createcustomframework
        description: Datadog Create a Custom Framework
        call: datadog-custom.createcustomframework
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/cloud-security-management/custom-frameworks/{handle}/{version}
      name: api-v2-cloud-security-management-custom-frameworks-handle-version
      description: REST surface for api-v2-cloud_security_management-custom_frameworks-handle-version.
      operations:
      - method: DELETE
        name: deletecustomframework
        description: Datadog Delete a Custom Framework
        call: datadog-custom.deletecustomframework
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getcustomframework
        description: Datadog Get a Custom Framework
        call: datadog-custom.getcustomframework
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatecustomframework
        description: Datadog Update a Custom Framework
        call: datadog-custom.updatecustomframework
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/cost/custom-costs
      name: api-v2-cost-custom-costs
      description: REST surface for api-v2-cost-custom_costs.
      operations:
      - method: GET
        name: listcustomcostsfiles
        description: Datadog List Custom Costs Files
        call: datadog-custom.listcustomcostsfiles
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: uploadcustomcostsfile
        description: Datadog Upload Custom Costs File
        call: datadog-custom.uploadcustomcostsfile
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/cost/custom-costs/{file-id}
      name: api-v2-cost-custom-costs-file-id
      description: REST surface for api-v2-cost-custom_costs-file_id.
      operations:
      - method: DELETE
        name: deletecustomcostsfile
        description: Datadog Delete Custom Costs File
        call: datadog-custom.deletecustomcostsfile
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getcustomcostsfile
        description: Datadog Get Custom Costs File
        call: datadog-custom.getcustomcostsfile
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/logs/config/custom-destinations
      name: api-v2-logs-config-custom-destinations
      description: REST surface for api-v2-logs-config-custom-destinations.
      operations:
      - method: GET
        name: listlogscustomdestinations
        description: Datadog Get All Custom Destinations
        call: datadog-custom.listlogscustomdestinations
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createlogscustomdestination
        description: Datadog Create a Custom Destination
        call: datadog-custom.createlogscustomdestination
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/logs/config/custom-destinations/{custom-destination-id}
      name: api-v2-logs-config-custom-destinations-custom-destination-id
      description: REST surface for api-v2-logs-config-custom-destinations-custom_destination_id.
      operations:
      - method: DELETE
        name: deletelogscustomdestination
        description: Datadog Delete a Custom Destination
        call: datadog-custom.deletelogscustomdestination
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getlogscustomdestination
        description: Datadog Get a Custom Destination
        call: datadog-custom.getlogscustomdestination
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatelogscustomdestination
        description: Datadog Update a Custom Destination
        call: datadog-custom.updatelogscustomdestination
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/remote-config/products/asm/waf/custom-rules
      name: api-v2-remote-config-products-asm-waf-custom-rules
      description: REST surface for api-v2-remote_config-products-asm-waf-custom_rules.
      operations:
      - method: GET
        name: listapplicationsecuritywafcustomrules
        description: Datadog List All Waf Custom Rules
        call: datadog-custom.listapplicationsecuritywafcustomrules
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createapplicationsecuritywafcustomrule
        description: Datadog Create a Waf Custom Rule
        call: datadog-custom.createapplicationsecuritywafcustomrule
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/remote-config/products/asm/waf/custom-rules/{custom-rule-id}
      name: api-v2-remote-config-products-asm-waf-custom-rules-custom-rule-id
      description: REST surface for api-v2-remote_config-products-asm-waf-custom_rules-custom_rule_id.
      operations:
      - method: DELETE
        name: deleteapplicationsecuritywafcustomrule
        description: Datadog Delete a Waf Custom Rule
        call: datadog-custom.deleteapplicationsecuritywafcustomrule
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getapplicationsecuritywafcustomrule
        description: Datadog Get a Waf Custom Rule
        call: datadog-custom.getapplicationsecuritywafcustomrule
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateapplicationsecuritywafcustomrule
        description: Datadog Update a Waf Custom Rule
        call: datadog-custom.updateapplicationsecuritywafcustomrule
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: datadog-custom-mcp
    port: 9090
    transport: http
    description: MCP adapter for Datadog API — Custom. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: datadog-create-custom-framework
      description: Datadog Create a Custom Framework
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: datadog-custom.createcustomframework
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-delete-custom-framework
      description: Datadog Delete a Custom Framework
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: datadog-custom.deletecustomframework
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-get-custom-framework
      description: Datadog Get a Custom Framework
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-custom.getcustomframework
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-update-custom-framework
      description: Datadog Update a Custom Framework
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: datadog-custom.updatecustomframework
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-list-custom-costs-files
      description: Datadog List Custom Costs Files
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-custom.listcustomcostsfiles
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-upload-custom-costs-file
      description: Datadog Upload Custom Costs File
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: datadog-custom.uploadcustomcostsfile
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-delete-custom-costs-file
      description: Datadog Delete Custom Costs File
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: datadog-custom.deletecustomcostsfile
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-get-custom-costs-file
      description: Datadog Get Custom Costs File
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-custom.getcustomcostsfile
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-get-all-custom-destinations
      description: Datadog Get All Custom Destinations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-custom.listlogscustomdestinations
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-create-custom-destination
      description: Datadog Create a Custom Destination
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: datadog-custom.createlogscustomdestination
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-delete-custom-destination
      description: Datadog Delete a Custom Destination
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: datadog-custom.deletelogscustomdestination
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-get-custom-destination
      description: Datadog Get a Custom Destination
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-custom.getlogscustomdestination
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-update-custom-destination
      description: Datadog Update a Custom Destination
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: datadog-custom.updatelogscustomdestination
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-list-all-waf-custom
      description: Datadog List All Waf Custom Rules
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-custom.listapplicationsecuritywafcustomrules
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-create-waf-custom-rule
      description: Datadog Create a Waf Custom Rule
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: datadog-custom.createapplicationsecuritywafcustomrule
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-delete-waf-custom-rule
      description: Datadog Delete a Waf Custom Rule
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: datadog-custom.deleteapplicationsecuritywafcustomrule
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-get-waf-custom-rule
      description: Datadog Get a Waf Custom Rule
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-custom.getapplicationsecuritywafcustomrule
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-update-waf-custom-rule
      description: Datadog Update a Waf Custom Rule
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: datadog-custom.updateapplicationsecuritywafcustomrule
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.