DiscordNext API
A JSON REST API to read and act on your tickets, categories, panels and stats from your own tools. Available on the Expert plan.
https://discordnext.com/apiIntroduction
Every request is scoped to a single Discord server via its API key. Responses are JSON with snake_case fields. Lists return { object: "list", data: [...] } with total, limit and offset.
Authentication
Create a key in your dashboard under API (Expert plan). It's shown once — store it safely. Send it as a Bearer token:
Authorization: Bearer dn_live_xxxxxxxxxxxxxxxxxxxxxxxxKeys are scoped to one server. Revoking a key in the dashboard takes effect immediately.
Rate limits
Up to 120 requests per minute per key. Exceeding it returns 429 with a Retry-After header.
Errors
Standard HTTP status codes. Failures return a JSON body with a message.
401— missing, invalid or revoked key403— the server isn't on the Expert plan404— resource not found (or not in your server)409— conflict (e.g. ticket already closed)429— rate limit exceeded
/v1/ticketsList tickets, newest first. Filter by status or category and paginate.
status· string — open · claimed · waiting · closedcategory_id· string — filter to one categorylimit· int — 1–100 (default 25)offset· int — pagination offset
curl https://discordnext.com/api/v1/tickets \
-H "Authorization: Bearer $DN_KEY"{
"object": "list",
"total": 142,
"limit": 25,
"offset": 0,
"data": [
{
"id": "f3a…",
"number": 42,
"status": "open",
"priority": "high",
"creator": { "id": "1007…", "name": "luna" },
"claimed_by": null,
"category": { "id": "c1…", "name": "Support", "emoji": "🛟", "color": "#6366f1" },
"created_at": "2026-06-05T16:38:00.000Z"
}
]
}/v1/tickets/{id}Retrieve a single ticket by id.
curl https://discordnext.com/api/v1/tickets/{id} \
-H "Authorization: Bearer $DN_KEY"/v1/tickets/{id}/transcriptThe stored HTML transcript (closed tickets with retention enabled).
curl https://discordnext.com/api/v1/tickets/{id}/transcript \
-H "Authorization: Bearer $DN_KEY"/v1/tickets/{id}/prioritySet the ticket priority and post a notice in the channel.
priority· string · required — low · medium · high · urgent
curl -X POST https://discordnext.com/api/v1/tickets/{id}/priority \
-H "Authorization: Bearer $DN_KEY" \
-H "Content-Type: application/json" \
-d '{"priority":"high"}'/v1/tickets/{id}/assignAssign the ticket to a staff member.
user_id· string · required — Discord user IDname· string — display name (optional)
curl -X POST https://discordnext.com/api/v1/tickets/{id}/assign \
-H "Authorization: Bearer $DN_KEY" \
-H "Content-Type: application/json" \
-d '{"user_id":"392384246737534978","name":"Dodo"}'/v1/tickets/{id}/notePost a note into the ticket, optionally to the internal staff thread.
content· string · required — max 2000 charsinternal· bool — true → staff thread
curl -X POST https://discordnext.com/api/v1/tickets/{id}/note \
-H "Authorization: Bearer $DN_KEY" \
-H "Content-Type: application/json" \
-d '{"content":"Refund processed in Stripe.","internal":true}'/v1/tickets/{id}/closeMark the ticket closed and notify the channel.
reason· string — optional close reason
curl -X POST https://discordnext.com/api/v1/tickets/{id}/close \
-H "Authorization: Bearer $DN_KEY" \
-H "Content-Type: application/json" \
-d '{"reason":"Resolved."}'/v1/categoriesThe server's ticket categories.
curl https://discordnext.com/api/v1/categories \
-H "Authorization: Bearer $DN_KEY"/v1/panelsThe server's ticket panels.
curl https://discordnext.com/api/v1/panels \
-H "Authorization: Bearer $DN_KEY"/v1/statsHigh-level ticket counts.
curl https://discordnext.com/api/v1/stats \
-H "Authorization: Bearer $DN_KEY"{ "total": 142, "open": 14, "closed_this_week": 31, "by_status": { "open": 9, "claimed": 5, "closed": 128 } }