naftiko: 1.0.0-alpha2 info: label: Azure DevOps Work Items API — Work Items description: 'Azure DevOps Work Items API — Work Items. 5 operations. Lead operation: Azure DevOps List work items by IDs. Self-contained Naftiko capability covering one Microsoft Azure Devops business surface.' tags: - Microsoft Azure Devops - Work Items created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_DEVOPS_API_KEY: MICROSOFT_AZURE_DEVOPS_API_KEY capability: consumes: - type: http namespace: azure-devops-work-items-work-items baseUri: https://dev.azure.com/{organization}/{project}/_apis description: Azure DevOps Work Items API — Work Items business capability. Self-contained, no shared references. resources: - name: wit-workitems path: /wit/workitems operations: - name: workitemslist method: GET description: Azure DevOps List work items by IDs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: ids in: query type: string description: Comma-separated list of work item IDs (up to 200) required: true - name: fields in: query type: string description: Comma-separated list of fields to return (e.g., System.Title,System.State) - name: asOf in: query type: string description: Work items as of a specific date and time (ISO 8601 format) - name: $expand in: query type: string description: Expand relations, links, or fields in the response - name: wit-workitems-id path: /wit/workitems/{id} operations: - name: workitemsget method: GET description: Azure DevOps Get a work item by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Numeric ID of the work item required: true - name: fields in: query type: string description: Comma-separated list of fields to return - name: asOf in: query type: string description: Work item as of a specific date and time - name: $expand in: query type: string description: Expand relations, links, or fields - name: workitemsupdate method: PATCH description: Azure DevOps Update a work item outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Numeric ID of the work item to update required: true - name: validateOnly in: query type: boolean description: Validate fields without saving the work item - name: bypassRules in: query type: boolean description: Do not enforce work item type rules on this update - name: suppressNotifications in: query type: boolean description: Do not fire any notifications for this change - name: body in: body type: object description: Request body (JSON). required: true - name: workitemsdelete method: DELETE description: Azure DevOps Delete a work item outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Numeric ID of the work item to delete required: true - name: destroy in: query type: boolean description: Permanently delete the work item instead of moving to recycle bin - name: wit-workitems-type path: /wit/workitems/{type} operations: - name: workitemscreate method: POST description: Azure DevOps Create a work item outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: type in: path type: string description: Work item type (e.g., Bug, Task, User Story) required: true - name: validateOnly in: query type: boolean description: Validate the fields without saving the work item - name: bypassRules in: query type: boolean description: Do not enforce the work item type rules on this update - name: suppressNotifications in: query type: boolean description: Do not fire any notifications for this change - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.MICROSOFT_AZURE_DEVOPS_API_KEY}}' exposes: - type: rest namespace: azure-devops-work-items-work-items-rest port: 8080 description: REST adapter for Azure DevOps Work Items API — Work Items. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/wit/workitems name: wit-workitems description: REST surface for wit-workitems. operations: - method: GET name: workitemslist description: Azure DevOps List work items by IDs call: azure-devops-work-items-work-items.workitemslist with: ids: rest.ids fields: rest.fields asOf: rest.asOf $expand: rest.$expand outputParameters: - type: object mapping: $. - path: /v1/wit/workitems/{id} name: wit-workitems-id description: REST surface for wit-workitems-id. operations: - method: GET name: workitemsget description: Azure DevOps Get a work item by ID call: azure-devops-work-items-work-items.workitemsget with: id: rest.id fields: rest.fields asOf: rest.asOf $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: workitemsupdate description: Azure DevOps Update a work item call: azure-devops-work-items-work-items.workitemsupdate with: id: rest.id validateOnly: rest.validateOnly bypassRules: rest.bypassRules suppressNotifications: rest.suppressNotifications body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: workitemsdelete description: Azure DevOps Delete a work item call: azure-devops-work-items-work-items.workitemsdelete with: id: rest.id destroy: rest.destroy outputParameters: - type: object mapping: $. - path: /v1/wit/workitems/{type} name: wit-workitems-type description: REST surface for wit-workitems-type. operations: - method: POST name: workitemscreate description: Azure DevOps Create a work item call: azure-devops-work-items-work-items.workitemscreate with: type: rest.type validateOnly: rest.validateOnly bypassRules: rest.bypassRules suppressNotifications: rest.suppressNotifications body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: azure-devops-work-items-work-items-mcp port: 9090 transport: http description: MCP adapter for Azure DevOps Work Items API — Work Items. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: azure-devops-list-work-items description: Azure DevOps List work items by IDs hints: readOnly: true destructive: false idempotent: true call: azure-devops-work-items-work-items.workitemslist with: ids: tools.ids fields: tools.fields asOf: tools.asOf $expand: tools.$expand outputParameters: - type: object mapping: $. - name: azure-devops-get-work-item description: Azure DevOps Get a work item by ID hints: readOnly: true destructive: false idempotent: true call: azure-devops-work-items-work-items.workitemsget with: id: tools.id fields: tools.fields asOf: tools.asOf $expand: tools.$expand outputParameters: - type: object mapping: $. - name: azure-devops-update-work-item description: Azure DevOps Update a work item hints: readOnly: false destructive: false idempotent: true call: azure-devops-work-items-work-items.workitemsupdate with: id: tools.id validateOnly: tools.validateOnly bypassRules: tools.bypassRules suppressNotifications: tools.suppressNotifications body: tools.body outputParameters: - type: object mapping: $. - name: azure-devops-delete-work-item description: Azure DevOps Delete a work item hints: readOnly: false destructive: true idempotent: true call: azure-devops-work-items-work-items.workitemsdelete with: id: tools.id destroy: tools.destroy outputParameters: - type: object mapping: $. - name: azure-devops-create-work-item description: Azure DevOps Create a work item hints: readOnly: false destructive: false idempotent: false call: azure-devops-work-items-work-items.workitemscreate with: type: tools.type validateOnly: tools.validateOnly bypassRules: tools.bypassRules suppressNotifications: tools.suppressNotifications body: tools.body outputParameters: - type: object mapping: $.