Projects
Project endpoints are subject to stricter rate limits than others.
Get Current Project
GET
v1/projects/@meGets the project associated with this token.
Response Body
| Field | Type | Description |
|---|---|---|
| id | Snowflake | The unique Top.gg-sourced identifier. |
| name | string | Name of the project sourced from the external platform. |
| platform | Platform | The platform this project originates from. |
| type | Type | The type we classify this project as. |
| headline | string | The short description provided during project creation. |
| tags | string[] | A list of all tag IDs. |
| votes | number | The current number of votes which count towards ranking. |
| votes_total | number | The total number of votes this project has had. |
| review_score | number | The average score of all reviews summed. |
| review_count | number | The total number of reviews left on this project. |
Example Response
{
"id": "218109768489992192",
"name": "Miki",
"type": "bot",
"platform": "discord",
"headline": "A great bot with tons of features! language | admin | cards | fun | levels | roles | marriage | currency | custom commands!",
"tags": [
"anime",
"customizable-behavior",
"economy",
"fun",
"game",
"leveling",
"multifunctional",
"role-management",
"roleplay",
"social"
],
"votes": 1120,
"votes_total": 313389,
"review_score": 4.38,
"review_count": 62245
}
Update Discord Bot Commands
POST
v1/projects/@me/commandsUpdates the commands for a specific bot.
Post Body
This endpoint accepts an array of objects following Discord's application command structure.
Here's the documentation for your new endpoint:
Get Votes
GET
v1/projects/@me/votesGets a cursor-based paginated list of votes for the authenticated project, ordered by creation date.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| cursor? | string | Pagination cursor from a previous response. If provided, startDate is ignored. |
| startDate? | Date | ISO 8601 timestamp to start fetching votes from. Required if cursor is not provided. Maximum 1 year in the past. |
Note: Either cursor or startDate must be provided.
Response Body
| Field | Type | Description |
|---|---|---|
| cursor | string | Cursor for fetching the next page of results. |
| data | [Vote](/Models/v1/project#Vote)[] | Array of vote records for the current token's project. |
Example Response
{
"cursor": "<cursor-token>",
"data": [
{
"user_id": "1234567890",
"platform_id": "1234567890",
"weight": 1,
"created_at": "2026-01-28T02:19:19.145733Z",
"expires_at": "2026-01-28T14:19:19.145733Z"
},
...
]
}
Get Vote Status By User
GET
v1/projects/@me/votes/:user_idGets the vote status for an individual user.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| source? | Source | The source where the user ID is coming from. |
Response Body
| Field | Type | Description |
|---|---|---|
| created_at | Date | The timestamp of when the user last voted. |
| expires_at | Date | The timestamp of when the user can vote again. |
| weight | number | The amount of votes this vote counted for. |
Example Response
{
"created_at": "2023-10-01T12:34:56.789Z",
"expires_at": "2023-10-01T18:34:56.789Z",
"weight": 1
}