Paging
To decrease server load all resource collections are returned by pages. By default, only the first 25 items will be returned. You can control the page using 'take' and 'skip' parameters. For example, the following request will return 20 Bugs starting with #11:
/api/v1/Bugs?take=20&skip=10
If there are next or previous pages available for the request, the response will contain links to those pages:
<Bugs Prev="http://localhost/Targetprocess/api/v1/UserStories?take=10&skip=0"
Next="http://localhost/Targetprocess/api/v1/UserStories?take=20&skip=30">
<Bug Id="239" Name="Document with all customers features requests">
...
</Bug>
...
</Bugs>
{
"Prev": "http://localhost/Targetprocess/api/v1/UserStories?format=json&take=10&skip=0",
"Next": "http://localhost/Targetprocess/api/v1/UserStories?format=json&take=20&skip=30",
"Items": [
{
"Id": 239,
"Name": "Document with all customers features requests",
...
},
...
]
}
If there are no previous or next pages available, there will be no corresponding link in the response:
/api/v1/Bugs?take=20
<Bugs Next="http://localhost/Targetprocess/api/v1/UserStories?take=20&skip=20">
...
</Bugs>
{
"Next": "http://localhost/Targetprocess/api/v1/UserStories?format=json&take=20&skip=30",
"Items": [
...
]
}
You can not have more then 1000 items per request. If you set 'take' parameter greater than 1000, it will be treated as 1000 (including link generation).
Inner collections paging
You need to use innerTake
in API when there are more that 25 items in inner collection in total, not per one item. For example:
/api/v1/requests?include=[name,requesters]&take=10
will take 10 requests and then it will take 25 requesters which are assigned to any of these requests, so if each of these 10 requests has 3 requesters, you'll not get a full response. Use innerTake
to solve this problem:
/api/v1/requests?include=[name,requesters]&take=500&innerTake=1000
Updated over 5 years ago