Skip to main content

RMM & Security Endpoints

Vendor Integrations: RMM & Security

This section covers HaloPSA's vendor integration endpoints for RMM tools, security platforms, monitoring solutions, asset management systems, identity providers, and remote session tooling.

Common Pattern: *Details Resources

The vast majority of vendor integrations follow a consistent CRUD pattern. Each vendor has a {Vendor}Details resource used to configure the integration:

MethodPathDescription
GET/{Vendor}DetailsList all integration configurations
POST/{Vendor}DetailsCreate or update integration configuration(s)
GET/{Vendor}Details/{id}Get a single integration configuration by ID
DELETE/{Vendor}Details/{id}Delete an integration configuration

Some vendors also expose a live-data endpoint (/{Vendor}/Get) that returns current data from the third-party platform rather than the stored configuration.


DattoRmmDetails

Datto RMM integration configuration.

Endpoints

MethodPathNotes
GET/DattoRmmDetailsList all Datto RMM configurations
POST/DattoRmmDetailsCreate/update Datto RMM configurations. Body: array of DattoRmmDetails
GET/DattoRmmDetails/{id}Get a single configuration
DELETE/DattoRmmDetails/{id}Delete a configuration

DattoRmmDetails Schema

FieldTypeDescription
idintegerRecord ID
urlstringDatto RMM server URL
client_idstringAPI client ID
new_client_secretstringAPI client secret (write-only)
connection_typeintegerConnection type identifier
webhook_userintegerUser ID for webhook-generated tickets
webhook_ticket_typeintegerTicket type for webhook alerts
match_userbooleanEnable user matching
match_fieldstringField used to match users
asset_type_groupintegerDefault asset type group
site_import_typeintegerMethod for site import/matching
top_levelintegerTop-level client grouping ID
enableintegratorbooleanEnable the HaloIntegrator sync
lastsyncdatedatetimeLast successful sync timestamp
lastsyncerrorstringLast sync error message

NCentralDetails

N-central (SolarWinds/N-able) RMM integration configuration.

Endpoints

MethodPathNotes
GET/NCentralDetailsList all N-central configurations
GET/NCentralDetailsQuery param: includedetails (boolean)
POST/NCentralDetailsCreate/update configurations. Body: array of NCentralDetails
GET/NCentralDetails/{id}Get a single configuration. Query param: includedetails (boolean)
DELETE/NCentralDetails/{id}Delete a configuration

NCentralDetails Schema

FieldTypeDescription
idintegerRecord ID
guiduuidUnique identifier
namestringIntegration name
urlstringN-central server URL
usernamestringAPI username
toplevelintegerTop-level customer grouping ID
alerttickettypeintegerTicket type for alert-generated tickets
alertticketuserintegerAgent user for alert tickets
alertclientidstringClient ID sent with alerts
syncentitiesintegerEntities to sync (bitmask)
enableintegratorbooleanEnable the HaloIntegrator sync
lastsyncdatedatetimeLast successful sync timestamp
lastsyncerrorstringLast sync error message
newmethodbooleanUse new authentication method
new_passwordstringAPI password (write-only)
new_alert_passwordstringAlert password (write-only)
new_client_secretstringOAuth client secret (write-only)
dontsyncaddrbooleanSkip address sync
deactivateclientsbooleanDeactivate removed clients
deactivateassetsbooleanDeactivate removed assets
defassettypegroupintegerDefault asset type group
default_assettypeintegerDefault asset type ID
assettype_fieldintegerField used to determine asset type
mappings_xtypearrayAsset type mappings (XTypeMapping[])
client_linksarrayClient link mappings (ExternalLink_List[])
site_linksarraySite link mappings (ExternalLink_List[])
asset_fieldmappingsarrayAsset field mappings (IntegrationFieldMapping[])
automaticclientsitelinkbooleanAuto-link clients and sites
reqcredsremotebooleanRequire credentials for remote
match_user_devicebooleanMatch users to devices
ignore_probesbooleanIgnore probe devices during sync
login_portintegerLogin port override

KaseyaVSAX

Endpoints (live data)

MethodPathDescription
GET/KaseyaVSAX/GetRetrieve live data from Kaseya VSA X
POST/KaseyaVSAX/CreateWebhook/{detailsId}Create webhook for a Kaseya VSA X integration. Path: detailsId (int32, required)
DELETE/KaseyaVSAX/DeleteWebhook/{detailsId}Delete webhook. Path: detailsId (int32, required)

KaseyaVSAXDetails

Kaseya VSA X integration configuration. Follows the standard CRUD pattern.

KaseyaVSAXDetails Schema

