Integrations/External API
Pro Feature

Production-grade tournament API

A RESTful API designed for platform integrators, tournament platforms, and professional organizers who need programmatic control over the full tournament lifecycle.

Who is this for?

The External API is built for developers and organizations that need to integrate tournament management into their own products and workflows.

Platform builders

Embed tournament brackets, ratings, and leaderboards into your gaming platform or community app.

Professional organizers

Automate result ingestion from streaming overlays, scoring hardware, or bracket management systems.

Data analysts

Pull match data, ELO progressions, and tournament histories into your analytics pipeline.

Built for reliability

Idempotent writes

Every write request requires an Idempotency-Key header. Retries with the same key and body return the cached response — no duplicates, ever.

Rate limiting

Sliding-window rate limits (60/min, 1,000/hr per integration) protect the platform and provide fair access across all partners.

Audit logging

Every API request is logged with identity, outcome, and entity references. Debug failures and track usage without guesswork.

OpenAPI 3.1 documentation

Full schema definition available at /api/external/v1/openapi.json. Generate client libraries in any language with a single command.

Authentication

Authenticate with a Bearer token issued per integration. API keys are hashed with SHA-256 and compared using timing-safe comparison to prevent side-channel attacks.

curl -H "Authorization: Bearer YOUR_API_KEY" -H "Idempotency-Key: unique-request-id" \
  https://grassroots.games/api/external/v1/tournaments

Endpoints

12 endpoints covering tournaments, matches, progression, and ratings.

Tournaments

POST/tournaments
GET/tournaments
GET/tournaments/{id}
PATCH/tournaments/{id}
PUT/tournaments/{id}/participants

Matches & Results

POST/tournaments/{id}/matches
GET/tournaments/{id}/matches
PUT/tournaments/{id}/matches/{matchId}
POST/tournaments/{id}/results-submit

Progression & Standings

POST/tournaments/{id}/advance
GET/tournaments/{id}/standings

Ratings & Leaderboards

GET/leaderboard
GET/ratings/{handle}

Machine-readable schema

The full OpenAPI 3.1 specification is served as a live endpoint. Use it to generate typed clients, validate requests, or import into Postman.

/api/external/v1/openapi.json

Available on the Pro plan

The External API is a premium feature included with the Pro plan. Each Pro account receives one integration key with configurable permissions and discipline restrictions.

View pricing plans