---
seo:
  description: >-
    Read-only REST API for dartpilot games, lobbies, boards, players, and
    tournaments. Authenticate every request with an API key in the x-api-key
    header. Create…
sidebar:
  label: Overview
title: dartpilot Public API
---
Read-only REST API for dartpilot games, lobbies, boards, players, and tournaments. Authenticate every request with an API key in the `x-api-key` header. Create a key from the API Keys section of your profile; see https://docs.dartpilot.app/api-keys/. Each key is granted read scopes (games, tournaments, account) when it is created; a request to an endpoint outside a key's scopes returns `403`. Responses carry an `x-d1-bookmark` header identifying the D1 version they were read from; send it back and the next session starts at least as new as that version. Read endpoints are served from an edge cache for 5-60 seconds; a request that sends `x-d1-bookmark` always misses that cache, so the header still guarantees a session at least as new as that version.

Rate limits: each API key is limited to 120 requests/minute, each principal (user or organization) to 600 requests/minute across all of its keys, and each client IP to 600 requests/minute. Requests over a limit return `429` with a `Retry-After` header.

Version 1.0.0

Base URL: `https://api.dartpilot.app/v1`

## Account

Identify the API key owner.

- [`GET /whoami`](/api-reference/account/get-whoami) — Identify the API key owner.

## Games

Read the key owner's games and their events.

- [`GET /games`](/api-reference/games/get-games) — List games.
- [`GET /games/live`](/api-reference/games/get-games-live) — List live games.
- [`GET /games/{id}/events`](/api-reference/games/get-games-by-id-events) — List game events.
- [`GET /games/{id}/summary`](/api-reference/games/get-games-by-id-summary) — Get a live game summary.
- [`GET /games/{id}`](/api-reference/games/get-games-by-id) — Get a game.

## Boards

Read public board status and the game currently on a board.

- [`GET /boards/{id}`](/api-reference/boards/get-boards-by-id) — Get board status.

## Lobbies

Discover public lobbies and read the lobbies the key owner may view.

- [`GET /lobbies`](/api-reference/lobbies/get-lobbies) — List public lobbies.
- [`GET /lobbies/{id}`](/api-reference/lobbies/get-lobbies-by-id) — Get a lobby.

## Players

Read player profiles, friends, statistics and game history for the key owner and their friends.

- [`GET /players/me/friends`](/api-reference/players/get-players-me-friends) — List the key owner's friends.
- [`GET /players/{id}`](/api-reference/players/get-players-by-id) — Get a player.
- [`GET /players/{id}/statistics`](/api-reference/players/get-players-by-id-statistics) — Get player statistics.
- [`GET /players/{id}/trend`](/api-reference/players/get-players-by-id-trend) — Get a player's game trend.
- [`GET /players/{id}/games`](/api-reference/players/get-players-by-id-games) — List a player's recent games.

## Tournaments

Discover public tournaments and follow the key owner's tournaments, their brackets, and live match games.

- [`GET /tournaments`](/api-reference/tournaments/get-tournaments) — List tournaments.
- [`GET /tournaments/{id}/matches/{matchId}`](/api-reference/tournaments/get-tournaments-by-id-matches-by-match-id) — Get a tournament match.
- [`GET /tournaments/{id}`](/api-reference/tournaments/get-tournaments-by-id) — Get a tournament.

## Webhooks

- [`POST eventDelivery`](/api-reference/webhooks/event-delivery) — dartpilot webhook event.
