Ticket Configuration Endpoints (cont.)
Ticket Configuration (continued)
RequestType Schema (continued)
| Field | Type | Description |
|---|---|---|
fields | array of RequestTypeField | Custom fields configured for this type |
allowed_teams | array | Teams allowed for this ticket type |
allowed_status | array | Statuses available for this ticket type |
allowed_actions | array | Actions/outcomes available for this type |
allowed_clients | array | Clients allowed to use this type |
approval_process_id | integer | Approval process applied |
isbillable | boolean | Whether tickets of this type are billable |
defaultresourcetype | integer | Default resource/charge type |
default_summary | string | Pre-filled summary on new ticket |
default_details | string | Pre-filled details on new ticket |
default_category_1–4 | string | Pre-filled category values |
default_impact | integer | Default impact level |
webannouncement | string | Portal announcement text for this type |
forwardinboundupdates | boolean | Forward inbound email updates |
access_control_level | integer | Access control level |
RequestTypeField
Custom field definitions scoped to a ticket type. Defines which fields appear on the ticket form and their behaviour.
GET /TicketTypeField
Summary: List of RequestTypeField
Returns multiple RequestTypeField records. Requires authentication.
| Parameter | Type | Description |
|---|---|---|
buildcache | boolean | Rebuild the field cache |
debug | boolean | Include debug information |
isrtconfig | boolean | Return in request type config format |
RequestTypeGroup
Groups for organising ticket types (e.g., "Support", "Projects").
GET /TicketTypeGroup
Returns all RequestTypeGroup records.
POST /TicketTypeGroup
Creates or updates RequestTypeGroup records. Request body: array of RequestTypeGroup objects.
GET /TicketTypeGroup/{id}
Summary: Get one RequestTypeGroup
Returns a single RequestTypeGroup by ID. Requires authentication.
| Parameter | Type | Description |
|---|---|---|
id | integer (path, required) | Group ID |
getfields | boolean | Include fields in response |
includedetails | boolean | Include detail objects |
DELETE /TicketTypeGroup/{id}
Deletes a RequestTypeGroup by ID.
| Parameter | Type | Description |
|---|---|---|
id | integer (path, required) | Group ID |
RequestTypeGroup Schema — Key Fields
| Field | Type | Description |
|---|---|---|
id | integer | Group ID |
name | string | Group name |
fields | array of RequestTypeField | Fields associated with this group |
TicketArea
Ticket areas segment tickets into logical areas or queues within HaloPSA.
GET /TicketArea
Returns all TicketArea records.
POST /TicketArea
Creates or updates TicketArea records. Request body: array of TicketArea objects.
GET /TicketArea/{id}
Summary: Get one TicketArea
Returns a single TicketArea by ID. Requires authentication.
| Parameter | Type | Description |
|---|---|---|
id | integer (path, required) | Area ID |
includedetails | boolean | Include detail objects |
DELETE /TicketArea/{id}
Deletes a TicketArea by ID.
| Parameter | Type | Description |
|---|---|---|
id | integer (path, required) | Area ID |
StdRequest (Templates)
Standard request templates are reusable ticket blueprints that can pre-populate fields, schedule recurring ticket creation, and configure automation rules.
GET /Template
Summary: List of StdRequest
Returns multiple StdRequest template records. Requires authentication.
| Parameter | Type | Description |
|---|---|---|
access_control_level | integer | Filter by access control level |
action_id | integer | Filter by action |
agent_id | integer | Filter by agent permissions |
anonanduser | boolean | Include templates for anonymous users |
asset_id | integer | Filter by asset |
client_id | integer | Filter by client |
department_id | integer | Filter by department permissions |
domain | string | Filter by domain (reqs, opps, prjs) |
group_id | integer | Filter by group |
include_ticket_id | integer | Include template for a specific ticket |
includeclients | boolean | Include client access list |
includenames | boolean | Include agent/team/org access names |
itil_ticket_type_id | integer | Filter by ITIL ticket type |
itil_type | integer | Filter by ITIL type |
order | string | Primary sort field |
order2–order5 | string | Additional sort fields |
orderdesc–orderdesc5 | boolean | Sort direction for each sort field |
page_no | integer | Page number for pagination |
page_size | integer | Page size for pagination |
pageinate | boolean | Enable pagination |
parent_template_id | integer | Filter by parent template |
report_id | integer | Filter by report |
search | string | Search string filter |
showall | boolean | Admin override — show all templates |
team_id | integer | Filter by team permissions |
ticket_type_id | integer | Filter by ticket type |
todo_client_id | integer | Filter by to-do client ID |
todo_only | boolean | Return only to-do templates |
type | integer | Filter by template type |
types | string | Comma-separated list of template types |
POST /Template
Creates or updates StdRequest records. Request body: array of StdRequest objects.
GET /Template/{id}
Summary: Get one StdRequest
Returns a single StdRequest template by ID. Requires authentication.
| Parameter | Type | Description |
|---|---|---|
id | integer (path, required) | Template ID |
includedetails | boolean | Include extra detail objects |
includekbinfo | boolean | Include knowledge base information |
DELETE /Template/{id}
Deletes a StdRequest template by ID.
| Parameter | Type | Description |
|---|---|---|
id | integer (path, required) | Template ID |
StdRequest Schema — Key Fields
| Field | Type | Description |
|---|---|---|
id | integer | Template ID |
name | string | Template name |
type | integer | Template type |
domain | string | Domain (reqs/opps/prjs) |
tickettype_id | integer | Associated ticket type |
summary | string | Pre-filled ticket summary |
details | string | Pre-filled ticket details |
status_id | integer | Default ticket status |
priority_id | integer | Default priority |
category_1–4 | string | Pre-filled category values |
agent_id | integer | Default assigned agent |
team | string | Default assigned team |
workflow_id | integer | Workflow to apply |
sla_id | integer | SLA to apply |
impact | integer | Default impact level |
urgency | integer | Default urgency level |
estimate | number | Time estimate (hours) |
showforusers | boolean | Visible to end-users in portal |
excludefromsla | boolean | Exclude from SLA tracking |
users_can_use | boolean | End-users can submit this template |
disabled | boolean | Whether template is disabled |
scheduletype | integer | Schedule type (daily, weekly, monthly, etc.) |
startdate | date-time | Schedule start date |
end_date | date-time | Schedule end date |
time | date-time | Scheduled execution time |
period | integer | Recurrence period |
every | integer | Recurrence interval |
mon–sun | integer | Day-of-week flags for weekly scheduling |
dom | integer | Day of month for monthly scheduling |
create_on_nonworkdays | boolean | Create tickets on non-work days |
lastcreated | date-time | Last time a ticket was created from this template |
nextcreationdate | date-time | Next scheduled creation date |
customfields | array of CustomField | Custom field values |
assets | array | Default assets to link |
todo_list | array of STDToDo | To-do items for created tickets |
creation_rules | array of StdRequestRule | Rules controlling creation conditions |
create_child_templates | boolean | Create child tickets from sub-templates |
parent_customfields | array | Custom fields inherited from parent |
approval_id | integer | Approval process ID |
access_control_level | integer | Access control level |
kb_id | integer | Associated knowledge base article |
CategoryDetail
Categories provide a three/four-level classification hierarchy for tickets (e.g., Hardware > Laptop > Battery).
GET /Category
Summary: List of CategoryDetail
Returns multiple CategoryDetail records. Requires authentication.
| Parameter | Type | Description |
|---|---|---|
client_id | integer | Filter by client |
service_id | integer | Filter by service |
team_id | integer | Filter by team |
team_name | string | Filter by team name |
tickettype_id | integer | Filter by ticket type |
type_id | integer | Filter by category type |
POST /Category
Creates or updates CategoryDetail records. Request body: array of CategoryDetail objects.
GET /Category/{id}
Summary: Get one CategoryDetail
Returns a single CategoryDetail by ID. Requires authentication.
| Parameter | Type | Description |
|---|---|---|
id | integer (path, required) | Category ID |
includedetails | boolean | Include detail objects |
DELETE /Category/{id}
Deletes a CategoryDetail by ID.
| Parameter | Type | Description |
|---|---|---|
id | integer (path, required) | Category ID |
CategoryDetail Schema — Key Fields
| Field | Type | Description |
|---|---|---|
id | integer | Category ID |
value | string | Category value/name |
category_name | string | Display name |
type_id | integer | Category type/level |
sla_id | integer | SLA override for this category |
priority_id | integer | Priority override for this category |
chargerate | integer | Charge rate override |
category_group_id | integer | Parent category group |
include_note | boolean | Include a note when this category is selected |
note | string | Internal note text |
user_note | string | User-visible note text |
itilrequesttype | integer | Maps to ITIL request type |
is_integration | boolean | Whether this category is from an integration |
allow_ai_auggestion | boolean | Whether AI suggestions are enabled |
translations | array | Localised translations |