Forums / Support / Halo API Support

Service records and seasons

OP fr33h33l

Here is my understanding of arena service records:

There is one arena service record per player.

However, when fetching a service record, it is always fetched based on a season id (explicitly sent or implicitly set to the current). There is no way of specifying more than one season id.

Regardless of which season id is used, the service record response will always look the same except for the ArenaPlayListStats array, which will only contain playlist objects for the specified season only.

In order to get the full service record (where all ArenaPlayListStat objects for all seasons are present), you need to call the arena service record endpoint for each season and "merge" the ArenaPlayListStats array. The other fields in the arena service record can be taken from either result since they do not honor the season id parameter.

Is this a correct assumption?

If so, was there a particular reason for designing the API like this (e.g. performance) vs omitting the season id parameter and always return a full service record?

Would it be possible to add a new valid value as season id parameter, e.g. "ALL", that would return a service record with the field ArenaPlayListStats containing data for all seasons?

The reason I am asking, is (1) to verify that I have understood the model correctly and (2) to try to avoid the required merge on my end.

Thanks in advance!
The API is a bit clunky but your understanding of the API is correct. The reason the API is designed like this is for performance - this way the response is always bounded.

We won't be making any changes to the API at this time. If you need information about all the seasons, you'll need to make separate requests.
Ok, thanks for the reply.

I fully understand your situation and I think my "merge" logic is 3/4 complete by now.