---
title: "Get Binairo Leaderboard"
method: GET
path: "/binairo/leaderboard"
tags: ["Binairo"]
---

# Get Binairo Leaderboard

`GET /binairo/leaderboard`

Get the leaderboard for a specific board size, sorted by fastest time.

A board only ever holds players of the caller's own role: a teacher timing
themselves between two copies is not competing with a seconde, and ranking
them against one is a comparison nobody asked for. The role is denormalized
onto the score at submit time, so a player who changes role moves boards the
next time they play.

## Query parameters

- `board_size` integer

## Response `200`

Successful Response

- RoutersBinairoLeaderboardResponse
  - `entries` LeaderboardEntry[], required
    - `display_name` string, required
    - `board_size` integer, required
    - `time_seconds` number, required
    - `rank` integer, required
    - `is_current_user` boolean
  - `current_user_entry` LeaderboardEntry — A leaderboard row as it leaves the API. ``display_name`` is the player's **first name** and nothing more: a board of anonymous rows has no social pull, but a last name is a disclosure the player never consented to (EXC-557), and a first name on its own does not identify a natural person. No user identifier is exposed either, so a row cannot be tied back to an account.
    - `display_name` string, required
    - `board_size` integer, required
    - `time_seconds` number, required
    - `rank` integer, required
    - `is_current_user` boolean

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-09** `a5af9b3b34f7` — 4 breaking
  - removed the required property `current_user_entry/anyOf[subschema #1: LeaderboardEntry]/submitted_at` from the response with the `200` status
  - removed the required property `current_user_entry/anyOf[subschema #1: LeaderboardEntry]/user_id` from the response with the `200` status
  - removed the required property `entries/items/submitted_at` from the response with the `200` status
  - removed the required property `entries/items/user_id` from the response with the `200` status

[Change history](https://skmtc.dev/excellence-ai/apis/excellence-learning/changes/binairo/leaderboard/get.md)

---

[API](https://skmtc.dev/excellence-ai/apis/excellence-learning.md) · [All operations](https://skmtc.dev/excellence-ai/apis/excellence-learning/llms.txt) · [OpenAPI document](https://skmtc.dev/excellence-ai/apis/excellence-learning/revisions/2a0c1636fd3b?raw)
