Skip to main content

Ticket Endpoints

Core Tickets (Faults)

Tickets in HaloPSA are referred to as "Faults" in the API. All endpoints require authentication.


Faults

GET /Tickets

Summary: List of Faults

Description: Returns multiple Fault records. Supports extensive filtering, sorting, pagination, and optional field inclusion.

Query Parameters:

ParameterTypeDescription
advanced_searchstringAdvanced search string
agentstring(array of int) Filter by Agent IDs
agent_idintegerFilter by a single agent ID
alerttypestringIncludes fninjaalertid field; use 'ninjarmm'
asset_idintegerFilter by asset ID
awaitinginputstringFilter awaiting input
billableonlybooleanReturn only billable tickets
billing_datestringFilter on billing date
billing_typestringFilter on billing type
billingcontractidintegerFilter by billing contract ID
calendar_enddatestringActions occurred before this date
calendar_startdatestringActions occurred after this date
category_1string(array of int) Filter by category 1 IDs
category_2string(array of int) Filter by category 2 IDs
category_3string(array of int) Filter by category 3 IDs
category_4string(array of int) Filter by category 4 IDs
cf_display_values_onlybooleanUse performant method for custom fields; returns display values only (limited to first 1000 chars)
checkmyticketsonlybooleanReturn only own tickets
client_idintegerFilter by client ID
client_idsstring(array of int) Filter by multiple client IDs
client_refstringFilter by client reference
closed_onlybooleanReturn only closed tickets
columns_idintegerColumn profile ID
contract_idintegerFilter by contract ID
contract_periodintegerFilter by contract period ID
countintegerNumber of tickets to return
datesearchstringDate field to search against. Examples: dateoccured (Date Opened), datecleared (Date Closed)
debugbooleanInclude debug information
default_columnsbooleanInclude only default columns
deletedbooleanInclude deleted tickets
domainstringFilter by ticket area: reqs, opps (opportunities), prjs (projects)
enddatestringEnd date for use with datesearch
enddatetimebooleanInclude project end date/time details
excludeslacalcsbooleanExclude SLA calculation details
excludethesestring(array of int) Exclude tickets with these fault IDs
excludetickettypeallowallbooleanExclude ticket type allow-all details
extraportalfilterstringMyTicketsOnly or MyClientTickets
facebook_idstringFilter by Facebook ID
fetchgrandchildrenbooleanInclude grandchildren tickets
flaggedstring(array of int) Filter by flagged ticket IDs
followedandagentsstring(array of int) Filter by agent and follower IDs
ignoremilestonerestrictionbooleanIgnore milestone restrictions
includeaccountmanagerbooleanInclude account manager details
includeagentbooleanInclude agent details
includeallopenbooleanInclude all open tickets
includeappointmentidbooleanInclude appointment ID
includeapprovalstring(array of int) Filter approval tickets: 1 = approval, 0 = not approval
includeassetkeyfieldbooleanInclude asset key field
includeassettypebooleanInclude asset type details
includebreachedstring(array of int) Filter by breached ticket IDs
includebudgettypebooleanInclude budget type details
includechildidsbooleanInclude child ticket IDs
includechildreadbooleanInclude child tickets read details
includechildrenstring(array of int) 0 = no children/not a child, 1 = has children, 2 = is a child
includeclosedstring(array of int) 1 = closed, 0 = not closed
includecolumnsbooleanInclude column details
includecompletedbooleanInclude completed tickets
includecontractbooleanInclude contract details
includefirstnamebooleanInclude user first name
include_custom_fieldsstringComma-separated list of custom field IDs to include
includefollowedonlystring(array of int) Filter by follower IDs
includeholdstring(array of int) Filter by on-hold ticket IDs
includeinactivetechsstring(array of int) Filter by inactive tech IDs
includeinactiveusersstring(array of int) 1 = inactive, 0 = active
includeitilnamebooleanInclude ITIL name details
includelastactionbooleanInclude last action (only when single ticket returned)
includelastincomingemailbooleanInclude last incoming email details
includelastnamebooleanInclude user last name
includelastnotebooleanInclude last note details
includelockedbooleanInclude locked tickets
includemailboxbooleanInclude email box details
includemyuseronlystring(array of int) Filter by own user ID
includenextactivitydatebooleanInclude next activity date
includenextappointmenttypebooleanInclude next appointment type
includeprojectsstring(array of int) 1 = opportunities not projects, 2 = projects not opportunities, 0 = neither
includereadstring(array of int) Filter by read ticket IDs
includerelatedservicesbooleanInclude related services
includerelease1booleanInclude release 1 details
includerelease2booleanInclude release 2 details
includerelease3booleanInclude release 3 details
includeservicecategorybooleanInclude service category
includeslaactiondatebooleanInclude SLA action date
includeslatimerbooleanInclude SLA timer
includestatusbooleanInclude status details
includesubmittedonlystring(array of int) Filter by agent submitted IDs
includesupplierbooleanInclude supplier details
includetickettypebooleanInclude ticket type details
includetimetakenbooleanInclude time taken
includetoplevelbooleanInclude top level details
includeviewingbooleanInclude tickets currently being viewed
includeworkflowstagebooleanInclude workflow stage details
includeworkflowstagenumberbooleanInclude workflow stage number
inlcludeopenchildcountbooleanInclude open child ticket count
ismilestonebooleanFilter milestone tickets
isorionbooleanInclude Orion integration details
isquicktimesearchbooleanReturn only quick time tickets
isscombooleanInclude SCOM integration details
isteamsbooleanReturn only Teams tickets
iszapierbooleanReturn single ticket based on permissions
itil_requesttypestring(array of int) Filter by ITIL request type IDs
itil_requesttype_idintegerFilter by ITIL ticket type
kanbanviewontheagentappbooleanInclude agent app kanban view
kanbanviewontheportalbooleanInclude portal kanban view
lastupdatefromdatebooleanFilter by last update from date
lastupdatetodatebooleanFilter by last update to date
list_idintegerFilter by list ID
milestone_idintegerFilter by milestone ID
minebooleanReturn only tickets belonging to the authenticated user
open_onlybooleanReturn only open tickets
orderstringField name to order by (primary)
order2stringField name to order by (secondary)
order3stringField name to order by (tertiary)
order4stringField name to order by (fourth)
order5stringField name to order by (fifth)
orderdescbooleanDescending order on primary sort
orderdesc2booleanDescending order on secondary sort
orderdesc3booleanDescending order on tertiary sort
orderdesc4booleanDescending order on fourth sort
orderdesc5booleanDescending order on fifth sort
orion_typeintegerFilter by Orion type
page_nointegerPage number for pagination
page_sizeintegerPage size for pagination (maximum: 100)
pageinatebooleanEnable pagination
parent_idintegerFilter by parent ticket ID
pending_reviewbooleanFilter on pending review
per_actionbooleanCalculate billing per action
prioritystring(array of int) Filter by priority IDs
productstring(array of int) Filter by product IDs
project_idsstringFilter by project IDs
ready_for_invoicingbooleanFilter ready-for-invoicing tickets
related_idintegerFilter by related ticket ID
release_idintegerFilter by release ID
requesttypestring(array of int) Filter by request type IDs
requesttype_idintegerFilter by single request type
requesttypegroupstring(array of int) Filter by request type group IDs
searchstringGeneral search string
search_detailsstringSearch by ticket details field
search_idstringSearch by ticket ID
search_inventory_numberstringSearch by asset tag
search_oppcompanynamestringSearch by opportunity company name
search_oppcontactnamestringSearch by opportunity contact name
search_oppemailaddressstringSearch by opportunity email address
search_release1stringSearch by release 1
search_release2stringSearch by release 2
search_release3stringSearch by release 3
search_releasenotestringSearch by release note
search_reportedbystringSearch by reported-by field
search_summarystringSearch by ticket summary
search_supplier_referencestringSearch by supplier reference
search_user_namestringSearch by user name
search_versionstringSearch by software version
searchactionsbooleanSearch actions when using search
searchthisticketidintegerFilter by specific ticket ID
service_idintegerFilter by service ID
showonroadmapstring(array of int) 1 = visible on roadmap, 0 = not visible
third_party_idintegerFilter by third party ID
third_party_id_stringstringFilter by third party ID string
site_idintegerFilter by site ID
sitepostcodebooleanInclude site postcode
slastring(array of int) Filter by SLA IDs
sprintsbooleanReturn only sprint tickets
startandendsetbooleanFilter tickets with project start and end date set
startdatestringStart date for use with datesearch
startdatetimebooleanInclude project start date/time
statusstring(array of int) Filter by Status IDs
status_idintegerFilter by single status ID
submittedandagentsstring(array of int) Filter by agent and submitted agent IDs
supplier_idintegerFilter by supplier ID
supplier_statusstring(array of int) Filter by supplier status IDs
teamstring(array of int) Filter by Team IDs
team_namestringInclude team name
ticketarea_idintegerReturn tickets in this ticket area
ticketcontract_idintegerFilter by ticket contract ID
ticketidonlybooleanReturn only ID fields (Ticket ID, SLA ID, Status ID, Client ID and Name, last incoming email date). Not compatible with pagination.
ticketidsstringReturn only specific ticket IDs
toplevel_idintegerFilter by top level ID
unlinked_onlybooleanReturn only unlinked tickets
user_idintegerFilter by user ID
usernamestringFilter by username
utcoffsetnumber (double)Add UTC offset to dates
view_idintegerFilter by filter profile ID
withattachmentsbooleanReturn only tickets with 1+ attachments
filetype_filterstringFilter tickets containing an attachment with this file type

