Skip to main content

Clients & Sites Endpoints

Clients & Sites

This section covers the core organizational entities in HaloPSA: Clients (Areas), Sites, Companies (Suppliers), Organisations, and related resources like CRM Notes, Popup Notes, and Service Subscriptions.


Company (Supplier)

Represents supplier/company records. In the API, companies are accessed via the /Supplier path.

GET /Supplier — List Companies

Returns a list of Company records.

ParameterTypeDescription
activeinactivestringComma-separated pair to set includeactive and includeinactive
countintegerNumber of results to return (non-paginated)
idonlybooleanReturn only IDs
includeactivebooleanInclude active companies
includeinactivebooleanInclude inactive companies
kashflowtenantidintegerFilter by KashFlow tenant
orderstringField to order by (first)
order2order5stringAdditional sort fields
orderdescorderdesc5booleanDescending sort for each order field
page_nointegerPage number (pagination)
page_sizeintegerPage size (pagination)
pageinatebooleanEnable pagination
searchstringSearch string filter
toplevel_idintegerFilter by top level
xerotenantidstringFilter by Xero tenant

Response: Company_View — contains suppliers (array of Company_List), record_count, page_no, page_size, columns.

POST /Supplier — Create Company

Creates one or more Company records.

Request Body: Array of Company objects.

Response: Company (201 Created)

GET /Supplier/{id} — Get Company

Returns a single Company by ID.

ParameterTypeDescription
idinteger (path)Company ID (required)
includedetailsbooleanInclude extra detail objects

Response: Company

DELETE /Supplier/{id} — Delete Company

Deletes a Company by ID.

ParameterTypeDescription
idinteger (path)Company ID (required)

Organisation

Represents multi-tenancy organisation records used for branding and portal configuration.

GET /Organisation — List Organisations

Returns organisation records. No documented query parameters.

POST /Organisation — Create Organisation

Creates one or more Organisation records.

Request Body: Array of Organisation objects.

GET /Organisation/{id} — Get Organisation

Returns a single Organisation by ID.

ParameterTypeDescription
idinteger (path)Organisation ID (required)
includedetailsbooleanInclude extra detail objects

DELETE /Organisation/{id} — Delete Organisation

Deletes an Organisation by ID.

ParameterTypeDescription
idinteger (path)Organisation ID (required)

Organisation schema key fields:

FieldTypeDescription
idintegerOrganisation ID
namestringOrganisation name
reply_addressstringReply email address
phonestringPhone number
emailstringEmail address
websitestringWebsite URL
logostringLogo (base64/URL)
portal_logostringPortal logo
portalurlstringPortal URL
portalcolourstringPortal brand colour
portal_titlestringPortal page title
departmentsarrayLinked departments
linked_client_idintegerLinked client ID
allowall_tickettypesbooleanAllow all ticket types
allowed_tickettypesarrayAllowed ticket type list
faqlistsarrayAssociated FAQ lists
customfieldsarrayCustom fields
bank_details_line_1_5stringBank detail lines
tax_numberstringTax/VAT number
portal_allow_pwabooleanAllow PWA install

Site

Represents physical or logical locations belonging to a client.

GET /Site — List Sites

Returns a list of Site records.

ParameterTypeDescription
activeinactivestringComma-separated pair for active/inactive filter
advanced_searchstringAdvanced search string
azuresitesbooleanInclude only Azure-linked sites
client_idintegerFilter by client ID
contract_idintegerFilter by contract ID
countintegerNumber of results (non-paginated)
exclude_internalbooleanExclude internal sites
gfisitesbooleanInclude only GFI sites
idonlybooleanReturn only Site IDs (not compatible with pagination)
includeactivebooleanInclude active sites
includeaddressbooleanInclude address in response
includeinactivebooleanInclude inactive sites
includenonstocklocationsbooleanInclude non-stock-location sites
includenotesbooleanInclude site notes
includestocklocationsbooleanInclude stock location sites
include_custom_fieldsstringComma-separated Custom Field IDs to include
item_id_qtyintegerInclude stock quantity info for this item ID
item_salesorder_idintegerInclude stock info for this sales order
item_salesorder_lineintegerInclude stock info for this sales order line
lastupdatefromdatebooleanInclude lastupdatefromdate field
lastupdatetodatebooleanInclude lastupdatetodate field
orderorder5stringSort fields (first through fifth)
orderdescorderdesc5booleanDescending sort for each order
page_nointegerPage number (pagination)
page_sizeintegerPage size (pagination)
pageinatebooleanEnable pagination
searchstringFilter sites matching search string
site_idintegerFilter by specific site ID
sitefieldsstringComma-separated site field IDs to include
stocklocationstringFilter on stock locations (comma-separated)
toplevel_idintegerFilter by top level
user_overrideintegerUser ID override

Response: Site_View

POST /Site — Create Site

Creates one or more Site records.

Request Body: Array of Site objects.

Response: Site (201 Created)

GET /Site/StockBins — List Stock Bin Sites

Returns sites that are configured as stock bin locations.

