Skip to content

Support tickets API

All endpoints under /api/support/tickets require a bearer token. Reading needs support:read, creating needs support:create, replying or closing needs support:update.

Prefer email? Writing to support@microapps.io opens a ticket too.

List your tickets

http
GET /api/support/tickets?page=1&limit=20&search=pod

Paginated. Returns the standard { data, total, page, limit, totalPages } envelope.

Get a ticket

http
GET /api/support/tickets/:id

Returns the ticket with its full messages thread (yours and ours), in order.

Create a ticket

http
POST /api/support/tickets
json
{
  "subject": "Cannot start my pod",
  "category": "technical",
  "message": "I clicked start and it flips straight back to stopped."
}

category is one of:

CategoryUse it for
generalAnything that does not fit below
billingCredit, invoices, payments
technicalSomething is broken or behaving oddly
accountLogin, profile, team, access
feature"It would be great if..."

Reply to a ticket

http
POST /api/support/tickets/:id/replies
json
{ "message": "Here is the log output you asked for..." }

Replying to a ticket that is waiting on you flips it back to open. Closed or resolved tickets reject replies with a 400.

Close a ticket

http
PATCH /api/support/tickets/:id/close

Marks the ticket closed. Closed and resolved tickets don't take replies - open a new ticket if there's more to say.

Ticket status

A ticket moves through these as we work it, and you will see the current one on the ticket:

StatusMeaning
openWe have it, not started yet
inProgressSomeone is on it
waitingWe are waiting on you, usually for a reply
resolvedWe think it is sorted
closedDone, or you closed it

curl example

bash
curl -X POST https://cloud-api.microapps.io/api/support/tickets \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"subject":"Cannot start my pod","category":"technical","message":"..."}'

Built for the long tail.