naftiko: 1.0.0-alpha2 info: label: Datadog API — Cost description: 'Datadog API — Cost. 14 operations. Lead operation: Datadog List Cloud Cost Management Aws Cur Configs. Self-contained Naftiko capability covering one Datadog business surface.' tags: - Datadog - Cost created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: DATADOG_API_KEY: DATADOG_API_KEY capability: consumes: - type: http namespace: datadog-cost baseUri: https://{subdomain}.{site} description: Datadog API — Cost business capability. Self-contained, no shared references. resources: - name: api-v2-cost-aws_cur_config path: /api/v2/cost/aws_cur_config operations: - name: listcostawscurconfigs method: GET description: Datadog List Cloud Cost Management Aws Cur Configs outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createcostawscurconfig method: POST description: Datadog Create Cloud Cost Management Aws Cur Config 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-aws_cur_config-cloud_account_id path: /api/v2/cost/aws_cur_config/{cloud_account_id} operations: - name: deletecostawscurconfig method: DELETE description: Datadog Delete Cloud Cost Management Aws Cur Config outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatecostawscurconfig method: PATCH description: Datadog Update Cloud Cost Management Aws Cur Config 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-azure_uc_config path: /api/v2/cost/azure_uc_config operations: - name: listcostazureucconfigs method: GET description: Datadog List Cloud Cost Management Azure Configs outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createcostazureucconfigs method: POST description: Datadog Create Cloud Cost Management Azure Configs 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-azure_uc_config-cloud_account_id path: /api/v2/cost/azure_uc_config/{cloud_account_id} operations: - name: deletecostazureucconfig method: DELETE description: Datadog Delete Cloud Cost Management Azure Config outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatecostazureucconfigs method: PATCH description: Datadog Update Cloud Cost Management Azure Config 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_by_tag-active_billing_dimensions path: /api/v2/cost_by_tag/active_billing_dimensions operations: - name: getactivebillingdimensions method: GET description: Datadog Get Active Billing Dimensions for Cost Attribution outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-cost_by_tag-monthly_cost_attribution path: /api/v2/cost_by_tag/monthly_cost_attribution operations: - name: getmonthlycostattribution method: GET description: Datadog Get Monthly Cost Attribution outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: start_month in: query type: string description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost beginning in this month.' required: true - name: end_month in: query type: string description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost ending this month.' - name: fields in: query type: string description: 'Comma-separated list specifying cost types (e.g., `_on_demand_cost`, `_committed_cost`, `_total_cost`) ' required: true - name: sort_direction in: query type: string description: 'The direction to sort by: `[desc, asc]`.' - name: sort_name in: query type: string description: 'The billing dimension to sort by. Always sorted by total cost. Example: `infra_host`.' - name: tag_breakdown_keys in: query type: string description: Comma separated list of tag keys used to group cost. If no value is provided the cost will not be broken down by tags. - name: next_record_id in: query type: string description: List following results with a next_record_id provided in the previous query. - name: include_descendants in: query type: boolean description: Include child org cost in the response. Defaults to `true`. - name: api-v2-usage-cost_by_org path: /api/v2/usage/cost_by_org operations: - name: getcostbyorg method: GET description: Datadog Get Cost Across Multi-org Account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: start_month in: query type: string description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost beginning this month.' required: true - name: end_month in: query type: string description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost ending this month.' - name: api-v2-usage-estimated_cost path: /api/v2/usage/estimated_cost operations: - name: getestimatedcostbyorg method: GET description: Datadog Get Estimated Cost Across Your Account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: view in: query type: string description: String to specify whether cost is broken down at a parent-org level or at the sub-org level. Available views are `summary` and `sub-org`. Defaults to `summary`. - name: start_month in: query type: string description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost beginning this month. **Either start_month or start_date should be specified, but not b' - name: end_month in: query type: string description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost ending this month.' - name: start_date in: query type: string description: 'Datetime in ISO-8601 format, UTC, precise to day: `[YYYY-MM-DD]` for cost beginning this day. **Either start_month or start_date should be specified, but not bo' - name: end_date in: query type: string description: 'Datetime in ISO-8601 format, UTC, precise to day: `[YYYY-MM-DD]` for cost ending this day.' - name: include_connected_accounts in: query type: boolean description: Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to `false` - name: api-v2-usage-historical_cost path: /api/v2/usage/historical_cost operations: - name: gethistoricalcostbyorg method: GET description: Datadog Get Historical Cost Across Your Account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: view in: query type: string description: String to specify whether cost is broken down at a parent-org level or at the sub-org level. Available views are `summary` and `sub-org`. Defaults to `summary` - name: start_month in: query type: string description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost beginning this month.' required: true - name: end_month in: query type: string description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost ending this month.' - name: include_connected_accounts in: query type: boolean description: Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to `false` - name: api-v2-usage-projected_cost path: /api/v2/usage/projected_cost operations: - name: getprojectedcost method: GET description: Datadog Get Projected Cost Across Your Account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: view in: query type: string description: String to specify whether cost is broken down at a parent-org level or at the sub-org level. Available views are `summary` and `sub-org`. Defaults to `summary`. - name: include_connected_accounts in: query type: boolean description: Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to `false` authentication: type: bearer token: '{{env.DATADOG_API_KEY}}' exposes: - type: rest namespace: datadog-cost-rest port: 8080 description: REST adapter for Datadog API — Cost. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v2/cost/aws-cur-config name: api-v2-cost-aws-cur-config description: REST surface for api-v2-cost-aws_cur_config. operations: - method: GET name: listcostawscurconfigs description: Datadog List Cloud Cost Management Aws Cur Configs call: datadog-cost.listcostawscurconfigs outputParameters: - type: object mapping: $. - method: POST name: createcostawscurconfig description: Datadog Create Cloud Cost Management Aws Cur Config call: datadog-cost.createcostawscurconfig with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/cost/aws-cur-config/{cloud-account-id} name: api-v2-cost-aws-cur-config-cloud-account-id description: REST surface for api-v2-cost-aws_cur_config-cloud_account_id. operations: - method: DELETE name: deletecostawscurconfig description: Datadog Delete Cloud Cost Management Aws Cur Config call: datadog-cost.deletecostawscurconfig outputParameters: - type: object mapping: $. - method: PATCH name: updatecostawscurconfig description: Datadog Update Cloud Cost Management Aws Cur Config call: datadog-cost.updatecostawscurconfig with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/cost/azure-uc-config name: api-v2-cost-azure-uc-config description: REST surface for api-v2-cost-azure_uc_config. operations: - method: GET name: listcostazureucconfigs description: Datadog List Cloud Cost Management Azure Configs call: datadog-cost.listcostazureucconfigs outputParameters: - type: object mapping: $. - method: POST name: createcostazureucconfigs description: Datadog Create Cloud Cost Management Azure Configs call: datadog-cost.createcostazureucconfigs with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/cost/azure-uc-config/{cloud-account-id} name: api-v2-cost-azure-uc-config-cloud-account-id description: REST surface for api-v2-cost-azure_uc_config-cloud_account_id. operations: - method: DELETE name: deletecostazureucconfig description: Datadog Delete Cloud Cost Management Azure Config call: datadog-cost.deletecostazureucconfig outputParameters: - type: object mapping: $. - method: PATCH name: updatecostazureucconfigs description: Datadog Update Cloud Cost Management Azure Config call: datadog-cost.updatecostazureucconfigs with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/cost-by-tag/active-billing-dimensions name: api-v2-cost-by-tag-active-billing-dimensions description: REST surface for api-v2-cost_by_tag-active_billing_dimensions. operations: - method: GET name: getactivebillingdimensions description: Datadog Get Active Billing Dimensions for Cost Attribution call: datadog-cost.getactivebillingdimensions outputParameters: - type: object mapping: $. - path: /v1/api/v2/cost-by-tag/monthly-cost-attribution name: api-v2-cost-by-tag-monthly-cost-attribution description: REST surface for api-v2-cost_by_tag-monthly_cost_attribution. operations: - method: GET name: getmonthlycostattribution description: Datadog Get Monthly Cost Attribution call: datadog-cost.getmonthlycostattribution with: start_month: rest.start_month end_month: rest.end_month fields: rest.fields sort_direction: rest.sort_direction sort_name: rest.sort_name tag_breakdown_keys: rest.tag_breakdown_keys next_record_id: rest.next_record_id include_descendants: rest.include_descendants outputParameters: - type: object mapping: $. - path: /v1/api/v2/usage/cost-by-org name: api-v2-usage-cost-by-org description: REST surface for api-v2-usage-cost_by_org. operations: - method: GET name: getcostbyorg description: Datadog Get Cost Across Multi-org Account call: datadog-cost.getcostbyorg with: start_month: rest.start_month end_month: rest.end_month outputParameters: - type: object mapping: $. - path: /v1/api/v2/usage/estimated-cost name: api-v2-usage-estimated-cost description: REST surface for api-v2-usage-estimated_cost. operations: - method: GET name: getestimatedcostbyorg description: Datadog Get Estimated Cost Across Your Account call: datadog-cost.getestimatedcostbyorg with: view: rest.view start_month: rest.start_month end_month: rest.end_month start_date: rest.start_date end_date: rest.end_date include_connected_accounts: rest.include_connected_accounts outputParameters: - type: object mapping: $. - path: /v1/api/v2/usage/historical-cost name: api-v2-usage-historical-cost description: REST surface for api-v2-usage-historical_cost. operations: - method: GET name: gethistoricalcostbyorg description: Datadog Get Historical Cost Across Your Account call: datadog-cost.gethistoricalcostbyorg with: view: rest.view start_month: rest.start_month end_month: rest.end_month include_connected_accounts: rest.include_connected_accounts outputParameters: - type: object mapping: $. - path: /v1/api/v2/usage/projected-cost name: api-v2-usage-projected-cost description: REST surface for api-v2-usage-projected_cost. operations: - method: GET name: getprojectedcost description: Datadog Get Projected Cost Across Your Account call: datadog-cost.getprojectedcost with: view: rest.view include_connected_accounts: rest.include_connected_accounts outputParameters: - type: object mapping: $. - type: mcp namespace: datadog-cost-mcp port: 9090 transport: http description: MCP adapter for Datadog API — Cost. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: datadog-list-cloud-cost-management description: Datadog List Cloud Cost Management Aws Cur Configs hints: readOnly: true destructive: false idempotent: true call: datadog-cost.listcostawscurconfigs outputParameters: - type: object mapping: $. - name: datadog-create-cloud-cost-management description: Datadog Create Cloud Cost Management Aws Cur Config hints: readOnly: false destructive: false idempotent: false call: datadog-cost.createcostawscurconfig with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-cloud-cost-management description: Datadog Delete Cloud Cost Management Aws Cur Config hints: readOnly: false destructive: true idempotent: true call: datadog-cost.deletecostawscurconfig outputParameters: - type: object mapping: $. - name: datadog-update-cloud-cost-management description: Datadog Update Cloud Cost Management Aws Cur Config hints: readOnly: false destructive: false idempotent: true call: datadog-cost.updatecostawscurconfig with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-list-cloud-cost-management-2 description: Datadog List Cloud Cost Management Azure Configs hints: readOnly: true destructive: false idempotent: true call: datadog-cost.listcostazureucconfigs outputParameters: - type: object mapping: $. - name: datadog-create-cloud-cost-management-2 description: Datadog Create Cloud Cost Management Azure Configs hints: readOnly: false destructive: false idempotent: false call: datadog-cost.createcostazureucconfigs with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-cloud-cost-management-2 description: Datadog Delete Cloud Cost Management Azure Config hints: readOnly: false destructive: true idempotent: true call: datadog-cost.deletecostazureucconfig outputParameters: - type: object mapping: $. - name: datadog-update-cloud-cost-management-2 description: Datadog Update Cloud Cost Management Azure Config hints: readOnly: false destructive: false idempotent: true call: datadog-cost.updatecostazureucconfigs with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-get-active-billing-dimensions description: Datadog Get Active Billing Dimensions for Cost Attribution hints: readOnly: true destructive: false idempotent: true call: datadog-cost.getactivebillingdimensions outputParameters: - type: object mapping: $. - name: datadog-get-monthly-cost-attribution description: Datadog Get Monthly Cost Attribution hints: readOnly: true destructive: false idempotent: true call: datadog-cost.getmonthlycostattribution with: start_month: tools.start_month end_month: tools.end_month fields: tools.fields sort_direction: tools.sort_direction sort_name: tools.sort_name tag_breakdown_keys: tools.tag_breakdown_keys next_record_id: tools.next_record_id include_descendants: tools.include_descendants outputParameters: - type: object mapping: $. - name: datadog-get-cost-across-multi description: Datadog Get Cost Across Multi-org Account hints: readOnly: true destructive: false idempotent: true call: datadog-cost.getcostbyorg with: start_month: tools.start_month end_month: tools.end_month outputParameters: - type: object mapping: $. - name: datadog-get-estimated-cost-across description: Datadog Get Estimated Cost Across Your Account hints: readOnly: true destructive: false idempotent: true call: datadog-cost.getestimatedcostbyorg with: view: tools.view start_month: tools.start_month end_month: tools.end_month start_date: tools.start_date end_date: tools.end_date include_connected_accounts: tools.include_connected_accounts outputParameters: - type: object mapping: $. - name: datadog-get-historical-cost-across description: Datadog Get Historical Cost Across Your Account hints: readOnly: true destructive: false idempotent: true call: datadog-cost.gethistoricalcostbyorg with: view: tools.view start_month: tools.start_month end_month: tools.end_month include_connected_accounts: tools.include_connected_accounts outputParameters: - type: object mapping: $. - name: datadog-get-projected-cost-across description: Datadog Get Projected Cost Across Your Account hints: readOnly: true destructive: false idempotent: true call: datadog-cost.getprojectedcost with: view: tools.view include_connected_accounts: tools.include_connected_accounts outputParameters: - type: object mapping: $.