naftiko: 1.0.0-alpha2 info: label: Datadog API — Keys description: 'Datadog API — Keys. 19 operations. Lead operation: Datadog Get All Api Keys. Self-contained Naftiko capability covering one Datadog business surface.' tags: - Datadog - Keys created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: DATADOG_API_KEY: DATADOG_API_KEY capability: consumes: - type: http namespace: datadog-keys baseUri: https://{subdomain}.{site} description: Datadog API — Keys business capability. Self-contained, no shared references. resources: - name: api-v2-api_keys path: /api/v2/api_keys operations: - name: listapikeys method: GET description: Datadog Get All Api Keys outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createapikey method: POST description: Datadog Create an Api Key outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-api_keys-api_key_id path: /api/v2/api_keys/{api_key_id} operations: - name: deleteapikey method: DELETE description: Datadog Delete an Api Key outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getapikey method: GET description: Datadog Get Api Key outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateapikey method: PATCH description: Datadog Edit an Api Key outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-application_keys path: /api/v2/application_keys operations: - name: listapplicationkeys method: GET description: Datadog Get All Application Keys outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-application_keys-app_key_id path: /api/v2/application_keys/{app_key_id} operations: - name: deleteapplicationkey method: DELETE description: Datadog Delete an Application Key outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getapplicationkey method: GET description: Datadog Get an Application Key outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateapplicationkey method: PATCH description: Datadog Edit an Application Key outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-current_user-application_keys path: /api/v2/current_user/application_keys operations: - name: listcurrentuserapplicationkeys method: GET description: Datadog Get All Application Keys Owned by Current User outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createcurrentuserapplicationkey method: POST description: Datadog Create an Application Key for Current User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-current_user-application_keys-app_key_id path: /api/v2/current_user/application_keys/{app_key_id} operations: - name: deletecurrentuserapplicationkey method: DELETE description: Datadog Delete an Application Key Owned by Current User outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getcurrentuserapplicationkey method: GET description: Datadog Get One Application Key Owned by Current User outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatecurrentuserapplicationkey method: PATCH description: Datadog Edit an Application Key Owned by Current User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-service_accounts-service_account_id-application_keys path: /api/v2/service_accounts/{service_account_id}/application_keys operations: - name: listserviceaccountapplicationkeys method: GET description: Datadog List Application Keys for This Service Account outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createserviceaccountapplicationkey method: POST description: Datadog Create an Application Key for This Service Account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-service_accounts-service_account_id-application_keys-app_key_id path: /api/v2/service_accounts/{service_account_id}/application_keys/{app_key_id} operations: - name: deleteserviceaccountapplicationkey method: DELETE description: Datadog Delete an Application Key for This Service Account outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getserviceaccountapplicationkey method: GET description: Datadog Get One Application Key for This Service Account outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateserviceaccountapplicationkey method: PATCH description: Datadog Edit an Application Key for This Service Account 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-keys-rest port: 8080 description: REST adapter for Datadog API — Keys. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v2/api-keys name: api-v2-api-keys description: REST surface for api-v2-api_keys. operations: - method: GET name: listapikeys description: Datadog Get All Api Keys call: datadog-keys.listapikeys outputParameters: - type: object mapping: $. - method: POST name: createapikey description: Datadog Create an Api Key call: datadog-keys.createapikey with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/api-keys/{api-key-id} name: api-v2-api-keys-api-key-id description: REST surface for api-v2-api_keys-api_key_id. operations: - method: DELETE name: deleteapikey description: Datadog Delete an Api Key call: datadog-keys.deleteapikey outputParameters: - type: object mapping: $. - method: GET name: getapikey description: Datadog Get Api Key call: datadog-keys.getapikey outputParameters: - type: object mapping: $. - method: PATCH name: updateapikey description: Datadog Edit an Api Key call: datadog-keys.updateapikey with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/application-keys name: api-v2-application-keys description: REST surface for api-v2-application_keys. operations: - method: GET name: listapplicationkeys description: Datadog Get All Application Keys call: datadog-keys.listapplicationkeys outputParameters: - type: object mapping: $. - path: /v1/api/v2/application-keys/{app-key-id} name: api-v2-application-keys-app-key-id description: REST surface for api-v2-application_keys-app_key_id. operations: - method: DELETE name: deleteapplicationkey description: Datadog Delete an Application Key call: datadog-keys.deleteapplicationkey outputParameters: - type: object mapping: $. - method: GET name: getapplicationkey description: Datadog Get an Application Key call: datadog-keys.getapplicationkey outputParameters: - type: object mapping: $. - method: PATCH name: updateapplicationkey description: Datadog Edit an Application Key call: datadog-keys.updateapplicationkey with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/current-user/application-keys name: api-v2-current-user-application-keys description: REST surface for api-v2-current_user-application_keys. operations: - method: GET name: listcurrentuserapplicationkeys description: Datadog Get All Application Keys Owned by Current User call: datadog-keys.listcurrentuserapplicationkeys outputParameters: - type: object mapping: $. - method: POST name: createcurrentuserapplicationkey description: Datadog Create an Application Key for Current User call: datadog-keys.createcurrentuserapplicationkey with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/current-user/application-keys/{app-key-id} name: api-v2-current-user-application-keys-app-key-id description: REST surface for api-v2-current_user-application_keys-app_key_id. operations: - method: DELETE name: deletecurrentuserapplicationkey description: Datadog Delete an Application Key Owned by Current User call: datadog-keys.deletecurrentuserapplicationkey outputParameters: - type: object mapping: $. - method: GET name: getcurrentuserapplicationkey description: Datadog Get One Application Key Owned by Current User call: datadog-keys.getcurrentuserapplicationkey outputParameters: - type: object mapping: $. - method: PATCH name: updatecurrentuserapplicationkey description: Datadog Edit an Application Key Owned by Current User call: datadog-keys.updatecurrentuserapplicationkey with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/service-accounts/{service-account-id}/application-keys name: api-v2-service-accounts-service-account-id-application-keys description: REST surface for api-v2-service_accounts-service_account_id-application_keys. operations: - method: GET name: listserviceaccountapplicationkeys description: Datadog List Application Keys for This Service Account call: datadog-keys.listserviceaccountapplicationkeys outputParameters: - type: object mapping: $. - method: POST name: createserviceaccountapplicationkey description: Datadog Create an Application Key for This Service Account call: datadog-keys.createserviceaccountapplicationkey with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/service-accounts/{service-account-id}/application-keys/{app-key-id} name: api-v2-service-accounts-service-account-id-application-keys-app-key-id description: REST surface for api-v2-service_accounts-service_account_id-application_keys-app_key_id. operations: - method: DELETE name: deleteserviceaccountapplicationkey description: Datadog Delete an Application Key for This Service Account call: datadog-keys.deleteserviceaccountapplicationkey outputParameters: - type: object mapping: $. - method: GET name: getserviceaccountapplicationkey description: Datadog Get One Application Key for This Service Account call: datadog-keys.getserviceaccountapplicationkey outputParameters: - type: object mapping: $. - method: PATCH name: updateserviceaccountapplicationkey description: Datadog Edit an Application Key for This Service Account call: datadog-keys.updateserviceaccountapplicationkey with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: datadog-keys-mcp port: 9090 transport: http description: MCP adapter for Datadog API — Keys. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: datadog-get-all-api-keys description: Datadog Get All Api Keys hints: readOnly: true destructive: false idempotent: true call: datadog-keys.listapikeys outputParameters: - type: object mapping: $. - name: datadog-create-api-key description: Datadog Create an Api Key hints: readOnly: false destructive: false idempotent: false call: datadog-keys.createapikey with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-api-key description: Datadog Delete an Api Key hints: readOnly: false destructive: true idempotent: true call: datadog-keys.deleteapikey outputParameters: - type: object mapping: $. - name: datadog-get-api-key description: Datadog Get Api Key hints: readOnly: true destructive: false idempotent: true call: datadog-keys.getapikey outputParameters: - type: object mapping: $. - name: datadog-edit-api-key description: Datadog Edit an Api Key hints: readOnly: false destructive: false idempotent: true call: datadog-keys.updateapikey with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-get-all-application-keys description: Datadog Get All Application Keys hints: readOnly: true destructive: false idempotent: true call: datadog-keys.listapplicationkeys outputParameters: - type: object mapping: $. - name: datadog-delete-application-key description: Datadog Delete an Application Key hints: readOnly: false destructive: true idempotent: true call: datadog-keys.deleteapplicationkey outputParameters: - type: object mapping: $. - name: datadog-get-application-key description: Datadog Get an Application Key hints: readOnly: true destructive: false idempotent: true call: datadog-keys.getapplicationkey outputParameters: - type: object mapping: $. - name: datadog-edit-application-key description: Datadog Edit an Application Key hints: readOnly: false destructive: false idempotent: true call: datadog-keys.updateapplicationkey with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-get-all-application-keys-2 description: Datadog Get All Application Keys Owned by Current User hints: readOnly: true destructive: false idempotent: true call: datadog-keys.listcurrentuserapplicationkeys outputParameters: - type: object mapping: $. - name: datadog-create-application-key-current description: Datadog Create an Application Key for Current User hints: readOnly: false destructive: false idempotent: false call: datadog-keys.createcurrentuserapplicationkey with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-application-key-owned description: Datadog Delete an Application Key Owned by Current User hints: readOnly: false destructive: true idempotent: true call: datadog-keys.deletecurrentuserapplicationkey outputParameters: - type: object mapping: $. - name: datadog-get-one-application-key description: Datadog Get One Application Key Owned by Current User hints: readOnly: true destructive: false idempotent: true call: datadog-keys.getcurrentuserapplicationkey outputParameters: - type: object mapping: $. - name: datadog-edit-application-key-owned description: Datadog Edit an Application Key Owned by Current User hints: readOnly: false destructive: false idempotent: true call: datadog-keys.updatecurrentuserapplicationkey with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-list-application-keys-this description: Datadog List Application Keys for This Service Account hints: readOnly: true destructive: false idempotent: true call: datadog-keys.listserviceaccountapplicationkeys outputParameters: - type: object mapping: $. - name: datadog-create-application-key-this description: Datadog Create an Application Key for This Service Account hints: readOnly: false destructive: false idempotent: false call: datadog-keys.createserviceaccountapplicationkey with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-application-key-this description: Datadog Delete an Application Key for This Service Account hints: readOnly: false destructive: true idempotent: true call: datadog-keys.deleteserviceaccountapplicationkey outputParameters: - type: object mapping: $. - name: datadog-get-one-application-key-2 description: Datadog Get One Application Key for This Service Account hints: readOnly: true destructive: false idempotent: true call: datadog-keys.getserviceaccountapplicationkey outputParameters: - type: object mapping: $. - name: datadog-edit-application-key-this description: Datadog Edit an Application Key for This Service Account hints: readOnly: false destructive: false idempotent: true call: datadog-keys.updateserviceaccountapplicationkey with: body: tools.body outputParameters: - type: object mapping: $.