6 · Support Tickets

GET/api/v1/support-tickets/tickets

List customer tickets

List tickets for a customer, identified by email.

Scope: full-access or ticket-management or read-only

Query params

ParamTypeNotes
customerEmailstring (required, email)Customer to fetch tickets for
statusstring (optional)OPEN
pageinteger (optional, min 1, default 1)Page number
limitinteger (optional, 1–100, default 20)Items per page

Success — 200 OK returns paginated ticket list.

Headers

x-api-key

Parameters

customerEmailquerystringdefault: Customer email (required)
pagequerystringdefault: Page number (default 1)
limitquerystringdefault: Items per page (1–100, default 20)

Responses

200 – Tickets list

{
  "tickets": [
    {
      "ticketId": "tkt_abc123",
      "title": "Unable to export invoice PDF",
      "status": "OPEN",
      "priority": "HIGH",
      "createdAt": "2026-06-26T10:00:00.000Z"
    }
  ],
  "total": 1,
  "page": 1,
  "limit": 20
}
boltTry it
env
GEThttp://localhost:5050/api/v1/support-tickets/tickets

Query parameters

customerEmail
page
limit

Headers

x-api-key

Code samples

curl -X GET 'http://localhost:5050/api/v1/support-tickets/tickets'
POST/api/v1/support-tickets/tickets

Create ticket

Create a support ticket on behalf of a customer. Auto-creates the customer record if not found.

Scope: full-access or ticket-management

Request body

FieldTypeNotes
titlestring (required, max 200)Ticket title
descriptionstring (required, max 5000)Full description
customerNamestring (required, max 100)Customer full name
customerEmailstring (required, email)Customer email
prioritystring (optional)LOW
categorystring (optional, max 100)Ticket category

Success — 201 Created

{ "ticketId": "tkt_abc123", "status": "OPEN", "createdAt": "2026-06-26T10:00:00.000Z" }

The test script saves ticketId to the environment automatically.

Headers

x-api-key

Request body

application/json
{
  "title": "Unable to export invoice PDF",
  "description": "When I click \"Export as PDF\" on any invoice page, I get a blank file. Tested on Chrome 125 and Firefox 128. The file is 0 bytes. My account ID is ACC-4471.",
  "customerName": "Alice Smith",
  "customerEmail": "alice@example.com",
  "priority": "HIGH",
  "category": "Billing"
}

Responses

Successful response

null
boltTry it
env
POSThttp://localhost:5050/api/v1/support-tickets/tickets

Headers

x-api-key

Request body

Code samples

curl -X POST 'http://localhost:5050/api/v1/support-tickets/tickets' \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "title": "Unable to export invoice PDF",
  "description": "When I click \"Export as PDF\" on any invoice page, I get a blank file. Tested on Chrome 125 and Firefox 128. The file is 0 bytes. My account ID is ACC-4471.",
  "customerName": "Alice Smith",
  "customerEmail": "alice@example.com",
  "priority": "HIGH",
  "category": "Billing"
}'
POST/api/v1/support-tickets/tickets/comments

Add customer comment

Add a public comment from the customer to a ticket.

Scope: full-access or ticket-management

Side effects:

  • Auto-reopens RESOLVED tickets to IN_PROGRESS
  • Cannot comment on CLOSED tickets (returns 422)

Path param: ticketId (auto-filled from environment)

Request body

FieldTypeNotes
customerEmailstring (required, email)Ownership verification
contentstring (required, max 5000)Comment text
attachmentsarray (optional, max 5)Each item: URI string or {url, name} object

Success — 201 Created

{ "commentId": "cmt_abc123", "createdAt": "2026-06-26T10:05:00.000Z" }

Headers

x-api-key

Request body

application/json
{
  "customerEmail": "alice@example.com",
  "content": "I tried on Edge as well and the PDF is still blank. I noticed it only happens for invoices older than 90 days. Recent invoices export fine.",
  "attachments": [
    {
      "url": "https://storage.example.com/screenshots/blank-pdf.png",
      "name": "blank-pdf.png"
    }
  ]
}

Responses

Successful response

null
boltTry it
env
POSThttp://localhost:5050/api/v1/support-tickets/tickets/comments

Headers

x-api-key

Request body

Code samples

curl -X POST 'http://localhost:5050/api/v1/support-tickets/tickets/comments' \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "customerEmail": "alice@example.com",
  "content": "I tried on Edge as well and the PDF is still blank. I noticed it only happens for invoices older than 90 days. Recent invoices export fine.",
  "attachments": [
    {
      "url": "https://storage.example.com/screenshots/blank-pdf.png",
      "name": "blank-pdf.png"
    }
  ]
}'