---
title: "List the top players for a game set; with their emails"
method: GET
path: "/gameset/plays/gamesets/{gameSetId}/top-players-with-emails"
tags: ["gameset-plays"]
---

# List the top players for a game set; with their emails

`GET /gameset/plays/gamesets/{gameSetId}/top-players-with-emails`

## Request

- Base URL: `https://api.versusgame.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.versusgame.com/gameset/plays/gamesets/{gameSetId}/top-players-with-emails`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/versusgame/apis/versusgame-api/docs/gameset/plays/gamesets/:gameSetId/top-players-with-emails/get.ts> (a function with typed inputs; its response is checked against the schema)

Ranked by the most games played for that GameSet. `Only returns users with emails`. Requires ADMIN role, to protect PII.

## Path parameters

- `gameSetId` string, required

## Query parameters

- `limit` number
- `cursor` string
- `withExternalId` boolean

## Response `200`

List of top players with metadata

- TopPlayersForGameSetWithEmailResponseEntity
  - `items` RankedPlayerStandingsWithEmail[], required
    - `userId` string, required: Usually a UUID, but older users may have a numberic id
    - `externalId` string: The player's externalId
    - `username` string, required: The player's username
    - `avatarUrl` string, required: The player's avatar URL
    - `gamesPlayedCount` number, required: Total games played in that GameSet attempt
    - `correctAnswerCount` number, required: Total correct answers in that GameSet attempt
    - `email` string, required
    - `emailVerified` boolean, required
  - `cursor` string

---

[API](https://skmtc.dev/versusgame/apis/versusgame-api.md) - [All operations](https://skmtc.dev/versusgame/apis/versusgame-api/llms.txt) - [OpenAPI document](https://skmtc.dev/versusgame/apis/versusgame-api/revisions/e86f45ae5f7c?raw)
