naftiko: 1.0.0-alpha2 info: label: Datadog API — Incident description: 'Datadog API — Incident. 29 operations. Lead operation: Datadog Send an Incident Event for Dora Metrics. Self-contained Naftiko capability covering one Datadog business surface.' tags: - Datadog - Incident created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: DATADOG_API_KEY: DATADOG_API_KEY capability: consumes: - type: http namespace: datadog-incident baseUri: https://{subdomain}.{site} description: Datadog API — Incident business capability. Self-contained, no shared references. resources: - 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-incidents path: /api/v2/incidents operations: - name: createincident method: POST description: Datadog Create an Incident outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-incidents-config-types path: /api/v2/incidents/config/types operations: - name: listincidenttypes method: GET description: Datadog Get a List of Incident Types outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createincidenttype method: POST description: Datadog Create an Incident Type outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-incidents-config-types-incident_type_id path: /api/v2/incidents/config/types/{incident_type_id} operations: - name: deleteincidenttype method: DELETE description: Datadog Delete an Incident Type outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getincidenttype method: GET description: Datadog Get Incident Type Details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateincidenttype method: PATCH description: Datadog Update an Incident Type outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-incidents-incident_id path: /api/v2/incidents/{incident_id} operations: - name: deleteincident method: DELETE description: Datadog Delete an Existing Incident outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getincident method: GET description: Datadog Get the Details of an Incident outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateincident method: PATCH description: Datadog Update an Existing Incident outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-incidents-incident_id-attachments path: /api/v2/incidents/{incident_id}/attachments operations: - name: updateincidentattachments method: PATCH description: Datadog Create, Update, and Delete Incident Attachments outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-incidents-incident_id-relationships-integrations path: /api/v2/incidents/{incident_id}/relationships/integrations operations: - name: createincidentintegration method: POST description: Datadog Create an Incident Integration Metadata outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-incidents-incident_id-relationships-integrations-integration_metadata_id path: /api/v2/incidents/{incident_id}/relationships/integrations/{integration_metadata_id} operations: - name: deleteincidentintegration method: DELETE description: Datadog Delete an Incident Integration Metadata outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getincidentintegration method: GET description: Datadog Get Incident Integration Metadata Details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateincidentintegration method: PATCH description: Datadog Update an Existing Incident Integration Metadata outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-incidents-incident_id-relationships-todos path: /api/v2/incidents/{incident_id}/relationships/todos operations: - name: createincidenttodo method: POST description: Datadog Create an Incident Todo outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-incidents-incident_id-relationships-todos-todo_id path: /api/v2/incidents/{incident_id}/relationships/todos/{todo_id} operations: - name: deleteincidenttodo method: DELETE description: Datadog Delete an Incident Todo outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getincidenttodo method: GET description: Datadog Get Incident Todo Details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateincidenttodo method: PATCH description: Datadog Update an Incident Todo outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-services path: /api/v2/services operations: - name: listincidentservices method: GET description: Datadog Get a List of All Incident Services outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createincidentservice method: POST description: Datadog Create a New Incident Service outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-services-service_id path: /api/v2/services/{service_id} operations: - name: deleteincidentservice method: DELETE description: Datadog Delete an Existing Incident Service outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getincidentservice method: GET description: Datadog Get Details of an Incident Service outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateincidentservice method: PATCH description: Datadog Update an Existing Incident Service outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-teams path: /api/v2/teams operations: - name: listincidentteams method: GET description: Datadog Get a List of All Incident Teams outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createincidentteam method: POST description: Datadog Create a New Incident Team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-teams-team_id path: /api/v2/teams/{team_id} operations: - name: deleteincidentteam method: DELETE description: Datadog Delete an Existing Incident Team outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getincidentteam method: GET description: Datadog Get Details of an Incident Team outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateincidentteam method: PATCH description: Datadog Update an Existing Incident Team 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-incident-rest port: 8080 description: REST adapter for Datadog API — Incident. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - 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-incident.createdoraincident with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/incidents name: api-v2-incidents description: REST surface for api-v2-incidents. operations: - method: POST name: createincident description: Datadog Create an Incident call: datadog-incident.createincident with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/incidents/config/types name: api-v2-incidents-config-types description: REST surface for api-v2-incidents-config-types. operations: - method: GET name: listincidenttypes description: Datadog Get a List of Incident Types call: datadog-incident.listincidenttypes outputParameters: - type: object mapping: $. - method: POST name: createincidenttype description: Datadog Create an Incident Type call: datadog-incident.createincidenttype with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/incidents/config/types/{incident-type-id} name: api-v2-incidents-config-types-incident-type-id description: REST surface for api-v2-incidents-config-types-incident_type_id. operations: - method: DELETE name: deleteincidenttype description: Datadog Delete an Incident Type call: datadog-incident.deleteincidenttype outputParameters: - type: object mapping: $. - method: GET name: getincidenttype description: Datadog Get Incident Type Details call: datadog-incident.getincidenttype outputParameters: - type: object mapping: $. - method: PATCH name: updateincidenttype description: Datadog Update an Incident Type call: datadog-incident.updateincidenttype with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/incidents/{incident-id} name: api-v2-incidents-incident-id description: REST surface for api-v2-incidents-incident_id. operations: - method: DELETE name: deleteincident description: Datadog Delete an Existing Incident call: datadog-incident.deleteincident outputParameters: - type: object mapping: $. - method: GET name: getincident description: Datadog Get the Details of an Incident call: datadog-incident.getincident outputParameters: - type: object mapping: $. - method: PATCH name: updateincident description: Datadog Update an Existing Incident call: datadog-incident.updateincident with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/incidents/{incident-id}/attachments name: api-v2-incidents-incident-id-attachments description: REST surface for api-v2-incidents-incident_id-attachments. operations: - method: PATCH name: updateincidentattachments description: Datadog Create, Update, and Delete Incident Attachments call: datadog-incident.updateincidentattachments with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/incidents/{incident-id}/relationships/integrations name: api-v2-incidents-incident-id-relationships-integrations description: REST surface for api-v2-incidents-incident_id-relationships-integrations. operations: - method: POST name: createincidentintegration description: Datadog Create an Incident Integration Metadata call: datadog-incident.createincidentintegration with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/incidents/{incident-id}/relationships/integrations/{integration-metadata-id} name: api-v2-incidents-incident-id-relationships-integrations-integration-metadata-id description: REST surface for api-v2-incidents-incident_id-relationships-integrations-integration_metadata_id. operations: - method: DELETE name: deleteincidentintegration description: Datadog Delete an Incident Integration Metadata call: datadog-incident.deleteincidentintegration outputParameters: - type: object mapping: $. - method: GET name: getincidentintegration description: Datadog Get Incident Integration Metadata Details call: datadog-incident.getincidentintegration outputParameters: - type: object mapping: $. - method: PATCH name: updateincidentintegration description: Datadog Update an Existing Incident Integration Metadata call: datadog-incident.updateincidentintegration with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/incidents/{incident-id}/relationships/todos name: api-v2-incidents-incident-id-relationships-todos description: REST surface for api-v2-incidents-incident_id-relationships-todos. operations: - method: POST name: createincidenttodo description: Datadog Create an Incident Todo call: datadog-incident.createincidenttodo with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/incidents/{incident-id}/relationships/todos/{todo-id} name: api-v2-incidents-incident-id-relationships-todos-todo-id description: REST surface for api-v2-incidents-incident_id-relationships-todos-todo_id. operations: - method: DELETE name: deleteincidenttodo description: Datadog Delete an Incident Todo call: datadog-incident.deleteincidenttodo outputParameters: - type: object mapping: $. - method: GET name: getincidenttodo description: Datadog Get Incident Todo Details call: datadog-incident.getincidenttodo outputParameters: - type: object mapping: $. - method: PATCH name: updateincidenttodo description: Datadog Update an Incident Todo call: datadog-incident.updateincidenttodo with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/services name: api-v2-services description: REST surface for api-v2-services. operations: - method: GET name: listincidentservices description: Datadog Get a List of All Incident Services call: datadog-incident.listincidentservices outputParameters: - type: object mapping: $. - method: POST name: createincidentservice description: Datadog Create a New Incident Service call: datadog-incident.createincidentservice with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/services/{service-id} name: api-v2-services-service-id description: REST surface for api-v2-services-service_id. operations: - method: DELETE name: deleteincidentservice description: Datadog Delete an Existing Incident Service call: datadog-incident.deleteincidentservice outputParameters: - type: object mapping: $. - method: GET name: getincidentservice description: Datadog Get Details of an Incident Service call: datadog-incident.getincidentservice outputParameters: - type: object mapping: $. - method: PATCH name: updateincidentservice description: Datadog Update an Existing Incident Service call: datadog-incident.updateincidentservice with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/teams name: api-v2-teams description: REST surface for api-v2-teams. operations: - method: GET name: listincidentteams description: Datadog Get a List of All Incident Teams call: datadog-incident.listincidentteams outputParameters: - type: object mapping: $. - method: POST name: createincidentteam description: Datadog Create a New Incident Team call: datadog-incident.createincidentteam with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/teams/{team-id} name: api-v2-teams-team-id description: REST surface for api-v2-teams-team_id. operations: - method: DELETE name: deleteincidentteam description: Datadog Delete an Existing Incident Team call: datadog-incident.deleteincidentteam outputParameters: - type: object mapping: $. - method: GET name: getincidentteam description: Datadog Get Details of an Incident Team call: datadog-incident.getincidentteam outputParameters: - type: object mapping: $. - method: PATCH name: updateincidentteam description: Datadog Update an Existing Incident Team call: datadog-incident.updateincidentteam with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: datadog-incident-mcp port: 9090 transport: http description: MCP adapter for Datadog API — Incident. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: datadog-send-incident-event-dora description: Datadog Send an Incident Event for Dora Metrics hints: readOnly: false destructive: false idempotent: false call: datadog-incident.createdoraincident with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-create-incident description: Datadog Create an Incident hints: readOnly: false destructive: false idempotent: false call: datadog-incident.createincident with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-get-list-incident-types description: Datadog Get a List of Incident Types hints: readOnly: true destructive: false idempotent: true call: datadog-incident.listincidenttypes outputParameters: - type: object mapping: $. - name: datadog-create-incident-type description: Datadog Create an Incident Type hints: readOnly: false destructive: false idempotent: false call: datadog-incident.createincidenttype with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-incident-type description: Datadog Delete an Incident Type hints: readOnly: false destructive: true idempotent: true call: datadog-incident.deleteincidenttype outputParameters: - type: object mapping: $. - name: datadog-get-incident-type-details description: Datadog Get Incident Type Details hints: readOnly: true destructive: false idempotent: true call: datadog-incident.getincidenttype outputParameters: - type: object mapping: $. - name: datadog-update-incident-type description: Datadog Update an Incident Type hints: readOnly: false destructive: false idempotent: true call: datadog-incident.updateincidenttype with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-existing-incident description: Datadog Delete an Existing Incident hints: readOnly: false destructive: true idempotent: true call: datadog-incident.deleteincident outputParameters: - type: object mapping: $. - name: datadog-get-details-incident description: Datadog Get the Details of an Incident hints: readOnly: true destructive: false idempotent: true call: datadog-incident.getincident outputParameters: - type: object mapping: $. - name: datadog-update-existing-incident description: Datadog Update an Existing Incident hints: readOnly: false destructive: false idempotent: true call: datadog-incident.updateincident with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-create-update-and-delete description: Datadog Create, Update, and Delete Incident Attachments hints: readOnly: false destructive: false idempotent: true call: datadog-incident.updateincidentattachments with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-create-incident-integration-metadata description: Datadog Create an Incident Integration Metadata hints: readOnly: false destructive: false idempotent: false call: datadog-incident.createincidentintegration with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-incident-integration-metadata description: Datadog Delete an Incident Integration Metadata hints: readOnly: false destructive: true idempotent: true call: datadog-incident.deleteincidentintegration outputParameters: - type: object mapping: $. - name: datadog-get-incident-integration-metadata description: Datadog Get Incident Integration Metadata Details hints: readOnly: true destructive: false idempotent: true call: datadog-incident.getincidentintegration outputParameters: - type: object mapping: $. - name: datadog-update-existing-incident-integration description: Datadog Update an Existing Incident Integration Metadata hints: readOnly: false destructive: false idempotent: true call: datadog-incident.updateincidentintegration with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-create-incident-todo description: Datadog Create an Incident Todo hints: readOnly: false destructive: false idempotent: false call: datadog-incident.createincidenttodo with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-incident-todo description: Datadog Delete an Incident Todo hints: readOnly: false destructive: true idempotent: true call: datadog-incident.deleteincidenttodo outputParameters: - type: object mapping: $. - name: datadog-get-incident-todo-details description: Datadog Get Incident Todo Details hints: readOnly: true destructive: false idempotent: true call: datadog-incident.getincidenttodo outputParameters: - type: object mapping: $. - name: datadog-update-incident-todo description: Datadog Update an Incident Todo hints: readOnly: false destructive: false idempotent: true call: datadog-incident.updateincidenttodo with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-get-list-all-incident description: Datadog Get a List of All Incident Services hints: readOnly: true destructive: false idempotent: true call: datadog-incident.listincidentservices outputParameters: - type: object mapping: $. - name: datadog-create-new-incident-service description: Datadog Create a New Incident Service hints: readOnly: false destructive: false idempotent: false call: datadog-incident.createincidentservice with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-existing-incident-service description: Datadog Delete an Existing Incident Service hints: readOnly: false destructive: true idempotent: true call: datadog-incident.deleteincidentservice outputParameters: - type: object mapping: $. - name: datadog-get-details-incident-service description: Datadog Get Details of an Incident Service hints: readOnly: true destructive: false idempotent: true call: datadog-incident.getincidentservice outputParameters: - type: object mapping: $. - name: datadog-update-existing-incident-service description: Datadog Update an Existing Incident Service hints: readOnly: false destructive: false idempotent: true call: datadog-incident.updateincidentservice with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-get-list-all-incident-2 description: Datadog Get a List of All Incident Teams hints: readOnly: true destructive: false idempotent: true call: datadog-incident.listincidentteams outputParameters: - type: object mapping: $. - name: datadog-create-new-incident-team description: Datadog Create a New Incident Team hints: readOnly: false destructive: false idempotent: false call: datadog-incident.createincidentteam with: body: tools.body outputParameters: - type: object mapping: $. - name: datadog-delete-existing-incident-team description: Datadog Delete an Existing Incident Team hints: readOnly: false destructive: true idempotent: true call: datadog-incident.deleteincidentteam outputParameters: - type: object mapping: $. - name: datadog-get-details-incident-team description: Datadog Get Details of an Incident Team hints: readOnly: true destructive: false idempotent: true call: datadog-incident.getincidentteam outputParameters: - type: object mapping: $. - name: datadog-update-existing-incident-team description: Datadog Update an Existing Incident Team hints: readOnly: false destructive: false idempotent: true call: datadog-incident.updateincidentteam with: body: tools.body outputParameters: - type: object mapping: $.