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

NameInTypeDescription
statusqueryintegerFilter by status
limitqueryintegerLimit 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

FieldTypeDescription
notestring
internalinteger
ignore_responseboolean

Responses

  • 200 — Note updated successfully

Create a new helpdesk ticket

POST /{api_key}/helpdesk/ticket/create

Request body

FieldTypeDescription
cid requiredinteger
subject requiredstring
bodystring
uidintegerAssigned user ID
priorityinteger1=low, 2=medium, 3=high
ostypestring
internalintegerInternal note flag (0 or 1)
contactsarray 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

FieldTypeDescription
notestringClosing note
uidintegerUser closing the ticket

Responses

  • 200 — Ticket closed successfully

Add a note to a ticket

POST /{api_key}/helpdesk/ticket/{htid}/note/add

Request body

FieldTypeDescription
note requiredstring
uidinteger
internalinteger0=customer visible, 1=internal only
ignore_responseboolean

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

FieldTypeDescription
notestringReopening note
uidintegerUser reopening the ticket

Responses

  • 200 — Ticket reopened successfully

Update a helpdesk ticket

POST /{api_key}/helpdesk/ticket/{htid}/update

Request body

FieldTypeDescription
subjectstring
uidinteger
priorityinteger
statusinteger
ostypestring
cidinteger

Responses

  • 200 — Ticket updated successfully

Void a helpdesk ticket

POST /{api_key}/helpdesk/ticket/{htid}/void

Request body

FieldTypeDescription
notestringVoid reason
uidintegerUser voiding the ticket

Responses

  • 200 — Ticket voided successfully

Get paginated list of helpdesk tickets with filtering

GET /{api_key}/helpdesk/tickets

Parameters

NameInTypeDescription
statusqueryintegerFilter by status (0=open, 1=closed, 2=void)
cidqueryintegerFilter by customer ID
uidqueryintegerFilter by assigned user ID
priorityqueryintegerFilter by priority (1=low, 2=medium, 3=high)
searchquerystringSearch in subject and company
limitqueryintegerRecords 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

FieldTypeDescription
query requiredstringSearch term
statusinteger
limitinteger

Responses

  • 200 — Search results retrieved successfully

← All API groups