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:
| Method | Path | Description |
|---|---|---|
GET | /{Vendor}Details | List all integration configurations |
POST | /{Vendor}Details | Create 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
| Method | Path | Notes |
|---|---|---|
GET | /DattoRmmDetails | List all Datto RMM configurations |
POST | /DattoRmmDetails | Create/update Datto RMM configurations. Body: array of DattoRmmDetails |
GET | /DattoRmmDetails/{id} | Get a single configuration |
DELETE | /DattoRmmDetails/{id} | Delete a configuration |
DattoRmmDetails Schema
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
url | string | Datto RMM server URL |
client_id | string | API client ID |
new_client_secret | string | API client secret (write-only) |
connection_type | integer | Connection type identifier |
webhook_user | integer | User ID for webhook-generated tickets |
webhook_ticket_type | integer | Ticket type for webhook alerts |
match_user | boolean | Enable user matching |
match_field | string | Field used to match users |
asset_type_group | integer | Default asset type group |
site_import_type | integer | Method for site import/matching |
top_level | integer | Top-level client grouping ID |
enableintegrator | boolean | Enable the HaloIntegrator sync |
lastsyncdate | datetime | Last successful sync timestamp |
lastsyncerror | string | Last sync error message |
NCentralDetails
N-central (SolarWinds/N-able) RMM integration configuration.
Endpoints
| Method | Path | Notes |
|---|---|---|
GET | /NCentralDetails | List all N-central configurations |
GET | /NCentralDetails | Query param: includedetails (boolean) |
POST | /NCentralDetails | Create/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
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
guid | uuid | Unique identifier |
name | string | Integration name |
url | string | N-central server URL |
username | string | API username |
toplevel | integer | Top-level customer grouping ID |
alerttickettype | integer | Ticket type for alert-generated tickets |
alertticketuser | integer | Agent user for alert tickets |
alertclientid | string | Client ID sent with alerts |
syncentities | integer | Entities to sync (bitmask) |
enableintegrator | boolean | Enable the HaloIntegrator sync |
lastsyncdate | datetime | Last successful sync timestamp |
lastsyncerror | string | Last sync error message |
newmethod | boolean | Use new authentication method |
new_password | string | API password (write-only) |
new_alert_password | string | Alert password (write-only) |
new_client_secret | string | OAuth client secret (write-only) |
dontsyncaddr | boolean | Skip address sync |
deactivateclients | boolean | Deactivate removed clients |
deactivateassets | boolean | Deactivate removed assets |
defassettypegroup | integer | Default asset type group |
default_assettype | integer | Default asset type ID |
assettype_field | integer | Field used to determine asset type |
mappings_xtype | array | Asset type mappings (XTypeMapping[]) |
client_links | array | Client link mappings (ExternalLink_List[]) |
site_links | array | Site link mappings (ExternalLink_List[]) |
asset_fieldmappings | array | Asset field mappings (IntegrationFieldMapping[]) |
automaticclientsitelink | boolean | Auto-link clients and sites |
reqcredsremote | boolean | Require credentials for remote |
match_user_device | boolean | Match users to devices |
ignore_probes | boolean | Ignore probe devices during sync |
login_port | integer | Login port override |
KaseyaVSAX
Endpoints (live data)
| Method | Path | Description |
|---|---|---|
GET | /KaseyaVSAX/Get | Retrieve 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
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
guid | uuid | Unique identifier |
name | string | Integration name |
url | string | Kaseya server URL |
token_id | string | API token ID |
new_integration_key | string | API integration key (write-only) |
default_asset_site | integer | Default site for imported assets |
default_asset_type | integer | Default asset type |
assetimportidentifier | integer | Field used to match/identify assets on import |
fieldmappings | array | Asset field mappings (IntegrationFieldMapping[]) |
site_rules | array | Site matching rules (IntegrationSiteMapping[]) |
client_mappings | array | Client link mappings (ExternalLink_List[]) |
default_top_level | integer | Default top-level grouping |
enableintegrator | boolean | Enable HaloIntegrator sync |
lastsyncdate | datetime | Last successful sync |
lastsyncerror | string | Last sync error |
enable_alerts | boolean | Enable alert/webhook processing |
webhook_id | integer | Registered webhook ID |
new_webhook_secret | string | Webhook HMAC secret (write-only) |
alert_tickettype | integer | Ticket type for alerts |
alert_user | integer | Agent user for alert tickets |
delete_devices | boolean | Remove devices not found in Kaseya |
dont_create_new_devices | boolean | Skip creating new assets |
dont_update_asset_type | boolean | Preserve existing asset type |
dont_move_site | boolean | Preserve existing site assignment |
assettype_choice | integer | Method for determining asset type |
default_status | integer | Default asset status on import |
delete_status | integer | Status to apply when asset removed |
site_matching_method | integer | Algorithm for matching sites |
halo_integrator_import_types | array | Types to import (KeyPair2[]) |
SentinelOne / SentinelOneDetails
GET /SentinelOne/Get — Retrieve live data from SentinelOne.
SentinelOneDetails follows the standard CRUD pattern.
SentinelOneDetails Schema
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
url | string | SentinelOne console URL |
new_access_token | string | API access token (write-only) |
token_expiry | datetime | Token expiry timestamp |
top_level | integer | Top-level grouping ID |
asset_type | integer | Default asset type |
default_site | integer | Default site for imported assets |
assetimportidentifier | integer | Asset matching identifier field |
dont_move_site | boolean | Preserve existing site assignment |
dont_update_device_type | boolean | Preserve existing device type |
integrator_enabled | boolean | Enable HaloIntegrator sync |
integrator_types | array | Data types to import |
Sophos / SophosDetails
GET /Sophos/Get — Retrieve live data from Sophos.
SophosDetails follows the standard CRUD pattern.
SophosDetails Schema
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
guid | uuid | Unique identifier |
name | string | Integration name |
client_id | string | Sophos OAuth client ID |
new_integration_key | string | API key (write-only) |
new_access_token | string | OAuth access token (write-only) |
new_refresh_token | string | OAuth refresh token (write-only) |
import_entities | string | Comma-separated entity types to import |
top_level | integer | Top-level grouping ID |
type | string | Integration type |
type_id | integer | Integration type ID |
update_addresses | boolean | Sync address data |
halointegrator | boolean | Enable HaloIntegrator sync |
halointegrator_lastsync | datetime | Last successful sync |
halointegrator_lasterror | string | Last sync error |
Armis / ArmisDetails
GET /Armis/Get — Retrieve live data from Armis.
ArmisDetails follows the standard CRUD pattern.
ArmisDetails Schema
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
name | string | Integration name |
url | string | Armis console URL |
new_integration_key | string | API key (write-only) |
new_access_token | string | Access token (write-only) |
default_devicesite | integer | Default site for imported devices |
default_devicetype | integer | Default device type |
assetimportidentifier | integer | Asset matching identifier field |
fieldmappings | array | Asset field mappings (IntegrationFieldMapping[]) |
site_rules | array | Site matching rules (IntegrationSiteMapping[]) |
enableintegrator | boolean | Enable HaloIntegrator sync |
lastsyncdate | datetime | Last successful sync |
lastsyncerror | string | Last sync error |
PRTGDetails
PRTG Network Monitor integration configuration. Follows the standard CRUD pattern.
PRTGDetails Schema
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
url | string | PRTG server URL |
username | string | PRTG username |
new_password | string | PRTG password or API token (write-only) |
new_method | boolean | Use new auth method |
defsite | integer | Default site for imported assets |
defassettype | integer | Default asset type |
assetmatchingfield | integer | Field used to match existing assets |
halointegratorenabled | boolean | Enable HaloIntegrator sync |
halointegratorlastsync | datetime | Last successful sync |
halointegratorlasterror | string | Last sync error |
asset_fieldmappings | array | Asset field mappings (IntegrationFieldMapping[]) |
enable_webhooks | boolean | Enable PRTG webhook alerting |
new_webhook_secret | string | Webhook secret (write-only) |
webhook_ticket_type_id | integer | Ticket type for webhook alerts |
webhook_ticket_user_id | integer | Agent user for webhook tickets |
webhook_ticket_summary | string | Default ticket summary template |
webhook_ticket_details | string | Default ticket details template |
webhook_autoclosure_status | string | Status name used to auto-close alert tickets |
DynatraceDetails
Dynatrace integration configuration. Follows the standard CRUD pattern.
DynatraceDetails Schema
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
guid | uuid | Unique identifier |
name | string | Integration name |
url | string | Dynatrace environment URL |
new_integration_key | string | API token (write-only) |
default_devicesite | integer | Default site for imported hosts |
default_devicetype | integer | Default asset type |
assetimportidentifier | integer | Asset matching identifier field |
host_fieldmappings | array | Host asset field mappings (IntegrationFieldMapping[]) |
service_fieldmappings | array | Service asset field mappings (IntegrationFieldMapping[]) |
sitemappings | array | Site matching rules (IntegrationSiteMapping[]) |
enableintegrator | boolean | Enable HaloIntegrator sync |
lastsyncdate | datetime | Last successful sync |
lastsyncerror | string | Last sync error |
enable_alerts | boolean | Enable webhook alerting |
webhook_username | string | Webhook authentication username |
new_webhook_password | string | Webhook password (write-only) |
ticket_type | integer | Ticket type for alert tickets |
ticket_user | integer | Agent user for alert tickets |
default_assetgroup | integer | Default asset group |
assettype_choice | integer | Method 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
| Field | Type | Description |
|---|---|---|
chunk_size | integer | Number 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
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
name | string | Integration name |
url | string | Tenable platform URL |
key | string | API key identifier |
new_integration_key | string | API key (write-only) |
default_devicesite | integer | Default site for imported assets |
default_devicetype | integer | Default asset type |
assetimportidentifier | integer | Asset matching identifier field |
fieldmappings | array | Asset field mappings (IntegrationFieldMapping[]) |
sitemappings | array | Site matching rules (IntegrationSiteMapping[]) |
enableintegrator | boolean | Enable HaloIntegrator sync |
lastsyncdate | datetime | Last successful sync |
lastsyncerror | string | Last sync error |
SnipeITDetails
Snipe-IT asset management integration. Follows the standard CRUD pattern.
SnipeITDetails Schema
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
guid | uuid | Unique identifier |
name | string | Integration name |
url | string | Snipe-IT server URL |
new_integration_key | string | API key (write-only) |
toplevel | integer | Top-level grouping ID |
default_devicesite | integer | Default site for imported assets |
default_devicetype | integer | Default asset type |
assetimportidentifier | integer | Asset matching identifier field |
snipeit_fieldmappings | array | Asset field mappings (IntegrationFieldMapping[]) |
enableintegrator | boolean | Enable HaloIntegrator sync |
lastsyncdate | datetime | Last successful sync |
lastsyncerror | string | Last sync error |
delete_devices | boolean | Remove devices not found in Snipe-IT |
dont_create_new_devices | boolean | Skip creating new assets |
dont_update_device_type | boolean | Preserve existing device type |
dont_move_site | boolean | Preserve existing site assignment |
client_links | array | Client link mappings (ExternalLink_List[]) |
mappings_xtype | array | Asset type mappings (XTypeMapping[]) |
default_assetgroup | integer | Default asset group |
assettype_choice | integer | Method for determining asset type |
halo_integrator_import_types | array | Types 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
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
name | string | Integration name |
url | string | SNOW server URL |
username | string | API username |
password | string | API password (stored, not write-only) |
new_integration_key | string | API key (write-only) |
toplevel | integer | Top-level grouping ID |
default_devicesite | integer | Default site for imported assets |
default_devicetype | integer | Default asset type |
user_matching_type | integer | Method for matching users |
assetimportidentifier | integer | Asset matching identifier field |
enableintegrator | boolean | Enable HaloIntegrator sync |
lastsyncdate | datetime | Last successful sync |
lastsyncerror | string | Last sync error |
ManageEngine / ManageEngineDetails
GET /ManageEngine/Get — Retrieve live data from ManageEngine.
ManageEngineDetails follows the standard CRUD pattern.
ManageEngineDetails Schema
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
name | string | Integration name |
type | integer | Integration type (SDPlus, ServiceDesk Cloud, etc.) |
instancetype | integer | Instance type |
region | string | Cloud region (if applicable) |
manageengine_clientid | string | OAuth client ID |
new_access_token | string | OAuth access token (write-only) |
new_refresh_token | string | OAuth refresh token (write-only) |
tokenexpiry | datetime | Token expiry |
isauthorized | boolean | Whether OAuth authorization is complete |
new_client_secret | string | OAuth client secret (write-only) |
username | string | API username (basic auth) |
server_url | string | ManageEngine server URL |
unique_user_id | string | Unique user identifier field |