UNPKG

openapi-directory

Version:

Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS

1 lines 176 kB
{"openapi":"3.0.0","info":{"contact":{"x-twitter":"halo"},"description":"API that provides statistical data about Players and Matches.","title":"Stats","version":"1.0","x-apisguru-categories":["entertainment"],"x-logo":{"url":"https://twitter.com/halo/profile_image?size=original"},"x-origin":[{"format":"swagger","url":"https://developer.haloapi.com/docs/services/58acdf27e2f7f71ad0dad84b/export?DocumentFormat=Swagger","version":"2.0"}],"x-providerName":"haloapi.com","x-serviceName":"stats"},"security":[{"apiKeyHeader":[]},{"apiKeyQuery":[]}],"tags":[],"paths":{"/h5/arena/matches/{matchId}":{"get":{"description":"<p>Retrieves detailed statistics for a Match with the Arena Game Mode.</p>\n<br />\n<h4>Changelog</h4>\n<div class=\"panel-body\">\n <p><strong>December 12, 2018:</strong></p>\n <ul>\n <li>Updated the documentation for \"PlayerScore\".</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>December 22, 2017:</strong></p>\n <ul>\n <li>Added Game Mode clarifications to the Endpoint description.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>February 21, 2017:</strong></p>\n <ul>\n <li>Renamed Endpoint from \"Post-Game Carnage Report: Arena\" to \"Halo 5 - Match Result - Arena\".</li>\n <li>Removed \"{title}\" Request Parameter.</li>\n <li>Updated the documentation for \"GameVariantResourceId\" and \"MapVariantResourceId\" to reference the UGC API.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>May 16, 2016:</strong></p>\n <ul>\n <li>Documented HTTP 503 Response Code.</li>\n <li>Added documentation for the \"MatchSpeedWinAmount\", \"ObjectivesCompletedAmount\", and \"BoostData\" fields.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>April 20, 2016:</strong></p>\n <ul>\n <li>Added documentation for the \"GameVariantResourceId\", \"MapVariantResourceId\", and \"PlayerScore\" fields.</li>\n <li>Updated the documentation for the \"MapVariantId\" and \"GameVariantId\" fields with the recommendation of using the \"MapVariantResourceId\" and \"GameVariantResourceId\" fields, respectively.</li>\n </ul>\n</div>\n","operationId":"Halo-5-Match-Result-Arena","parameters":[{"description":"An ID that uniquely identifies a Match. Match IDs can be retrieved from the \"Halo 5 - Player Match History\" Endpoint.","in":"path","name":"matchId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The response body will contain the Match Result.","content":{"application/json":{"examples":{"response":{"value":{"GameBaseVariantId":"guid","GameVariantId":"guid","GameVariantResourceId":{"Owner":"string","OwnerType":"int","ResourceId":"guid","ResourceType":2},"IsMatchOver":"boolean","IsTeamGame":"boolean","MapId":"guid","MapVariantId":"guid","MapVariantResourceId":{"Owner":"string","OwnerType":"int","ResourceId":"guid","ResourceType":3},"PlayerStats":[{"AvgLifeTimeOfPlayer":"string","BoostData":{"CardConsumed":"bool","DefinitionId":"guid"},"CreditsEarned":{"BoostAmount":"int","PlayerRankAmount":"int","Result":"int","SpartanRankModifier":"double","TimePlayedAmount":"double","TotalCreditsEarned":"int"},"CurrentCsr":{"Csr":"int","DesignationId":"int","PercentToNextTier":"int","Rank":"int","Tier":"int"},"DNF":"boolean","DestroyedEnemyVehicles":[{"Enemy":{"Attachments":["int"],"BaseId":"int"},"TotalKills":"int"}],"EnemyKills":[{"Enemy":{"Attachments":["int"],"BaseId":"int"},"TotalKills":"int"}],"FlexibleStats":{"ImpulseStatCounts":[{"Count":"int","Id":"guid"}],"ImpulseTimelapses":[{"Id":"guid","Timelapse":"string"}],"MedalStatCounts":[{"Count":"int","Id":"guid"}],"MedalTimelapses":[{"Id":"guid","Timelapse":"string"}]},"Impulses":[{"Count":"int","Id":"int"}],"KilledByOpponentDetails":[{"GamerTag":"string","TotalKills":"int"}],"KilledOpponentDetails":[{"GamerTag":"string","TotalKills":"int"}],"MeasurementMatchesLeft":"int","MedalAwards":[{"Count":"int","MedalId":"int"}],"MetaCommendationDeltas":[{"Id":"guid","MetRequirements":[{"Data1":"int","Data2":"int","Data3":"int","Data4":"int"}],"PreviousMetRequirements":[{"Data1":"int","Data2":"int","Data3":"int","Data4":"int"}]}],"Player":{"Gamertag":"string"},"PlayerScore":"int","PreviousCsr":{"Csr":"int","DesignationId":"int","PercentToNextTier":"int","Rank":"int","Tier":"int"},"ProgressiveCommendationDeltas":[{"Id":"guid","PreviousProgress":"int","Progress":"int"}],"Rank":"int","RewardSets":[{"CommendationLevelId":"guid","CommendationSource":"guid","RewardSet":"guid","RewardSourceType":"int","SpartanRankSource":"int"}],"TeamId":"int","TotalAssassinations":"int","TotalAssists":"int","TotalDeaths":"int","TotalGamesCompleted":"int","TotalGamesLost":"int","TotalGamesTied":"int","TotalGamesWon":"int","TotalGrenadeDamage":"double","TotalGrenadeKills":"int","TotalGroundPoundDamage":"double","TotalGroundPoundKills":"int","TotalHeadshots":"int","TotalKills":"int","TotalMeleeDamage":"double","TotalMeleeKills":"int","TotalPowerWeaponDamage":"double","TotalPowerWeaponGrabs":"int","TotalPowerWeaponKills":"int","TotalPowerWeaponPossessionTime":"string","TotalShotsFired":"int","TotalShotsLanded":"int","TotalShoulderBashDamage":"double","TotalShoulderBashKills":"int","TotalSpartanKills":"int","TotalTimePlayed":"string","TotalWeaponDamage":"double","WeaponStats":[{"TotalDamageDealt":"double","TotalHeadshots":"int","TotalKills":"int","TotalPossessionTime":"string","TotalShotsFired":"int","TotalShotsLanded":"int","WeaponId":{"Attachments":["int"],"StockId":"int"}}],"WeaponWithMostKills":{"TotalDamageDealt":"double","TotalHeadshots":"int","TotalKills":"int","TotalPossessionTime":"string","TotalShotsFired":"int","TotalShotsLanded":"int","WeaponId":{"Attachments":["int"],"StockId":"int"}},"XpInfo":{"BoostAmount":"int","MatchSpeedWinAmount":"int","ObjectivesCompletedAmount":"int","PerformanceXP":"int","PlayerRankXPAward":"int","PlayerTimePerformanceXPAward":"int","PrevSpartanRank":"int","PrevTotalXP":"int","SpartanRank":"int","SpartanRankMatchXPScalar":"double","TotalXP":"int"}}],"PlaylistId":"guid","SeasonId":"guid","TeamStats":[{"Rank":"int","RoundStats":[{"Rank":"int","RoundNumber":"int","Score":"uint32"}],"Score":"uint32","TeamId":"int"}],"TotalDuration":"string"}}}}}},"404":{"description":"The specified Match could not be found."},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}},"summary":"Halo 5 - Match Result - Arena"}},"/h5/campaign/matches/{matchId}":{"get":{"description":"<p>Retrieves detailed statistics for a Match with the Campaign Game Mode.</p>\n<p>Every time a player plays a portion of a Campaign Mission, a Match will be generated whether the player finishes the Mission or not. If the \"Match\" ends because the Mission was completed, this will be indicated in the response.</p>\n<br />\n<h4>Changelog</h4>\n<div class=\"panel-body\">\n <p><strong>December 22, 2017:</strong></p>\n <ul>\n <li>Added Game Mode clarifications to the Endpoint description.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>February 21, 2017:</strong></p>\n <ul>\n <li>Renamed Endpoint from \"Post-Game Carnage Report: Campaign\" to \"Halo 5 - Match Result - Campaign\".</li>\n <li>Removed \"{title}\" Request Parameter.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>May 16, 2016:</strong></p>\n <ul>\n <li>Documented HTTP 503 Response Code.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>April 20, 2016:</strong></p>\n <ul>\n <li>Added documentation for the \"GameVariantResourceId\", \"MapVariantResourceId\", and \"PlayerScore\" fields.</li>\n </ul>\n</div>\n","operationId":"Halo-5-Match-Result-Campaign","parameters":[{"description":"An ID that uniquely identifies a Match. Match IDs can be retrieved from the \"Halo 5 - Player Match History\" Endpoint.","in":"path","name":"matchId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The response body will contain the Match Result.","content":{"application/json":{"examples":{"response":{"value":{"Difficulty":"int","GameBaseVariantId":"guid","GameVariantId":"guid","GameVariantResourceId":{"Owner":"string","OwnerType":"int","ResourceId":"guid","ResourceType":"int"},"IsMatchOver":"boolean","IsTeamGame":"boolean","MapId":"guid","MapVariantId":"guid","MapVariantResourceId":{"Owner":"string","OwnerType":"int","ResourceId":"guid","ResourceType":"int"},"MissionCompleted":"boolean","PlayerStats":[{"AvgLifeTimeOfPlayer":"string","BiggestKillScore":"int","DNF":"boolean","DestroyedEnemyVehicles":[{"Enemy":{"Attachments":["int"],"BaseId":"int"},"TotalKills":"int"}],"EnemyKills":[{"Enemy":{"Attachments":["int"],"BaseId":"int"},"TotalKills":"int"}],"FlexibleStats":{"ImpulseStatCounts":[{"Count":"int","Id":"guid"}],"ImpulseTimelapses":[{"Id":"guid","Timelapse":"string"}],"MedalStatCounts":[{"Count":"int","Id":"guid"}],"MedalTimelapses":[{"Id":"guid","Timelapse":"string"}]},"Impulses":[{"Count":"int","Id":"int"}],"MedalAwards":[{"Count":"int","MedalId":"int"}],"Player":{"Gamertag":"string"},"Rank":"int","Score":"uint32","TeamId":"int","TotalAssassinations":"int","TotalAssists":"int","TotalDeaths":"int","TotalGamesCompleted":"int","TotalGamesLost":"int","TotalGamesTied":"int","TotalGamesWon":"int","TotalGrenadeDamage":"double","TotalGrenadeKills":"int","TotalGroundPoundDamage":"double","TotalGroundPoundKills":"int","TotalHeadshots":"int","TotalKills":"int","TotalMeleeDamage":"double","TotalMeleeKills":"int","TotalPowerWeaponDamage":"double","TotalPowerWeaponGrabs":"int","TotalPowerWeaponKills":"int","TotalPowerWeaponPossessionTime":"string","TotalShotsFired":"int","TotalShotsLanded":"int","TotalShoulderBashDamage":"double","TotalShoulderBashKills":"int","TotalSpartanKills":"int","TotalTimePlayed":"string","TotalWeaponDamage":"double","WeaponStats":[{"TotalDamageDealt":"double","TotalHeadshots":"int","TotalKills":"int","TotalPossessionTime":"string","TotalShotsFired":"int","TotalShotsLanded":"int","WeaponId":{"Attachments":["int"],"StockId":"int"}}],"WeaponWithMostKills":{"TotalDamageDealt":"double","TotalHeadshots":"int","TotalKills":"int","TotalPossessionTime":"string","TotalShotsFired":"int","TotalShotsLanded":"int","WeaponId":{"Attachments":["int"],"StockId":"int"}}}],"PlaylistId":"guid","Skulls":["int"],"TotalDuration":"string","TotalMissionPlaythroughTime":"string"}}}}}},"404":{"description":"The specified Match could not be found."},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}},"summary":"Halo 5 - Match Result - Campaign"}},"/h5/companies/{companyId}":{"get":{"description":"<p>Retrieves information about the Company. The response will contain the Company's name, status, and members.</p>\n<br />\n<h4>Changelog</h4>\n<div class=\"panel-body\">\n <p><strong>July 14, 2017:</strong></p>\n <ul>\n <li>Added Endpoint.</li>\n </ul>\n</div>\n","operationId":"Halo-5-Company","parameters":[{"description":"The ID for the Company. The Company ID for a player can be retrieved from the Profile APIs via the \"Halo 5 - Player Apperance\" Endpoint.","in":"path","name":"companyId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The response body will contain the Company name, status, and members.","content":{"application/json":{"examples":{"response":{"value":"{\n // The ID of the company.\n \"Id\": \"guid\",\n\n // The name of the company.\n \"Name\": \"string\",\n\n // Information about the creator of the company. The creator might not necessarily be a\n // member of the company.\n \"Creator\": {\n\n // The company creator's gamertag.\n \"Gamertag\": \"string\",\n\n // Internal use only. This will always be null.\n \"Xuid\": null\n },\n\n // The highest number of users that were (or are) in this company.\n \"PeakMembershipCount\": \"int\",\n\n // Indicates the date that the company is suspended until. This is expressed as an ISO\n // 8601 combined Date and Time.\n \"SuspendedUntilDate\": {\n\n \"ISO8601Date\": \"string\"\n },\n\n // The current members of the company. If the company does not have any members, this\n // list will be empty. \n \"Members\": [\n {\n // Information about the member. \n \"Player\": {\n\n // The member's gamertag.\n \"Gamertag\": \"string\",\n\n // Internal use only. This will always be null.\n \"Xuid\": null\n },\n\n // The role of the member in the company. This field will contain one of the\n // following values:\n // Member = 0,\n // Lieutenant = 1,\n // Leader = 2\n \"Role\": \"int\",\n\n // The date when the member was added to the company. The time component of this\n // date is always set to \"00:00:00\". This is expressed as an ISO 8601 combined Date\n // and Time.\n \"JoinedDate\": {\n\n \"ISO8601Date\": \"string\"\n },\n\n // The date when the member's role was last modified. The time component of this\n // date is always set to \"00:00:00\". This is expressed as an ISO 8601 combined Date\n // and Time.\n \"LastModifiedDate\": {\n\n \"ISO8601Date\": \"string\"\n }\n ],\n\n // The date when the company was created. The time component of this date is always set\n // to \"00:00:00\". This is expressed as an ISO 8601 combined Date and Time.\n \"CreatedDate\": {\n\n \"ISO8601Date\": \"string\"\n },\n\n // The date when the company was last modified. The time component of this date is\n // always set to \"00:00:00\". This is expressed as an ISO 8601 combined Date and Time.\n \"LastModifiedDate\": {\n\n \"ISO8601Date\": \"string\"\n }\n}\n"}}}}},"404":{"description":"Specified Company was not found."},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}},"summary":"Halo 5 - Company"}},"/h5/companies/{companyId}/commendations":{"get":{"description":"<p>Retrieves the commendation state for a Company.</p>\n<br />\n<h4>Changelog</h4>\n<div class=\"panel-body\">\n <p><strong>July 14, 2017:</strong></p>\n <ul>\n <li>Added Endpoint.</li>\n </ul>\n</div>\n","operationId":"Halo-5-Company-Commendations","parameters":[{"description":"The ID for the Company. The Company ID for a player can be retrieved from the Profile APIs via the \"Halo 5 - Player Apperance\" Endpoint.","in":"path","name":"companyId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The response body will contain the commendation state for the Company.","content":{"application/json":{"examples":{"response":{"value":{"LastUpdatedDateUtc":{"ISO8601Date":"string"},"MetaCommendations":[{"Id":"guid","MetRequirements":[{"Data1":"int","Data2":"int","Data3":"int","Data4":"int"}]}],"ProgressiveCommendations":[{"CompletedLevels":[{"CompletedDateUtc":{"ISO8601Date":"string"},"Id":"guid"}],"Id":"guid","Progress":"int"}]}}}}}},"404":{"description":"Specified Company was not found."},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}},"summary":"Halo 5 - Company Commendations"}},"/h5/custom/matches/{matchId}":{"get":{"description":"<p>Retrieves detailed statistics for a Match with the Custom Game Mode. Games with the Custom Game Mode are played on Xbox Live Servers. For games played on Local Servers, use the \"Halo 5 - Match Result - Custom Local\" Endpoint.</p>\n<br />\n<h4>Changelog</h4>\n<div class=\"panel-body\">\n <p><strong>December 12, 2018:</strong></p>\n <ul>\n <li>Updated the documentation for \"PlayerScore\".</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>December 22, 2017:</strong></p>\n <ul>\n <li>Added Game Mode clarifications to the Endpoint description.</li>\n <li>Added documentation for \"PresentInMatch\".</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>February 21, 2017:</strong></p>\n <ul>\n <li>Renamed Endpoint from \"Post-Game Carnage Report: Custom\" to \"Halo 5 - Match Result - Custom\".</li>\n <li>Removed \"{title}\" Request Parameter.</li>\n <li>Updated the documentation for \"GameVariantResourceId\" and \"MapVariantResourceId\" to reference the UGC API.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>May 16, 2016:</strong></p>\n <ul>\n <li>Documented HTTP 503 Response Code.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>April 20, 2016:</strong></p>\n <ul>\n <li>Added documentation for the \"GameVariantResourceId\", \"MapVariantResourceId\", and \"PlayerScore\" fields.</li>\n <li>Updated the documentation for the \"MapVariantId\" and \"GameVariantId\" fields with the recommendation of using the \"MapVariantResourceId\" and \"GameVariantResourceId\" fields, respectively.</li>\n </ul>\n</div>\n","operationId":"Halo-5-Match-Result-Custom","parameters":[{"description":"An ID that uniquely identifies a Match. Match IDs can be retrieved from the \"Halo 5 - Player Match History\" Endpoint.","in":"path","name":"matchId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The response body will contain the Match Result.","content":{"application/json":{"examples":{"response":{"value":{"GameBaseVariantId":"guid","GameVariantId":"guid","GameVariantResourceId":{"Owner":"string","OwnerType":"int","ResourceId":"guid","ResourceType":2},"IsMatchOver":"boolean","IsTeamGame":"boolean","MapId":"guid","MapVariantId":"guid","MapVariantResourceId":{"Owner":"string","OwnerType":"int","ResourceId":"guid","ResourceType":3},"PlayerStats":[{"AvgLifeTimeOfPlayer":"string","DNF":"boolean","DestroyedEnemyVehicles":[{"Enemy":{"Attachments":["int"],"BaseId":"int"},"TotalKills":"int"}],"EnemyKills":[{"Enemy":{"Attachments":["int"],"BaseId":"int"},"TotalKills":"int"}],"FlexibleStats":{"ImpulseStatCounts":[{"Count":"int","Id":"guid"}],"ImpulseTimelapses":[{"Id":"guid","Timelapse":"string"}],"MedalStatCounts":[{"Count":"int","Id":"guid"}],"MedalTimelapses":[{"Id":"guid","Timelapse":"string"}]},"Impulses":[{"Count":"int","Id":"int"}],"KilledByOpponentDetails":[{"GamerTag":"string","TotalKills":"int"}],"KilledOpponentDetails":[{"GamerTag":"string","TotalKills":"int"}],"MedalAwards":[{"Count":"int","MedalId":"int"}],"Player":{"Gamertag":"string"},"PlayerScore":"int","PresentInMatch":"boolean","Rank":"int","TeamId":"int","TotalAssassinations":"int","TotalAssists":"int","TotalDeaths":"int","TotalGamesCompleted":"int","TotalGamesLost":"int","TotalGamesTied":"int","TotalGamesWon":"int","TotalGrenadeDamage":"double","TotalGrenadeKills":"int","TotalGroundPoundDamage":"double","TotalGroundPoundKills":"int","TotalHeadshots":"int","TotalKills":"int","TotalMeleeDamage":"double","TotalMeleeKills":"int","TotalPowerWeaponDamage":"double","TotalPowerWeaponGrabs":"int","TotalPowerWeaponKills":"int","TotalPowerWeaponPossessionTime":"string","TotalShotsFired":"int","TotalShotsLanded":"int","TotalShoulderBashDamage":"double","TotalShoulderBashKills":"int","TotalSpartanKills":"int","TotalTimePlayed":"string","TotalWeaponDamage":"double","WeaponStats":[{"TotalDamageDealt":"double","TotalHeadshots":"int","TotalKills":"int","TotalPossessionTime":"string","TotalShotsFired":"int","TotalShotsLanded":"int","WeaponId":{"Attachments":["int"],"StockId":"int"}}],"WeaponWithMostKills":{"TotalDamageDealt":"double","TotalHeadshots":"int","TotalKills":"int","TotalPossessionTime":"string","TotalShotsFired":"int","TotalShotsLanded":"int","WeaponId":{"Attachments":["int"],"StockId":"int"}}}],"PlaylistId":"guid","TeamStats":[{"Rank":"int","RoundStats":[{"Rank":"int","RoundNumber":"int","Score":"uint32"}],"Score":"uint32","TeamId":"int"}],"TotalDuration":"string"}}}}}},"404":{"description":"The specified Match could not be found."},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}},"summary":"Halo 5 - Match Result - Custom"}},"/h5/customlocal/matches/{matchId}":{"get":{"description":"<p>Retrieves detailed statistics for a Match with the Custom Local Game Mode. Games with the Custom Local Game Mode are played on Local Servers. For games played on Xbox Live Servers, use the \"Halo 5 - Match Result - Custom\" Endpoint.</p>\n<br />\n<h4>Changelog</h4>\n<div class=\"panel-body\">\n <p><strong>December 12, 2018:</strong></p>\n <ul>\n <li>Updated the documentation for \"PlayerScore\".</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>December 22, 2017:</strong></p>\n <ul>\n <li>Added Endpoint.</li>\n </ul>\n</div>\n","operationId":"Halo-5-Match-Result-Custom-Local","parameters":[{"description":"An ID that uniquely identifies a Match. Match IDs can be retrieved from the \"Halo 5 - Player Match History\" Endpoint.","in":"path","name":"matchId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The response body will contain the Match Result.","content":{"application/json":{"examples":{"response":{"value":{"GameBaseVariantId":"guid","GameVariantId":"guid","GameVariantResourceId":{"Owner":"string","OwnerType":"int","ResourceId":"guid","ResourceType":2},"IsMatchOver":"boolean","IsTeamGame":"boolean","MapId":"guid","MapVariantId":"guid","MapVariantResourceId":{"Owner":"string","OwnerType":"int","ResourceId":"guid","ResourceType":3},"PlayerStats":[{"AvgLifeTimeOfPlayer":"string","DNF":"boolean","DestroyedEnemyVehicles":[{"Enemy":{"Attachments":["int"],"BaseId":"int"},"TotalKills":"int"}],"EnemyKills":[{"Enemy":{"Attachments":["int"],"BaseId":"int"},"TotalKills":"int"}],"FlexibleStats":{"ImpulseStatCounts":[{"Count":"int","Id":"guid"}],"ImpulseTimelapses":[{"Id":"guid","Timelapse":"string"}],"MedalStatCounts":[{"Count":"int","Id":"guid"}],"MedalTimelapses":[{"Id":"guid","Timelapse":"string"}]},"Impulses":[{"Count":"int","Id":"int"}],"KilledByOpponentDetails":[{"GamerTag":"string","TotalKills":"int"}],"KilledOpponentDetails":[{"GamerTag":"string","TotalKills":"int"}],"MedalAwards":[{"Count":"int","MedalId":"int"}],"Player":{"Gamertag":"string"},"PlayerScore":"int","PresentInMatch":"boolean","Rank":"int","TeamId":"int","TotalAssassinations":"int","TotalAssists":"int","TotalDeaths":"int","TotalGamesCompleted":"int","TotalGamesLost":"int","TotalGamesTied":"int","TotalGamesWon":"int","TotalGrenadeDamage":"double","TotalGrenadeKills":"int","TotalGroundPoundDamage":"double","TotalGroundPoundKills":"int","TotalHeadshots":"int","TotalKills":"int","TotalMeleeDamage":"double","TotalMeleeKills":"int","TotalPowerWeaponDamage":"double","TotalPowerWeaponGrabs":"int","TotalPowerWeaponKills":"int","TotalPowerWeaponPossessionTime":"string","TotalShotsFired":"int","TotalShotsLanded":"int","TotalShoulderBashDamage":"double","TotalShoulderBashKills":"int","TotalSpartanKills":"int","TotalTimePlayed":"string","TotalWeaponDamage":"double","WeaponStats":[{"TotalDamageDealt":"double","TotalHeadshots":"int","TotalKills":"int","TotalPossessionTime":"string","TotalShotsFired":"int","TotalShotsLanded":"int","WeaponId":{"Attachments":["int"],"StockId":"int"}}],"WeaponWithMostKills":{"TotalDamageDealt":"double","TotalHeadshots":"int","TotalKills":"int","TotalPossessionTime":"string","TotalShotsFired":"int","TotalShotsLanded":"int","WeaponId":{"Attachments":["int"],"StockId":"int"}}}],"PlaylistId":"guid","TeamStats":[{"Rank":"int","RoundStats":[{"Rank":"int","RoundNumber":"int","Score":"uint32"}],"Score":"uint32","TeamId":"int"}],"TotalDuration":"string"}}}}}},"404":{"description":"The specified Match could not be found."},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}},"summary":"Halo 5 - Match Result - Custom Local"}},"/h5/matches/{matchId}/events":{"get":{"description":"<p>Retrieves a set of Events related to the Match specified. Events are only available once the Match has completed.</p>\n<p>The set of Events may grow over time as data becomes available.</p>\n<p>This Endpoint does not have the accuracy guarantees of other Endpoints have, so please use with caution. This endpoint may not return Matches before December 1, 2015.</p>\n<br />\n<h4>Changelog</h4>\n<div class=\"panel-body\">\n <p><strong>February 21, 2017:</strong></p>\n <ul>\n <li>Renamed Endpoint from \"Events for Match\" to \"Halo 5 - Match Events\".</li>\n <li>Removed \"{title}\" Request Parameter.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>May 20, 2016:</strong></p>\n <ul>\n <li>The Endpoint now correctly reports the \"Content-Type\" Response Header as \"application/json\".</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>May 16, 2016:</strong></p>\n <ul>\n <li>Documented HTTP 503 Response Code.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>April 20, 2016:</strong></p>\n <ul>\n <li>Added new types of events to the Endpoint: Impulses, Medals, Player Spawns, Round Stats, Round Ends, Weapon Drops, Weapon Pickups, and Weapon Pickup Pads.</li>\n <li>Fixed an issue that caused the API to consistently return HTTP 500's for matches where a player left and rejoined the match.</li>\n </ul>\n</div>\n","operationId":"Halo-5-Match-Events","parameters":[{"description":"An ID that uniquely identifies a Match. Match IDs can be retrieved from the \"Halo 5 - Player Match History\" Endpoint.","in":"path","name":"matchId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The response body will contain the Match Events.","content":{"application/json":{"examples":{"response":{"value":"{\n // Events that describe a match from start to completion. Events are reported in\n // chronological order.\n // Events can come in a variety of types indicated by the \"EventName\" field. Each event\n // is documented in detail below the documentation for this return contract.\n // Additional event types may be added in the future.\n // When deserializing events, it is suggested to use a union of all of the fields\n // across all of the different event types, shown below.\n \"GameEvents\": [\n {\n \"Assistants\": [\n {\n \"Gamertag\": \"string\",\n\n \"Xuid\": null\n }\n ],\n\n \"DeathDisposition\": \"int\",\n\n \"ImpulseId\": \"int\",\n\n \"IsAssassination\": \"boolean\",\n\n \"IsGroundPound\": \"boolean\",\n\n \"IsHeadshot\": \"boolean\",\n\n \"IsMelee\": \"boolean\",\n\n \"IsShoulderBash\": \"boolean\",\n\n \"IsWeapon\": \"boolean\",\n\n \"Killer\": {\n\n \"Gamertag\": \"string\",\n\n \"Xuid\": null\n },\n\n \"KillerAgent\": \"int\",\n\n \"KillerWeaponAttachmentIds\": [ \"int\" ],\n\n \"KillerWeaponStockId\": \"int\",\n\n \"KillerWorldLocation\": {\n\n \"x\": \"double\",\n\n \"y\": \"double\",\n\n \"z\": \"double\"\n },\n\n \"MedalId\": \"int\",\n\n \"Player\": {\n\n \"Gamertag\": \"string\",\n\n \"Xuid\": null\n },\n\n \"RoundIndex\": \"int\",\n\n \"ShotsFired\": \"int\",\n\n \"ShotsLanded\": \"int\",\n\n \"TimeWeaponActiveAsPrimary\": \"string\",\n\n \"Victim\": {\n\n \"Gamertag\": \"string\",\n\n \"Xuid\": null\n },\n\n \"VictimAgent\": \"int\",\n\n \"VictimAttachmentIds\": [ \"int\" ],\n\n \"VictimStockId\": \"int\",\n\n \"VictimWorldLocation\": {\n\n \"x\": \"double\",\n\n \"y\": \"double\",\n\n \"z\": \"double\"\n },\n\n \"WeaponAttachmentIds\": [ \"int\" ],\n\n \"WeaponStockId\": \"int\",\n\n // Descriptor to determine what fields will be filled in for the event. This list\n // will grow over time as more events are exposed. Can be one of the following:\n // \"Death\" - An event that is created when a death occurs in the match.\n // \"Impulse\" - An event that is created when an impulse (invisible medal) is\n // triggered in the match.\n // \"Medal\" - An event that is created when a medal is awarded in the match.\n // \"PlayerSpawn\" - An event that is created when a player spawns in the match.\n // \"RoundStart\" - An event that is created when a round starts. In regular\n // matches, there is typically one round. However, some modes have multiple rounds..\n // \"RoundEnd\" - An event that is created when a round ends. In regular matches,\n // there is typically one round. However, some modes have multiple rounds..\n // \"WeaponDrop\" - An event that is created when a player drops a weapon for a new\n // weapon. This occurs when a player picks up a new weapon and drops their current\n // one, when a player dies and drops their weapon(s), or at the end of the match\n // for each player.\n // \"WeaponPickup\" - An event that is created when a player picks up a weapon.\n // This can be when a player spawns, or when a player picks up a new weapon.\n // \"WeaponPickupPad\" - An event that is created when a player picks up a weapon\n // off a pad. This will not be triggered if the weapon was picked up off the ground\n // after another player who had picked it off a pad.\n \"EventName\": \"string\",\n\n // Time passed since the start of the match when the event occurred. This is\n // expressed as an ISO 8601 Duration.\n \"TimeSinceStart\": \"string\"\n }\n ],\n\n // As this is an experimental API it has no guarantees around its accuracy. However we\n // do try our best to ensure all events are valid and accounted for. If they do not\n // match up to our expectations this field will return as false indicating this may not\n // be the full set of events that occurred in game.\n \"IsCompleteSetOfEvents\": \"boolean\",\n\n // Internal use only. A set of related resource links.\n \"Links\": null\n}\n\n// Death Event\n{\n // The gamertags of players who contributed to a kill.\n \"Assistants\": [\n {\n // The player's gamertag.\n \"Gamertag\": \"string\",\n\n // Internal use only. This will always be null.\n \"Xuid\": null\n }],\n\n // The disposition of the death. Can be one of the following:\n // Friendly = 0,\n // Hostile = 1,\n // Neutral = 2\n \"DeathDisposition\": \"int\",\n\n // Describes if the death was committed by the killer from behind (Assassination or\n // melee to back).\n \"IsAssassination\": \"boolean\",\n\n // Describes if the kill was committed by the killer with a ground pound.\n \"IsGroundPound\": \"boolean\",\n\n // Describes if the kill was committed by the killer with a head shot.\n \"IsHeadshot\": \"boolean\",\n\n // Describes if the kill was committed by the killer using melee.\n \"IsMelee\": \"boolean\",\n\n // Describes if the kill was committed by the killer with a shoulder bash.\n \"IsShoulderBash\": \"boolean\",\n\n // Describes if the kill was committed by the killer with a weapon.\n \"IsWeapon\": \"boolean\",\n\n // Describes the killer's information. Can be null if killer is not a player in the\n // game.\n \"Killer\": {\n\n // The player's gamertag.\n \"Gamertag\": \"string\",\n\n // Internal use only. This will always be null.\n \"Xuid\": null\n },\n\n // The type of killer that caused the death. Can be one of the following:\n // None = 0,\n // Player = 1,\n // AI = 2\n \"KillerAgent\": \"int\",\n\n // The IDs of any attachments that were associated with the weapon that was used to\n // kill the victim.\n \"KillerWeaponAttachmentIds\": [\"int\"],\n\n // The ID of the weapon that was used to kill the victim. Depending on the type of the\n // kill, this could be the ID of an Enemy, Vehicle, or Weapon, all of which are\n // available via the Metadata APIs. Note that most vehicles are duplicated between both\n // the Vehicle and Weapon Metadata APIs. If this was a standard kill with an actual\n // weapon, then this will be the ID of the weapon that killed the victim. If this was a\n // kill with a vehicle, then this will the ID of the vehicle that killed the victim. If\n // this was a melee kill, then this will be the ID of the type of the object that\n // killed the player (which will be either Spartan or the type of the type of the AI\n // enemy that killed the player). Note that if the victim was killed by a weapon held\n // by an AI enemy, the type of the AI enemy is unknown.\n \"KillerWeaponStockId\": \"int\",\n\n // Object describing the position of the killer on the map when they made the kill.\n \"KillerWorldLocation\": {\n\n \"x\": \"double\",\n\n \"y\": \"double\",\n\n \"z\": \"double\"\n },\n\n // Describes the victim's information. Can be null if victim is not a player in the\n // game.\n \"Victim\": {\n\n // The player's gamertag.\n \"Gamertag\": \"string\",\n\n // Internal use only. This will always be null.\n \"Xuid\": null\n },\n\n // The type of victim who was killed. Can be one of the following:\n // None = 0,\n // Player = 1,\n // AI = 2\n \"VictimAgent\": \"int\",\n\n // Any variants of the AI enemy, empty otherwise.\n \"VictimAttachmentIds\": [\"int\"],\n\n // The ID of the AI Enemy killed, zero otherwise. Enemy IDs are available via the\n // Metadata API.\n \"VictimStockId\": \"int\",\n\n // Object describing the position of the victim on the map when they were killed.\n \"VictimWorldLocation\": {\n\n \"x\": \"double\",\n\n \"y\": \"double\",\n\n \"z\": \"double\"\n },\n\n // Descriptor to determine what fields will be filled in for the event.\n \"EventName\": \"string\",\n\n // Time passed since the start of the match when the event occurred. This is expressed\n // as an ISO 8601 Duration.\n \"TimeSinceStart\": \"string\"\n}\n\n// Impulse Event\n{\n // The ID that uniquely identifies this impulse. Impulses are available via the\n // Metadata API.\n \"ImpulseId\" : \"int\",\n\n // The player who received the impulse.\n \"Player\": {\n\n // The player's gamertag.\n \"Gamertag\": \"string\",\n\n // Internal use only. This will always be null.\n \"Xuid\": null\n }\n // Descriptor to determine what fields will be filled in for the event.\n \"EventName\": \"Impulse\",\n\n // Time passed since the start of the match when the event occurred. This is expressed\n // as an ISO 8601 Duration.\n \"TimeSinceStart\": \"string\"\n}\n\n// Medal Event\n{\n // The ID that uniquely identifies this medal. Medals are available via the Metadata\n // API.\n \"MedalId\" : \"int\",\n\n // The player who received the medal.\n \"Player\": {\n\n // The player's gamertag.\n \"Gamertag\": \"string\",\n\n // Internal use only. This will always be null.\n \"Xuid\": null\n },\n\n // Descriptor to determine what fields will be filled in for the event.\n \"EventName\": \"Medal\",\n\n // Time passed since the start of the match when the event occurred. This is expressed\n // as an ISO 8601 Duration.\n \"TimeSinceStart\": \"string\"\n}\n\n// PlayerSpawn Event\n{\n // The player who spawned.\n \"Player\": {\n\n // The player's gamertag.\n \"Gamertag\": \"string\",\n\n // Internal use only. This will always be null.\n \"Xuid\": null\n },\n\n // Descriptor to determine what fields will be filled in for the event.\n \"EventName\": \"PlayerSpawn\",\n\n // Time passed since the start of the match when the event occurred. This is expressed\n // as an ISO 8601 Duration.\n \"TimeSinceStart\": \"string\"\n}\n\n// RoundStart Event\n{\n // The index of the round that started.\n \"RoundIndex\" : \"int\",\n\n // Descriptor to determine what fields will be filled in for the event.\n \"EventName\": \"RoundStart\",\n\n // Time passed since the start of the match when the event occurred. This is expressed\n // as an ISO 8601 Duration.\n \"TimeSinceStart\": \"string\"\n}\n\n// RoundEnd Event\n{\n // The index of the round that ended.\n \"RoundIndex\" : \"int\",\n\n // Descriptor to determine what fields will be filled in for the event.\n \"EventName\": \"RoundEnd\",\n\n // Time passed since the start of the match when the event occurred. This is expressed\n // as an ISO 8601 Duration.\n \"TimeSinceStart\": \"string\"\n}\n\n// WeaponDrop Event\n{\n // The player who dropped the weapon.\n \"Player\": {\n\n // The player's gamertag.\n \"Gamertag\": \"string\",\n\n // Internal use only. This will always be null.\n \"Xuid\": null\n },\n\n // The number of shots fired with the weapon by the player.\n \"ShotsFired\" : \"int\",\n\n // The number of shots that hit the target with the weapon by the player.\n \"ShotsLanded\" : \"int\",\n\n // The amount of time the weapon was in the active slot of the player. This is\n // expressed as an ISO 8601 Duration.\n \"TimeWeaponActiveAsPrimary\": \"string\",\n\n // The IDs of any attachments that were associated with the weapon that was dropped.\n \"WeaponAttachmentIds\": [\"int\"],\n\n // The ID of the weapon that was dropped. Weapons are available via the Metadata API.\n \"WeaponStockId\": \"int\",\n\n // Descriptor to determine what fields will be filled in for the event.\n \"EventName\": \"WeaponDrop\",\n\n // Time passed since the start of the match when the event occurred. This is expressed\n // as an ISO 8601 Duration.\n \"TimeSinceStart\": \"string\"\n}\n\n// WeaponPickup Event\n{\n // The player who picked up the weapon.\n \"Player\": {\n\n // The player's gamertag.\n \"Gamertag\": \"string\",\n\n // Internal use only. This will always be null.\n \"Xuid\": null\n },\n\n // The IDs of any attachments that were associated with the weapon that was picked up.\n \"WeaponAttachmentIds\": [\"int\"],\n\n // The ID of the weapon that was picked up. Weapons are available via the Metadata API.\n \"WeaponStockId\": \"int\",\n\n // Descriptor to determine what fields will be filled in for the event.\n \"EventName\": \"WeaponPickup\",\n\n // Time passed since the start of the match when the event occurred. This is expressed\n // as an ISO 8601 Duration.\n \"TimeSinceStart\": \"string\"\n}\n\n// WeaponPickupPad Event\n{\n // The player who picked up the weapon.\n \"Player\": {\n\n // The player's gamertag.\n \"Gamertag\": \"string\",\n\n // Internal use only. This will always be null.\n \"Xuid\": null\n },\n\n // The IDs of any attachments that were associated with the weapon that was picked up.\n \"WeaponAttachmentIds\": [\"int\"],\n\n // The ID of the weapon that was picked up. Weapons are available via the Metadata API.\n \"WeaponStockId\": \"int\",\n\n // Descriptor to determine what fields will be filled in for the event.\n \"EventName\": \"WeaponPickupPad\",\n\n // Time passed since the start of the match when the event occurred. This is expressed\n // as an ISO 8601 Duration.\n \"TimeSinceStart\": \"string\"\n}\n"}}}}},"404":{"description":"The specified Match could not be found."},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}},"summary":"Halo 5 - Match Events"}},"/h5/player-leaderboards/csr/{seasonId}/{playlistId}":{"get":{"description":"<p>Retrieves the Leaderboard for Player CSRs. The Leaderboard consists of the top Players with a CSR of 1800 or above for a given Playlist in a Season.</p>\n<br />\n<h4>Changelog</h4>\n<div class=\"panel-body\">\n <p><strong>March 6, 2018:</strong></p>\n <ul>\n <li>Fixed documentation typos for the names of the \"Player\" and \"Gamertag\" properties.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>July 31, 2017:</strong></p>\n <ul>\n <li>Clarified documentation for which players are included in the leaderboard.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>February 21, 2017:</strong></p>\n <ul>\n <li>Renamed Endpoint from \"Player Leaderboard\" to \"Halo 5 - Leaderboard Player CSR\".</li>\n <li>Removed \"{title}\" Request Parameter.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>April 20, 2016:</strong></p>\n <ul>\n <li>Added Endpoint.</li>\n </ul>\n</div>\n","operationId":"Halo-5-Leaderboard-Player-CSR","parameters":[{"description":"The ID for the Season.","in":"path","name":"seasonId","required":true,"schema":{"type":"string"}},{"description":"The ID for the Playlist.","in":"path","name":"playlistId","required":true,"schema":{"type":"string"}},{"description":"When specified, this indicates the maximum quantity of items the client would like returned in the response.\n\nWhen omitted, 200 is assumed.\n\nWhen the value contains a non-digit or is exactly \"0\", HTTP 400 (\"Bad Request\") is returned.\n\nWhen the value is greater than the allowed range [1,250], the maximum allowed value is used instead.\n\nThe \"Count\" field in the response will confirm the actual value that was used.","in":"query","name":"count","schema":{"type":"number"}}],"responses":{"200":{"description":"The response body will contain the Players in the Leaderboard. An empty list will be returned if no Players are in the Leaderboard.","content":{"application/json":{"examples":{"response":{"value":{"Count":"int","Links":"links","ResultCount":"int","Results":[{"Player":{"Gamertag":"string"},"Rank":"int","Score":{"Csr":"int","DesignationId":"int","PercentToNextTier":"int","Rank":"int","Tier":"int"}}],"Start":"int"}}}}}},"404":{"description":"The Season does not exist, or the Playlist either does not exist or is not part of the given Season."},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}},"summary":"Halo 5 - Leaderboard - Player CSR"}},"/h5/players/{player}/commendations":{"get":{"description":"<p>Retrieves the commendation state for a Player.</p>\n<br />\n<h4>Changelog</h4>\n<div class=\"panel-body\">\n <p><strong>July 14, 2017:</strong></p>\n <ul>\n <li>Added Endpoint.</li>\n </ul>\n</div>\n","operationId":"Halo-5-Player-Commendations","parameters":[{"description":"The Player's Gamertag.","in":"path","name":"player","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The response body will contain the commendation state for the Player.","content":{"application/json":{"examples":{"response":{"value":{"LastUpdatedDateUtc":{"ISO8601Date":"string"},"MetaCommendations":[{"Id":"guid","MetRequirements":[{"Data1":"int","Data2":"int","Data3":"int","Data4":"int"}]}],"ProgressiveCommendations":[{"CompletedLevels":[{"CompletedDateUtc":{"ISO8601Date":"string"},"Id":"guid"}],"Id":"guid","Progress":"int"}]}}}}}},"404":{"description":"Specified Player was not found."},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}},"summary":"Halo 5 - Player Commendations"}},"/h5/players/{player}/matches":{"get":{"description":"<p>Retrieves a list of Matches that the Player has participated in and which have completed processing. If the Player is currently in a match, it is not returned in this API.</p>\n<p>This endpoint will include games played on Local Servers with the Custom Local Game Mode for games that occurred or after December 22, 2017.</p>\n<br />\n<h4>Changelog</h4>\n<div class=\"panel-body\">\n <p><strong>February 1, 2019:</strong></p>\n <ul>\n <li>Enabled support for viewing the time component of the \"MatchCompletedDate\" via the \"{include-times}\" Request Parameter.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>December 22, 2017:</strong></p>\n <ul>\n <li>Added support for the Custom Local Game mode.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>February 21, 2017:</strong></p>\n <ul>\n <li>Renamed Endpoint from \"Matches for Player\" to \"Halo 5 - Player Match History\".</li>\n <li>Removed \"{title}\" Request Parameter.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>April 20, 2016:</strong></p>\n <ul>\n <li>Clarified documentation for the \"MapVariant\" and \"GameVariant\" fields.</li>\n <li>Corrected \"OwnerType\" values for the \"MapVariant\" and \"GameVariant\" fields.</li>\n </ul>\n</div>\n","operationId":"Halo-5-Player-Match-History","parameters":[{"description":"The Player's Gamertag.","in":"path","name":"player","required":true,"schema":{"type":"string"}},{"description":"Indicates what Game Mode(s) the client is interested in getting Matches for (arena, campaign, custom, customlocal, or warzone).\n\nWhen the parameter is omitted or empty, Matches from all modes are returned. When a client would like to receive Matches spanning multiple Modes, separate the Modes with a comma (e.g. \"arena,custom\"). There is no significance to the order the Modes are specified in this parameter.\n\nWhen an invalid Mode is specified, HTTP 400 (\"Bad Request\") is returned.\n\nWhen a valid Mode is specified more than once, HTTP 400 (\"Bad Request\") is returned.","in":"query","name":"modes","schema":{"type":"string"}},{"description":"When specified, this indicates the starting index (0-based) for which the batch of results will begin at. For example, \"start=0\" indicates that the first qualifying result will be returned, no items are 'skipped'. Passing \"start=10\" indicates that the result will begin with the 11th item, the first 10 will be 'skipped'.\n\nWhen omitted, zero is assumed.\n\nWhen the value contains a non-digit, HTTP 400 (\"Bad Request\") is returned.","in":"query","name":"start","schema":{"type":"number"}},{"description":"When specified, this indicates the maximum quantity of items the client would like returned in the response.\n\nWhen omitted, 25 is assumed.\n\nWhen the value contains a non-digit or is exactly \"0\", HTTP 400 (\"Bad Request\") is returned.\n\nWhen the value is greater than the allowed range [1,25], the maximum allowed value is used instead. The \"Count\" field in the response will confirm the actual value that was used.","in":"query","name":"count","schema":{"type":"number"}},{"description":"When set to \"true\", this indicates that the time component of the \"MatchCompletedDate\" field should be populated.\n\nOtherwise, when set to \"false\" or when omitted, the time component will be set to \"00:00:00\".\n\nWhen the value contains a non-boolean, HTTP 400 (\"Bad Request\") is returned.","in":"query","name":"include-times","schema":{"type":"boolean"}}],"responses":{"200":{"description":"The response body will contain the Player's recent Matches. An empty list will be returned if the Player has not played any Matches in the specified Game Mode(s).","content":{"application/json":{"examples":{"response":{"value":{"Count":"int","ResultCount":"int","Results":[{"GameBaseVariantId":"guid","GameVariant":{"Owner":"string","OwnerType":"int","ResourceId":"guid","ResourceType":2},"HopperId":"guid","Id":{"GameMode":"int","MatchId":"guid"},"IsTeamGame":"boolean","Links":"links","MapId":"guid","MapVariant":{"Owner":"string","OwnerType":"int","ResourceId":"guid","ResourceType":3},"MatchCompletedDate":{"ISO8601Date":"string"},"MatchCompletedDateFidelity":"int","MatchDuration":"string","Players":[{"Player":{"Gamertag":"string"},"Rank":"int","Result":"int","TeamId":"int","TotalAssists":"int","TotalDeaths":"int","TotalKills":"int"}],"Teams":[{"Id":"int","Rank":"int","Score":"uint32"}]}],"Start":"int"}}}}}},"400":{"description":"An unsupported value was provided for a query string parameter."},"404":{"description":"Specified Player was not found."},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}},"summary":"Halo 5 - Player Match History"}},"/h5/servicerecords/arena":{"get":{"description":"<p>Retrieves Service Records for the Arena Game Mode for one or more players. A Service Record contains a player's lifetime statistics in the Game Mode.</p>\n<br />\n<h4>Changelog</h4>\n<div class=\"panel-body\">\n <p><strong>June 29, 2018:</strong></p>\n <ul>\n <li>Added support for Social (Unranked) Playlists.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>December 22, 2017:</strong></p>\n <ul>\n <li>Added Game Mode clarifications to the Endpoint description.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>February 21, 2017:</strong></p>\n <ul>\n <li>Renamed Endpoint from \"Service Record: Arena\" to \"Halo 5 - Player Service Records - Arena\".</li>\n <li>Removed \"{title}\" Request Parameter.</li>\n </ul>\n</div>\n<div class=\"panel-body\">\n <p><strong>April 20, 2016:</strong></p>\n <ul>\n <li>Added documentation for the \"CsrPercentile\" field.</li>\n </ul>\n</div>\n","operationId":"Halo-5-Player-Service-Records-Arena","parameters":[{"description":"A comma-separated list of Gamertags. Up to 32 Gamertags may be specified.","in":"query","name":"players","required":true,"schema":{"type":"string"}},{"description":"When specified, this indicates the Season to request the Arena Playlist Stats for. If this is not specified, the default is the current Season. Seasons are available via the Metadata API. Social (Unranked) Arena Playlist Stats can be retrieved by specifying \"NonSeasonal\".","in":"query","name":"seasonId","schema":{"type":"string"}}],"responses":{"200":{"description":"The response body will contain the Service Records for the requested player(s).","content":{"application/json":{"examples":{"response":{"value":"{\n // Set of responses. One per user queried.\n \"Results\": [\n {\n // The player's gamertag.\n \"Id\": \"string\",\n\n // The result of the query for the player. One of the following:\n // Success = 0,\n // NotFound = 1,\n // ServiceFailure = 2,\n // ServiceUnavailable = 3\n // It is possible for different requests from the batch to succeed and fail\n // independently.\n \"ResultCode\": \"int\",\n\n // The Serv