From API 1.1 on, we do not force large collections automatically produce a 206 Partial Content
HTTP status response. Instead, the optional start
parameter gets a new semantics.
When going without the start
parameter in your requests, then the response will always be the complete collection, normally producing a 200 OK
HTTP status response.
When specifying a start
parameter, then the response will normally be a 206 Partial Content
HTTP status code response. Nevertheless partial responses still giving back 100 entities. You can't choose this number.
So, you now have full control, whether retrieving the full collection of a requested resource, or getting only a part of it.
Attention: Some resources really have big collections - and we're talking about 20.000 and more entities. Due to that large amount of data, requests without specifying a start
parameter can lead to a Maximum Execution Timeout
error. So, we strongly encourage you to test what's possible and what's not, before deciding for either of them.
Every 206 Partial Content
HTTP status response comes with a Content-Range
header, that specifies the range returned as well as the available amount of entities.
Examples:
Content-Range: 1-100/261
indicates that entities number 1 to 100 of 261 available entities of the collection are returned.Content-Range: 101-200/261
indicates that entities number 101 to 200 of 261 available entities of the collection are returned.Content-Range: 201-261/261
indicates that entities number 201 to 261 of 261 available entities of the collection are returned.Even the "last response" still returns a 206, because it's still partial content. Please make sure to analyse the Content-Range
header when retrieving 206 responses.
Please note that the start
parameter is not treated as a typical offset parameter and therefore the first entity is treated as number 1. So, if you want to retrieve the first 100 entities, you can specify the start
parameter to be 1
.
Additionally you should stick to the "1s", i.e. use 1
, 101
, 201
, etc. as a value for the parameter. Sometimes, the given start
parameter will be "rounded down" to the next "1", i.e. when you specify 152
the system treats it as 101
.
If you specify a start
parameter greater than the available amount of entities than a 204 No Content
HTTP status response with an empty body will be returned.