Response: Array of Site_List

GET /Site/{id} — Get Site

Returns a single Site by ID.

ParameterTypeDescription
idinteger (path)Site ID (required)
client_overrideintegerFilter on a given client ID
domainstringFilter on site permissions domain (e.g. opps)
includeactivitybooleanInclude site ticket activity
includedetailsbooleanInclude extra detail objects
issetupbooleanSetup mode flag
tickettype_idintegerFilter context by ticket type

Response: Site

DELETE /Site/{id} — Delete Site

Deletes a Site by ID.

ParameterTypeDescription
idinteger (path)Site ID (required)

Site schema key fields:

FieldTypeDescription
idintegerSite ID
namestringSite name
client_idnumberParent client ID
client_namestringParent client name
clientsite_namestringCombined client+site name
inactivebooleanWhether site is inactive
sla_idintegerAssigned SLA ID
phonenumberstringSite phone number
timezonestringSite timezone
notesstringSite notes
isstocklocationbooleanWhether site is a stock location
isinvoicesitebooleanWhether site is an invoice site
emaildomainstringEmail domain for the site
delivery_addressAddressStoreDelivery address object
invoice_addressAddressStoreInvoice address object
delivery_address_line1_5stringDelivery address lines
invoice_address_line1_5stringInvoice address lines
maincontact_idintegerMain contact user ID
maincontact_namestringMain contact name
datecreateddatetimeSite creation date
open_ticket_countintegerCount of open tickets
onhold_ticket_countintegerCount of on-hold tickets
total_ticket_countintegerTotal ticket count
opened_thismonth_countintegerTickets opened this month
sitecontactsarraySite contacts list
customfieldsarrayCustom fields
site_fieldsarraySite-level fields
geocoord1 / geocoord2numberGeographic coordinates
itglue_idstringIT Glue integration ID
azuretenantidstringAzure tenant ID
datto_idstringDatto integration ID
auvik_idstringAuvik integration ID
connectwiseidintegerConnectWise integration ID
autotaskidintegerAutotask integration ID
ncentral_details_idintegerN-central integration ID
popup_notesarrayPopup notes for the site
faqlistsarrayAssociated FAQ lists
maintenance_windowsarrayMaintenance window periods
change_freeze_periodsarrayChange freeze periods
language_idintegerLanguage setting
country_codestringCountry code
region_codeintegerRegion code
default_currency_codeintegerDefault currency

ServSite (Service Subscriptions)

Represents service/product subscriptions assigned to sites. Accessed via the /Service path.

GET /Service — List Service Subscriptions

Returns service subscriptions (ServSite records).

ParameterTypeDescription
access_control_levelintegerFilter by access control level
asset_idsstringFilter by asset IDs
countintegerResult count (non-paginated)
includechildservicesbooleanInclude child services
includestatusinfobooleanInclude status information
itil_ticket_typeintegerFilter by ITIL ticket type
monitoredonlybooleanInclude only monitored services
orderorder5stringSort fields
orderdescorderdesc5booleanDescending sort per field
page_nointegerPage number
page_sizeintegerPage size
pageinatebooleanEnable pagination
parent_service_category_idintegerFilter by parent category
relatedservicesonlybooleanOnly related services
searchstringSearch filter
service_category_idintegerFilter by service category
service_category_idsstringComma-separated category IDs
service_status_idsstringComma-separated status IDs
subscribedonlybooleanOnly subscribed services
template_idintegerFilter by template
ticket_idintegerFilter by ticket
tickettype_idintegerFilter by ticket type
user_idintegerFilter by user

Response: ServSite_View

POST /Service — Create Service Subscription

Creates one or more ServSite records.

Request Body: Array of ServSite objects.

Response: ServSite (201 Created)

GET /Service/{id} — Get Service Subscription

Returns a single ServSite by ID.

ParameterTypeDescription
idinteger (path)ServSite ID (required)
includedetailsbooleanInclude extra detail objects
user_idintegerUser context

Response: ServSite

DELETE /Service/{id} — Delete Service Subscription

Deletes a ServSite by ID.

ParameterTypeDescription
idinteger (path)ServSite ID (required)

POST /Service/unsubscribe — Unsubscribe from Service

Unsubscribes from a service.

Request Body: Array of UnsubscribeService objects.

UnsubscribeService schema:

FieldTypeDescription
serviceidintegerID of service to unsubscribe from

Area (Client)

The primary client record in HaloPSA. Accessed via the /Client path. Internally referred to as "Area".

GET /Client — List Clients

Returns a list of client (Area) records.

ParameterTypeDescription
accountmanageronlybooleanOnly clients where you are account manager
activeinactivestringComma-separated active/inactive filter
advanced_searchstringAdvanced search string
azureclientsbooleanOnly Azure-linked clients
callplanbooleanOnly clients with past call date
columns_idintegerColumns configuration ID
countintegerResult count (non-paginated)
domainstringDomain filter
exclude_internalbooleanExclude internal clients
gficlientsbooleanOnly GFI clients