Response: 200 OKFaults_View schema


POST /Tickets

Summary: Create Ticket(s)

Description: Creates one or more Fault records.

Request Body: Array of Faults objects (JSON)

Response: 201 CreatedFaults schema


GET /Tickets/{id}

Summary: Get one Fault

Description: Returns a single Fault record by ID.

Path Parameters:

ParameterTypeRequiredDescription
idinteger (int32)YesTicket ID

Query Parameters:

ParameterTypeDescription
amailentryidstringMail entry ID
assignedtointegerAssigned agent ID
consignablelinesbooleanInclude consignable lines
debugbooleanInclude debug information
dodatabaselookupbooleanPerform database lookup
emailstringEmail address
include_auditingbooleanInclude audit log in response
includeagentbooleanInclude agent details
includechildidsbooleanInclude child ticket IDs
includedetailsbooleanInclude extra nested objects
includelastactionbooleanInclude last action
includelastappointmentbooleanInclude last appointment
includelinkedobjectsbooleanInclude linked objects
includenextappointmentbooleanInclude next appointment
includeparentchangeinfobooleanInclude parent change info
includeparentsubjectbooleanInclude parent subject
includeseenbybooleanInclude seen-by details
is_portalbooleanPortal context flag
isdetailscreenbooleanDetail screen context flag
ishalolinkbooleanHalo link context flag
ispreviewbooleanPreview context flag
isteamsbooleanTeams context flag
nocachebooleanBypass cache
subjectstringSubject override
ticketidonlybooleanReturn only ID-related fields
utcoffsetnumber (double)UTC offset for dates

