📘

APIv1 supports JSON and XML format
APIv2 supports JSON format only

By default response contains only 25 records, but you can get more by using paging in APIv1 or APIv2

You can also requested records in both APIv1 or APIv2

Get all User Story changes performed by user with ID 1

APIv1 Simple History
/api/v1/UserStorySimpleHistories?where=(Modifier.Id eq 1)&take=1000

APIv1 Full History
/api/v1/UserStoryHistories?where=(Modifier.Id eq 1)&take=1000

APIv2 Simple History
/api/v2/UserStorySimpleHistories?where=(Modifier.Id=1)&take=1000

APIv2 Full History
/api/v2/UserStoryHistories?where=(Modifier.Id=1)&take=1000
/api/history/v2//UserStory?where=(Modifier.Id=1)&take=1000

Get all Bug changes since 30 September 2016

APIv1 Simple History
/api/v1/BugSimpleHistories?where=(Date gt '2016-09-30')&take=1000

APIv1 Full History
/api/v1/BugHistories?where=(Date gt '2016-09-30')&take=1000

APIv2 Simple History
`/api/v2/BugSimpleHistories?where=(Date>DateTime.Parse("2016-9-30"))

APIv2 Full History
/api/v2/BugHistories?where=(Date>DateTime.Parse("2016-9-30")) /api/history/v2/Bug?where=(Date>DateTime.Parse("2016-9-30"))

Check in what state was the Bug #59241 on 30 September 2016

APIv1 Simple History
/api/v1/Bugs/59241/History?where=(Date lte '2016-09-30')&orderbyDesc=Date&take=1&include=[EntityState]
/api/v1/BugSimpleHistories?where=(Bug.Id eq 59241)and(Date lte '2016-09-30')&orderbyDesc=Date&take=1&include=[EntityState]

APIv1 Full History
/api/v1/BugHistories?where=(CurrentBug.Id eq 59241)and(Date lte '2016-09-30')&orderbyDesc=Date&take=1&include=[EntityState]

APIv2 Simple History
/api/v2/BugSimpleHistories?where=(Bug.Id=59241)and(Date<=DateTime.Parse("2016-09-30"))&orderby=Date desc&take=1&select={EntityState}

APIv2 Full History
/api/v2/BugHistories?where=(CurrentBug.Id=59241)and(Date<=DateTime.Parse("2016-09-30"))&orderby=Date desc&take=1&select={EntityState}
/api/history/v2/Bug?where=(CurrentBug.Id=59241)and(Date<=DateTime.Parse("2016-09-30"))&orderby=Date desc&take=1&select={EntityState}

Get User Stories history for Project with ID #2

APIv1 Simple History
/api/v1/UserStorySimpleHistories?include=[Date,EntityState,Modifier]&where=(Project.ID eq 2)&take=1000

APIv1 Full History
/api/v1/UserStoryHistories?include=[Date,EntityState,Modifier]&where=(Project.ID eq 2)&take=1000

APIv2 Simple History
/api/v2/UserStorySimpleHistories?where=(Project.Id=2)&take=1000&select={Date,EntityState,Modifier}

APIv2 Full History
/api/v2/UserStoryHistories?where=(Project.Id=2)&take=1000&select={Date,EntityState,Modifier}
/api/history/v2/UserStory?where=(Project.Id=2)&take=1000&select={Date,EntityState,Modifier}

Check which Stories were updated after 01 January 2019

APIv1 Simple History
/api/v1/UserStorySimpleHistories?where=(Date gt '2019-01-01')&take=1000

APIv1 Full History
/api/v1/UserStoryHistories?where=(Date gt '2019-01-01')&take=1000

APIv2 Simple History
/api/v2/UserStorySimpleHistories?where=(Date>DateTime.Parse("2019-01-01"))&take=1000

APIv2 Full History
/api/v2/UserStoryHistories?where=(Date>DateTime.Parse("2019-01-01"))&take=1000
/api/history/v2/UserStory?where=(Date>DateTime.Parse("2019-01-01"))&take=1000

Check which Bugs were closed after 01 January 2019

APIv1 Simple History
not supported

APIv1 Full History
/api/v1/BugHistories?where=(Date gt '2019-01-01')and(EntityState.IsFinal eq 'true')and(IsChangedEntityState eq 'true')&take=1000

APIv2 Simple History
not supported

APIv2 Full History
/api/v2/BugHistories?where=(Date>DateTime.Parse("2019-01-01"))and(EntityState.IsFinal = true)and(IsChangedEntityState=true)&take=1000
/api/history/v2/Bug?where=(Date>DateTime.Parse("2019-01-01"))and(EntityState.IsFinal = true)and(IsChangedEntityState=true)&take=1000