Skip to main content
The users endpoints work with the user behind an OAuth access token. They require OAuth authentication; project tokens cannot call them.

GET /users/@me

Required scope: user.identify Returns the user who authorized your application.

Response fields

string
required
The user’s Top.gg Snowflake ID.
string
required
The user’s Top.gg username.
string
Avatar URL, or null when the user has none.
object[]
required
Platform accounts linked to the user.

Example response

Error responses


GET /users/@me/projects

Required scope: user.projects.read Lists the projects owned by the user.

Response fields

Returns an array of project objects.
string
required
The Top.gg project ID.
string
required
The project’s ID on its platform, for example the Discord application ID.
string
required
The project name.
string
required
The platform. One of discord, roblox, or minecraft.
string
required
The project type, for example bot, server, or game.
string
required
The project headline.
string
required
The review state, for example draft, in_review, or approved.

Example response


POST /users/@me/projects

Required scope: user.projects.write Creates a draft project for the user. Name, icon, and missing descriptions are fetched from the platform. The project starts as a draft; the user completes the listing and submits it for review in their Top.gg dashboard.

Request body

string
required
The platform the project lives on. One of discord, roblox, or minecraft.
string
required
The project type. bot or server for Discord, game for Roblox, game_server for Minecraft.
string
required
The project’s ID on the platform, for example the Discord application ID.
string
The headline shown on the project page, 3 to 140 characters. Defaults to the description found on the platform.
string
The page content in Markdown, 300 to 50,000 characters. Defaults to the description found on the platform.

Response

Returns 201 Created with the same project object as the list endpoint, with review_status set to draft.

Error responses