Response: 200 OKFaults schema


DELETE /Tickets/{id}

Summary: Delete one Fault

Description: Deletes a specific Fault record.

Path Parameters:

ParameterTypeRequiredDescription
idinteger (int32)YesTicket ID

Query Parameters:

ParameterTypeDescription
reasonstringReason for deletion

Response: 200 OK


GET /Tickets/zapier

Summary: Zapier integration endpoint

Response: 200 OK


GET /Tickets/salesmailbox

Summary: Sales mailbox endpoint

Response: 200 OK


POST /Tickets/Object

Summary: Create/update ticket as single object

Request Body: Single Faults object (JSON)

Response: 200 OK


POST /Tickets/vote

Summary: Submit vote on tickets

Request Body: Array of Faults objects

Response: 200 OK


POST /Tickets/View

Summary: Batch view update

Request Body: Array of Faults objects

Response: 200 OK


POST /Tickets/processchildren

Summary: Process child tickets

Request Body: Array of Faults objects

Response: 200 OK


POST /Tickets/SetBillableProject

Summary: Set billable project flag

Response: 200 OK


FaultDraft

POST /Draft

Summary: Save ticket draft

Request Body: Array of FaultDraft objects

Request Schema — FaultDraft:

FieldTypeDescription
idintegerDraft ID
tickettype_idinteger (nullable)Ticket type ID
service_idinteger (nullable)Service ID
json_contentany (nullable)Draft content as JSON

Response: 200 OK


FaultApproval

Manages approval workflows on tickets.

GET /TicketApproval

Summary: List FaultApproval records

Description: Returns multiple FaultApproval records.

Query Parameters:

ParameterTypeDescription
action_numberintegerFilter by action number
include_agent_detailsbooleanInclude agent details
include_attachmentsbooleanInclude attachments
includeapprovaldetailsbooleanInclude approval details
minebooleanReturn only own approvals
ticket_idintegerFilter by ticket ID

Response: 200 OK


POST /TicketApproval

Summary: Create FaultApproval record(s)

Request Body: Array of FaultApproval objects

Request Schema — FaultApproval (key fields):

