Tickets

Create, list, update, and manage support tickets programmatically. Tickets are the core of the Helmdesk helpdesk — each belongs to a project and is linked to a customer.

POST/api/v1/tickets

Create a support ticket. A customer record is automatically created or matched by email.

const ticket = await helmdesk.tickets.create({
  subject: 'Cannot login',
  body: 'I keep getting a 403 error when...',
  customerEmail: 'user@example.com',
  customerName: 'Jane Smith',
  priority: 'high',
})
GET/api/v1/tickets

List tickets with pagination. Filter by status, priority, or search by subject/email.

const { tickets, total } = await helmdesk.tickets.list({
  status: 'open',
  priority: 'high',
  page: 1,
  limit: 25,
})
GET/api/v1/tickets/:id

Get full ticket details including messages, tags, and customer info.

const ticket = await helmdesk.tickets.get('ticket-uuid')
// ticket.messages, ticket.tags, ticket.customer
PATCH/api/v1/tickets/:id

Update ticket status, priority, category, or assignee.

await helmdesk.tickets.update('ticket-uuid', {
  status: 'resolved',
  priority: 'low',
})
POST/api/v1/tickets/:id/messages

Add a message to a ticket thread. Use this to reply to tickets from your own UI.

await helmdesk.tickets.addMessage('ticket-uuid', {
  body: 'Thanks for reaching out! Here\'s how to fix it...',
})

Ticket statuses

newopenpendingresolvedclosed

Priority levels

lowmediumhighurgent