Comprehensive API endpoints for Discord bot and website integration
Try adjusting your search criteria or clearing filters
| Method | Endpoint | Authentication | Required Permissions |
|---|---|---|---|
| GET | /analytics/ |
🔒 Token Required | head_developer |
🔐 Permission Requirements
Required Permissions:
head_developer
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /analytics/routes |
🔒 Token Required | head_developer |
🔐 Permission Requirements
Required Permissions:
head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
head_developer
Notes: search filters routes with a LIKE match.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| GET | /analytics/tokens |
🔒 Token Required | head_developer |
🔐 Permission Requirements
Required Permissions:
head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
head_developer
Notes: search matches the token name (user ID) or the username.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| GET | /analytics/token-routes |
🔒 Token Required | head_developer |
🔐 Permission Requirements
Required Permissions:
head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
head_developer
Notes: token_name is an exact match; route is a LIKE match.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| GET | /analytics/summary |
🔒 Token Required | head_developer |
🔐 Permission Requirements
Required Permissions:
head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
head_developer
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| GET | /applications/can-apply |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /applications/ |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /applications/mine |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /applications/unposted |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /applications/:id/posted |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /applications/discord-posts/:messageId/deleted |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /applications/:id/decide |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| PUT | /applications/inactive-grinders |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /applications/inactive-grinders/:userId |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /applications/:id/files/:publicId |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /blacklist/ |
🌐 Public | public |
🔐 Permission Requirements
Required Permissions:
public
Authentication:
🌐 Public Access
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /blacklist/ban |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
Notes: reason defaults to "No reason provided". The bot posts it in Discord.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 400:
HTTP 500:
|
|||
| POST | /blacklist/unban |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 400:
HTTP 500:
|
|||
| GET | /blacklist/check/:user_id |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
Notes: The blacklist flag is 1/0 from the database (false when the user isn't in the database). reason, banned_by and banned_at are null when not banned.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| GET | /blacklist/gblacklist |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
Notes: Grinder blacklist. Newest first. ?page=N gives 5 per page plus pagination; without page you get count instead.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| POST | /blacklist/gblacklist/gban |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
Notes: reason defaults to "No reason provided".
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 400:
HTTP 500:
|
|||
| POST | /blacklist/gblacklist/gunban |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 400:
HTTP 500:
|
|||
| GET | /blacklist/gblacklist/check/:user_id |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
Notes: The blacklist flag is 1/0 from the database (false when the user isn't in the database). reason, banned_by and banned_at are null when not banned.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| GET | /blocked-ips/stats |
🔒 Token Required | head_developer |
🔐 Permission Requirements
Required Permissions:
head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
head_developer
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| GET | /blocked-ips/list |
🔒 Token Required | head_developer |
🔐 Permission Requirements
Required Permissions:
head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
head_developer
Notes: The IP address itself is not returned. type: auto (failed logins; memory only, ends after 10 minutes or on restart), manual (console ipblock block; saved) or pending (failed attempts, not blocked yet). Temporary blocks first, then permanent, then pending; newest first in each. time_until_unblock is in milliseconds (null for permanent or not blocked).
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| POST | /blocked-ips/unblock |
🌐 Public | public |
🔐 Permission Requirements
Required Permissions:
public
Authentication:
🌐 Public Access
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /compensation/ |
🔒 Token Required | owner OR manager |
🔐 Permission Requirements
Required Permissions:
owner OR manager
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /compensation/reimbursements/:payer_id |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 500:
|
|||
| POST | /compensation/reimbursements/:payer_id/paidout |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Marks every outstanding reimbursement for this payer as paid back.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| GET | /compensation/:user_id |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: reimbursement is what this user is owed back for payouts they made in the Reimbursements thread.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 500:
|
|||
| POST | /compensation/:user_id/pay |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Pays out everything the grinder is owed. reimburse: true means the payer is owed it back by a Director.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| GET | /config/globaldiscount |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Any valid token. When no sale is running, globalDiscount is {} and details is [].
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 500:
|
|||
| POST | /config/globaldiscount |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Creates or replaces the discount for one department. The Discord bot announces the sale.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| DELETE | /config/globaldiscount/:item |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Ends the sale for that department (the bot announces it ended).
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 500:
|
|||
| GET | /config/autodiscounts |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Automatic customer discounts in percent: loyal, first_order, boost, gotm.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| PUT | /config/autodiscounts/:perk |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: :perk is one of loyal, first_order, boost, gotm. old_value is null if it was never set.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| GET | /config/department-limits |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| PUT | /config/department-limits/:department/:permission |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: :department is cargo, meat, exp or "cargo perk" (URL-encode the space). :permission is customer or loyal_customer.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| GET | /config/:table |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: :table is channels, roles, messages, ping_strings or staff_mappings. The response key is the table name (example: /config/channels).
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 500:
|
|||
| GET | /cooldown/status/:prefix/:identifier |
🔒 Token Required | owner manager director staff supervisor head_developer |
🔐 Permission Requirements
Required Permissions:
owner manager director staff supervisor head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff supervisor head_developer
Notes: With no active cooldown the reply is { message: "No active cooldown found", cooldownActive: false, prefix, identifier }. orderId is only set on order_accept cooldowns.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
|
|||
| DELETE | /cooldown/:prefix/:identifier |
🔒 Token Required | owner manager director staff supervisor head_developer |
🔐 Permission Requirements
Required Permissions:
owner manager director staff supervisor head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff supervisor head_developer
Notes: Always 200. When nothing was active: message "No cooldown found to clear" and cleared: false.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
|
|||
| POST | /cooldown/:prefix/:identifier/:durationMs |
🔒 Token Required | owner manager director staff supervisor head_developer |
🔐 Permission Requirements
Required Permissions:
owner manager director staff supervisor head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff supervisor head_developer
Notes: Example: POST /cooldown/order_accept/987654321098765432/600000. If :durationMs is not a positive number, body.durationMs is used instead.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
|
|||
| GET | /cooldown/stats |
🔒 Token Required | owner manager director staff supervisor head_developer |
🔐 Permission Requirements
Required Permissions:
owner manager director staff supervisor head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff supervisor head_developer
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
|
|||
| GET | /cooldown/user/:userId |
🔒 Token Required | owner manager director staff supervisor head_developer |
🔐 Permission Requirements
Required Permissions:
owner manager director staff supervisor head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff supervisor head_developer
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
|
|||
| GET | /customers/me |
🔒 Token Required | customer loyal_customer |
🔐 Permission Requirements
Required Permissions:
customer loyal_customer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
customer loyal_customer
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
|
|||
| GET | /customers/me/orders |
🔒 Token Required | customer loyal_customer |
🔐 Permission Requirements
Required Permissions:
customer loyal_customer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
customer loyal_customer
Notes: With ?page=N you get 5 orders per page plus pagination. Without page you get every order and a count instead of pagination. customerid in each order is a number (INTEGER column), so the last digits are rounded.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
|
|||
| GET | /dev/status |
🌐 Public | public |
🔐 Permission Requirements
Required Permissions:
public
Authentication:
🌐 Public Access
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /feedback-files/:public_id |
🌐 Public | public |
🔐 Permission Requirements
Required Permissions:
public
Authentication:
🌐 Public Access
Notes: No token: the random 32-character public_id is the key. Returns the image bytes (png, jpg, gif or webp) with its Content-Type, not JSON.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 404:
HTTP 500:
|
|||
| POST | /feedback/ |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /feedback/mine |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Your own suggestions that are not withdrawn, newest first. left_today = how many more you can send today.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 500:
|
|||
| GET | /feedback/public |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: The ideas board: bot and website ideas only (never bug reports), not withdrawn, newest 500. kind and status are optional filters.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 500:
|
|||
| GET | /feedback/ |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /feedback/:id/public |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: An idea with its text and comments (oldest first). closed: true when it was withdrawn (no new comments).
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 404:
HTTP 500:
|
|||
| POST | /feedback/:id/comments |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: 1-1,000 characters, one website comment every 15 seconds. Not for bug reports.
🔧 Axios Example
✅ Success Response (201)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 409:
HTTP 400:
HTTP 400:
HTTP 429:
HTTP 500:
|
|||
| DELETE | /feedback/comments/:cid |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: The author of a website comment, or directors and above / developers (any comment). The bot also deletes the Discord copy.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 404:
HTTP 403:
HTTP 500:
|
|||
| PUT | /feedback/comments/:cid/discord |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: Bot account only. Saves the Discord message the bot posted for a website comment; username is the author's server nickname.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 400:
HTTP 500:
|
|||
| PUT | /feedback/:id/discord-comments |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: Bot account only. A new or edited reply in the idea's forum post (same discord_message_id = edit).
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 400:
HTTP 500:
|
|||
| DELETE | /feedback/discord-comments/:messageId |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: Bot account only. That Discord reply was deleted, so the comment is removed.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 500:
|
|||
| DELETE | /feedback/:id/everywhere |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Directors and above, and developers. Deletes the suggestion, its replies, comments and screenshots for good.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 500:
|
|||
| DELETE | /feedback/discord-posts/:threadId |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: Bot account only. The idea's forum post was deleted in Discord, so the suggestion is deleted everywhere.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 500:
|
|||
| GET | /feedback/:id |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: The sender or a reviewer. Withdrawn suggestions are 404 for everyone except reviewers.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 404:
HTTP 403:
HTTP 500:
|
|||
| POST | /feedback/:id/replies |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: The sender or a reviewer. is_reviewer is true when a reviewer answers someone else's suggestion.
🔧 Axios Example
✅ Success Response (201)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 404:
HTTP 403:
HTTP 409:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| DELETE | /feedback/:id |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: The sender withdraws it. It is hidden from them but kept for reviewers.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 404:
HTTP 403:
HTTP 409:
HTTP 500:
|
|||
| PUT | /feedback/:id |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Reviewers only. status: new, pending, want, in_progress, done, wont_do, duplicate. priority: low, normal, high. status_changed says whether the sender gets a DM.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| PUT | /feedback/:id/discord |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: Bot account only. Saves the forum post and review card IDs after posting. Values that are not Discord IDs are ignored.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 500:
|
|||
| GET | /giveaways/ |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /giveaways/:id |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 500:
|
|||
| POST | /giveaways/ |
🔒 Token Required | owner OR manager |
🔐 Permission Requirements
Required Permissions:
owner OR manager
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| PUT | /giveaways/:id |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Send only the fields to change: prize, end_time, winners, status (active, ended, cancelled), message_id, channel_id.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| POST | /giveaways/:id/enter |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Enters the user who owns the token.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| POST | /giveaways/:id/leave |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Removes the user who owns the token. Still 200 if they were not entered.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 400:
HTTP 500:
|
|||
| POST | /giveaways/:id/draw-winners |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Can be run before end_time to end the giveaway early. Sets status to ended.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 409:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| PUT | /giveaways/:id/entries |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Replaces the whole entry list (the bot sends everyone who reacted). Duplicates are removed.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 400:
HTTP 500:
|
|||
| POST | /giveaways/:id/reroll |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Replaces one winner with a random entrant who has not won this giveaway before.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| GET | /grinder-limits/ |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /grinder-limits/:permission |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Any valid token. :permission is lower-cased (example: /grinder-limits/grinder).
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 400:
HTTP 404:
HTTP 500:
|
|||
| PUT | /grinder-limits/:permission |
🔒 Token Required | owner manager director staff supervisor head_developer |
🔐 Permission Requirements
Required Permissions:
owner manager director staff supervisor head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff supervisor head_developer
Notes: The route also checks for supervisor or higher (staff and head_developer get the second 403). Creates the level if it does not exist (action: "created"). Limits are whole numbers from 0 to 100.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| POST | /grinder-management/:id/add-grinder |
🔒 Token Required | trainee grinder expert_grinder loyal_grinder |
🔐 Permission Requirements
Required Permissions:
trainee grinder expert_grinder loyal_grinder
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
trainee grinder expert_grinder loyal_grinder
Notes: Only a grinder already on the in_progress order can add another. The new grinder needs the grinder permission, and each grinder must still get at least 1 point.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 400:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 403:
HTTP 403:
HTTP 403:
HTTP 400:
|
|||
| POST | /grinder-management/:id/assign-collector |
🔒 Token Required | trainee grinder expert_grinder loyal_grinder |
🔐 Permission Requirements
Required Permissions:
trainee grinder expert_grinder loyal_grinder
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
trainee grinder expert_grinder loyal_grinder
Notes: Only a grinder on the in_progress order can assign the collector. The collector needs the collector permission.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 400:
HTTP 403:
HTTP 404:
HTTP 403:
HTTP 403:
HTTP 403:
|
|||
| POST | /grinder-management/:id/deliver |
🔒 Token Required | collector |
🔐 Permission Requirements
Required Permissions:
collector
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
collector
Notes: Only the assigned collector, and only for completed orders. Records the grinders' points and updates the monthly leaderboard.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 400:
HTTP 403:
|
|||
| GET | /grinder-management/leaderboard |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Any valid token. month_year defaults to the current month, limit to 10.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
|
|||
| GET | /grinder-management/archive |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Any valid token. Top 3 grinders of past months, grouped by month (newest first).
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
|
|||
| POST | /grinder-management/archive-month |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: month_year defaults to the current month.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| POST | /grinder-management/update-leaderboard |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Recalculates the monthly leaderboard from grinder stats. month_year defaults to the current month.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| GET | /grinders/activity |
🌐 Public | public |
🔐 Permission Requirements
Required Permissions:
public
Authentication:
🌐 Public Access
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /grinders/rank-status |
🔒 Token Required | owner manager director staff supervisor head_developer |
🔐 Permission Requirements
Required Permissions:
owner manager director staff supervisor head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff supervisor head_developer
Notes: Numbers for rank-ups (bot /rankcheck). completed_orders / delivered_orders count only orders finished since the last hire; *_all_time count everything, archive included.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
|
|||
| GET | /grinders/:user_id/limit-status |
🔒 Token Required | owner manager director staff supervisor head_developer |
🔐 Permission Requirements
Required Permissions:
owner manager director staff supervisor head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff supervisor head_developer
Notes: The grinder's orders in progress against their rank's limit, counted the same way as when they accept an order. can_take_overlimit = whether they may take one more custom (overlimit) order.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
|
|||
| PUT | /grinders/:user_id/hired |
🔒 Token Required | owner manager director staff supervisor head_developer |
🔐 Permission Requirements
Required Permissions:
owner manager director staff supervisor head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff supervisor head_developer
Notes: Records the hire date as now. A re-hire resets it, so order counts start again.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
|
|||
| GET | /grinders/me |
🔒 Token Required | trainee grinder expert_grinder loyal_grinder |
🔐 Permission Requirements
Required Permissions:
trainee grinder expert_grinder loyal_grinder
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
trainee grinder expert_grinder loyal_grinder
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
|
|||
| GET | /grinders/me/orders |
🔒 Token Required | trainee grinder expert_grinder loyal_grinder |
🔐 Permission Requirements
Required Permissions:
trainee grinder expert_grinder loyal_grinder
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
trainee grinder expert_grinder loyal_grinder
Notes: Orders where you are the only grinder. ?page=N gives 5 per page plus pagination; without page you get all of them and a count. filter is null when no status is given.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
|
|||
| GET | /grinders/:grinderid/orders |
🔒 Token Required | trainee grinder expert_grinder loyal_grinder |
🔐 Permission Requirements
Required Permissions:
trainee grinder expert_grinder loyal_grinder
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
trainee grinder expert_grinder loyal_grinder
Notes: Same as /grinders/me/orders for another grinder (no progress field). Shown here without page, so you get count instead of pagination.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 404:
|
|||
| PUT | /grinders/me/orders/:order_id/status |
🔒 Token Required | trainee grinder expert_grinder loyal_grinder |
🔐 Permission Requirements
Required Permissions:
trainee grinder expert_grinder loyal_grinder
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
trainee grinder expert_grinder loyal_grinder
Notes: status: in_progress, completed or delivered; progress: items done (0 to the order amount). in_progress with progress equal to the amount marks it completed. Delivered orders record the grinders' points.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 409:
HTTP 409:
HTTP 400:
HTTP 400:
HTTP 400:
|
|||
| PUT | /grinders/:grinderid/orders/:order_id/status |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
Notes: Staff update an order for a grinder. status: in_progress, completed or delivered; progress: items done (0 to the order amount). in_progress with progress equal to the amount marks it completed. Delivered orders record the grinders' points.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 409:
HTTP 409:
HTTP 400:
HTTP 400:
HTTP 400:
|
|||
| GET | /grinders/leaderboard |
🔒 Token Required | trainee grinder expert_grinder loyal_grinder |
🔐 Permission Requirements
Required Permissions:
trainee grinder expert_grinder loyal_grinder
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
trainee grinder expert_grinder loyal_grinder
Notes: limit 1-100 (default 10). The leaderboard is recalculated first.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 500:
|
|||
| GET | /grinders/stats/me |
🔒 Token Required | trainee grinder expert_grinder loyal_grinder |
🔐 Permission Requirements
Required Permissions:
trainee grinder expert_grinder loyal_grinder
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
trainee grinder expert_grinder loyal_grinder
Notes: Your stats for the month and all time. top_items and recent_activity show up to 10 entries each.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 500:
|
|||
| GET | /grinders/stats/:grinderid |
🔒 Token Required | trainee grinder expert_grinder loyal_grinder |
🔐 Permission Requirements
Required Permissions:
trainee grinder expert_grinder loyal_grinder
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
trainee grinder expert_grinder loyal_grinder
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 500:
|
|||
| GET | /grinders/archive/:month |
🔒 Token Required | trainee grinder expert_grinder loyal_grinder |
🔐 Permission Requirements
Required Permissions:
trainee grinder expert_grinder loyal_grinder
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
trainee grinder expert_grinder loyal_grinder
Notes: Top 3 grinders of a past month. Example: /grinders/archive/2026-09
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 500:
|
|||
| GET | /items/ |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /items/gotm-points |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: An order is worth its item's points plus its priority's points. Deleted items are left out.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 500:
|
|||
| GET | /items/:id |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 500:
|
|||
| GET | /items/search/:name |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Name contains :name. Deleted items are left out.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
HTTP 500:
|
|||
| POST | /items/ |
🔒 Token Required | owner OR manager |
🔐 Permission Requirements
Required Permissions:
owner OR manager
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| PUT | /items/:id |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Send only the fields to change: item, cost, item_limit, department, gotm_points, custom_limit (0 or null removes it), deleted.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| DELETE | /items/:id |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Soft delete: the item is hidden, not removed. deleted_item is the item as it was before.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 500:
|
|||
| GET | /live-console/ |
🌐 Public | public |
🔐 Permission Requirements
Required Permissions:
public
Authentication:
🌐 Public Access
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /live-console/stream |
🔒 Token Required | developer head_developer |
🔐 Permission Requirements
Required Permissions:
developer head_developer
Authentication:
🔒 Token Required
User Must Have (exactly one of):
developer head_developer
Notes: Server-Sent Events (text/event-stream), not JSON. Sends a connected message, the last 50 lines, then each new line as it happens, with a heartbeat comment every 30 seconds. EventSource cannot send headers, so read it with fetch() and the token header.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
|
|||
| GET | /live-console/api |
🔒 Token Required | developer head_developer |
🔐 Permission Requirements
Required Permissions:
developer head_developer
Authentication:
🔒 Token Required
User Must Have (exactly one of):
developer head_developer
Notes: The newest lines from the in-memory buffer (last 1,000 lines). limit is at most 1,000 (default 100).
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
|
|||
| GET | /live-console/stats |
🔒 Token Required | developer head_developer |
🔐 Permission Requirements
Required Permissions:
developer head_developer
Authentication:
🔒 Token Required
User Must Have (exactly one of):
developer head_developer
Notes: Counts for the last hour. uptime is in seconds; memory_usage is process.memoryUsage() in bytes.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
|
|||
| POST | /live-console/bot-lines |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: The Discord bot account (api_discord_user) only. 1-500 lines per batch; lvl is error, warn or info (default info); t defaults to now.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
|
|||
| GET | /live-console/history |
🔒 Token Required | developer head_developer |
🔐 Permission Requirements
Required Permissions:
developer head_developer
Authentication:
🔒 Token Required
User Must Have (exactly one of):
developer head_developer
Notes: Saved lines, newest first, 200 per page. from/to are UTC days (default today). errors=1 reads the error-only history (kept 1 year instead of 90 days). To load more, pass next as before.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| GET | /live-console/history/download |
🔒 Token Required | developer head_developer |
🔐 Permission Requirements
Required Permissions:
developer head_developer
Authentication:
🔒 Token Required
User Must Have (exactly one of):
developer head_developer
Notes: The whole range as a text file download (oldest first), not JSON. "No lines found" when empty.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
|
|||
| GET | /live-console/history/days |
🔒 Token Required | developer head_developer |
🔐 Permission Requirements
Required Permissions:
developer head_developer
Authentication:
🔒 Token Required
User Must Have (exactly one of):
developer head_developer
Notes: The UTC days that have saved lines, for the date pickers.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
|
|||
| GET | /manage/orders/search |
🔒 Token Required | staff |
🔐 Permission Requirements
Required Permissions:
staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
staff
Notes: Filters (all optional): q (order number, item, info, customer or grinder name/ID), status and priority (comma lists), department, unassigned=1, from/to (YYYY-MM-DD, UTC), sort (id, orderid, item, amount, priority, status, price, datetime) and dir (asc/desc, default desc). 50 per page.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 429:
|
|||
| GET | /manage/orders/attention |
🔒 Token Required | staff |
🔐 Permission Requirements
Required Permissions:
staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
staff
Notes: Open orders that need staff attention, most urgent first. attention.type: overdue, deadline, collect_overdue, collect, stuck or unclaimed (rank 1 = most urgent).
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 429:
|
|||
| GET | /manage/orders/export |
🔒 Token Required | staff |
🔐 Permission Requirements
Required Permissions:
staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
staff
Notes: A CSV file download (text/csv), not JSON. Same filters as search, at most 5,000 rows.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 429:
|
|||
| GET | /manage/orders/stats |
🔒 Token Required | staff |
🔐 Permission Requirements
Required Permissions:
staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
staff
Notes: period: this_month, last_month, last_3_months, all (default) or custom with from/to. department and priority are optional filters. Money values count delivered orders only. onTimeMeasured = how many delivered orders onTimePct is based on.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 429:
|
|||
| GET | /manage/orders/:id(\d+) |
🔒 Token Required | staff |
🔐 Permission Requirements
Required Permissions:
staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
staff
Notes: One order by id (the number the website and bot show), for the detail panel. Example: /manage/orders/15408
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 429:
|
|||
| GET | /order-limits/ |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /order-limits/ |
🔒 Token Required | owner OR manager |
🔐 Permission Requirements
Required Permissions:
owner OR manager
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| PUT | /order-limits/:permission |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Example: PUT /order-limits/customer
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 404:
|
|||
| DELETE | /order-limits/:permission |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: customer, staff and owner can't be deleted, only updated.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 403:
|
|||
| GET | /order-limits/overlimit/limit |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Any valid token. Defaults (200%, -5% fee, updated_at null) when never set.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
|
|||
| PUT | /order-limits/overlimit/limit |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: percentage: how far over the item limit an overlimit order may go. fee: percent added to the price (negative = discount).
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
|
|||
| GET | /orders/ |
🔒 Token Required | grinder OR trainee OR expert_grinder OR loyal_grinder |
🔐 Permission Requirements
Required Permissions:
grinder OR trainee OR expert_grinder OR loyal_grinder
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /orders/me |
🔒 Token Required | customer loyal_customer |
🔐 Permission Requirements
Required Permissions:
customer loyal_customer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
customer loyal_customer
Notes: Your orders, newest first; status is an optional filter (filter is null without it). Shown without page, so you get count; with ?page=N you get 5 per page and pagination.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
|
|||
| GET | /orders/customer/:userId |
🔒 Token Required | owner manager supervisor |
🔐 Permission Requirements
Required Permissions:
owner manager supervisor
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager supervisor
Notes: A customer's open orders (not delivered or cancelled), for staff (bot /orders user:).
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
|
|||
| GET | /orders/:id |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: The customer who placed it, any grinder rank, and staff / supervisor / manager / director / owner can view it.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 403:
|
|||
| POST | /orders/ |
🔒 Token Required | customer OR loyal_customer |
🔐 Permission Requirements
Required Permissions:
customer OR loyal_customer
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /orders/price-preview |
🔒 Token Required | customer OR loyal_customer |
🔐 Permission Requirements
Required Permissions:
customer OR loyal_customer
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| PUT | /orders/:id |
🔒 Token Required | owner manager supervisor |
🔐 Permission Requirements
Required Permissions:
owner manager supervisor
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager supervisor
Notes: Send only the fields to change: status, item, amount, priority (normal, custom, high), info, grinder, discount. reason is passed to the Discord log when cancelling. price_calculation and points_calculation are only included when the price was recalculated.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 403:
HTTP 409:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
|
|||
| PUT | /orders/:id/dev-status |
🌐 Public | public |
🔐 Permission Requirements
Required Permissions:
public
Authentication:
🌐 Public Access
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /orders/:id/accept |
🔒 Token Required | trainee grinder expert_grinder loyal_grinder |
🔐 Permission Requirements
Required Permissions:
trainee grinder expert_grinder loyal_grinder
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
trainee grinder expert_grinder loyal_grinder
Notes: Claims a pending order for the grinder who owns the token, then starts a 1-hour accept cooldown. Limits per rank come from /grinder-limits.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 429:
HTTP 400:
HTTP 404:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 403:
HTTP 403:
HTTP 403:
HTTP 409:
HTTP 429:
|
|||
| POST | /orders/custom |
🔒 Token Required | owner manager supervisor |
🔐 Permission Requirements
Required Permissions:
owner manager supervisor
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager supervisor
Notes: Staff create a custom (overlimit) order for a customer. Priority is always custom; the overlimit fee applies and no department discount. Above the item's custom limit (or any amount over the normal limit when it has none) needs approved_overlimit: true. Open custom orders per customer: GOTM 3, Loyal 2, Customer 1.
🔧 Axios Example
✅ Success Response (201)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 429:
HTTP 400:
|
|||
| GET | /orders/count/order-count |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: unassigned = pending orders a grinder gave back that nobody has claimed again.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 500:
|
|||
| GET | /orders/stats/me |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: customer_stats is null when you have no orders; grinder_stats is null unless you have the grinder permission and worked orders. Money values are strings with 2 decimals.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 500:
|
|||
| POST | /orders/role-progression/check |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Money-based auto promotion is switched off (ROLE_PROGRESSION.SETTINGS.auto_assign = false), so each check reports "Auto-assign is disabled".
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 500:
|
|||
| GET | /orders/role-progression/milestones |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Your progress to the next money milestone. milestone_config is only filled in for staff and owner (null for everyone else).
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 500:
|
|||
| POST | /referrals/:id/confirm |
🌐 Public | public |
🔐 Permission Requirements
Required Permissions:
public
Authentication:
🌐 Public Access
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /referrals/:id/decline |
🌐 Public | public |
🔐 Permission Requirements
Required Permissions:
public
Authentication:
🌐 Public Access
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /referrals/unposted |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /referrals/:id/posted |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /referrals/user/:userId |
🌐 Public | public |
🔐 Permission Requirements
Required Permissions:
public
Authentication:
🌐 Public Access
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /referrals/give |
🌐 Public | public |
🔐 Permission Requirements
Required Permissions:
public
Authentication:
🌐 Public Access
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /referrals/remove |
🌐 Public | public |
🔐 Permission Requirements
Required Permissions:
public
Authentication:
🌐 Public Access
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /role-progression/config |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Any valid token.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 500:
|
|||
| GET | /role-progression/stats |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Any valid token. role_distribution counts every user per rank (a user with several ranks counts in each). users_near_milestones = users with completed/delivered order money (first 100).
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 500:
|
|||
| GET | /events/staff |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: API (bot/website) accounts only. Events after the given event_id, oldest first, up to 500. Each event is the saved payload (type, source, by, by_username plus that event's own fields) with event_id and at. latest_id = the newest event there is. Events are kept 30 days.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 500:
|
|||
| GET | /sticky-messages/ |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /sticky-messages/:id |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 404:
HTTP 500:
|
|||
| POST | /sticky-messages/ |
🔒 Token Required | owner OR manager |
🔐 Permission Requirements
Required Permissions:
owner OR manager
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| PUT | /sticky-messages/:id |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Send only the fields to change: message, channel_id, last_message_id.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| DELETE | /sticky-messages/:id |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 500:
|
|||
| GET | /ticket-files/:public_id |
🌐 Public | public |
🔐 Permission Requirements
Required Permissions:
public
Authentication:
🌐 Public Access
Notes: No token: the random 32-character public_id is the key. Returns the file itself (image, mp4, PDF or plain text), not JSON. Images, video and PDF open inline; text downloads. Files are kept 90 days.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 404:
HTTP 410:
HTTP 410:
HTTP 500:
|
|||
| GET | /tickets/ |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /tickets/ |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /tickets/me |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Your own tickets with their messages (staff-only notes left out). Optional filters: status (open, in_progress, waiting_for_user, closed), priority (low, normal, high, urgent), category. Shown without page (count); with ?page=N you get 5 per page and pagination. summary counts all your tickets by status.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 500:
|
|||
| GET | /tickets/changes |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: For catching up after a websocket reconnect: tickets updated and messages added after since (up to 500 tickets / 2,000 messages). Staff (owner, manager, director, staff and above) and API accounts see every ticket and staff notes; everyone else only their own.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
HTTP 500:
|
|||
| POST | /tickets/contact |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Supervisor, manager, director, owner, developer or head_developer. Adds a staff message to the person's open ticket, or makes a new "Message from staff" ticket (new_ticket: true); the bot DMs it. Up to 3 images of 10 MB.
🔧 Axios Example
✅ Success Response (201)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 500:
|
|||
| GET | /tickets/:id |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: The ticket creator or staff. Staff also see staff-only notes and their files. Expired files have url: null and expired: true.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 403:
HTTP 500:
|
|||
| GET | /tickets/staff/all |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
Notes: Optional filters: status (open, in_progress, waiting_for_user, closed), priority (low, normal, high, urgent), category. Also assigned_to. Every ticket with its full conversation, staff notes included.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| POST | /tickets/:id/respond |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
Notes: A staff reply the customer sees. An open or closed ticket becomes in_progress. Up to 3 images of 10 MB. Send header x-source: discord or dm from the bot.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 500:
|
|||
| POST | /tickets/:id/files |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: The body is the file itself (not JSON), with its own Content-Type: png, jpg, gif, webp, mp4, PDF or plain text, at most 10 MB. The ticket creator or staff. internal=1 (staff only) attaches it to a staff note. Kept 90 days.
🔧 Axios Example
✅ Success Response (201)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 415:
HTTP 400:
HTTP 413:
HTTP 500:
|
|||
| POST | /tickets/:id/note |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
Notes: A staff-only note (the customer never sees it). Does not change the status.
🔧 Axios Example
✅ Success Response (201)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 500:
|
|||
| PUT | /tickets/:id/channel |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: API (bot) accounts only. Saves the Discord channel that shows this ticket; null when the channel is gone.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 500:
|
|||
| GET | /tickets/staff/assigned |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
Notes: Tickets assigned to you, with their full conversation. Optional filters: status (open, in_progress, waiting_for_user, closed), priority (low, normal, high, urgent), category.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| PUT | /tickets/:id/assign |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
Notes: assigned_to defaults to you (message "Ticket assigned to yourself successfully"). The assignee must be staff.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| POST | /tickets/:id/assign-to-me |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
HTTP 500:
|
|||
| PUT | /tickets/:id/status |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
Notes: status: open, in_progress, waiting_for_user, closed. Closing sets closed_at and closed_by; any other status clears them.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 500:
|
|||
| PUT | /tickets/:id/priority |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 500:
|
|||
| POST | /tickets/:id/reply |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: The ticket creator only (staff use /respond). Sets the ticket back to open. Closed tickets can't be replied to.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 403:
HTTP 400:
HTTP 500:
|
|||
| GET | /tickets/stats/overview |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
Notes: urgent_tickets and high_priority_tickets count tickets that are not closed. avg_response_time_minutes = time to the first staff reply.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| GET | /tickets/stats/leaderboard |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
Notes: Staff sorted by messages sent, then tickets assigned. role = their highest staff rank.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| GET | /twitch/live |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Any valid token. Cached for 5 minutes. The stream object is passed through from the streams API (is_live is always there) with username, twitch_url and message added. When the cache is old you get the old data with stale: true and message "Returning stale data while updating...".
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 502:
HTTP 500:
|
|||
| GET | /uptime/ |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /user-stats/top |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Top grinders by money from delivered orders (by=earned, default) or top customers by money spent (by=spent). limit 1-50 (default 10).
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| GET | /user-stats/spent |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: Customers whose delivered orders add up to at least min, highest first.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| GET | /user-stats/:user_id |
🔒 Token Required | owner manager |
🔐 Permission Requirements
Required Permissions:
owner manager
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager
Notes: One person's stats as a customer and as a grinder (each null when there is nothing). range=hire (default) counts grinder orders since their last hire date; range=all counts everything. money counts delivered and awaiting-collection orders; saved = discounts received.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 500:
|
|||
| GET | /user/me |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: The user who owns the token, including the token itself.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 404:
HTTP 500:
|
|||
| PUT | /user/names |
🔒 Token Required | owner OR manager OR staff OR director OR supervisor OR head_developer |
🔐 Permission Requirements
Required Permissions:
owner OR manager OR staff OR director OR supervisor OR head_developer
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| DELETE | /user/names/:user_id |
🔒 Token Required | owner OR manager OR staff OR director OR supervisor OR head_developer |
🔐 Permission Requirements
Required Permissions:
owner OR manager OR staff OR director OR supervisor OR head_developer
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /user/reset-token |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Gives the user a new token (the old one stops working). Without user_id it resets your own. Resetting someone else needs staff or higher and a higher rank than theirs (the bot/website accounts may reset anyone). The bot/website tokens can't be reset here.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 403:
|
|||
| GET | /user/rank-sync/holders |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /user/rank-sync/:user_id |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /user/grinder-sync/holders |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| POST | /user/grinder-sync/:user_id |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| GET | /user/:user_id/permissions |
🔒 Token Required | owner manager director staff supervisor head_developer |
🔐 Permission Requirements
Required Permissions:
owner manager director staff supervisor head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff supervisor head_developer
Notes: requesting_user_can_grant = the ranks below yours.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 404:
|
|||
| POST | /user/:user_id/permissions/add |
🔒 Token Required | owner manager director staff supervisor head_developer |
🔐 Permission Requirements
Required Permissions:
owner manager director staff supervisor head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff supervisor head_developer
Notes: You can only grant ranks below your own highest rank.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 403:
HTTP 400:
|
|||
| POST | /user/:user_id/permissions/remove |
🔒 Token Required | owner manager director staff supervisor head_developer |
🔐 Permission Requirements
Required Permissions:
owner manager director staff supervisor head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff supervisor head_developer
Notes: You can only remove ranks below your own highest rank. A user left with nothing gets member.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 403:
HTTP 400:
|
|||
| GET | /user/me/grantable-permissions |
🔒 Token Required | owner manager director staff supervisor head_developer |
🔐 Permission Requirements
Required Permissions:
owner manager director staff supervisor head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff supervisor head_developer
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
|
|||
| GET | /user/userlist |
🔒 Token Required | owner manager director staff supervisor head_developer |
🔐 Permission Requirements
Required Permissions:
owner manager director staff supervisor head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff supervisor head_developer
Notes: Every user, sorted by username, with their staff note (null when none). ?page=N gives 5 per page plus pagination; without page you get count instead.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 500:
|
|||
| POST | /user/:user_id/note |
🔒 Token Required | owner manager director staff supervisor head_developer |
🔐 Permission Requirements
Required Permissions:
owner manager director staff supervisor head_developer
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff supervisor head_developer
Notes: Creates or replaces the staff note on a user (action: created or updated). The route also checks for staff or higher (head_developer gets the second 403). At most 2,000 characters.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 403:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 404:
HTTP 500:
|
|||
| GET | /user/:user_id/settings |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Your own settings, or anyone's for staff and above. ticket_copy_optout = never offer the user a copy of their closed support ticket; ticket_copy_auto = always send one without asking. updated_at is null when never saved.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
HTTP 403:
|
|||
| PUT | /user/:user_id/settings |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Send ticket_copy_optout and/or ticket_copy_auto as true or false. Turning one on turns the other off.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
HTTP 403:
HTTP 400:
HTTP 400:
|
|||
| GET | /warnings/me |
🔒 Token Required | any-token |
🔐 Permission Requirements
Required Permissions:
any-token
Authentication:
🔒 Token Required
Notes: Your own warnings, newest first (no warning_number here). include_inactive is only echoed back in filters. ?page=N gives 5 per page plus pagination; without page you get count instead.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 400:
|
|||
| GET | /warnings/user/:user_id |
🔒 Token Required | owner manager director staff |
🔐 Permission Requirements
Required Permissions:
owner manager director staff
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
owner manager director staff
Notes: A user's warnings, newest first. include_inactive is only echoed back in filters. ?page=N gives 5 per page plus pagination; without page you get count instead.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 500:
|
|||
| POST | /warnings/ |
🌐 Public | public |
🔐 Permission Requirements
Required Permissions:
public
Authentication:
🌐 Public Access
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors |
|||
| PUT | /warnings/:id |
🔒 Token Required | supervisor manager director owner developer head_developer api_edit |
🔐 Permission Requirements
Required Permissions:
supervisor manager director owner developer head_developer api_edit
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
supervisor manager director owner developer head_developer api_edit
Notes: Only reason can be changed.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| DELETE | /warnings/:id |
🔒 Token Required | supervisor manager director owner developer head_developer api_edit |
🔐 Permission Requirements
Required Permissions:
supervisor manager director owner developer head_developer api_edit
Authentication:
🔒 Token Required
User Must Have (one of these, or a higher rank):
supervisor manager director owner developer head_developer api_edit
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 403:
HTTP 403:
HTTP 404:
HTTP 500:
|
|||
| GET | /tt/sotd |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: Today's skill of the day (the newest tt_sotd row).
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 404:
HTTP 500:
|
|||
| GET | /tt/status/current |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: One summary for the status page: each server (online = updated in the last 3 minutes), its DXP and the skill of the day. remaining_ms / extra_ms are milliseconds.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 500:
|
|||
| GET | /tt/status/overview |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: Everything the bot status card shows (22 Oct 2026). top_jobs and in_game_discord_ids only count online servers. trend: players now, an hour ago (null if no reading 45-75 min ago) and the 24-hour peak (peak_at ms, null while now is the peak). busiest: the busiest 5 UTC hours of the last 7 days (null under 3 days of history). Parts without data are null.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 500:
|
|||
| GET | /tt/dxp |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: DXP rows per server, with time_remaining and extra_time (milliseconds) also written out as text.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 500:
|
|||
| GET | /tt/servers |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: tt_server_status rows, newest first.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 500:
|
|||
| GET | /tt/players |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: tt_players_data rows (players seen in the last 30 days), newest first. active = online in the latest update. Booleans are 0/1.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 500:
|
|||
| GET | /tt/faction/summary |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: The GCO faction from the Tycoon API (cached). balance and tax come from balance.json.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 502:
|
|||
| GET | /tt/faction |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: Faction members (tt_faction_gco rows), most earned first. joined is a timestamp from Tycoon.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 500:
|
|||
| GET | /tt/quarry |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: Quarry workers (tt_quarry_workers rows). ?type=summary returns tt_quarry_summary rows instead (total_quarry_workers, active_quarry_workers, excavators, chernotippers, mule_tippers). server is an optional filter.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 500:
|
|||
| GET | /tt/charges |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: How many Tycoon API charges the harvester's key has left, how many were used (null without enough history) and the last 30 days of readings (recorded_at in ms), oldest first.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 404:
HTTP 500:
|
|||
| POST | /tt/register-token |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: Saves your private Tycoon API key so /tt/my-wealth can show your money. You must be online in Tycoon with Discord linked; the key is checked against Tycoon first.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 400:
HTTP 500:
|
|||
| GET | /tt/skills/:discord_id |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: A player's skills from Tycoon (cached 5 minutes), found by their Discord ID. Tycoon lookups: 5 a minute per caller, 30 for the bot account; cached answers don't count.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 400:
HTTP 404:
HTTP 429:
HTTP 502:
|
|||
| GET | /tt/my-wealth |
🔒 Token Required | api-only |
🔐 Permission Requirements
Required Permissions:
api-only
Authentication:
🔒 Token Required
Notes: Your in-game money, updated by the harvester with the key you registered.
🔧 Axios Example
✅ Success Response (200)
❌ Common Errors
HTTP 401:
HTTP 404:
HTTP 500:
|
|||