Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/thenoname-gurl/EcliPanel/llms.txt

Use this file to discover all available pages before exploring further.

EcliPanel’s ticketing system handles user support requests with an optional AI-assisted reply feature. Tickets are categorised by department and priority, and can be answered either by a staff member or by the AI model linked to the panel. Application forms provide a structured intake alternative to free-form tickets.
Ticket endpoints require the ticketing feature flag to be enabled. Application form endpoints require the applications feature flag.

Tickets

List tickets

GET /api/tickets Returns all tickets belonging to the authenticated user, or all tickets if the caller has staff-level access.
curl https://your-panel.example.com/api/tickets \
  -H "Cookie: session=<token>"
id
number
Ticket ID.
subject
string
Ticket subject line.
status
string
Current status: open, pending, resolved, or closed.
priority
string
Priority level: urgent, high, medium, or low.
department
string
Department the ticket is assigned to: Technical Support, Billing, Sales, or Security.
createdAt
string
ISO 8601 creation timestamp.
updatedAt
string
ISO 8601 last-updated timestamp.

Create ticket

POST /api/tickets/create
subject
string
required
Short subject line for the ticket.
message
string
required
Initial message body.
priority
string
One of urgent, high, medium, or low. Defaults to medium.
department
string
One of Technical Support, Billing, Sales, or Security. Defaults to Technical Support.
curl -X POST https://your-panel.example.com/api/tickets/create \
  -H "Cookie: session=<token>" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Cannot start my Minecraft server",
    "message": "I get an error when clicking the start button. The logs show OOM.",
    "priority": "high",
    "department": "Technical Support"
  }'
success
boolean
Whether the ticket was created.
ticket
object

Get ticket details

GET /api/tickets/:id Returns a ticket and its full reply thread.
id
number
required
Ticket ID.
curl https://your-panel.example.com/api/tickets/42 \
  -H "Cookie: session=<token>"
id
number
Ticket ID.
subject
string
Ticket subject.
status
string
Current status.
replies
object[]

Reply to a ticket

POST /api/tickets/:id/reply
id
number
required
Ticket ID.
message
string
required
Reply message body.
If AI is enabled and configured, staff replies may be AI-generated based on panel policy knowledge. The AI is aware of geo-block rules, tax settings, and other panel configuration when formulating responses.
curl -X POST https://your-panel.example.com/api/tickets/42/reply \
  -H "Cookie: session=<token>" \
  -H "Content-Type: application/json" \
  -d '{"message":"Thank you for the report. Please increase your RAM allocation to 4096 MB."}'
success
boolean
Whether the reply was saved.
reply
object
The created reply record.

Ticket statistics

GET /api/tickets/stats Returns aggregate ticket counts by status. Useful for staff dashboards.
curl https://your-panel.example.com/api/tickets/stats \
  -H "Cookie: session=<token>"
open
number
Count of open tickets.
pending
number
Count of pending tickets.
resolved
number
Count of resolved tickets.
closed
number
Count of closed tickets.

Application forms

Application forms provide structured intake for requests that don’t fit a standard support ticket—for example, beta access requests, verification submissions, or onboarding workflows.

List application forms

GET /api/applications/forms Returns forms the authenticated user is eligible to view and submit.
curl https://your-panel.example.com/api/applications/forms \
  -H "Cookie: session=<token>"
id
number
Form ID.
title
string
Form title.
description
string
Short description of the form’s purpose.
active
boolean
Whether the form is accepting submissions.
maxSubmissionsPerUser
number
Maximum submissions per user. Default is 5.

Submit an application

POST /api/applications/forms/:id/submit
id
number
required
Form ID.
responses
object
required
Key-value map of field IDs to response values, as defined by the form’s question schema.
curl -X POST https://your-panel.example.com/api/applications/forms/7/submit \
  -H "Cookie: session=<token>" \
  -H "Content-Type: application/json" \
  -d '{
    "responses": {
      "reason": "I want to join the beta to test the new tunnel feature.",
      "experience": "3 years of game server administration"
    }
  }'
success
boolean
Whether the submission was accepted.
submissionId
number
ID of the created submission record.

Build docs developers (and LLMs) love