Share via


Work item query language

TFS 2017 | TFS 2015 | TFS 2013

Note

Looking for REST APIS that support TFS 2018 or later versions? See the Azure DevOps REST API Reference.

api-version = 1.0

If you haven't already, look at the information on getting started with these APIs.

Run a query

POST https://{instance}/DefaultCollection/[{project}/]_apis/wit/wiql?api-version={version}
Content-type: application/json
{
  "query": string
}
Parameter Type Default Notes
URL
instance string TFS server name ({server:port}).
project string Filter the results to this project.
If your query string uses the @project macro ([System.TeamProject] = @project, for example), you must specify the project in the URL.
Query
api-version string Version of the API to use.
timePrecision boolean false True if time precision is allowed in the date time comparisons.
Body
query string The query string to run.

Sample request

POST https://mytfsserver/DefaultCollection/Fabrikam-Fiber-Git/_apis/wit/wiql?api-version=1.0
{
  "query": "Select [System.WorkItemType],[System.Title],[System.State],[Microsoft.VSTS.Scheduling.Effort],[System.IterationPath] FROM WorkItemLinks WHERE Source.[System.WorkItemType] IN GROUP 'Microsoft.RequirementCategory' AND Target.[System.WorkItemType] IN GROUP 'Microsoft.RequirementCategory' AND Target.[System.State] IN ('New','Approved','Committed') AND [System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward' ORDER BY [Microsoft.VSTS.Common.BacklogPriority] ASC,[System.Id] ASC MODE (Recursive, ReturnMatchingChildren)"
}

Sample response

{
  "queryType": "tree",
  "asOf": "2014-12-29T20:49:34.193Z",
  "columns": [
    {
      "referenceName": "System.WorkItemType",
      "name": "Work Item Type",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.WorkItemType"
    },
    {
      "referenceName": "System.Title",
      "name": "Title",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.Title"
    },
    {
      "referenceName": "System.State",
      "name": "State",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.State"
    },
    {
      "referenceName": "Microsoft.VSTS.Scheduling.Effort",
      "name": "Effort",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/Microsoft.VSTS.Scheduling.Effort"
    },
    {
      "referenceName": "System.IterationPath",
      "name": "Iteration Path",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.IterationPath"
    }
  ],
  "sortColumns": [
    {
      "field": {
        "referenceName": "Microsoft.VSTS.Common.BacklogPriority",
        "name": "Backlog Priority",
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/Microsoft.VSTS.Common.BacklogPriority"
      },
      "descending": false
    },
    {
      "field": {
        "referenceName": "System.Id",
        "name": "ID",
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.Id"
      },
      "descending": false
    }
  ],
  "workItemRelations": [
    {
      "target": {
        "id": 5,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/5"
      }
    },
    {
      "target": {
        "id": 47,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/47"
      }
    },
    {
      "target": {
        "id": 41,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/41"
      }
    },
    {
      "target": {
        "id": 45,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/45"
      }
    },
    {
      "target": {
        "id": 297,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/297"
      }
    }
  ]
}

Run a stored query

GET https://{instance}/DefaultCollection/[{project}/]_apis/wit/wiql/{id}?api-version={version}
Parameter Type Default Notes
URL
instance string TFS server name ({server:port}).
project string Filter the results to this project.
If the query uses the @project macro ([System.TeamProject] = @project, for example), you must specify the project in the URL.
id GUID ID of a stored query.
Query
version string Version of the API to use.
timePrecision boolean false True if time precision is allowed in the date time comparisons.

Sample request

GET https://mytfsserver/DefaultCollection/Fabrikam-Fiber-Git/_apis/wit/wiql/1e4e5b17-f212-4ba2-9c2f-a95600ef50a5?api-version=1.0

Sample response

