Forums / Support / Halo API Support

API Enhancements for Halo Infinite

OP ExO Mandrake

OK 343i and developers, got a big post here regarding my list of future API enhancement suggestions for Halo Infinite. I want to say that I have thoroughly enjoyed access to the Halo API and that I look forward to what will be offered when Halo Infinite is released. Been working on this list off and on for the past year.

The naming below is reflective of the existing Halo API endpoints and category names for Halo 5.

Stats
  • Player Match History: Ability to retrieve Match History by SeasonID, PlaylistID, GameVariantID.
  • Player Match History: Ability to retrieve Match History by date or date range.
  • Player Match History: Provide TotalSpartanKills. Without this you can not get an accurate KDA. TotalKills is provided, however KDA is based on TotalSpartanKills.
  • Player Match History: Provide CSR pre and post match data.
  • Match Result & Match Events - Arena: Track use of Power-ups. Track the player who activate a power up and the time activated. Track Power-ups activated in Match Result, track player/time activated in Match Events.
  • Match Events & Match Result: Omit time elapsed by the map intro/outro. I have noticed that the time elapsed on games are not consistent with the limitations of the game type settings. For instance, a BTB CTF time limit is set for 16 minutes and if the game is played to the end without a tie or a team reaching the capture limit, should result in a 16 minute elapsed time, however what is reported is well over 16 minutes. It appears the map camera fly-through feature is included in the elapsed time tracked by the api.
  • Match Result: Track points earned within each individual strongholds name, overall and by team. See post: https://www.halowaypoint.com/en-us/forums/01b3ca58f06c4bd4ad074d8794d2cf86/topics/feature-requests-for-halo-infinite/894ab9fe-ed6f-44d4-a144-ccedccddf8e4/posts
  • Match Result: Include the game completed date/time stamp. If I display a game report only using a MatchID, there is no way to determine when the game was played.
  • Match Result - Arena: Include MMR, pre and post game data.
  • Match Result - Arena: Provide damage taken.
  • Match Events: Provide damage dealt by each assisting player.
  • Match Events: Provide damage dealt by teammates. This comes in handy by identifying players who are betraying or throwing games. A trolling player may constantly follow and take your shields out, but not betray.
  • CSR Leaderboard: Provide number of games played, games won, Kills Deaths Assists.
  • Player Service Records: Ability to request (filter) Ranked data only. This allows us to build a profile of data for all ranked seasons.
  • Player Service Records: Ability to request Social data only. Receive career data for all social playlists, excluding any ranked data.
  • Player Service Records: Include MMR data.
  • Player Service Records - Arena: Include Current Rank for Onyx. Rank is provided for Champ, but not Onyx. Rank for Onyx can be found on Match Result - Arena. Currently, when I look at the raw data for a player with an Onyx rank, the rank data is blank.
  • Similar to Player Match History, but without providing a gamertag, can you provide a list of the Last Game(s) Played? By game mode Arena/Warzone/Custom/Campaign? By playlist?
  • Player Service Records - Campaign: Breakdown Fastest Time per Mission, per Difficulty, Solo & Coop.
  • Player Service Records - Campaign: Breakdown Highest Score per Mission, per Difficulty, Solo & Coop.
  • New Endpoint: Leaderboard for Weapons/Vehicles (Kills, damage, Time of Possession).
  • New Endpoint: Leaderboard for Medals.
  • New Endpoint: Leaderboard for Campaign Scores, including date (date time stamp) completed.
  • New Endpoint: Leaderboard for Campaign Times, including date (date time stamp) completed.
Profile
  • Player Appearance, Player Emblem Image, Player Spartan Image: Allow ability to retrieve data for multiple gamertags. Comes in handy to get spartan company data from a list of names.
Metadata
  • Metadata - Game Variant: Ability to retrieve data for multiple GameVariant IDs.
  • Metadata - Map Variant: Ability to retrieve data for multiple MapVariant IDs.
  • Metadata - Playlists: Provide the ability to filter out playlists that are not visible to the end user. Create flag IsTest or IsDev? Or something to the effect of a type: 0-dev,1-test,2-beta,3-public? Looking for ability to list social playlists that are currently playable or have been playable while filtering out the development or test playlists that are not viewable/accessible to the public.
  • Metadata - Playlists: Ability to list every active playlist, including social. Currently, only lists active ranked playlists.
  • Metadata - Playlists: Add a creation/premier date for playlists. How about adding a Last Active date (applicable to rotational playlists)?
I may be adding to this list in the coming weeks and months. Jump on board and add to this list.
Hi ExO Mandrake.

Thanks for your interest in the API and for this detailed list. This really helps us identify the gaps and shortcomings of the existing API.

I'm aware of at least one other similar thread from this thread over a year ago:
I seem to remember that somebody else was maintaining a Google Doc or something, but I can't seem to find it. If there are any lists like these that I'm missing, please let me know.

Thanks!
Personal opinion but I didn't like the structure of things in the Halo Wars 2 API - it just didn't seem right, so avoiding that would be great too
Glitch100 wrote:
Personal opinion but I didn't like the structure of things in the Halo Wars 2 API - it just didn't seem right, so avoiding that would be great too
Thank you for the feedback. Could you please elaborate? It's difficult to distill this to something actionable. It would help to have examples of what was unpleasant or some general principles to follow for future APIs. Thanks!