FieldTypeDescription
ticket_idintegerAssociated ticket ID
seqintegerApproval sequence number
resultinteger (nullable)Approval result
emailaddressstring (nullable)Approver email
typeinteger (nullable)Approval type
agent_idinteger (nullable)Approving agent ID
user_idinteger (nullable)Approving user ID
approver_notestring (nullable)Note from approver
summarystring (nullable)Approval summary
notestring (nullable)Additional note
startdatedate-time (nullable)Approval start date
targetdatedate-time (nullable)Approval target date
datetimedate-time (nullable)Approval date/time
approval_process_idinteger (nullable)Approval process ID
approval_process_namestring (nullable)Approval process name
approval_process_guiduuid (nullable)Approval process GUID
is_mandatoryboolean (nullable)Whether approval is mandatory
votes_required_to_acceptinteger (nullable)Votes needed to accept
votes_required_to_rejectinteger (nullable)Votes needed to reject
customfieldsarray of CustomField (nullable)Custom fields
attachmentsarray of Attachment (nullable)Approval attachments
ticket_statusinteger (nullable)Resulting ticket status
dateapproveddate-time (nullable)Date approved
step_idinteger (nullable)Approval step ID
step_namestring (nullable)Approval step name
tokenstring (nullable)Approval token

Response: 200 OK


GET /TicketApproval/{id}

Summary: Get one FaultApproval

Path Parameters:

ParameterTypeRequiredDescription
idinteger (int32)YesApproval record ID

Query Parameters:

ParameterTypeDescription
includedetailsbooleanInclude nested details

Response: 200 OK


DELETE /TicketApproval/{id}&{seq}

Summary: Delete FaultApproval

Path Parameters:

ParameterTypeRequiredDescription
idinteger (int32)YesApproval record ID
seqinteger (int32)YesApproval sequence number

Response: 200 OK


FaultForecasting

GET /FaultsForecasting/{id}

Summary: Get one FaultsForecasting

Description: Returns a single FaultsForecasting record.

Path Parameters:

ParameterTypeRequiredDescription
idinteger (int32)YesForecasting record ID

Query Parameters:

ParameterTypeDescription
includedetailsbooleanInclude nested details

Response: 200 OK


POST /FaultsForecasting

Summary: Create FaultsForecasting record(s)

Request Body: Array of FaultsForecasting objects

Request Schema — FaultsForecasting:

FieldTypeDescription
idintegerRecord ID
agent_idinteger (nullable)Agent ID
ticket_idinteger (nullable)Associated ticket ID
datedate-time (nullable)Forecast date
hoursnumber/double (nullable)Forecasted hours
_warningstring (nullable)Warning message

Response: 200 OK


FaultToDo

GET /ToDo

Summary: List FaultToDo items

Query Parameters:

ParameterTypeDescription
ticket_idintegerFilter by ticket ID

Response: 200 OK


POST /ToDo

Summary: Create FaultToDo item(s)

Request Body: Array of FaultToDo objects

Request Schema — FaultToDo:

FieldTypeDescription
idintegerToDo item ID
ticket_idinteger (nullable)Associated ticket ID
doneboolean (nullable)Completion status
done_by_idinteger (nullable)ID of user who completed it
done_by_namestring (nullable)Name of user who completed it
textstring (nullable)ToDo item text
start_datedate-time (nullable)Start date
end_datedate-time (nullable)End date
actual_startdate-time (nullable)Actual start date
actual_enddate-time (nullable)Actual end date
sequenceinteger (nullable)Display sequence
addedbyinteger (nullable)ID of user who added it
group_idinteger (nullable)ToDo group ID
group_namestring (nullable)ToDo group name
group_seqinteger (nullable)Group sequence

Response: 200 OK


FaultsViewLog

GET /FaultViewLog

Summary: Get fault view log

Response: 200 OK


ConfirmClosure

Manages ticket closure confirmation workflows.

GET /ConfirmClosure

Summary: List ConfirmClosure records

Response: 200 OK


POST /ConfirmClosure

Summary: Create ConfirmClosure record(s)

Request Body: Array of ConfirmClosure objects

Response: 200 OK


GET /ConfirmClosure/{id}

Summary: Get one ConfirmClosure

Path Parameters:

ParameterTypeRequiredDescription
idinteger (int32)YesRecord ID

Query Parameters:

ParameterTypeDescription
includedetailsbooleanInclude nested details

Response: 200 OK


DELETE /ConfirmClosure/{id}

Summary: Delete ConfirmClosure

Path Parameters:

ParameterTypeRequiredDescription
idinteger (int32)YesRecord ID

Response: 200 OK