Distinguish Matches - Warzone vs Warzone Firefight

In looking through a player’s game history, I’m trying to determine if they’ve played Warzone games in their most recent 25 matches, but I want to exclude Warzone Firefight matches from the result. However, the matches API groups both results under “Warzone.”

Furthermore, the playlists metadata seems to offer a ton of different hopper options… and it seems like I’ll have very brittle code if I ask it to filter on a hopper ID.
https://developer.haloapi.com/docs/services/560af0dae2f7f710cc79e516/operations/562d68f1e2f7f72764ff1f4b

So… halp? Does anyone have a good way to distinguish a Warzone game from a Warzone Firefight game without hardcoding in one of the metadata ids?

Warzone matches have the property IsTeamGame set to 1.
Warzone Firefight matches have the property IsTeamGame set to 0.

Otherwise falling back to the following Playlist IDs seem to cover all of them:

  • Warzone Turbo: B617E24F-71AA-432B-A8A0-A9B417A3D47E - Warzone: B50C4DC2-6C86-4D79-AA8A-23A65DA292C6 - Warzone Assault: 0E39EAD4-383B-4452-BBD4-BABB7BECD82E - Pre-Release Warzone: A57E68B7-6623-410F-9663-C8F9E9942210 - Warzone Firefight Beta: 14BDFF11-2742-486B-B26A-4255B137752F - Warzone Firefight: A0143582-9F82-4249-9ED5-319C79A031BB

> 2753093343646559;2:
> Warzone matches have the property IsTeamGame set to 1.
> Warzone Firefight matches have the property IsTeamGame set to 0.
>
> Otherwise falling back to the following Playlist IDs seem to cover all of them:
>
>
>
> - Warzone Turbo: B617E24F-71AA-432B-A8A0-A9B417A3D47E
> - Warzone: B50C4DC2-6C86-4D79-AA8A-23A65DA292C6
> - Warzone Assault: 0E39EAD4-383B-4452-BBD4-BABB7BECD82E
> - Pre-Release Warzone: A57E68B7-6623-410F-9663-C8F9E9942210
> - Warzone Firefight Beta: 14BDFF11-2742-486B-B26A-4255B137752F
> - Warzone Firefight: A0143582-9F82-4249-9ED5-319C79A031BB

The playlist ID seems subject to change, as there was a Warzone Firefight playlist that was listed as “active: false”, which means a blacklist strategy (exclude all IDs in this collection) would have to be frequently checked and updated. A whitelist strategy seems to fall in the same problem - what if they add a version of Warzone (Say Warzone Turbo 2) - I’d still need to monitor and update that whitelist. I know changes aren’t frequent, but I want to keep support on this particular project minimal.

I really like the IsTeamGame property though - At the very least I’ll be aware if they create a Warzone FFA variant without needing to check API documentation. Thanks for the tip!