naftiko: 1.0.0-alpha2 info: label: Datadog API — Policies description: 'Datadog API — Policies. 19 operations. Lead operation: Datadog Get All Monitor Configuration Policies. Self-contained Naftiko capability covering one Datadog business surface.' tags: - Datadog - Policies created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: DATADOG_API_KEY: DATADOG_API_KEY capability: consumes: - type: http namespace: datadog-policies baseUri: https://{subdomain}.{site} description: Datadog API — Policies business capability. Self-contained, no shared references. resources: - name: api-v2-monitor-policy path: /api/v2/monitor/policy operations: - name: listmonitorconfigpolicies method: GET description: Datadog Get All Monitor Configuration Policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createmonitorconfigpolicy method: POST description: Datadog Create a Monitor Configuration Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-monitor-policy-policy_id path: /api/v2/monitor/policy/{policy_id} operations: - name: deletemonitorconfigpolicy method: DELETE description: Datadog Delete a Monitor Configuration Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policy_id in: path type: string description: ID of the monitor configuration policy. required: true - name: getmonitorconfigpolicy method: GET description: Datadog Get a Monitor Configuration Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policy_id in: path type: string description: ID of the monitor configuration policy. required: true - name: updatemonitorconfigpolicy method: PATCH description: Datadog Edit a Monitor Configuration Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policy_id in: path type: string description: ID of the monitor configuration policy. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-on-call-escalation-policies path: /api/v2/on-call/escalation-policies operations: - name: createoncallescalationpolicy method: POST description: Datadog Create On-call Escalation Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: include in: query type: string description: 'Comma-separated list of included relationships to be returned. Allowed values: `teams`, `steps`, `steps.targets`.' - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-on-call-escalation-policies-policy_id path: /api/v2/on-call/escalation-policies/{policy_id} operations: - name: deleteoncallescalationpolicy method: DELETE description: Datadog Delete On-call Escalation Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policy_id in: path type: string description: The ID of the escalation policy required: true - name: getoncallescalationpolicy method: GET description: Datadog Get On-call Escalation Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policy_id in: path type: string description: The ID of the escalation policy required: true - name: include in: query type: string description: 'Comma-separated list of included relationships to be returned. Allowed values: `teams`, `steps`, `steps.targets`.' - name: updateoncallescalationpolicy method: PUT description: Datadog Update On-call Escalation Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policy_id in: path type: string description: The ID of the escalation policy required: true - name: include in: query type: string description: 'Comma-separated list of included relationships to be returned. Allowed values: `teams`, `steps`, `steps.targets`.' - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-remote_config-products-cws-policy path: /api/v2/remote_config/products/cws/policy operations: - name: listcsmthreatsagentpolicies method: GET description: Datadog Get All Workload Protection Policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createcsmthreatsagentpolicy method: POST description: Datadog Create a Workload Protection Policy 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-cws-policy-download path: /api/v2/remote_config/products/cws/policy/download operations: - name: downloadcsmthreatspolicy method: GET description: Datadog Download the Workload Protection Policy outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-remote_config-products-cws-policy-policy_id path: /api/v2/remote_config/products/cws/policy/{policy_id} operations: - name: deletecsmthreatsagentpolicy method: DELETE description: Datadog Delete a Workload Protection Policy outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getcsmthreatsagentpolicy method: GET description: Datadog Get a Workload Protection Policy outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatecsmthreatsagentpolicy method: PATCH description: Datadog Update a Workload Protection Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-restriction_policy-resource_id path: /api/v2/restriction_policy/{resource_id} operations: - name: deleterestrictionpolicy method: DELETE description: Datadog Delete a Restriction Policy outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getrestrictionpolicy method: GET description: Datadog Get a Restriction Policy outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updaterestrictionpolicy method: POST description: Datadog Update a Restriction Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: allow_self_lockout in: query type: boolean description: Allows admins (users with the `user_access_manage` permission) to remove their own access from the resource if set to `true`. By default, this is set to `false` - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-security-cloud_workload-policy-download path: /api/v2/security/cloud_workload/policy/download operations: - name: downloadcloudworkloadpolicyfile method: GET description: Datadog Download the Workload Protection Policy (us1-fed) outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.DATADOG_API_KEY}}' exposes: - type: rest namespace: datadog-policies-rest port: 8080 description: REST adapter for Datadog API — Policies. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v2/monitor/policy name: api-v2-monitor-policy description: REST surface for api-v2-monitor-policy. operations: - method: GET name: listmonitorconfigpolicies description: Datadog Get All Monitor Configuration Policies call: datadog-policies.listmonitorconfigpolicies outputParameters: - type: object mapping: $. - method: POST name: createmonitorconfigpolicy description: Datadog Create a Monitor Configuration Policy call: datadog-policies.createmonitorconfigpolicy with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/monitor/policy/{policy-id} name: api-v2-monitor-policy-policy-id description: REST surface for api-v2-monitor-policy-policy_id. operations: - method: DELETE name: deletemonitorconfigpolicy description: Datadog Delete a Monitor Configuration Policy call: datadog-policies.deletemonitorconfigpolicy with: policy_id: rest.policy_id outputParameters: - type: object mapping: $. - method: GET name: getmonitorconfigpolicy description: Datadog Get a Monitor Configuration Policy call: datadog-policies.getmonitorconfigpolicy with: policy_id: rest.policy_id outputParameters: - type: object mapping: $. - method: PATCH name: updatemonitorconfigpolicy description: Datadog Edit a Monitor Configuration Policy call: datadog-policies.updatemonitorconfigpolicy with: policy_id: rest.policy_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/on-call/escalation-policies name: api-v2-on-call-escalation-policies description: REST surface for api-v2-on-call-escalation-policies. operations: - method: POST name: createoncallescalationpolicy description: Datadog Create On-call Escalation Policy call: datadog-policies.createoncallescalationpolicy with: include: rest.include body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/on-call/escalation-policies/{policy-id} name: api-v2-on-call-escalation-policies-policy-id description: REST surface for api-v2-on-call-escalation-policies-policy_id. operations: - method: DELETE name: deleteoncallescalationpolicy description: Datadog Delete On-call Escalation Policy call: datadog-policies.deleteoncallescalationpolicy with: policy_id: rest.policy_id outputParameters: - type: object mapping: $. - method: GET name: getoncallescalationpolicy description: Datadog Get On-call Escalation Policy call: datadog-policies.getoncallescalationpolicy with: policy_id: rest.policy_id include: rest.include outputParameters: - type: object mapping: $. - method: PUT name: updateoncallescalationpolicy description: Datadog Update On-call Escalation Policy call: datadog-policies.updateoncallescalationpolicy with: policy_id: rest.policy_id include: rest.include body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/remote-config/products/cws/policy name: api-v2-remote-config-products-cws-policy description: REST surface for api-v2-remote_config-products-cws-policy. operations: - method: GET name: listcsmthreatsagentpolicies description: Datadog Get All Workload Protection Policies call: datadog-policies.listcsmthreatsagentpolicies outputParameters: - type: object mapping: $. - method: POST name: createcsmthreatsagentpolicy description: Datadog Create a Workload Protection Policy call: datadog-policies.createcsmthreatsagentpolicy with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/remote-config/products/cws/policy/download name: api-v2-remote-config-products-cws-policy-download description: REST surface for api-v2-remote_config-products-cws-policy-download. operations: - method: GET name: downloadcsmthreatspolicy description: Datadog Download the Workload Protection Policy call: datadog-policies.downloadcsmthreatspolicy outputParameters: - type: object mapping: $. - path: /v1/api/v2/remote-config/products/cws/policy/{policy-id} name: api-v2-remote-config-products-cws-policy-policy-id description: REST surface for api-v2-remote_config-products-cws-policy-policy_id. operations: - method: DELETE name: deletecsmthreatsagentpolicy description: Datadog Delete a Workload Protection Policy call: datadog-policies.deletecsmthreatsagentpolicy outputParameters: - type: object mapping: $. - method: GET name: getcsmthreatsagentpolicy description: Datadog Get a Workload Protection Policy call: datadog-policies.getcsmthreatsagentpolicy outputParameters: - type: object mapping: $. - method: PATCH name: updatecsmthreatsagentpolicy description: Datadog Update a Workload Protection Policy call: datadog-policies.updatecsmthreatsagentpolicy with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/restriction-policy/{resource-id} name: api-v2-restriction-policy-resource-id description: REST surface for api-v2-restriction_policy-resource_id. operations: - method: DELETE name: deleterestrictionpolicy description: Datadog Delete a Restriction Policy call: datadog-policies.deleterestrictionpolicy outputParameters: - type: object mapping: $. - method: GET name: getrestrictionpolicy description: Datadog Get a Restriction Policy call: datadog-policies.getrestrictionpolicy outputParameters: - type: object mapping: $. - method: POST name: updaterestrictionpolicy description: Datadog Update a Restriction Policy call: datadog-policies.updaterestrictionpolicy with: allow_self_lockout: rest.allow_self_lockout body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/security/cloud-workload/policy/download name: api-v2-security-cloud-workload-policy-download description: REST surface for api-v2-security-cloud_workload-policy-download. operations: - method: GET name: downloadcloudworkloadpolicyfile description: Datadog Download the Workload Protection Policy (us1-fed) call: datadog-policies.downloadcloudworkloadpolicyfile outputParameters: - type: object mapping: $. - type: mcp namespace: datadog-policies-mcp port: 9090 transport: http description: MCP adapter for Datadog API — Policies. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: datadog-get-all-monitor-configuration description: Datadog Get All Monitor Configuration Policies hints: readOnly: true destructive: false idempotent: true call: datadog-policies.listmonitorconfigpolicies outputParameters: - type: object mapping: $. - name: datadog-create-monitor-configuration-policy description: Datadog Create a Monitor Configuration Policy hints: readOnly: false destructive: false idempotent: false call: datadog-policies.createmonitorconfigpolicy with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-monitor-configuration-policy description: Datadog Delete a Monitor Configuration Policy hints: readOnly: false destructive: true idempotent: true call: datadog-policies.deletemonitorconfigpolicy with: policy_id: tools.policy_id outputParameters: - type: object mapping: $. - name: datadog-get-monitor-configuration-policy description: Datadog Get a Monitor Configuration Policy hints: readOnly: true destructive: false idempotent: true call: datadog-policies.getmonitorconfigpolicy with: policy_id: tools.policy_id outputParameters: - type: object mapping: $. - name: datadog-edit-monitor-configuration-policy description: Datadog Edit a Monitor Configuration Policy hints: readOnly: false destructive: false idempotent: true call: datadog-policies.updatemonitorconfigpolicy with: policy_id: tools.policy_id body: tools.body outputParameters: - type: object mapping: $. - name: datadog-create-call-escalation-policy description: Datadog Create On-call Escalation Policy hints: readOnly: false destructive: false idempotent: false call: datadog-policies.createoncallescalationpolicy with: include: tools.include body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-call-escalation-policy description: Datadog Delete On-call Escalation Policy hints: readOnly: false destructive: true idempotent: true call: datadog-policies.deleteoncallescalationpolicy with: policy_id: tools.policy_id outputParameters: - type: object mapping: $. - name: datadog-get-call-escalation-policy description: Datadog Get On-call Escalation Policy hints: readOnly: true destructive: false idempotent: true call: datadog-policies.getoncallescalationpolicy with: policy_id: tools.policy_id include: tools.include outputParameters: - type: object mapping: $. - name: datadog-update-call-escalation-policy description: Datadog Update On-call Escalation Policy hints: readOnly: false destructive: false idempotent: true call: datadog-policies.updateoncallescalationpolicy with: policy_id: tools.policy_id include: tools.include body: tools.body outputParameters: - type: object mapping: $. - name: datadog-get-all-workload-protection description: Datadog Get All Workload Protection Policies hints: readOnly: true destructive: false idempotent: true call: datadog-policies.listcsmthreatsagentpolicies outputParameters: - type: object mapping: $. - name: datadog-create-workload-protection-policy description: Datadog Create a Workload Protection Policy hints: readOnly: false destructive: false idempotent: false call: datadog-policies.createcsmthreatsagentpolicy with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-download-workload-protection-policy description: Datadog Download the Workload Protection Policy hints: readOnly: true destructive: false idempotent: true call: datadog-policies.downloadcsmthreatspolicy outputParameters: - type: object mapping: $. - name: datadog-delete-workload-protection-policy description: Datadog Delete a Workload Protection Policy hints: readOnly: false destructive: true idempotent: true call: datadog-policies.deletecsmthreatsagentpolicy outputParameters: - type: object mapping: $. - name: datadog-get-workload-protection-policy description: Datadog Get a Workload Protection Policy hints: readOnly: true destructive: false idempotent: true call: datadog-policies.getcsmthreatsagentpolicy outputParameters: - type: object mapping: $. - name: datadog-update-workload-protection-policy description: Datadog Update a Workload Protection Policy hints: readOnly: false destructive: false idempotent: true call: datadog-policies.updatecsmthreatsagentpolicy with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-restriction-policy description: Datadog Delete a Restriction Policy hints: readOnly: false destructive: true idempotent: true call: datadog-policies.deleterestrictionpolicy outputParameters: - type: object mapping: $. - name: datadog-get-restriction-policy description: Datadog Get a Restriction Policy hints: readOnly: true destructive: false idempotent: true call: datadog-policies.getrestrictionpolicy outputParameters: - type: object mapping: $. - name: datadog-update-restriction-policy description: Datadog Update a Restriction Policy hints: readOnly: false destructive: false idempotent: false call: datadog-policies.updaterestrictionpolicy with: allow_self_lockout: tools.allow_self_lockout body: tools.body outputParameters: - type: object mapping: $. - name: datadog-download-workload-protection-policy-2 description: Datadog Download the Workload Protection Policy (us1-fed) hints: readOnly: true destructive: false idempotent: true call: datadog-policies.downloadcloudworkloadpolicyfile outputParameters: - type: object mapping: $.