VersusGame Profiles API
The profiles API from VersusGame — 5 operation(s) for profiles.
The profiles API from VersusGame — 5 operation(s) for profiles.
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-profiles-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 Profiles API
version: '1.0'
contact: {}
description: 'Operations tagged profiles across 2 of this provider''s published API definitions: versusgame-openapi-original.json, versusgame-profiles-api-openapi.yml. 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: profiles
paths:
/v1/profiles:
get:
operationId: ProfilesController_me
parameters: []
responses:
'200':
description: Users profile
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
security:
- access-token: []
tags:
- profiles
patch:
operationId: ProfilesController_update
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateProfileDto'
responses:
'204':
description: Update Profile
security:
- access-token: []
tags:
- profiles
/v1/profiles/{id}:
get:
operationId: ProfilesController_byId
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: Users profile
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
security:
- access-token: []
tags:
- profiles
/v1/profiles/username_available:
post:
operationId: ProfilesController_usernameAvailable
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ValidUsernameDto'
responses:
'204':
description: Verifies if a username is available or not
tags:
- profiles
/v1/admin/profiles/{id}:
patch:
operationId: ProfileAdminController_update
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateProfileDto'
responses:
'204':
description: Updated Profile
security:
- access-token: []
tags:
- profiles
get:
operationId: ProfileAdminController_byId
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: Get Profile
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
security:
- access-token: []
tags:
- profiles
/v1/admin/profiles:
get:
operationId: ProfileAdminController_list
parameters:
- name: search
required: false
in: query
schema:
$ref: '#/components/schemas/SearchFindProfileEmailDto'
- name: sort
required: false
in: query
schema:
$ref: '#/components/schemas/SortFindProfileDto'
- name: limit
required: false
in: query
schema:
type: number
- name: offset
required: false
in: query
schema:
type: number
responses:
'200':
description: List of Expanded Profile
content:
application/json:
schema:
$ref: '#/components/schemas/ListExpandedProfile'
security:
- access-token: []
tags:
- profiles
components:
schemas:
DailySetCount:
type: object
properties:
totalCompleted:
type: number
default: 0
totalWins:
type: number
default: 0
totalLosses:
type: number
default: 0
totalTies:
type: number
default: 0
required:
- totalCompleted
- totalWins
- totalLosses
- totalTies
WalletLeague:
type: object
properties:
name:
type: string
leaderboardId:
type: string
required:
- name
- leaderboardId
Role:
type: string
enum:
- anonymous
- ADMIN
- CREATOR
- USER
- SUPER_ADMIN
- AUTOGAME
- DISTRIBUTION_MANAGER
- MICROSOFT_REWARDS_USER
SortMode:
type: string
enum:
- asc
- desc
WalletResponse:
type: object
properties:
id:
type: string
coins:
type: number
pendingCoins:
type: number
whiteTickets:
type: number
blackTickets:
type: number
grayTickets:
type: number
points:
type: number
createdAt:
format: date-time
type: string
updatedAt:
format: date-time
type: string
version:
type: number
canCollectFreeGift:
type: boolean
gamesDeclared:
type: number
gamesCorrectAnswers:
type: number
achievements:
type: array
items:
type: string
currentLeague:
enum:
- level1
- level2
- level3
- level4
type: string
gamePlaysSinceDemotion:
type: number
lifetimeGamesPlayed:
type: number
emailVerified:
type: boolean
leagues:
type: array
items:
$ref: '#/components/schemas/WalletLeague'
referralCount:
type: number
dailySetCounts:
$ref: '#/components/schemas/DailySetCount'
required:
- id
- coins
- pendingCoins
- whiteTickets
- blackTickets
- grayTickets
- points
- createdAt
- updatedAt
- version
- canCollectFreeGift
- gamesDeclared
- gamesCorrectAnswers
- achievements
- currentLeague
- gamePlaysSinceDemotion
- lifetimeGamesPlayed
- emailVerified
- referralCount
- dailySetCounts
Profile:
type: object
properties:
avatar:
type: string
id:
type: string
username:
type: string
avatarAssetId:
type: string
profileColor:
type: string
createdAt:
type: string
updatedAt:
type: string
required:
- avatar
- id
- username
- profileColor
- createdAt
- updatedAt
SearchFindProfileEmailDto:
type: object
properties:
userEmail:
type: string
username:
type: string
usernameLike:
type: string
ids:
type: array
items:
type: string
SortFindProfileDto:
type: object
properties:
username:
allOf:
- $ref: '#/components/schemas/SortMode'
createdAt:
allOf:
- $ref: '#/components/schemas/SortMode'
ExpandedProfile:
type: object
properties:
avatar:
type: string
roles:
type: array
items:
$ref: '#/components/schemas/Role'
balance:
$ref: '#/components/schemas/WalletResponse'
id:
type: string
username:
type: string
avatarAssetId:
type: string
profileColor:
type: string
createdAt:
type: string
updatedAt:
type: string
required:
- avatar
- roles
- balance
- id
- username
- profileColor
- createdAt
- updatedAt
ValidUsernameDto:
type: object
properties:
username:
type: string
required:
- username
UpdateProfileDto:
type: object
properties:
username:
type: string
profileColor:
type: string
avatarAssetId:
type:
- string
- 'null'
ListExpandedProfile:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/ExpandedProfile'
total:
type: number
required:
- items
- total
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-openapi-original.json
- versusgame-profiles-api-openapi.yml