VersusGame Gameset Plays API
The gameset-plays API from VersusGame — 8 operation(s) for gameset-plays.
The gameset-plays API from VersusGame — 8 operation(s) for gameset-plays.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/versusgame-gameset-plays-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Versusgame Gameset Plays API
version: '1.0'
contact: {}
description: 'Operations tagged gameset-plays across 2 of this provider''s published API definitions: versusgame-gameset-plays-api-openapi.yml, versusgame-openapi-original.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.versusgame.com
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: gameset-plays
paths:
/gameset/plays/gamesets/current-daily-id:
get:
description: Returns the ID of the current daily game set from the DB. If this is the first request of the day, a new game set will be created.
operationId: GameSetPlaysController_getCurrentDailyGameSetId
parameters:
- name: partnerId
required: false
in: query
schema:
default: VERSUS
type: string
- name: gameStyle
required: false
in: query
description: Either TVT (This That) or MG (Mini Games)
schema:
default: TVT
type: string
responses:
'200':
description: The current daily game set ID for the given partner and game type.
content:
application/json:
schema:
$ref: '#/components/schemas/GetDailyGameSetIdResponse'
summary: Get the current daily game set ID
tags:
- gameset-plays
servers:
- url: https://api.versusgame.com
description: Base URL declared by the provider in apis.yml (roadmap#122).
/gameset/plays/gamesets/{gameSetId}/leader:
get:
description: The GameSetPlay with the most games played for that GameSet.
operationId: GameSetPlaysController_forGameSetLeader
parameters:
- name: gameSetId
required: true
in: path
schema:
type: string
responses:
'200':
description: The GameSetPlay entity.
content:
application/json:
schema:
$ref: '#/components/schemas/GameSetPlayResponse'
summary: Get the leader of a game set
tags:
- gameset-plays
servers:
- url: https://api.versusgame.com
description: Base URL declared by the provider in apis.yml (roadmap#122).
/gameset/plays/attempts:
get:
operationId: GameSetPlaysController_getAttempts
parameters:
- name: userId
required: true
in: query
schema:
type: string
- name: gameSetId
required: true
in: query
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GameSetPlayResponse'
summary: Get all GameSetPlay attempts for a given Player and GameSet
tags:
- gameset-plays
servers:
- url: https://api.versusgame.com
description: Base URL declared by the provider in apis.yml (roadmap#122).
/gameset/plays/attempts/best:
get:
description: The best attempt has the most games played for the given GameSet.
operationId: GameSetPlaysController_getBestAttempt
parameters:
- name: userId
required: true
in: query
schema:
type: string
- name: gameSetId
required: true
in: query
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GameSetPlayResponse'
summary: Get the best GameSetPlay attempt for a given Player and GameSet
tags:
- gameset-plays
servers:
- url: https://api.versusgame.com
description: Base URL declared by the provider in apis.yml (roadmap#122).
/gameset/plays/attempts/last:
get:
description: The last attempt is the most recent attempt for the given GameSet, but not necessarily the best attempt. The attemptWasCompleted property is true if the last attempt has been marked as completed.
operationId: GameSetPlaysController_getLastAttempt
parameters:
- name: userId
required: true
in: query
schema:
type: string
- name: gameSetId
required: true
in: query
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GameSetLastAttemptResponse'
summary: Get the last GameSetPlay attempt for a given Player and GameSet
tags:
- gameset-plays
servers:
- url: https://api.versusgame.com
description: Base URL declared by the provider in apis.yml (roadmap#122).
/gameset/plays/attempts/completed:
post:
description: This route is used when the player's attempt is completed because the timer has expired and there was no gameplay submitted.
operationId: GameSetPlaysController_recordGameSetCompleted
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RecordGameSetAttemptCompletedRequest'
responses:
'204':
description: The request was successful. Not content returned.
'400':
description: The request body is invalid
summary: Record the completion of a GameSet attempt
tags:
- gameset-plays
servers:
- url: https://api.versusgame.com
description: Base URL declared by the provider in apis.yml (roadmap#122).
/gameset/plays/gamesets/{gameSetId}/top-players:
get:
description: Ranked by the most games played for that GameSet.
operationId: GameSetPlaysController_topPlayersForGameSet
parameters:
- name: gameSetId
required: true
in: path
schema:
type: string
- name: limit
required: false
in: query
description: The approximate number of top players to return. The returned item count may include more to accommodate pagination with filters. Results may also be less if there are fewer than this many players.
schema:
default: 20
type: number
- name: cursor
required: false
in: query
description: The cursor to use for pagination.
schema:
type: string
- name: withExternalId
required: false
in: query
description: Whether to include the externalId in the response
schema:
default: false
type: boolean
responses:
'200':
description: Ranked list of top players with usernames
content:
application/json:
schema:
$ref: '#/components/schemas/TopPlayersForGameSetResponseEntity'
summary: List the top players of a game set (leaderboard)
tags:
- gameset-plays
servers:
- url: https://api.versusgame.com
description: Base URL declared by the provider in apis.yml (roadmap#122).
/gameset/plays/gamesets/{gameSetId}/top-players-with-emails:
get:
description: Ranked by the most games played for that GameSet. `Only returns users with emails`. Requires ADMIN role, to protect PII.
operationId: GameSetPlaysController_topPlayersForGameSetWithEmails
parameters:
- name: gameSetId
required: true
in: path
schema:
type: string
- name: limit
required: false
in: query
description: The approximate number of top players to return. The returned item count may include more to accommodate pagination with filters. Results may also be less if there are fewer than this many players.
schema:
default: 20
type: number
- name: cursor
required: false
in: query
description: The cursor to use for pagination.
schema:
type: string
- name: withExternalId
required: false
in: query
description: Whether to include the externalId in the response
schema:
default: false
type: boolean
responses:
'200':
description: List of top players with metadata
content:
application/json:
schema:
$ref: '#/components/schemas/TopPlayersForGameSetWithEmailResponseEntity'
security:
- access-token: []
summary: List the top players for a game set; with their emails
tags:
- gameset-plays
servers:
- url: https://api.versusgame.com
description: Base URL declared by the provider in apis.yml (roadmap#122).
components:
schemas:
RankedPlayerStandings:
type: object
properties:
userId:
type: string
description: Usually a UUID, but older users may have a numberic id
example: 0197381e-d0ef-700d-a3fc-f98501417877
externalId:
type: string
description: The player's externalId
example: reddit-0197381e-d0ef-700d-a3fc-f98501417877
username:
type: string
description: The player's username
example: bucking_bronco
avatarUrl:
type: string
example: https://example.com/avatar.jpg
description: The player's avatar URL
gamesPlayedCount:
type: number
example: 47
description: Total games played in that GameSet attempt
correctAnswerCount:
type: number
example: 42
description: Total correct answers in that GameSet attempt
required:
- userId
- username
- avatarUrl
- gamesPlayedCount
- correctAnswerCount
GetDailyGameSetIdResponse:
type: object
properties:
gameSetId:
type: string
required:
- gameSetId
RankedPlayerStandingsWithEmail:
type: object
properties:
userId:
type: string
description: Usually a UUID, but older users may have a numberic id
example: 0197381e-d0ef-700d-a3fc-f98501417877
externalId:
type: string
description: The player's externalId
example: reddit-0197381e-d0ef-700d-a3fc-f98501417877
username:
type: string
description: The player's username
example: bucking_bronco
avatarUrl:
type: string
example: https://example.com/avatar.jpg
description: The player's avatar URL
gamesPlayedCount:
type: number
example: 47
description: Total games played in that GameSet attempt
correctAnswerCount:
type: number
example: 42
description: Total correct answers in that GameSet attempt
email:
type: string
example: sarah@example.com
emailVerified:
type: boolean
example: true
required:
- userId
- username
- avatarUrl
- gamesPlayedCount
- correctAnswerCount
- email
- emailVerified
GameSetLastAttemptResponse:
type: object
properties:
userId:
type: string
gameSetId:
type: string
gameSetAttempt:
type: number
updatedAt:
format: date-time
type: string
createdAt:
format: date-time
type: string
results:
type: object
gamesPlayedCount:
type: number
correctAnswerCount:
type: number
attemptWasCompleted:
type: boolean
required:
- userId
- gameSetId
- gameSetAttempt
- updatedAt
- createdAt
- results
- gamesPlayedCount
- correctAnswerCount
- attemptWasCompleted
TopPlayersForGameSetResponseEntity:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/RankedPlayerStandings'
cursor:
type: string
required:
- items
GameSetPlayResponse:
type: object
properties:
userId:
type: string
gameSetId:
type: string
gameSetAttempt:
type: number
updatedAt:
format: date-time
type: string
createdAt:
format: date-time
type: string
results:
type: object
gamesPlayedCount:
type: number
correctAnswerCount:
type: number
required:
- userId
- gameSetId
- gameSetAttempt
- updatedAt
- createdAt
- results
- gamesPlayedCount
- correctAnswerCount
TopPlayersForGameSetWithEmailResponseEntity:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/RankedPlayerStandingsWithEmail'
cursor:
type: string
required:
- items
RecordGameSetAttemptCompletedRequest:
type: object
properties:
userId:
type: string
gameSetId:
type: string
gameSetAttempt:
type: number
distributorId:
type: string
shareCode:
type: string
required:
- userId
- gameSetId
- gameSetAttempt
- distributorId
securitySchemes:
access-token:
scheme: bearer
bearerFormat: JWT
description: Enter the bearer token below (do not include 'Bearer')
type: http
x-api-key:
type: apiKey
in: header
name: x-api-key
description: API Key For External calls
x-refined-from:
- versusgame-gameset-plays-api-openapi.yml
- versusgame-openapi-original.json