Helpdesk API
List, create and update tickets and add comments.
Helpdesk endpoints are under /api/helpdesk. They need the Authorization and X-Organization-Id headers.
| Method and path | What it does |
|---|---|
| GET /api/helpdesk/tickets | List tickets, newest first |
| POST /api/helpdesk/tickets | Create a ticket |
| GET /api/helpdesk/tickets/:id | Get one ticket |
| PUT /api/helpdesk/tickets/:id | Update a ticket |
| DELETE /api/helpdesk/tickets/:id | Delete a ticket |
| GET /api/helpdesk/tickets/:id/comments | List a ticket’s comments |
| POST /api/helpdesk/tickets/:id/comments | Add a comment |
#List tickets
| Query | Meaning |
|---|---|
| status | Filter by status. Values are OPEN, PENDING, RESOLVED and CLOSED |
| spam | Set to true to list tickets marked as spam |
| projectId | Only tickets linked to a project |
Request
curl "https://api.aozo.in/api/helpdesk/tickets?status=OPEN" \
-H "Authorization: Bearer $TOKEN" \
-H "X-Organization-Id: $ORG"Each ticket includes its creator, agent and customer, and a count of comments. Non-admin users see the tickets they created or are assigned.
#Create a ticket
| Field | Type | Notes |
|---|---|---|
| subject | string | Required |
| description | string | What the customer needs |
| priority | string | LOW, MEDIUM (default), HIGH or URGENT |
| customerId | number | An existing customer |
| contactName, accountName, email, phone | string | Who raised it |
| classification, productName, additionalInfo | string | Extra detail |
| dueDate, language, channel, projectId | various | Optional |
Request
curl -X POST https://api.aozo.in/api/helpdesk/tickets \
-H "Authorization: Bearer $TOKEN" \
-H "X-Organization-Id: $ORG" \
-H "Content-Type: application/json" \
-d '{ "subject": "Delivery address change", "description": "Please update the address on order 2047.", "priority": "HIGH", "email": "orders@example.com" }'Note
Ticket creation returns 403 if your plan’s ticket limit is reached. A ticket from a blocked sender, or a duplicate of one in the last 7 days, is marked as spam.
#Add a comment
Body for POST /api/helpdesk/tickets/:id/comments
{ "content": "We have updated the address and will ship today.", "isInternal": false }Set isInternal to true for a note only your team can see.