FieldTypeDescription
idintegerRecord ID
guiduuidUnique identifier
namestringIntegration name
urlstringKaseya server URL
token_idstringAPI token ID
new_integration_keystringAPI integration key (write-only)
default_asset_siteintegerDefault site for imported assets
default_asset_typeintegerDefault asset type
assetimportidentifierintegerField used to match/identify assets on import
fieldmappingsarrayAsset field mappings (IntegrationFieldMapping[])
site_rulesarraySite matching rules (IntegrationSiteMapping[])
client_mappingsarrayClient link mappings (ExternalLink_List[])
default_top_levelintegerDefault top-level grouping
enableintegratorbooleanEnable HaloIntegrator sync
lastsyncdatedatetimeLast successful sync
lastsyncerrorstringLast sync error
enable_alertsbooleanEnable alert/webhook processing
webhook_idintegerRegistered webhook ID
new_webhook_secretstringWebhook HMAC secret (write-only)
alert_tickettypeintegerTicket type for alerts
alert_userintegerAgent user for alert tickets
delete_devicesbooleanRemove devices not found in Kaseya
dont_create_new_devicesbooleanSkip creating new assets
dont_update_asset_typebooleanPreserve existing asset type
dont_move_sitebooleanPreserve existing site assignment
assettype_choiceintegerMethod for determining asset type
default_statusintegerDefault asset status on import
delete_statusintegerStatus to apply when asset removed
site_matching_methodintegerAlgorithm for matching sites
halo_integrator_import_typesarrayTypes to import (KeyPair2[])

SentinelOne / SentinelOneDetails

GET /SentinelOne/Get — Retrieve live data from SentinelOne.

SentinelOneDetails follows the standard CRUD pattern.

SentinelOneDetails Schema

FieldTypeDescription
idintegerRecord ID
urlstringSentinelOne console URL
new_access_tokenstringAPI access token (write-only)
token_expirydatetimeToken expiry timestamp
top_levelintegerTop-level grouping ID
asset_typeintegerDefault asset type
default_siteintegerDefault site for imported assets
assetimportidentifierintegerAsset matching identifier field
dont_move_sitebooleanPreserve existing site assignment
dont_update_device_typebooleanPreserve existing device type
integrator_enabledbooleanEnable HaloIntegrator sync
integrator_typesarrayData types to import

Sophos / SophosDetails

GET /Sophos/Get — Retrieve live data from Sophos.

SophosDetails follows the standard CRUD pattern.

SophosDetails Schema

FieldTypeDescription
idintegerRecord ID
guiduuidUnique identifier
namestringIntegration name
client_idstringSophos OAuth client ID
new_integration_keystringAPI key (write-only)
new_access_tokenstringOAuth access token (write-only)
new_refresh_tokenstringOAuth refresh token (write-only)
import_entitiesstringComma-separated entity types to import
top_levelintegerTop-level grouping ID
typestringIntegration type
type_idintegerIntegration type ID
update_addressesbooleanSync address data
halointegratorbooleanEnable HaloIntegrator sync
halointegrator_lastsyncdatetimeLast successful sync
halointegrator_lasterrorstringLast sync error

Armis / ArmisDetails

GET /Armis/Get — Retrieve live data from Armis.

ArmisDetails follows the standard CRUD pattern.

ArmisDetails Schema

FieldTypeDescription
idintegerRecord ID
namestringIntegration name
urlstringArmis console URL
new_integration_keystringAPI key (write-only)
new_access_tokenstringAccess token (write-only)
default_devicesiteintegerDefault site for imported devices
default_devicetypeintegerDefault device type
assetimportidentifierintegerAsset matching identifier field
fieldmappingsarrayAsset field mappings (IntegrationFieldMapping[])
site_rulesarraySite matching rules (IntegrationSiteMapping[])
enableintegratorbooleanEnable HaloIntegrator sync
lastsyncdatedatetimeLast successful sync
lastsyncerrorstringLast sync error

PRTGDetails

PRTG Network Monitor integration configuration. Follows the standard CRUD pattern.

PRTGDetails Schema

FieldTypeDescription
idintegerRecord ID
urlstringPRTG server URL
usernamestringPRTG username
new_passwordstringPRTG password or API token (write-only)
new_methodbooleanUse new auth method
defsiteintegerDefault site for imported assets
defassettypeintegerDefault asset type
assetmatchingfieldintegerField used to match existing assets
halointegratorenabledbooleanEnable HaloIntegrator sync
halointegratorlastsyncdatetimeLast successful sync
halointegratorlasterrorstringLast sync error
asset_fieldmappingsarrayAsset field mappings (IntegrationFieldMapping[])
enable_webhooksbooleanEnable PRTG webhook alerting
new_webhook_secretstringWebhook secret (write-only)
webhook_ticket_type_idintegerTicket type for webhook alerts
webhook_ticket_user_idintegerAgent user for webhook tickets
webhook_ticket_summarystringDefault ticket summary template
webhook_ticket_detailsstringDefault ticket details template
webhook_autoclosure_statusstringStatus name used to auto-close alert tickets

DynatraceDetails

Dynatrace integration configuration. Follows the standard CRUD pattern.

DynatraceDetails Schema

