naftiko: 1.0.0-alpha2 info: label: Datadog API — Restrictions description: 'Datadog API — Restrictions. 13 operations. Lead operation: Datadog List Restriction Queries. Self-contained Naftiko capability covering one Datadog business surface.' tags: - Datadog - Restrictions created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: DATADOG_API_KEY: DATADOG_API_KEY capability: consumes: - type: http namespace: datadog-restrictions baseUri: https://{subdomain}.{site} description: Datadog API — Restrictions business capability. Self-contained, no shared references. resources: - name: api-v2-logs-config-restriction_queries path: /api/v2/logs/config/restriction_queries operations: - name: listrestrictionqueries method: GET description: Datadog List Restriction Queries outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createrestrictionquery method: POST description: Datadog Create a Restriction Query 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-restriction_queries-role-role_id path: /api/v2/logs/config/restriction_queries/role/{role_id} operations: - name: getrolerestrictionquery method: GET description: Datadog Get Restriction Query for a Given Role outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-logs-config-restriction_queries-user-user_id path: /api/v2/logs/config/restriction_queries/user/{user_id} operations: - name: listuserrestrictionqueries method: GET description: Datadog Get All Restriction Queries for a Given User outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-logs-config-restriction_queries-restriction_query_id path: /api/v2/logs/config/restriction_queries/{restriction_query_id} operations: - name: deleterestrictionquery method: DELETE description: Datadog Delete a Restriction Query outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getrestrictionquery method: GET description: Datadog Get a Restriction Query outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updaterestrictionquery method: PATCH description: Datadog Update a Restriction Query 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-restriction_queries-restriction_query_id-roles path: /api/v2/logs/config/restriction_queries/{restriction_query_id}/roles operations: - name: removerolefromrestrictionquery method: DELETE description: Datadog Revoke Role from a Restriction Query outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: listrestrictionqueryroles method: GET description: Datadog List Roles for a Restriction Query outputRawFormat: json outputParameters: - name: result type: object value: $. - name: addroletorestrictionquery method: POST description: Datadog Grant Role to a Restriction Query 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 authentication: type: bearer token: '{{env.DATADOG_API_KEY}}' exposes: - type: rest namespace: datadog-restrictions-rest port: 8080 description: REST adapter for Datadog API — Restrictions. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v2/logs/config/restriction-queries name: api-v2-logs-config-restriction-queries description: REST surface for api-v2-logs-config-restriction_queries. operations: - method: GET name: listrestrictionqueries description: Datadog List Restriction Queries call: datadog-restrictions.listrestrictionqueries outputParameters: - type: object mapping: $. - method: POST name: createrestrictionquery description: Datadog Create a Restriction Query call: datadog-restrictions.createrestrictionquery with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/logs/config/restriction-queries/role/{role-id} name: api-v2-logs-config-restriction-queries-role-role-id description: REST surface for api-v2-logs-config-restriction_queries-role-role_id. operations: - method: GET name: getrolerestrictionquery description: Datadog Get Restriction Query for a Given Role call: datadog-restrictions.getrolerestrictionquery outputParameters: - type: object mapping: $. - path: /v1/api/v2/logs/config/restriction-queries/user/{user-id} name: api-v2-logs-config-restriction-queries-user-user-id description: REST surface for api-v2-logs-config-restriction_queries-user-user_id. operations: - method: GET name: listuserrestrictionqueries description: Datadog Get All Restriction Queries for a Given User call: datadog-restrictions.listuserrestrictionqueries outputParameters: - type: object mapping: $. - path: /v1/api/v2/logs/config/restriction-queries/{restriction-query-id} name: api-v2-logs-config-restriction-queries-restriction-query-id description: REST surface for api-v2-logs-config-restriction_queries-restriction_query_id. operations: - method: DELETE name: deleterestrictionquery description: Datadog Delete a Restriction Query call: datadog-restrictions.deleterestrictionquery outputParameters: - type: object mapping: $. - method: GET name: getrestrictionquery description: Datadog Get a Restriction Query call: datadog-restrictions.getrestrictionquery outputParameters: - type: object mapping: $. - method: PATCH name: updaterestrictionquery description: Datadog Update a Restriction Query call: datadog-restrictions.updaterestrictionquery with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/logs/config/restriction-queries/{restriction-query-id}/roles name: api-v2-logs-config-restriction-queries-restriction-query-id-roles description: REST surface for api-v2-logs-config-restriction_queries-restriction_query_id-roles. operations: - method: DELETE name: removerolefromrestrictionquery description: Datadog Revoke Role from a Restriction Query call: datadog-restrictions.removerolefromrestrictionquery with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listrestrictionqueryroles description: Datadog List Roles for a Restriction Query call: datadog-restrictions.listrestrictionqueryroles outputParameters: - type: object mapping: $. - method: POST name: addroletorestrictionquery description: Datadog Grant Role to a Restriction Query call: datadog-restrictions.addroletorestrictionquery 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-restrictions.deleterestrictionpolicy outputParameters: - type: object mapping: $. - method: GET name: getrestrictionpolicy description: Datadog Get a Restriction Policy call: datadog-restrictions.getrestrictionpolicy outputParameters: - type: object mapping: $. - method: POST name: updaterestrictionpolicy description: Datadog Update a Restriction Policy call: datadog-restrictions.updaterestrictionpolicy with: allow_self_lockout: rest.allow_self_lockout body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: datadog-restrictions-mcp port: 9090 transport: http description: MCP adapter for Datadog API — Restrictions. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: datadog-list-restriction-queries description: Datadog List Restriction Queries hints: readOnly: true destructive: false idempotent: true call: datadog-restrictions.listrestrictionqueries outputParameters: - type: object mapping: $. - name: datadog-create-restriction-query description: Datadog Create a Restriction Query hints: readOnly: true destructive: false idempotent: false call: datadog-restrictions.createrestrictionquery with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-get-restriction-query-given description: Datadog Get Restriction Query for a Given Role hints: readOnly: true destructive: false idempotent: true call: datadog-restrictions.getrolerestrictionquery outputParameters: - type: object mapping: $. - name: datadog-get-all-restriction-queries description: Datadog Get All Restriction Queries for a Given User hints: readOnly: true destructive: false idempotent: true call: datadog-restrictions.listuserrestrictionqueries outputParameters: - type: object mapping: $. - name: datadog-delete-restriction-query description: Datadog Delete a Restriction Query hints: readOnly: false destructive: true idempotent: true call: datadog-restrictions.deleterestrictionquery outputParameters: - type: object mapping: $. - name: datadog-get-restriction-query description: Datadog Get a Restriction Query hints: readOnly: true destructive: false idempotent: true call: datadog-restrictions.getrestrictionquery outputParameters: - type: object mapping: $. - name: datadog-update-restriction-query description: Datadog Update a Restriction Query hints: readOnly: false destructive: false idempotent: true call: datadog-restrictions.updaterestrictionquery with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-revoke-role-restriction-query description: Datadog Revoke Role from a Restriction Query hints: readOnly: false destructive: true idempotent: true call: datadog-restrictions.removerolefromrestrictionquery with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-list-roles-restriction-query description: Datadog List Roles for a Restriction Query hints: readOnly: true destructive: false idempotent: true call: datadog-restrictions.listrestrictionqueryroles outputParameters: - type: object mapping: $. - name: datadog-grant-role-restriction-query description: Datadog Grant Role to a Restriction Query hints: readOnly: true destructive: false idempotent: false call: datadog-restrictions.addroletorestrictionquery 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-restrictions.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-restrictions.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-restrictions.updaterestrictionpolicy with: allow_self_lockout: tools.allow_self_lockout body: tools.body outputParameters: - type: object mapping: $.