Skip to content

Fliqqr/rust-halo-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust Halo API

A lightweight Rust wrapper for the Waypoint (Halo) API that enables retrieval of player and match information, including service records and game history.

Usage requires authentication with a personal Microsoft account.

This project is provided as-is. The author assumes no responsibility for any potential issues arising from its use, including possible violations of the API’s terms of service.

Usage

This is a small HTTP proxy service that authenticates with Halo Waypoint and exposes selected Waypoint endpoints over a local Rocket web server.
It handles login, session/cookie storage, and forwards requests to the Waypoint API, returning JSON responses.

Quick Start

  1. Set the following environment variables:
export WAYPOINT_USERNAME="you@example.com"
export WAYPOINT_PASSWORD="s3cr3t"
export WAYPOINT_GAMERTAG="MyGTag"
  1. Build and run:
cargo run --release

It can also be run via Docker:

docker build -t halo-api .

Routes

  • GET /H5/<endpoint>?<query..>
    Proxies requests to Halo 5 (H5) Waypoint endpoints.
    <endpoint> is the path fragment used in the official Waypoint H5 API.

  • GET /HI/<endpoint>?<query..>
    Proxies requests to Halo Infinite (HI) Waypoint endpoints.

Query parameters are forwarded exactly as provided.

Example Requests

Halo 5 endpoint:

curl "http://localhost:8000/H5/metadata?lang=en-US&version=latest"

Halo Infinite endpoint:

curl "http://localhost:8000/HI/players/stats?player=MyGTag"

Behavior & Error Handling

  • On startup, the service logs in to Waypoint and maintains a reqwest::Client with cookie store enabled.
  • If login fails, the program exits immediately.
  • Non-success HTTP status codes from Waypoint are mapped to the crate's WaypointError type.
  • Successful responses are returned as raw JSON (serde_json::Value).

Note: This is currently implemented as a Rocket + reqwest-based proxy server rather than a pure library wrapper.

About

Rust wrapper around the Halo Waypoint API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors