Skip to main content

Ticket Configuration Endpoints

Ticket Configuration

This section covers the configuration endpoints for ticket types, statuses, outcomes, areas, templates, and categories in HaloPSA.


TOutcome

Ticket outcomes define possible resolution states (e.g., "Fixed", "Workaround Applied"). They control workflow transitions, SLA holds, email notifications, and child ticket creation.

GET /Outcome

Summary: List of TOutcome

Returns multiple TOutcome records. Requires authentication.

ParameterTypeDescription
access_control_levelintegerFilter by access control level
debugbooleanInclude debug information
excludesystemactionsbooleanExclude system-generated actions
quick_onlybooleanReturn only quick outcomes
showhiddenbooleanInclude hidden outcomes
showsystemactionsstringShow system actions
slastateintegerFilter by SLA state
statusintegerFilter by status
supplier_idintegerFilter by supplier
supplier_statusintegerFilter by supplier status
tickettype_idintegerFilter by ticket type
workflow_idintegerFilter by workflow
workflow_stepintegerFilter by workflow step

POST /Outcome

Creates or updates TOutcome records. Request body: array of TOutcome objects.

GET /Outcome/{id}

Summary: Get one TOutcome

Returns a single TOutcome instance by ID. Requires authentication.

ParameterTypeDescription
idinteger (path, required)Outcome ID
action_idintegerFilter by action
anon_ticketidintegerAnonymous ticket ID
contract_idintegerFilter by contract
debugbooleanInclude debug info
includedetailsbooleanInclude related detail objects
invoice_idintegerFilter by invoice
matched_kb_client_idintegerMatched KB client ID
matched_kbidintegerMatched KB article ID
override_user_idintegerOverride user for context
purchaseorder_idintegerFilter by purchase order
quotation_idintegerFilter by quotation
salesorder_idintegerFilter by sales order
selected_supplier_idintegerSelected supplier
ticket_idintegerFilter by ticket
tokenstringAuth token

DELETE /Outcome/{id}

Deletes a TOutcome by ID.

ParameterTypeDescription
idinteger (path, required)Outcome ID

TOutcome Schema — Key Fields

FieldTypeDescription
idintegerOutcome ID
outcomestringOutcome name/label
buttonnamestringLabel shown on action button
labellongstringLong description label
colourstringDisplay colour
sequenceintegerDisplay sort order
hiddenbooleanWhether hidden from normal views
newstatusintegerStatus to set when this outcome is used
sendemailintegerEmail sending behaviour
sendsmsintegerSMS sending behaviour
slaholdischeckedbooleanWhether SLA hold is enabled
slareleaseischeckedbooleanWhether SLA release is enabled
emailtemplate_idintegerEmail template to use
child_template_idintegerTemplate for created child ticket
createchildticketortemplateintegerWhether to create child ticket or use template
child_ticket_type_idintegerTicket type for created child
defaultmanhrsnumberDefault man-hours to log
defaultnonbillnumberDefault non-billable hours
chargerateintegerDefault charge rate
approval_process_idintegerApproval process to trigger
workflow_idintegerWorkflow to apply
workflow_step_idintegerWorkflow step to transition to
mustaddnotebooleanRequire a note before completing
mustassignbooleanRequire assignment before completing
hidefromuserbooleanHide from end-user portal
requesttypeintegerAssociated request type
tickettypesarrayTicket types this outcome applies to
fieldsarrayCustom fields shown for this outcome
access_control_levelintegerAccess control level

TStatus

Ticket statuses represent the lifecycle stages of a ticket (e.g., "Open", "In Progress", "Closed").

GET /Status

Summary: List of TStatus

Returns multiple TStatus records. Requires authentication.

ParameterTypeDescription
domainstringFilter by domain (reqs, opps, prjs)
excludeclosedbooleanExclude closed statuses
excludependingbooleanExclude pending statuses
outcome_idintegerFilter by outcome
showallbooleanShow all statuses
showcountsbooleanInclude ticket counts per status
showquickchangeoptionsbooleanOnly show statuses available for quick change
split_closedbooleanSplit closed statuses separately
ticket_idintegerFilter by ticket context
ticket_id_firstchildintegerFirst child ticket context
ticketarea_idintegerFilter by ticket area
tickettype_group_idintegerFilter by ticket type group
tickettype_idintegerFilter by ticket type
tickettype_idsstringComma-separated list of ticket type IDs
typestringFilter by status type
view_idintegerFilter by view

POST /Status

Creates or updates TStatus records. Request body: array of TStatus objects.

GET /Status/{id}

Summary: Get one TStatus

Returns a single TStatus instance by ID. Requires authentication.

ParameterTypeDescription
idinteger (path, required)Status ID
includedetailsbooleanInclude related detail objects

DELETE /Status/{id}

Deletes a TStatus by ID.

ParameterTypeDescription
idinteger (path, required)Status ID

TStatus Schema — Key Fields

FieldTypeDescription
idintegerStatus ID
namestringStatus display name
shortnamestringShort name/abbreviation
typeintegerStatus type (open/closed/pending etc.)
sequenceintegerSort order
colourstringDisplay colour
slaactionstringSLA action when ticket enters this status
ticket_countintegerCount of tickets in this status
showonquickchangebooleanShow in quick-change dropdown
timeuntilloffholdnumberHours until ticket comes off hold
statuschangetointegerAuto-change to this status after a period
statuschangetofreqnumberFrequency (hours) for auto status change
statusnochangehoursnumberHours of no-change before escalation
nochangetemplateintegerEmail template for no-change notification
statusemailidintegerEmail template for status change notification
statusemailfreqdaysintegerDays between recurring status emails
notifystatuschangeintegerWho to notify on status change
dontsendslaremindersbooleanSuppress SLA reminders in this status
slaignorereleasebooleanIgnore SLA release in this status
includeinloadbalancebooleanInclude in agent load balancing
tickettypesarrayTicket types this status applies to
outcomesarrayOutcomes associated with this status
useworkinghoursintegerWhether to use working hours for timers

RequestType

Ticket types (also called Request Types) define the category of work: incidents, service requests, changes, problems, projects, etc.

GET /TicketType

Summary: List of RequestType

Returns multiple RequestType records. Requires authentication.

ParameterTypeDescription
access_control_levelintegerFilter by access control level
anonanduserbooleanInclude types visible to anonymous users
can_create_onlybooleanOnly types that can be created
can_edit_onlybooleanOnly types that can be edited
canagentsselectbooleanOnly types agents can select
canusercreatebooleanOnly types end-users can create
client_idintegerFilter by client
domainstringFilter by domain (reqs, opps, prjs)
group_idintegerFilter by ticket type group
include_currentintegerInclude this ticket type ID in results
include_mandatory_field_checkbooleanInclude mandatory field validation info
isquicktimedropdownbooleanOnly types shown in quick time dropdown
itil_typeintegerFilter by ITIL type
outcome_idintegerFilter by outcome
searchticketsstringFilter types based on ticket search
showallbooleanAdmin override — show all ticket types
showcountsbooleanInclude ticket counts in response
showinactivebooleanInclude inactive ticket types
sprints_onlybooleanOnly sprint ticket types
ticketarea_idintegerFor showcounts — ticket area filter
user_onlybooleanOnly types visible to the current user
view_idintegerFor showcounts — ticket view filter

POST /TicketType

Creates or updates RequestType records. Request body: array of RequestType objects.

GET /TicketType/{id}

Summary: Get one RequestType

Returns a single RequestType instance by ID. Requires authentication.

ParameterTypeDescription
idinteger (path, required)Ticket type ID
can_create_onlybooleanFilter to statuses that can be created
can_edit_onlybooleanFilter to statuses that can be edited
debugbooleanInclude debug information
includeconfigbooleanInclude configuration data
includedetailsbooleanInclude extra detail objects
includekbinfobooleanInclude knowledge base information
includeteamrestrictionsbooleanInclude team restriction data
isdetailscreenbooleanContext: detail screen view
isnewticketbooleanContext: new ticket creation
survey_fieldsbooleanInclude survey field configuration
ticket_idintegerFilter by specific ticket context

DELETE /TicketType/{id}

Deletes a RequestType by ID.

ParameterTypeDescription
idinteger (path, required)Ticket type ID

RequestType Schema — Key Fields

FieldTypeDescription
idintegerTicket type ID
namestringDisplay name
usestringUsage description
sequenceintegerSort order
group_idintegerTicket type group ID
itilrequesttypeintegerITIL type (incident, change, problem, etc.)
cancreatebooleanWhether tickets can be created of this type
agentscanselectbooleanWhether agents can select this type
enduserscanselectbooleanWhether end-users can select this type
anonymouscanselectbooleanWhether anonymous users can select
allow_all_clientsbooleanAvailable to all clients
initial_statusintegerDefault status on creation
default_slaintegerDefault SLA ID
workflow_idintegerDefault workflow
statusafteruserupdateintegerStatus set after end-user update
statusaftertechupdateintegerStatus set after agent/tech update
statusaftersupplierupdateintegerStatus set after supplier update
statusafterapproverupdateintegerStatus set after approver update
reopenedstatusintegerStatus when a closed ticket is reopened
portalcanreopenbooleanWhether portal users can reopen tickets
closedrequestswithupdatesintegerBehaviour for closed ticket updates
closeduserupdatehoursnumberHours window for closed ticket user updates
autoCloseHoursintegerHours until auto-close
dontusependingclosurebooleanSkip pending closure state
dontsendslaremindersbooleanSuppress SLA reminder emails
acknowledgementtemplateintegerAcknowledgement email template ID
hasmandatorytechfieldsbooleanHas mandatory agent fields
hasmandatoryuserfieldsbooleanHas mandatory user-facing fields
allowattachmentsbooleanAllow file attachments