Developer Documentation

Build integrations with Subspace Reloaded.

Authentication

Let players sign in to your service with their Subspace Reloaded identity. OAuth 2.0.

Fixtures API

Schedule a match at a set time with a chosen set of players. Get a callback with the result when it finishes.

Getting Started

Subspace Reloaded integrates with external league services, which handle roster management, scheduling, standings and play-offs. Your service submits a match — who plays and when — and Subspace Reloaded runs it and returns the outcome.

Setting Up A Fixture

A fixture is a match scheduled for a set time, with a fixed list of players who may play in it.

First, get access to the API. You will be given an OAuth 2.0 client_id and client_secret so players can sign in with their Subspace Reloaded identity, plus an x-api-key for the Fixtures API.

  1. A player signs in with OAuth 2.0. You receive their profileId and display name. Store the profileId, not the display name.
  2. Schedule each match with POST /api/fixtures. The matchId comes back immediately, so subspacereloaded.com/matches/<id> can go on your schedule page before the match is played.
  3. A player who signs in after the match was booked can still play: add them with PUT /api/fixtures/{id}/roster until the match starts. There is no need to cancel and rebook, which would change the matchId.
  4. Webhooks arrive as the fixture opens, fills, starts and ends. The last one carries every per-player metric, for your standings and statistics. If one never arrives, GET /api/fixtures/{id} has the same state and the result, and GET /api/fixtures lists every fixture you have booked, so you can reconcile.

Store the id, never the name. Display names can change, and a freed name can later be taken by someone else — so a roster keyed on names can quietly end up with the wrong person.

How Fixtures Run

When a fixture’s window opens, the match appears at the top of the in-game overlay with one button. Players on a chat-only client get a line telling them to type ?match join. Once enough have checked in, both captains say ready and the zone warps them in.

If not enough check in, the fixture resolves as a no-show and nobody is warped in. An ended fixture is not reopened: to play the match again, book a new fixture under a new externalId.