{
  "queryType": "tree",
  "asOf": "2014-12-29T20:49:33.803Z",
  "columns": [
    {
      "referenceName": "System.Id",
      "name": "ID",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.Id"
    },
    {
      "referenceName": "System.WorkItemType",
      "name": "Work Item Type",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.WorkItemType"
    },
    {
      "referenceName": "System.Title",
      "name": "Title",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.Title"
    },
    {
      "referenceName": "System.AssignedTo",
      "name": "Assigned To",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.AssignedTo"
    },
    {
      "referenceName": "System.State",
      "name": "State",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.State"
    }
  ],
  "workItemRelations": [
    {
      "target": {
        "id": 4,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/4"
      }
    },
    {
      "target": {
        "id": 5,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/5"
      }
    },
    {
      "target": {
        "id": 6,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/6"
      }
    },
    {
      "target": {
        "id": 7,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/7"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 7,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/7"
      },
      "target": {
        "id": 8,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/8"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 7,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/7"
      },
      "target": {
        "id": 9,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/9"
      }
    },
    {
      "target": {
        "id": 11,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/11"
      }
    },
    {
      "target": {
        "id": 12,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/12"
      }
    },
    {
      "target": {
        "id": 20,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/20"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 20,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/20"
      },
      "target": {
        "id": 1,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/1"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 20,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/20"
      },
      "target": {
        "id": 2,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/2"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 20,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/20"
      },
      "target": {
        "id": 3,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/3"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 20,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/20"
      },
      "target": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      },
      "target": {
        "id": 13,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/13"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      },
      "target": {
        "id": 14,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/14"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      },
      "target": {
        "id": 15,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/15"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      },
      "target": {
        "id": 16,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/16"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      },
      "target": {
        "id": 17,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/17"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      },
      "target": {
        "id": 18,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/18"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      },
      "target": {
        "id": 19,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/19"
      }
    },
    {
      "target": {
        "id": 21,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/21"
      }
    },
    {
      "target": {
        "id": 33,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/33"
      }
    },
    {
      "target": {
        "id": 34,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/34"
      }
    },
    {
      "target": {
        "id": 46,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/46"
      }
    },
    {
      "target": {
        "id": 47,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/47"
      }
    },
    {
      "target": {
        "id": 58,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/58"
      }
    },
    {
      "target": {
        "id": 59,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/59"
      }
    },
    {
      "target": {
        "id": 297,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/297"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 297,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/297"
      },
      "target": {
        "id": 299,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/299"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 297,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/297"
      },
      "target": {
        "id": 300,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/300"
      }
    },
    {
      "target": {
        "id": 298,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/298"
      }
    }
  ]
}

Get work items

After executing a query, get the work items using the IDs that are returned in the query results response. You can get up to 200 work items at a time.

A flat query

1. Get results of a flat work item query.

Sample request

POST https://mytfsserver/DefaultCollection/_apis/wit/wiql?api-version=1.0
{
  "query": "Select [System.Id], [System.Title], [System.State] From WorkItems Where [System.WorkItemType] = 'Task' AND [State] <> 'Closed' AND [State] <> 'Removed' order by [Microsoft.VSTS.Common.Priority] asc, [System.CreatedDate] desc"
}

Sample response

{
  "queryType": "flat",
  "asOf": "2014-12-29T20:49:34.617Z",
  "columns": [
    {
      "referenceName": "System.Id",
      "name": "ID",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.Id"
    },
    {
      "referenceName": "System.Title",
      "name": "Title",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.Title"
    },
    {
      "referenceName": "System.State",
      "name": "State",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.State"
    }
  ],
  "sortColumns": [
    {
      "field": {
        "referenceName": "Microsoft.VSTS.Common.Priority",
        "name": "Priority",
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/Microsoft.VSTS.Common.Priority"
      },
      "descending": false
    },
    {
      "field": {
        "referenceName": "System.CreatedDate",
        "name": "Created Date",
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.CreatedDate"
      },
      "descending": true
    }
  ],
  "workItems": [
    {
      "id": 300,
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/300"
    },
    {
      "id": 299,
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/299"
    },
    {
      "id": 298,
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/298"
    },
    {
      "id": 17,
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/17"
    },
    {
      "id": 16,
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/16"
    },
    {
      "id": 15,
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/15"
    },
    {
      "id": 14,
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/14"
    },
    {
      "id": 9,
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/9"
    },
    {
      "id": 8,
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/8"
    }
  ]
}
2. Get data for each work item returned.

Sample request

GET https://mytfsserver/DefaultCollection/_apis/wit/WorkItems?ids=300,299,298,17,16,15,14,9,8&fields=System.Id,System.Title,System.State&asOf=2014-12-29T20:49:34.617Z&api-version=1.0

Sample response

{
  "count": 9,
  "value": [
    {
      "id": 8,
      "rev": 3,
      "fields": {
        "System.Id": 8,
        "System.State": "Done",
        "System.Title": "Create UI for logging in with Live ID"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/8"
    },
    {
      "id": 9,
      "rev": 2,
      "fields": {
        "System.Id": 9,
        "System.State": "Done",
        "System.Title": "Get unit tests working in the cloud"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/9"
    },
    {
      "id": 14,
      "rev": 5,
      "fields": {
        "System.Id": 14,
        "System.State": "Done",
        "System.Title": "Design application workflow"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/14"
    },
    {
      "id": 15,
      "rev": 4,
      "fields": {
        "System.Id": 15,
        "System.State": "In Progress",
        "System.Title": "UI Implementation"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/15"
    },
    {
      "id": 16,
      "rev": 4,
      "fields": {
        "System.Id": 16,
        "System.State": "In Progress",
        "System.Title": "Write code to get GPS location and resolve to address"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/16"
    },
    {
      "id": 17,
      "rev": 4,
      "fields": {
        "System.Id": 17,
        "System.State": "In Progress",
        "System.Title": "Unit testing for feature"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/17"
    },
    {
      "id": 298,
      "rev": 1,
      "fields": {
        "System.Id": 298,
        "System.State": "To Do",
        "System.Title": "JavaScript implementation for Microsoft Account"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/298"
    },
    {
      "id": 299,
      "rev": 7,
      "fields": {
        "System.Id": 299,
        "System.State": "To Do",
        "System.Title": "JavaScript implementation for Microsoft Account"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/299"
    },
    {
      "id": 300,
      "rev": 1,
      "fields": {
        "System.Id": 300,
        "System.State": "To Do",
        "System.Title": "Unit Testing for MSA login"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/300"
    }
  ]
}

A one-hop query

Results of the one-hop query

1. Get results of a one-hop work item query.

Sample request

POST https://mytfsserver/DefaultCollection/Fabrikam-Fiber-Git/_apis/wit/wiql?api-version=1.0
{
  "query": "SELECT [System.Id], [System.Links.LinkType], [System.WorkItemType], [System.Title], [System.State] FROM WorkItemLinks WHERE ([Source].[System.TeamProject] = @project AND  [Source].[System.WorkItemType] IN GROUP 'Microsoft.RequirementCategory'  AND  [Source].[System.State] <> 'Done') AND ([System.Links.LinkType] <> '') And ([Target].[System.State] <> 'Removed' AND [Target].[System.WorkItemType] NOT IN GROUP 'Microsoft.FeatureCategory') mode(MustContain)"
}

Sample response

{
  "queryType": "oneHop",
  "asOf": "2014-12-29T20:49:35.357Z",
  "columns": [
    {
      "referenceName": "System.Id",
      "name": "ID",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.Id"
    },
    {
      "referenceName": "System.Links.LinkType",
      "name": "Link Type",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.Links.LinkType"
    },
    {
      "referenceName": "System.WorkItemType",
      "name": "Work Item Type",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.WorkItemType"
    },
    {
      "referenceName": "System.Title",
      "name": "Title",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.Title"
    },
    {
      "referenceName": "System.State",
      "name": "State",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.State"
    }
  ],
  "sortColumns": [
    {
      "field": {
        "referenceName": "System.Id",
        "name": "ID",
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.Id"
      },
      "descending": false
    },
    {
      "field": {
        "referenceName": "System.Id",
        "name": "ID",
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.Id"
      },
      "descending": false
    }
  ],
  "workItemRelations": [
    {
      "target": {
        "id": 297,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/297"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 297,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/297"
      },
      "target": {
        "id": 299,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/299"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 297,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/297"
      },
      "target": {
        "id": 300,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/300"
      }
    }
  ]
}
2. Get data for each work item returned.

Sample request

GET https://mytfsserver/DefaultCollection/_apis/wit/WorkItems?ids=297,299,300&fields=System.Id,System.Links.LinkType,System.WorkItemType,System.Title,System.State&asOf=2014-12-29T20:49:35.357Z&api-version=1.0

Sample response

{
  "count": 3,
  "value": [
    {
      "id": 297,
      "rev": 1,
      "fields": {
        "System.Id": 297,
        "System.WorkItemType": "Product Backlog Item",
        "System.State": "New",
        "System.Title": "Customer can sign in using their Microsoft Account"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/297"
    },
    {
      "id": 299,
      "rev": 7,
      "fields": {
        "System.Id": 299,
        "System.WorkItemType": "Task",
        "System.State": "To Do",
        "System.Title": "JavaScript implementation for Microsoft Account"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/299"
    },
    {
      "id": 300,
      "rev": 1,
      "fields": {
        "System.Id": 300,
        "System.WorkItemType": "Task",
        "System.State": "To Do",
        "System.Title": "Unit Testing for MSA login"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/300"
    }
  ]
}

A tree query

Results of the tree query

1. Get results of a tree work item query.

Sample request

POST https://mytfsserver/DefaultCollection/Fabrikam-Fiber-Git/_apis/wit/wiql?api-version=1.0
{
  "query": "Select [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State] From WorkItemLinks WHERE (Source.[System.TeamProject] = @project and Source.[System.State] <> 'Removed') and ([System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward') and (Target.[System.WorkItemType] <> '') mode(Recursive)"
}

Sample response

{
  "queryType": "tree",
  "asOf": "2014-12-29T20:49:35.983Z",
  "columns": [
    {
      "referenceName": "System.Id",
      "name": "ID",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.Id"
    },
    {
      "referenceName": "System.WorkItemType",
      "name": "Work Item Type",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.WorkItemType"
    },
    {
      "referenceName": "System.Title",
      "name": "Title",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.Title"
    },
    {
      "referenceName": "System.AssignedTo",
      "name": "Assigned To",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.AssignedTo"
    },
    {
      "referenceName": "System.State",
      "name": "State",
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/fields/System.State"
    }
  ],
  "workItemRelations": [
    {
      "target": {
        "id": 4,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/4"
      }
    },
    {
      "target": {
        "id": 5,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/5"
      }
    },
    {
      "target": {
        "id": 6,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/6"
      }
    },
    {
      "target": {
        "id": 7,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/7"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 7,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/7"
      },
      "target": {
        "id": 8,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/8"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 7,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/7"
      },
      "target": {
        "id": 9,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/9"
      }
    },
    {
      "target": {
        "id": 11,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/11"
      }
    },
    {
      "target": {
        "id": 12,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/12"
      }
    },
    {
      "target": {
        "id": 20,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/20"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 20,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/20"
      },
      "target": {
        "id": 1,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/1"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 20,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/20"
      },
      "target": {
        "id": 2,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/2"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 20,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/20"
      },
      "target": {
        "id": 3,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/3"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 20,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/20"
      },
      "target": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      },
      "target": {
        "id": 13,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/13"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      },
      "target": {
        "id": 14,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/14"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      },
      "target": {
        "id": 15,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/15"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      },
      "target": {
        "id": 16,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/16"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      },
      "target": {
        "id": 17,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/17"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      },
      "target": {
        "id": 18,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/18"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 10,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
      },
      "target": {
        "id": 19,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/19"
      }
    },
    {
      "target": {
        "id": 21,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/21"
      }
    },
    {
      "target": {
        "id": 33,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/33"
      }
    },
    {
      "target": {
        "id": 34,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/34"
      }
    },
    {
      "target": {
        "id": 46,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/46"
      }
    },
    {
      "target": {
        "id": 47,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/47"
      }
    },
    {
      "target": {
        "id": 58,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/58"
      }
    },
    {
      "target": {
        "id": 59,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/59"
      }
    },
    {
      "target": {
        "id": 297,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/297"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 297,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/297"
      },
      "target": {
        "id": 299,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/299"
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "source": {
        "id": 297,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/297"
      },
      "target": {
        "id": 300,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/300"
      }
    },
    {
      "target": {
        "id": 298,
        "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/298"
      }
    }
  ]
}
2. Get data for each work item returned.

Sample request

GET https://mytfsserver/DefaultCollection/_apis/wit/WorkItems?ids=4,5,6,7,8,9,11,12,20,1,2,3,10,13,14,15,16,17,18,19,21,33,34,46,47,58,59,297,299,300,298&fields=System.Id,System.WorkItemType,System.Title,System.AssignedTo,System.State&asOf=2014-12-29T20:49:35.983Z&api-version=1.0

Sample response

{
  "count": 31,
  "value": [
    {
      "id": 1,
      "rev": 5,
      "fields": {
        "System.Id": 1,
        "System.WorkItemType": "Product Backlog Item",
        "System.State": "Done",
        "System.Title": "Technician can check on parts orders on Windows Phone"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/1"
    },
    {
      "id": 2,
      "rev": 5,
      "fields": {
        "System.Id": 2,
        "System.WorkItemType": "Product Backlog Item",
        "System.State": "Done",
        "System.Title": "Technician can look for closest hardware store from Windows Phone"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/2"
    },
    {
      "id": 3,
      "rev": 5,
      "fields": {
        "System.Id": 3,
        "System.WorkItemType": "Product Backlog Item",
        "System.State": "Done",
        "System.Title": "Technician can submit invoices on Windows Phone"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/3"
    },
    {
      "id": 4,
      "rev": 7,
      "fields": {
        "System.Id": 4,
        "System.WorkItemType": "Product Backlog Item",
        "System.State": "Done",
        "System.Title": "Service rep can view service ticket details from the dashboard"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/4"
    },
    {
      "id": 5,
      "rev": 6,
      "fields": {
        "System.Id": 5,
        "System.WorkItemType": "Product Backlog Item",
        "System.State": "New",
        "System.Title": "Customer can view service invoices online"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/5"
    },
    {
      "id": 6,
      "rev": 6,
      "fields": {
        "System.Id": 6,
        "System.WorkItemType": "Product Backlog Item",
        "System.State": "Done",
        "System.Title": "Customer can pay invoices online"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/6"
    },
    {
      "id": 7,
      "rev": 6,
      "fields": {
        "System.Id": 7,
        "System.WorkItemType": "Product Backlog Item",
        "System.State": "Done",
        "System.Title": "Customer can opt-in/opt-out of paper billing"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/7"
    },
    {
      "id": 8,
      "rev": 3,
      "fields": {
        "System.Id": 8,
        "System.WorkItemType": "Task",
        "System.State": "Done",
        "System.AssignedTo": "Christie Church <fabrikamfiber1@hotmail.com>",
        "System.Title": "Create UI for logging in with Live ID"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/8"
    },
    {
      "id": 9,
      "rev": 2,
      "fields": {
        "System.Id": 9,
        "System.WorkItemType": "Task",
        "System.State": "Done",
        "System.AssignedTo": "Chuck Reinhart <fabrikamfiber3@hotmail.com>",
        "System.Title": "Get unit tests working in the cloud"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/9"
    },
    {
      "id": 10,
      "rev": 8,
      "fields": {
        "System.Id": 10,
        "System.WorkItemType": "Product Backlog Item",
        "System.State": "Done",
        "System.AssignedTo": "Jamal Hartnett <fabrikamfiber4@hotmail.com>",
        "System.Title": "Technician can send GPS location from Windows Phone"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/10"
    },
    {
      "id": 11,
      "rev": 11,
      "fields": {
        "System.Id": 11,
        "System.WorkItemType": "Bug",
        "System.State": "Approved",
        "System.AssignedTo": "Johnnie McLeod <fabrikamfiber2@hotmail.com>",
        "System.Title": "Customers with Canadian addresses not displaying properly"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/11"
    },
    {
      "id": 12,
      "rev": 6,
      "fields": {
        "System.Id": 12,
        "System.WorkItemType": "Bug",
        "System.State": "Done",
        "System.AssignedTo": "Johnnie McLeod <fabrikamfiber2@hotmail.com>",
        "System.Title": "Header image missing from deployment folder"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/12"
    },
    {
      "id": 13,
      "rev": 3,
      "fields": {
        "System.Id": 13,
        "System.WorkItemType": "Task",
        "System.State": "Removed",
        "System.AssignedTo": "Jamal Hartnett <fabrikamfiber4@hotmail.com>",
        "System.Title": "Review application design with technicians"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/13"
    },
    {
      "id": 14,
      "rev": 5,
      "fields": {
        "System.Id": 14,
        "System.WorkItemType": "Task",
        "System.State": "Done",
        "System.AssignedTo": "Jamal Hartnett <fabrikamfiber4@hotmail.com>",
        "System.Title": "Design application workflow"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/14"
    },
    {
      "id": 15,
      "rev": 4,
      "fields": {
        "System.Id": 15,
        "System.WorkItemType": "Task",
        "System.State": "In Progress",
        "System.AssignedTo": "Raisa Pokrovskaya <fabrikamfiber5@hotmail.com>",
        "System.Title": "UI Implementation"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/15"
    },
    {
      "id": 16,
      "rev": 4,
      "fields": {
        "System.Id": 16,
        "System.WorkItemType": "Task",
        "System.State": "In Progress",
        "System.AssignedTo": "Johnnie McLeod <fabrikamfiber2@hotmail.com>",
        "System.Title": "Write code to get GPS location and resolve to address"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/16"
    },
    {
      "id": 17,
      "rev": 4,
      "fields": {
        "System.Id": 17,
        "System.WorkItemType": "Task",
        "System.State": "In Progress",
        "System.AssignedTo": "Jamal Hartnett <fabrikamfiber4@hotmail.com>",
        "System.Title": "Unit testing for feature"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/17"
    },
    {
      "id": 18,
      "rev": 2,
      "fields": {
        "System.Id": 18,
        "System.WorkItemType": "Task",
        "System.State": "Removed",
        "System.AssignedTo": "Christie Church <fabrikamfiber1@hotmail.com>",
        "System.Title": "Review feature with technician early adopters"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/18"
    },
    {
      "id": 19,
      "rev": 3,
      "fields": {
        "System.Id": 19,
        "System.WorkItemType": "Task",
        "System.State": "Removed",
        "System.AssignedTo": "Johnnie McLeod <fabrikamfiber2@hotmail.com>",
        "System.Title": "Automated functional testing"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/19"
    },
    {
      "id": 20,
      "rev": 3,
      "fields": {
        "System.Id": 20,
        "System.WorkItemType": "Feature",
        "System.State": "In Progress",
        "System.Title": "Windows Phone Technician App"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/20"
    },
    {
      "id": 21,
      "rev": 1,
      "fields": {
        "System.Id": 21,
        "System.WorkItemType": "Feature",
        "System.State": "New",
        "System.Title": "Modern Windows end user application"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/21"
    },
    {
      "id": 33,
      "rev": 5,
      "fields": {
        "System.Id": 33,
        "System.WorkItemType": "Bug",
        "System.State": "Committed",
        "System.AssignedTo": "Chuck Reinhart <fabrikamfiber3@hotmail.com>",
        "System.Title": "Issue with web.config; parameter not set properly"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/33"
    },
    {
      "id": 34,
      "rev": 2,
      "fields": {
        "System.Id": 34,
        "System.WorkItemType": "Impediment",
        "System.State": "Closed",
        "System.Title": "testing"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/34"
    },
    {
      "id": 46,
      "rev": 1,
      "fields": {
        "System.Id": 46,
        "System.WorkItemType": "Bug",
        "System.State": "New",
        "System.Title": "Chuck Reinhart, here is the test ticket you requested"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/46"
    },
    {
      "id": 47,
      "rev": 3,
      "fields": {
        "System.Id": 47,
        "System.WorkItemType": "Product Backlog Item",
        "System.State": "New",
        "System.Title": "Investigate feedback issues reported from Trello"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/47"
    },
    {
      "id": 58,
      "rev": 1,
      "fields": {
        "System.Id": 58,
        "System.WorkItemType": "Test Plan",
        "System.State": "Active",
        "System.AssignedTo": "Fabrikam Fiber <fabrikamfiber1@outlook.com>",
        "System.Title": "NewPlan"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/58"
    },
    {
      "id": 59,
      "rev": 1,
      "fields": {
        "System.Id": 59,
        "System.WorkItemType": "Test Suite",
        "System.State": "In Progress",
        "System.AssignedTo": "[DefaultCollection]\\Project Collection Service Accounts <d81542e4-cdfa-4333-b082-1ae2d6c3ad16>",
        "System.Title": "NewPlan"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/59"
    },
    {
      "id": 297,
      "rev": 1,
      "fields": {
        "System.Id": 297,
        "System.WorkItemType": "Product Backlog Item",
        "System.State": "New",
        "System.Title": "Customer can sign in using their Microsoft Account"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/297"
    },
    {
      "id": 298,
      "rev": 1,
      "fields": {
        "System.Id": 298,
        "System.WorkItemType": "Task",
        "System.State": "To Do",
        "System.Title": "JavaScript implementation for Microsoft Account"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/298"
    },
    {
      "id": 299,
      "rev": 7,
      "fields": {
        "System.Id": 299,
        "System.WorkItemType": "Task",
        "System.State": "To Do",
        "System.AssignedTo": "Johnnie McLeod <fabrikamfiber2@hotmail.com>",
        "System.Title": "JavaScript implementation for Microsoft Account"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/299"
    },
    {
      "id": 300,
      "rev": 1,
      "fields": {
        "System.Id": 300,
        "System.WorkItemType": "Task",
        "System.State": "To Do",
        "System.Title": "Unit Testing for MSA login"
      },
      "url": "https://mytfsserver/DefaultCollection/_apis/wit/workItems/300"
    }
  ]
}

Limits on WIQL length

For queries made against Team Services, the WIQL length must not exceed 32K characters. The system won't allow you to create or run queries that exceed that length.

WIQL extension

See Wiql Editor, a Marketplace extension.