### Get Progression File Source: https://github.com/gravllift/halo-infinite-api/blob/master/README.md Retrieves progression-related data from a specified file. ```APIDOC ## GET /hi/Progression/file/{filename}.json ### Description Retrieves progression-related data from a specified file. ### Method GET ### Endpoint https://gamecms-hacs.svc.halowaypoint.com/hi/Progression/file/{filename}.json ### Parameters #### Path Parameters - **filename** (string) - Required - The name of the progression file to retrieve. ### Response #### Success Response (200) - **progressionData** (object) - Contains the requested progression data. #### Response Example { "progressionData": { "level": 10, "experience": 50000, "rank": "Gold III" } } ``` -------------------------------- ### Get Match Skill Information Source: https://github.com/gravllift/halo-infinite-api/blob/master/README.md Retrieves skill-related information for a specific match. ```APIDOC ## GET /hi/matches/{matchId}/skill ### Description Retrieves skill-related information for a specific match. ### Method GET ### Endpoint https://skill.svc.halowaypoint.com/hi/matches/{matchId}/skill ### Parameters #### Path Parameters - **matchId** (string) - Required - The unique identifier for the match. ### Response #### Success Response (200) - **matchSkill** (object) - Contains skill-based statistics for the match. #### Response Example { "matchSkill": { "matchId": "some-match-id", "players": [ { "xuid": "4529867054117702", "gamertag": "GravlLift", "skill": 1550.75, "uncertainty": 50.25 } ] } } ``` -------------------------------- ### Get Playlist Asset Source: https://github.com/gravllift/halo-infinite-api/blob/master/README.md Retrieves asset data for a specific playlist. ```APIDOC ## GET /hi/multiplayer/file/playlists/assets/{playlistId}.json ### Description Retrieves asset data for a specific playlist. ### Method GET ### Endpoint https://gamecms-hacs.svc.halowaypoint.com/hi/multiplayer/file/playlists/assets/{playlistId}.json ### Parameters #### Path Parameters - **playlistId** (string) - Required - The unique identifier for the playlist. ### Response #### Success Response (200) - **playlistAsset** (object) - Contains asset data related to the playlist. #### Response Example { "playlistAsset": { "AssetId": "some-playlist-id", "Name": "Slayer", "Description": "The classic Slayer experience.", "Modes": [ { "Id": "mode-1", "Name": "Free-For-All" }, { "Id": "mode-2", "Name": "Team Slayer" } ] } } ``` -------------------------------- ### Get Player Matchmade Service Record (Halostats) Source: https://github.com/gravllift/halo-infinite-api/blob/master/README.md Retrieves the matchmade service record for a player using the Halostats service. ```APIDOC ## GET /hi/players/{gamerTagOrWrappedXuid}/Matchmade/servicerecord ### Description Retrieves the matchmade service record for a player using the Halostats service. ### Method GET ### Endpoint https://halostats.svc.halowaypoint.com/hi/players/{gamerTagOrWrappedXuid}/Matchmade/servicerecord ### Parameters #### Path Parameters - **gamerTagOrWrappedXuid** (string) - Required - The player's Gamertag or wrapped Xuid. ### Response #### Success Response (200) - **serviceRecord** (object) - Contains the player's matchmade service record. #### Response Example { "serviceRecord": { "gamertag": "GravlLift", "matchesPlayed": 150, "wins": 75, "losses": 75, "kills": 2500, "deaths": 2200, "kdRatio": 1.14 } } ``` -------------------------------- ### Get User Profiles by Xuids Source: https://github.com/gravllift/halo-infinite-api/blob/master/README.md Retrieves profile information for multiple users using their Xbox User IDs (Xuids). ```APIDOC ## GET /users ### Description Retrieves profile information for multiple users using their Xbox User IDs (Xuids). ### Method GET ### Endpoint https://profile.svc.halowaypoint.com/users ### Parameters #### Query Parameters - **xuids** (string) - Required - A comma-separated string of Xbox User IDs (Xuids). ### Response #### Success Response (200) - **users** (array) - An array of user profile objects. #### Response Example { "users": [ { "profile": { "Gamertag": "GravlLift", "FirstSeenAsGamertag": "GravlLift", "Xuid": "4529867054117702", "UsageData": [ { "Service": "HaloInfinite", "UsageType": "Direct" } ], "Reputation": { "Level": "None", "Score": 0, "Penalties": [] }, "Presence": { "State": "Offline" }, "AccountLevel": 10, "TitleHistory": [ { "TitleId": 123456789, "TitleName": "Halo Infinite" } ] }, "ownerXuid": "4529867054117702" } ] } ``` -------------------------------- ### Get Halo Infinite User Profile (TypeScript) Source: https://github.com/gravllift/halo-infinite-api/blob/master/README.md Demonstrates how to use the HaloInfiniteClient to fetch a user's profile by their gamertag. It initializes the client with an automatic Spartan token provider using MSAL for authentication. ```typescript import open from "open"; // An npm package that opens a browser window import * as msal from "@azure/msal-node"; import { HaloInfiniteClient, AutoXstsSpartanTokenProvider } from "halo-infinite-api"; const oauthApplication = new msal.PublicClientApplication({ auth: { clientId: "00000000-0000-0000-0000-000000000000", authority: "https://login.live.com", // Override the default authority with the xbox one knownAuthorities: ["login.live.com"], protocolMode: "OIDC", // Shit, I actually have no idea what this does, but Microsoft says I need it }, }); const client = new HaloInfiniteClient( // Another choice for token providers is the StaticXstsTicketTokenSpartanTokenProvider, // which uses a preset spartan token new AutoTokenProvider(async () => { const token = await oauthApplication.acquireTokenInteractive({ // offline_access gives us a refresh token which we can use to continually // get new credentials from Microsoft as the old ones expire. scopes: ["Xboxlive.signin", "Xboxlive.offline_access"], openBrowser: async (url) => { await open(url); }, }); return token.accessToken; }) ); const user = await client.getUser("GravlLift"); ``` -------------------------------- ### Get UGC Asset Version Source: https://github.com/gravllift/halo-infinite-api/blob/master/README.md Retrieves a specific version of a User Generated Content (UGC) asset. ```APIDOC ## GET /hi/{assetType}/{assetId}/versions/{versionId} ### Description Retrieves a specific version of a User Generated Content (UGC) asset. ### Method GET ### Endpoint https://discovery-infiniteugc.svc.halowaypoint.com/hi/{assetType}/{assetId}/versions/{versionId} ### Parameters #### Path Parameters - **assetType** (string) - Required - The type of UGC asset (e.g., 'map', 'gamemode'). - **assetId** (string) - Required - The unique identifier for the UGC asset. - **versionId** (string) - Required - The specific version identifier for the asset. ### Response #### Success Response (200) - **ugcAssetVersion** (object) - Contains the requested UGC asset version data. #### Response Example { "ugcAssetVersion": { "AssetId": "some-map-id", "VersionId": "v1.2", "Name": "Recharge", "Description": "A symmetrical arena map (updated version).", "AssetType": "Map" } } ``` -------------------------------- ### Get Match Stats (Halostats) Source: https://github.com/gravllift/halo-infinite-api/blob/master/README.md Retrieves detailed statistics for a specific match using the Halostats service. ```APIDOC ## GET /hi/matches/{matchId}/stats ### Description Retrieves detailed statistics for a specific match using the Halostats service. ### Method GET ### Endpoint https://halostats.svc.halowaypoint.com/hi/matches/{matchId}/stats ### Parameters #### Path Parameters - **matchId** (string) - Required - The unique identifier for the match. ### Response #### Success Response (200) - **matchStats** (object) - Contains detailed statistics for the match. #### Response Example { "matchStats": { "matchId": "some-match-id", "playlist": "Slayer", "map": "Recharge", "players": [ { "gamertag": "GravlLift", "kills": 15, "deaths": 10, "assists": 5, "score": 150 }, { "gamertag": "EnemyPlayer", "kills": 12, "deaths": 12, "assists": 3, "score": 120 } ] } } ``` -------------------------------- ### Get UGC Asset Source: https://github.com/gravllift/halo-infinite-api/blob/master/README.md Retrieves a User Generated Content (UGC) asset based on its type and ID. ```APIDOC ## GET /hi/{assetType}/{assetId} ### Description Retrieves a User Generated Content (UGC) asset based on its type and ID. ### Method GET ### Endpoint https://discovery-infiniteugc.svc.halowaypoint.com/hi/{assetType}/{assetId} ### Parameters #### Path Parameters - **assetType** (string) - Required - The type of UGC asset (e.g., 'map', 'gamemode'). - **assetId** (string) - Required - The unique identifier for the UGC asset. ### Response #### Success Response (200) - **ugcAsset** (object) - Contains the requested UGC asset data. #### Response Example { "ugcAsset": { "AssetId": "some-map-id", "Name": "Recharge", "Description": "A symmetrical arena map.", "AssetType": "Map" } } ``` -------------------------------- ### Get CSRs for Playlist and Players (Halostats) Source: https://github.com/gravllift/halo-infinite-api/blob/master/README.md Retrieves CSR data for a specific playlist and players using the Halostats service. ```APIDOC ## GET /hi/playlist/{playlistId}/csrs ### Description Retrieves CSR data for a specific playlist and players using the Halostats service. ### Method GET ### Endpoint https://halostats.svc.halowaypoint.com/hi/playlist/{playlistId}/csrs ### Parameters #### Path Parameters - **playlistId** (string) - Required - The unique identifier for the playlist. #### Query Parameters - **playerIds** (string) - Required - A comma-separated string of player identifiers (Xuids or Gamertags). ### Response #### Success Response (200) - **csrs** (array) - An array of CSR objects for each player. #### Response Example { "csrs": [ { "player": { "xuid": "4529867054117702", "gamertag": "GravlLift" }, "playlist": { "id": "some-playlist-id", "name": "Slayer" }, "ranking": { "tier": "Diamond", "subTier": 2, "skillValue": 1550.75, "rank": 5000 } } ] } ``` -------------------------------- ### Get User Profile by Gamertag Source: https://github.com/gravllift/halo-infinite-api/blob/master/README.md Retrieves a user's profile information using their Xbox Gamertag. ```APIDOC ## GET /users/{gamerTag} ### Description Retrieves a user's profile information using their Xbox Gamertag. ### Method GET ### Endpoint https://profile.svc.halowaypoint.com/users/{gamerTag} ### Parameters #### Path Parameters - **gamerTag** (string) - Required - The Xbox Gamertag of the user. ### Response #### Success Response (200) - **profile** (object) - Contains the user's profile details. - **ownerXuid** (string) - The unique identifier for the user's account. #### Response Example { "profile": { "Gamertag": "GravlLift", "FirstSeenAsGamertag": "GravlLift", "Xuid": "4529867054117702", "UsageData": [ { "Service": "HaloInfinite", "UsageType": "Direct" } ], "Reputation": { "Level": "None", "Score": 0, "Penalties": [] }, "Presence": { "State": "Offline" }, "AccountLevel": 10, "TitleHistory": [ { "TitleId": 123456789, "TitleName": "Halo Infinite" } ] }, "ownerXuid": "4529867054117702" } ``` -------------------------------- ### Get Player Matches (Halostats) Source: https://github.com/gravllift/halo-infinite-api/blob/master/README.md Retrieves a list of recent matches for a given player ID using the Halostats service. ```APIDOC ## GET /hi/players/xuid({playerId})/matches ### Description Retrieves a list of recent matches for a given player ID using the Halostats service. ### Method GET ### Endpoint https://halostats.svc.halowaypoint.com/hi/players/xuid({playerId})/matches ### Parameters #### Path Parameters - **playerId** (string) - Required - The unique identifier (Xuid) of the player. ### Response #### Success Response (200) - **matches** (array) - An array of match objects. #### Response Example { "matches": [ { "matchId": "some-match-id-1", "playlist": "Slayer", "map": "Recharge", "outcome": "Win", "date": "2023-10-27T10:00:00Z" }, { "matchId": "some-match-id-2", "playlist": "CTF", "map": "Behemoth", "outcome": "Loss", "date": "2023-10-27T09:00:00Z" } ] } ``` -------------------------------- ### Get CSRs for Playlist and Players Source: https://github.com/gravllift/halo-infinite-api/blob/master/README.md Retrieves CSR (Competitive Skill Rank) data for a specific playlist and a list of player IDs. ```APIDOC ## GET /hi/playlist/{playlistId}/csrs ### Description Retrieves CSR (Competitive Skill Rank) data for a specific playlist and a list of player IDs. ### Method GET ### Endpoint https://skill.svc.halowaypoint.com/hi/playlist/{playlistId}/csrs ### Parameters #### Path Parameters - **playlistId** (string) - Required - The unique identifier for the playlist. #### Query Parameters - **playerIds** (string) - Required - A comma-separated string of player identifiers (Xuids or Gamertags). ### Response #### Success Response (200) - **csrs** (array) - An array of CSR objects for each player. #### Response Example { "csrs": [ { "player": { "xuid": "4529867054117702", "gamertag": "GravlLift" }, "playlist": { "id": "some-playlist-id", "name": "Slayer" }, "ranking": { "tier": "Diamond", "subTier": 2, "skillValue": 1550.75, "rank": 5000 } } ] } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.