naftiko: 1.0.0-alpha2 info: label: Datadog API — Metrics description: 'Datadog API — Metrics. 24 operations. Lead operation: Datadog Get All Span-based Metrics. Self-contained Naftiko capability covering one Datadog business surface.' tags: - Datadog - Metrics created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: DATADOG_API_KEY: DATADOG_API_KEY capability: consumes: - type: http namespace: datadog-metrics baseUri: https://{subdomain}.{site} description: Datadog API — Metrics business capability. Self-contained, no shared references. resources: - name: api-v2-apm-config-metrics path: /api/v2/apm/config/metrics operations: - name: listspansmetrics method: GET description: Datadog Get All Span-based Metrics outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createspansmetric method: POST description: Datadog Create a Span-based Metric outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-apm-config-metrics-metric_id path: /api/v2/apm/config/metrics/{metric_id} operations: - name: deletespansmetric method: DELETE description: Datadog Delete a Span-based Metric outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getspansmetric method: GET description: Datadog Get a Span-based Metric outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatespansmetric method: PATCH description: Datadog Update a Span-based Metric outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-dora-deployment path: /api/v2/dora/deployment operations: - name: createdoradeployment method: POST description: Datadog Send a Deployment Event for Dora Metrics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-dora-incident path: /api/v2/dora/incident operations: - name: createdoraincident method: POST description: Datadog Send an Incident Event for Dora Metrics 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-metrics path: /api/v2/logs/config/metrics operations: - name: listlogsmetrics method: GET description: Datadog Get All Log-based Metrics outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createlogsmetric method: POST description: Datadog Create a Log-based Metric 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-metrics-metric_id path: /api/v2/logs/config/metrics/{metric_id} operations: - name: deletelogsmetric method: DELETE description: Datadog Delete a Log-based Metric outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getlogsmetric method: GET description: Datadog Get a Log-based Metric outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatelogsmetric method: PATCH description: Datadog Update a Log-based Metric outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-metrics path: /api/v2/metrics operations: - name: listtagconfigurations method: GET description: Datadog Get a List of Metrics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter[configured] in: query type: boolean description: Filter custom metrics that have configured tags. - name: filter[tags_configured] in: query type: string description: Filter tag configurations by configured tags. - name: filter[metric_type] in: query type: string description: Filter metrics by metric type. - name: filter[include_percentiles] in: query type: boolean description: Filter distributions with additional percentile - name: filter[queried] in: query type: boolean description: (Preview) Filter custom metrics that have or have not been queried in the specified window[seconds]. - name: filter[tags] in: query type: string description: Filter metrics that have been submitted with the given tags. Supports boolean and wildcard expressions. - name: filter[related_assets] in: query type: boolean description: (Preview) Filter metrics that are used in dashboards, monitors, notebooks, SLOs. - name: window[seconds] in: query type: integer description: The number of seconds of look back (from now) to apply to a filter[tag] or filter[queried] query. - name: page[size] in: query type: integer description: Maximum number of results returned. - name: page[cursor] in: query type: string description: String to query the next page of results. - name: api-v2-metrics-config-bulk-tags path: /api/v2/metrics/config/bulk-tags operations: - name: deletebulktagsmetricsconfiguration method: DELETE description: Datadog Delete Tags for Multiple Metrics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: createbulktagsmetricsconfiguration method: POST description: Datadog Configure Tags for Multiple Metrics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-metrics-metric_name-all-tags path: /api/v2/metrics/{metric_name}/all-tags operations: - name: listtagsbymetricname method: GET description: Datadog List Tags by Metric Name outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-metrics-metric_name-assets path: /api/v2/metrics/{metric_name}/assets operations: - name: listmetricassets method: GET description: Datadog Related Assets to a Metric outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-metrics-metric_name-volumes path: /api/v2/metrics/{metric_name}/volumes operations: - name: listvolumesbymetricname method: GET description: Datadog List Distinct Metric Volumes by Metric Name outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-rum-config-metrics path: /api/v2/rum/config/metrics operations: - name: listrummetrics method: GET description: Datadog Get All Rum-based Metrics outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createrummetric method: POST description: Datadog Create a Rum-based Metric outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-rum-config-metrics-metric_id path: /api/v2/rum/config/metrics/{metric_id} operations: - name: deleterummetric method: DELETE description: Datadog Delete a Rum-based Metric outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getrummetric method: GET description: Datadog Get a Rum-based Metric outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updaterummetric method: PATCH description: Datadog Update a Rum-based Metric outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-series path: /api/v2/series operations: - name: submitmetrics method: POST description: Datadog Submit Metrics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Encoding in: header type: string description: HTTP header used to compress the media-type. - 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-metrics-rest port: 8080 description: REST adapter for Datadog API — Metrics. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v2/apm/config/metrics name: api-v2-apm-config-metrics description: REST surface for api-v2-apm-config-metrics. operations: - method: GET name: listspansmetrics description: Datadog Get All Span-based Metrics call: datadog-metrics.listspansmetrics outputParameters: - type: object mapping: $. - method: POST name: createspansmetric description: Datadog Create a Span-based Metric call: datadog-metrics.createspansmetric with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/apm/config/metrics/{metric-id} name: api-v2-apm-config-metrics-metric-id description: REST surface for api-v2-apm-config-metrics-metric_id. operations: - method: DELETE name: deletespansmetric description: Datadog Delete a Span-based Metric call: datadog-metrics.deletespansmetric outputParameters: - type: object mapping: $. - method: GET name: getspansmetric description: Datadog Get a Span-based Metric call: datadog-metrics.getspansmetric outputParameters: - type: object mapping: $. - method: PATCH name: updatespansmetric description: Datadog Update a Span-based Metric call: datadog-metrics.updatespansmetric with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/dora/deployment name: api-v2-dora-deployment description: REST surface for api-v2-dora-deployment. operations: - method: POST name: createdoradeployment description: Datadog Send a Deployment Event for Dora Metrics call: datadog-metrics.createdoradeployment with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/dora/incident name: api-v2-dora-incident description: REST surface for api-v2-dora-incident. operations: - method: POST name: createdoraincident description: Datadog Send an Incident Event for Dora Metrics call: datadog-metrics.createdoraincident with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/logs/config/metrics name: api-v2-logs-config-metrics description: REST surface for api-v2-logs-config-metrics. operations: - method: GET name: listlogsmetrics description: Datadog Get All Log-based Metrics call: datadog-metrics.listlogsmetrics outputParameters: - type: object mapping: $. - method: POST name: createlogsmetric description: Datadog Create a Log-based Metric call: datadog-metrics.createlogsmetric with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/logs/config/metrics/{metric-id} name: api-v2-logs-config-metrics-metric-id description: REST surface for api-v2-logs-config-metrics-metric_id. operations: - method: DELETE name: deletelogsmetric description: Datadog Delete a Log-based Metric call: datadog-metrics.deletelogsmetric outputParameters: - type: object mapping: $. - method: GET name: getlogsmetric description: Datadog Get a Log-based Metric call: datadog-metrics.getlogsmetric outputParameters: - type: object mapping: $. - method: PATCH name: updatelogsmetric description: Datadog Update a Log-based Metric call: datadog-metrics.updatelogsmetric with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/metrics name: api-v2-metrics description: REST surface for api-v2-metrics. operations: - method: GET name: listtagconfigurations description: Datadog Get a List of Metrics call: datadog-metrics.listtagconfigurations with: filter[configured]: rest.filter[configured] filter[tags_configured]: rest.filter[tags_configured] filter[metric_type]: rest.filter[metric_type] filter[include_percentiles]: rest.filter[include_percentiles] filter[queried]: rest.filter[queried] filter[tags]: rest.filter[tags] filter[related_assets]: rest.filter[related_assets] window[seconds]: rest.window[seconds] page[size]: rest.page[size] page[cursor]: rest.page[cursor] outputParameters: - type: object mapping: $. - path: /v1/api/v2/metrics/config/bulk-tags name: api-v2-metrics-config-bulk-tags description: REST surface for api-v2-metrics-config-bulk-tags. operations: - method: DELETE name: deletebulktagsmetricsconfiguration description: Datadog Delete Tags for Multiple Metrics call: datadog-metrics.deletebulktagsmetricsconfiguration with: body: rest.body outputParameters: - type: object mapping: $. - method: POST name: createbulktagsmetricsconfiguration description: Datadog Configure Tags for Multiple Metrics call: datadog-metrics.createbulktagsmetricsconfiguration with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/metrics/{metric-name}/all-tags name: api-v2-metrics-metric-name-all-tags description: REST surface for api-v2-metrics-metric_name-all-tags. operations: - method: GET name: listtagsbymetricname description: Datadog List Tags by Metric Name call: datadog-metrics.listtagsbymetricname outputParameters: - type: object mapping: $. - path: /v1/api/v2/metrics/{metric-name}/assets name: api-v2-metrics-metric-name-assets description: REST surface for api-v2-metrics-metric_name-assets. operations: - method: GET name: listmetricassets description: Datadog Related Assets to a Metric call: datadog-metrics.listmetricassets outputParameters: - type: object mapping: $. - path: /v1/api/v2/metrics/{metric-name}/volumes name: api-v2-metrics-metric-name-volumes description: REST surface for api-v2-metrics-metric_name-volumes. operations: - method: GET name: listvolumesbymetricname description: Datadog List Distinct Metric Volumes by Metric Name call: datadog-metrics.listvolumesbymetricname outputParameters: - type: object mapping: $. - path: /v1/api/v2/rum/config/metrics name: api-v2-rum-config-metrics description: REST surface for api-v2-rum-config-metrics. operations: - method: GET name: listrummetrics description: Datadog Get All Rum-based Metrics call: datadog-metrics.listrummetrics outputParameters: - type: object mapping: $. - method: POST name: createrummetric description: Datadog Create a Rum-based Metric call: datadog-metrics.createrummetric with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/rum/config/metrics/{metric-id} name: api-v2-rum-config-metrics-metric-id description: REST surface for api-v2-rum-config-metrics-metric_id. operations: - method: DELETE name: deleterummetric description: Datadog Delete a Rum-based Metric call: datadog-metrics.deleterummetric outputParameters: - type: object mapping: $. - method: GET name: getrummetric description: Datadog Get a Rum-based Metric call: datadog-metrics.getrummetric outputParameters: - type: object mapping: $. - method: PATCH name: updaterummetric description: Datadog Update a Rum-based Metric call: datadog-metrics.updaterummetric with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/series name: api-v2-series description: REST surface for api-v2-series. operations: - method: POST name: submitmetrics description: Datadog Submit Metrics call: datadog-metrics.submitmetrics with: Content-Encoding: rest.Content-Encoding body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: datadog-metrics-mcp port: 9090 transport: http description: MCP adapter for Datadog API — Metrics. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: datadog-get-all-span-based description: Datadog Get All Span-based Metrics hints: readOnly: true destructive: false idempotent: true call: datadog-metrics.listspansmetrics outputParameters: - type: object mapping: $. - name: datadog-create-span-based-metric description: Datadog Create a Span-based Metric hints: readOnly: false destructive: false idempotent: false call: datadog-metrics.createspansmetric with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-span-based-metric description: Datadog Delete a Span-based Metric hints: readOnly: false destructive: true idempotent: true call: datadog-metrics.deletespansmetric outputParameters: - type: object mapping: $. - name: datadog-get-span-based-metric description: Datadog Get a Span-based Metric hints: readOnly: true destructive: false idempotent: true call: datadog-metrics.getspansmetric outputParameters: - type: object mapping: $. - name: datadog-update-span-based-metric description: Datadog Update a Span-based Metric hints: readOnly: false destructive: false idempotent: true call: datadog-metrics.updatespansmetric with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-send-deployment-event-dora description: Datadog Send a Deployment Event for Dora Metrics hints: readOnly: false destructive: false idempotent: false call: datadog-metrics.createdoradeployment with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-send-incident-event-dora description: Datadog Send an Incident Event for Dora Metrics hints: readOnly: false destructive: false idempotent: false call: datadog-metrics.createdoraincident with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-get-all-log-based description: Datadog Get All Log-based Metrics hints: readOnly: true destructive: false idempotent: true call: datadog-metrics.listlogsmetrics outputParameters: - type: object mapping: $. - name: datadog-create-log-based-metric description: Datadog Create a Log-based Metric hints: readOnly: false destructive: false idempotent: false call: datadog-metrics.createlogsmetric with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-log-based-metric description: Datadog Delete a Log-based Metric hints: readOnly: false destructive: true idempotent: true call: datadog-metrics.deletelogsmetric outputParameters: - type: object mapping: $. - name: datadog-get-log-based-metric description: Datadog Get a Log-based Metric hints: readOnly: true destructive: false idempotent: true call: datadog-metrics.getlogsmetric outputParameters: - type: object mapping: $. - name: datadog-update-log-based-metric description: Datadog Update a Log-based Metric hints: readOnly: false destructive: false idempotent: true call: datadog-metrics.updatelogsmetric with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-get-list-metrics description: Datadog Get a List of Metrics hints: readOnly: true destructive: false idempotent: true call: datadog-metrics.listtagconfigurations with: filter[configured]: tools.filter[configured] filter[tags_configured]: tools.filter[tags_configured] filter[metric_type]: tools.filter[metric_type] filter[include_percentiles]: tools.filter[include_percentiles] filter[queried]: tools.filter[queried] filter[tags]: tools.filter[tags] filter[related_assets]: tools.filter[related_assets] window[seconds]: tools.window[seconds] page[size]: tools.page[size] page[cursor]: tools.page[cursor] outputParameters: - type: object mapping: $. - name: datadog-delete-tags-multiple-metrics description: Datadog Delete Tags for Multiple Metrics hints: readOnly: false destructive: true idempotent: true call: datadog-metrics.deletebulktagsmetricsconfiguration with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-configure-tags-multiple-metrics description: Datadog Configure Tags for Multiple Metrics hints: readOnly: false destructive: false idempotent: false call: datadog-metrics.createbulktagsmetricsconfiguration with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-list-tags-metric-name description: Datadog List Tags by Metric Name hints: readOnly: true destructive: false idempotent: true call: datadog-metrics.listtagsbymetricname outputParameters: - type: object mapping: $. - name: datadog-related-assets-metric description: Datadog Related Assets to a Metric hints: readOnly: true destructive: false idempotent: true call: datadog-metrics.listmetricassets outputParameters: - type: object mapping: $. - name: datadog-list-distinct-metric-volumes description: Datadog List Distinct Metric Volumes by Metric Name hints: readOnly: true destructive: false idempotent: true call: datadog-metrics.listvolumesbymetricname outputParameters: - type: object mapping: $. - name: datadog-get-all-rum-based description: Datadog Get All Rum-based Metrics hints: readOnly: true destructive: false idempotent: true call: datadog-metrics.listrummetrics outputParameters: - type: object mapping: $. - name: datadog-create-rum-based-metric description: Datadog Create a Rum-based Metric hints: readOnly: false destructive: false idempotent: false call: datadog-metrics.createrummetric with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-rum-based-metric description: Datadog Delete a Rum-based Metric hints: readOnly: false destructive: true idempotent: true call: datadog-metrics.deleterummetric outputParameters: - type: object mapping: $. - name: datadog-get-rum-based-metric description: Datadog Get a Rum-based Metric hints: readOnly: true destructive: false idempotent: true call: datadog-metrics.getrummetric outputParameters: - type: object mapping: $. - name: datadog-update-rum-based-metric description: Datadog Update a Rum-based Metric hints: readOnly: false destructive: false idempotent: true call: datadog-metrics.updaterummetric with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-submit-metrics description: Datadog Submit Metrics hints: readOnly: false destructive: false idempotent: false call: datadog-metrics.submitmetrics with: Content-Encoding: tools.Content-Encoding body: tools.body outputParameters: - type: object mapping: $.