Skip to main content

Register Agents

Overview

The Agent Registration API allows you to register and manage agents with the ChangeTracker system. This API provides endpoints for registering new agents, which can be either direct agents installed on devices or proxied devices accessed through another agent. The API handles various device types including servers, desktops, network devices, and databases.

Agents are identified by a unique AgentDevice ID and include various parameters such as device name, host type, operating system details, and network information. The API requires authentication and the DeviceRegister permission to perform operations.

Endpoints

Register Agent

Registers the details of an Agent with the system.

HTTP Request

POST /agents/register

Authentication Requires authentication and the DeviceRegister permission.

Request Body

{
"AgentName": "string",
"CanProxy": false,
"CredentialKey": "string",
"DeviceName": "string",
"DeviceType": "Server",
"GroupNames": ["Group1", "Group2"],
"HostName": "string",
"HostType": "Windows",
"MacAddresses": "string",
"IPv4": "192.168.1.100",
"IPv6": "string",
"LegacyHubId": "string",
"DiscoveryId": "string",
"DiscoveryTaskId": "string",
"OnlineDetection": "Ping",
"Os": "Windows Server 2019",
"KnownOsName": "Windows Server",
"OsUserSpecified": "string",
"PollPeriodSeconds": 300,
"ProxiedByAgentId": "string",
"Registered": false,
"UniqueId": "string",
"Version": 0
}

Parameters

ParameterTypeRequiredDescription
AgentNamestringNoThe name of the agent
CanProxybooleanNoSpecifies whether the agent can proxy connections to other devices
CredentialKeystringNoSpecifies the credential key (only allowed for proxied devices)
DeviceNamestringNoSpecifies the device name
DeviceTypeenumNoType of device (Unknown, Server, Desktop, Network, Database)
GroupNamesarrayNoSpecifies the group names (only allowed for proxied devices)
HostNamestringNoSpecifies the host name or IP address used for agentless access
HostTypeenumNoSpecifies the host type (Unknown, Unix, Windows, Network, Database, Cloud, ESX, Splunk)
MacAddressesstringNoSpecifies the MAC addresses
IPv4stringNoSpecifies the IPv4 address
IPv6stringNoSpecifies the IPv6 address
LegacyHubIdstringNoSpecifies the legacy hub ID
DiscoveryIdstringNoSpecifies the internal discovery-based ID
DiscoveryTaskIdstringNoSpecifies the internal discovery task ID
OnlineDetectionenumNoSpecifies the method to use when detecting if a proxied device is online (None, Ping, TcpConnect)
OsstringNoSpecifies the Operating System full description as reported by the device
KnownOsNamestringNoSpecifies the Operating System from the list of known OS names
OsUserSpecifiedstringNoSpecifies the operating system as entered by the user (overrides discovered OS in UI)
PollPeriodSecondsintegerNoSpecifies the poll period in seconds
ProxiedByAgentIdstringNoSpecifies the agent ID of the proxy agent this device will be proxied by
RegisteredbooleanNoSpecifies whether the agent is registered
UniqueIdstringNoSpecifies a value uniquely identifying the agent independent of name or agent ID
VersionintegerNoSpecifies the request version

Response Returns an Agent object with the following properties:

{
"ModelVersion": 0,
"AgentDevice": {
"AgentId": "string",
"DeviceId": "string"
},
"Version": "string",
"Name": "string",
"DeviceName": "string",
"FullyQualifiedDomainName": "string",
"DeviceType": "Server",
"HostType": "Windows",
"Os": "Windows Server 2019",
"OsUserSpecified": "string",
"KnownOsName": "Windows Server",
"OsVariant": "64 bit version",
"Registered": true,
"Deleted": false,
"PollPeriodSeconds": 300,
"LegacyId": "string",
"DiscoveryId": "string",
"DiscoveryTaskId": "string",
"HostName": "string",
"MacAddresses": "string",
"IPv4": "192.168.1.100",
"IPv6": "string",
"LastPollUtc": "2025-08-21T10:23:32.0000000Z",
"NextPollUtc": "2025-08-21T10:28:32.0000000Z",
"MembershipChangeTimeUtc": "2025-08-21T10:23:32.0000000Z",
"OnlineStatus": "Online",
"DiagnosticModeEnabled": false,
"EventBlockEnabled": false,
"BaselineSendEnabled": true,
"OnlineDetection": "Ping",
"PingTimeoutSeconds": 5,
"TcpConnectPort": 0,
"CanProxy": false,
"UniqueId": "string",
"IsTestAgent": false,
"RecentActivity": {
"AgentDeviceId": "string",
"LastUpdatedUtc": "2025-08-21T10:23:32.0000000Z",
"ConfigDateUtc": "2025-08-21T10:23:32.0000000Z",
"LoginName": "string",
"ProcessId": 0
},
"SkipConfigCheckUntilUtc": "2025-08-21T10:23:32.0000000Z",
"AgentType": "NetCore",
"IsBlockingRegistrationBy": "string",
"PublicKeyStringsInUse": "string"
}

Device Types

The following device types are supported:

TypeDescription
ServerServer device
DesktopDesktop computer
NetworkNetwork device
DatabaseDatabase server

Host Types

The following host types are supported:

TypeDescription
UnixUnix-based system
WindowsWindows-based system
NetworkNetwork device
DatabaseDatabase server
CloudCloud service
ESXVMware ESX/ESXi server
SplunkSplunk server

Online Detection Methods

The following online detection methods are available:

MethodDescription
NoneNo online detection
PingUse ICMP ping to detect if device is online
TcpConnectUse TCP connection to detect if device is online

Agent Types

The following agent types are supported:

TypeDescription
UnknownUnknown agent type
NetDesktop.NET Desktop agent
MonoMono-based agent
NetCore.NET Core agent
ExpressAgentExpress agent

Device Online Status

The following online statuses are available:

StatusDescription
WaitingForContactAgent has not yet contacted the server
OnlineAgent is online and communicating with the server
OfflineAgent is offline or not responding