Helpdesk API
20 PracBill API endpoints for helpdesk. Base URL https://billing.pracbill.com.au/api.
Get all tickets for a customer
GET /{api_key}/helpdesk/customer/{cid}/tickets
Parameters
| Name | In | Type | Description |
|---|---|---|---|
status | query | integer | Filter by status |
limit | query | integer | Limit results |
Responses
200— Customer tickets retrieved successfully
Get a specific note
GET /{api_key}/helpdesk/note/{noteid}
Responses
200— Note retrieved successfully
Delete a note
POST /{api_key}/helpdesk/note/{noteid}/delete
Responses
200— Note deleted successfully
Update a note
POST /{api_key}/helpdesk/note/{noteid}/update
Request body
| Field | Type | Description |
|---|---|---|
note | string | |
internal | integer | |
ignore_response | boolean |
Responses
200— Note updated successfully
Create a new helpdesk ticket
POST /{api_key}/helpdesk/ticket/create
Request body
| Field | Type | Description |
|---|---|---|
cid required | integer | |
subject required | string | |
body | string | |
uid | integer | Assigned user ID |
priority | integer | 1=low, 2=medium, 3=high |
ostype | string | |
internal | integer | Internal note flag (0 or 1) |
contacts | array of object |
Responses
200— Ticket created successfully
Get a specific helpdesk ticket with full details
GET /{api_key}/helpdesk/ticket/{htid}
Responses
200— Ticket retrieved successfully
Assign a ticket to a user
POST /{api_key}/helpdesk/ticket/{htid}/assign/{uid}
Responses
200— Ticket assigned successfully
Download a single attachment belonging to a helpdesk ticket. The file content is base64 encoded in the JSON response. Files larger than 10MB are not served.
GET /{api_key}/helpdesk/ticket/{htid}/attachment/{rdid}
Responses
200— Attachment retrieved successfully, or a JSON error describing why it could not be served
Close a helpdesk ticket
POST /{api_key}/helpdesk/ticket/{htid}/close
Request body
| Field | Type | Description |
|---|---|---|
note | string | Closing note |
uid | integer | User closing the ticket |
Responses
200— Ticket closed successfully
Add a note to a ticket
POST /{api_key}/helpdesk/ticket/{htid}/note/add
Request body
| Field | Type | Description |
|---|---|---|
note required | string | |
uid | integer | |
internal | integer | 0=customer visible, 1=internal only |
ignore_response | boolean |
Responses
200— Note added successfully
Get all notes for a ticket
GET /{api_key}/helpdesk/ticket/{htid}/notes
Responses
200— Notes retrieved successfully
Set ticket priority
POST /{api_key}/helpdesk/ticket/{htid}/priority/{priority}
Responses
200— Priority updated successfully
Reopen a closed helpdesk ticket
POST /{api_key}/helpdesk/ticket/{htid}/reopen
Request body
| Field | Type | Description |
|---|---|---|
note | string | Reopening note |
uid | integer | User reopening the ticket |
Responses
200— Ticket reopened successfully
Update a helpdesk ticket
POST /{api_key}/helpdesk/ticket/{htid}/update
Request body
| Field | Type | Description |
|---|---|---|
subject | string | |
uid | integer | |
priority | integer | |
status | integer | |
ostype | string | |
cid | integer |
Responses
200— Ticket updated successfully
Void a helpdesk ticket
POST /{api_key}/helpdesk/ticket/{htid}/void
Request body
| Field | Type | Description |
|---|---|---|
note | string | Void reason |
uid | integer | User voiding the ticket |
Responses
200— Ticket voided successfully
Get paginated list of helpdesk tickets with filtering
GET /{api_key}/helpdesk/tickets
Parameters
| Name | In | Type | Description |
|---|---|---|---|
status | query | integer | Filter by status (0=open, 1=closed, 2=void) |
cid | query | integer | Filter by customer ID |
uid | query | integer | Filter by assigned user ID |
priority | query | integer | Filter by priority (1=low, 2=medium, 3=high) |
search | query | string | Search in subject and company |
limit | query | integer | Records per page (default: 20) |
Responses
200— Tickets retrieved successfully
Get all outstanding (open) tickets
GET /{api_key}/helpdesk/tickets/outstanding
Responses
200— Outstanding tickets retrieved successfully
Get outstanding tickets for a specific user
GET /{api_key}/helpdesk/tickets/outstanding/{uid}
Responses
200— Outstanding tickets retrieved successfully
Get paginated list of helpdesk tickets
GET /{api_key}/helpdesk/tickets/page/{page_number}
Responses
200— Tickets retrieved successfully
Search helpdesk tickets
POST /{api_key}/helpdesk/tickets/search
Request body
| Field | Type | Description |
|---|---|---|
query required | string | Search term |
status | integer | |
limit | integer |
Responses
200— Search results retrieved successfully