Azure DevOps · Capability
Azure DevOps Work Items API — Work Items
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.
What You Can Do
GET
Workitemslist
— Azure DevOps List work items by IDs
/v1/wit/workitems
GET
Workitemsget
— Azure DevOps Get a work item by ID
/v1/wit/workitems/{id}
PATCH
Workitemsupdate
— Azure DevOps Update a work item
/v1/wit/workitems/{id}
DELETE
Workitemsdelete
— Azure DevOps Delete a work item
/v1/wit/workitems/{id}
POST
Workitemscreate
— Azure DevOps Create a work item
/v1/wit/workitems/{type}
MCP Tools
azure-devops-list-work-items
Azure DevOps List work items by IDs
read-only
idempotent
azure-devops-get-work-item
Azure DevOps Get a work item by ID
read-only
idempotent
azure-devops-update-work-item
Azure DevOps Update a work item
idempotent
azure-devops-delete-work-item
Azure DevOps Delete a work item
idempotent
azure-devops-create-work-item
Azure DevOps Create a work item
Capability Spec
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: $.