FieldTypeDescription
idintegerRecord ID
guiduuidUnique identifier
namestringIntegration name
urlstringDynatrace environment URL
new_integration_keystringAPI token (write-only)
default_devicesiteintegerDefault site for imported hosts
default_devicetypeintegerDefault asset type
assetimportidentifierintegerAsset matching identifier field
host_fieldmappingsarrayHost asset field mappings (IntegrationFieldMapping[])
service_fieldmappingsarrayService asset field mappings (IntegrationFieldMapping[])
sitemappingsarraySite matching rules (IntegrationSiteMapping[])
enableintegratorbooleanEnable HaloIntegrator sync
lastsyncdatedatetimeLast successful sync
lastsyncerrorstringLast sync error
enable_alertsbooleanEnable webhook alerting
webhook_usernamestringWebhook authentication username
new_webhook_passwordstringWebhook password (write-only)
ticket_typeintegerTicket type for alert tickets
ticket_userintegerAgent user for alert tickets
default_assetgroupintegerDefault asset group
assettype_choiceintegerMethod for determining asset type

Tenable / TenableDetails

GET /Tenable/Get — Retrieve live data from Tenable.

POST /Tenable/Export — Initiate an asset/vulnerability export from Tenable.

Body: TenableCreateExport

FieldTypeDescription
chunk_sizeintegerNumber of records per export chunk

GET /Tenable/Status — Check the status of an in-progress export.

POST /Tenable/Cancel — Cancel an in-progress export.

TenableDetails follows the standard CRUD pattern.

TenableDetails Schema

FieldTypeDescription
idintegerRecord ID
namestringIntegration name
urlstringTenable platform URL
keystringAPI key identifier
new_integration_keystringAPI key (write-only)
default_devicesiteintegerDefault site for imported assets
default_devicetypeintegerDefault asset type
assetimportidentifierintegerAsset matching identifier field
fieldmappingsarrayAsset field mappings (IntegrationFieldMapping[])
sitemappingsarraySite matching rules (IntegrationSiteMapping[])
enableintegratorbooleanEnable HaloIntegrator sync
lastsyncdatedatetimeLast successful sync
lastsyncerrorstringLast sync error

SnipeITDetails

Snipe-IT asset management integration. Follows the standard CRUD pattern.

SnipeITDetails Schema

FieldTypeDescription
idintegerRecord ID
guiduuidUnique identifier
namestringIntegration name
urlstringSnipe-IT server URL
new_integration_keystringAPI key (write-only)
toplevelintegerTop-level grouping ID
default_devicesiteintegerDefault site for imported assets
default_devicetypeintegerDefault asset type
assetimportidentifierintegerAsset matching identifier field
snipeit_fieldmappingsarrayAsset field mappings (IntegrationFieldMapping[])
enableintegratorbooleanEnable HaloIntegrator sync
lastsyncdatedatetimeLast successful sync
lastsyncerrorstringLast sync error
delete_devicesbooleanRemove devices not found in Snipe-IT
dont_create_new_devicesbooleanSkip creating new assets
dont_update_device_typebooleanPreserve existing device type
dont_move_sitebooleanPreserve existing site assignment
client_linksarrayClient link mappings (ExternalLink_List[])
mappings_xtypearrayAsset type mappings (XTypeMapping[])
default_assetgroupintegerDefault asset group
assettype_choiceintegerMethod for determining asset type
halo_integrator_import_typesarrayTypes to import (KeyPair2[])

SnowDetails

Snow Software (SNOW) asset/license management integration. Follows the standard CRUD pattern.

GET /SnowDetails — Query params: includedetails (boolean)

GET /SnowDetails/{id} — Query params: doDecrypt (boolean), includedetails (boolean)

SnowDetails Schema

FieldTypeDescription
idintegerRecord ID
namestringIntegration name
urlstringSNOW server URL
usernamestringAPI username
passwordstringAPI password (stored, not write-only)
new_integration_keystringAPI key (write-only)
toplevelintegerTop-level grouping ID
default_devicesiteintegerDefault site for imported assets
default_devicetypeintegerDefault asset type
user_matching_typeintegerMethod for matching users
assetimportidentifierintegerAsset matching identifier field
enableintegratorbooleanEnable HaloIntegrator sync
lastsyncdatedatetimeLast successful sync
lastsyncerrorstringLast sync error

ManageEngine / ManageEngineDetails

GET /ManageEngine/Get — Retrieve live data from ManageEngine.

ManageEngineDetails follows the standard CRUD pattern.

ManageEngineDetails Schema

FieldTypeDescription
idintegerRecord ID
namestringIntegration name
typeintegerIntegration type (SDPlus, ServiceDesk Cloud, etc.)
instancetypeintegerInstance type
regionstringCloud region (if applicable)
manageengine_clientidstringOAuth client ID
new_access_tokenstringOAuth access token (write-only)
new_refresh_tokenstringOAuth refresh token (write-only)
tokenexpirydatetimeToken expiry
isauthorizedbooleanWhether OAuth authorization is complete
new_client_secretstringOAuth client secret (write-only)
usernamestringAPI username (basic auth)
server_urlstringManageEngine server URL
unique_user_idstringUnique user identifier field