Paessler PRTG Tools
Written By Christopher Scaminaci
Last updated 7 days ago
Paessler PRTG Tools
prtg_ · 100 tools · Free 43 · Pro 57
Network and infrastructure monitoring on the customer's own PRTG core server, over PRTG API v2. PRTG's words are its own: a probe is a collector process and a channel is one metric series under a sensor, with settings inherited down the probe, group, device, sensor, channel tree. The credential is an API key minted under Account Settings, My Account, API Keys; its access level sits on top of the owning user's rights, so a read-level key answers 403 to every write. The base address is your own server, so a non-default port and a reverse-proxy path both work. Filtering is a string expression, not query parameters. Paging is offset and limit, default 200 and capped at 1000; pass includeTotals for the total count. Some tools sit under the vendor's experimental prefix and may change between PRTG releases; each says so in its own description. A scan sends real probing traffic across the network, a delete takes the whole subtree and its history, and pausing a user locks that person out.
All connector tools · Paessler PRTG setup guide
Paessler PRTG tool groups
- Sensors & Alarms — 18 tools
- Devices — 15 tools
- Groups — 13 tools
- Probes — 11 tools
- Objects & Schemas — 9 tools
- Auto-Discovery — 6 tools
- Channels & Time Series — 5 tools
- Users & User Groups — 8 tools
- API Keys & Password Reset — 7 tools
- System & Lookups — 8 tools
Sensors & Alarms
prtg_acknowledge_sensor_alarm details
prtg_acknowledge_sensor_alarm details
[Paessler PRTG] Acknowledge one sensor's alarm, which stops PRTG re-notifying about it while leaving the sensor MONITORING NORMALLY. This is the right tool when someone is working the problem — unlike prtg_pause_sensor, it does not stop the checks or hide a new failure. The state becomes 'downacknowledged'. Duration is in seconds, rounded UP to whole minutes by PRTG; 0 or omitted acknowledges indefinitely. The message is shown on the sensor in PRTG, so put the ticket number in it. Acknowledge many at once with prtg_acknowledge_sensor_alarms_filtered.
prtg_acknowledge_sensor_alarms_filtered details
prtg_acknowledge_sensor_alarms_filtered details
[Paessler PRTG] Acknowledge the alarms of EVERY sensor matching a filter — the bulk form of prtg_acknowledge_sensor_alarm. The filter is REQUIRED by PRTG and is the only thing bounding the call, so check it with prtg_list_sensors first and confirm the returned set is what you meant. Acknowledging leaves every sensor monitoring; it only stops re-notification. Duration is seconds rounded UP to whole minutes, 0 or omitted meaning indefinitely.
prtg_create_sensor details
prtg_create_sensor details
[Paessler PRTG] Create a new sensor on a device. Two lookups come first: prtg_list_creatable_object_kinds for the device tells you which sensor kinds it accepts, and prtg_get_object_create_schema for that device and kind gives the exact body shape. A newly created sensor begins polling immediately and consumes one of the PRTG license's sensor allowance — check the remaining headroom with prtg_get_license_info. Request bodies are limited to 15 KB. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_delete_sensor details
prtg_delete_sensor details
[Paessler PRTG] Delete a sensor AND EVERY CHANNEL UNDER IT, permanently. WARNING: this destroys the sensor's recorded history along with the sensor — PRTG offers no undo and no recycle bin, and the historic data cannot be recovered. Confirm the id with prtg_get_sensor first. If the goal is only to stop the checks temporarily, use prtg_pause_sensor instead. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_get_object_status_summary details
prtg_get_object_status_summary details
[Paessler PRTG] Count the sensors in each state UNDER one probe, group or device — the scoped form of prtg_get_sensor_status_summary. The counts cover every sensor beneath the object in PRTG's tree (probe contains groups, groups contain devices, devices contain sensors), so passing a group id summarizes an entire site. Get ids from prtg_list_probes, prtg_list_groups or prtg_list_devices.
prtg_get_sensor details
prtg_get_sensor details
[Paessler PRTG] Get one sensor's current metrics and settings by id. Returns status, last message, last value, scanning interval and the parent device reference. Referenced objects arrive as {id, type, name, href} — when the API key's user lacks permission on a referenced object, href is the literal string "restricted" rather than a URL, so do not treat it as a path. Get the id from prtg_list_sensors or prtg_search_objects. For the numbers over time use prtg_list_sensor_measurements or prtg_get_sensor_timeseries.
prtg_get_sensor_status_summary details
prtg_get_sensor_status_summary details
[Paessler PRTG] Count the sensors in each state across the WHOLE PRTG server — up, down, warning, paused, unusual, unknown. One cheap call that answers "is anything wrong at this client" without listing thousands of sensors. Scope it to one probe, group or device with prtg_get_object_status_summary instead. Follow up on a non-zero down count with prtg_list_alarms or prtg_list_sensors with a status filter.
prtg_list_alarms details
prtg_list_alarms details
[Paessler PRTG] List the sensors currently in an alarm state — the fastest answer to "what is broken right now". Each entry carries the sensor, its status, how long it has been in that state and the last message. DEPRECATED BY PAESSLER with no direct successor: it still works today and will be removed in a future PRTG release. The equivalent query on the supported endpoint is prtg_list_sensors with filter="status = down or status = downacknowledged or status = warning" — use that if this tool starts returning an error. Set includeAllChannels to see every channel of each alarming sensor rather than the primary one — that one changes WHAT PRTG returns for each alarm, while includeTotals below changes only the SHAPE of the page around them. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
prtg_list_sensor_measurements details
prtg_list_sensor_measurements details
[Paessler PRTG] List one sensor's recent channel measurements — the recorded values for each of its channels. A channel is one metric series under the sensor (a ping sensor has channels for response time and packet loss). Timestamps are ISO 8601 UTC and durations are floating-point seconds. For a specific historic window use prtg_get_sensor_timeseries; for the four preset windows use prtg_get_sensor_graph_set. This endpoint can answer 202 while PRTG assembles the data, in which case the response carries wait_for — retry after that many seconds. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
prtg_list_sensors details
prtg_list_sensors details
[Paessler PRTG] List sensors on the PRTG server, with the filter language for narrowing. A sensor is ONE CHECK on one device (a ping, an HTTP request, a disk-space read); the metric series beneath it are channels, listed by prtg_list_channels. Returns an ARRAY of sensor objects, each carrying id, name, status, message, parent device and last value. NOTE ids are JSON STRINGS ("id": "2004"), not numbers. Use the filter parameter to answer status questions — filter="status = down" is the supported replacement for the deprecated prtg_list_alarms. Sensor ids feed prtg_get_sensor, prtg_list_sensor_measurements, prtg_acknowledge_sensor_alarm, prtg_pause_sensor and prtg_scan_sensor_now. Paging is offset (zero-based) plus limit; PRTG's own maximum is 3,000 per response and StackJack caps it at 1,000. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
prtg_metascan_device details
prtg_metascan_device details
[Paessler PRTG] Ask a device which instances of one sensor kind exist on it — which network interfaces, which disk volumes, which services — so the results can be turned into sensors with prtg_create_sensor. WARNING: this dispatches a REAL query from the customer's PRTG probe to the device, using that device's stored credentials; it is live network activity, not a read of stored data. Get the legal kind values from prtg_list_creatable_object_kinds for the device. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_pause_sensor details
prtg_pause_sensor details
[Paessler PRTG] Pause one sensor. A paused sensor stops being checked AND stops alerting until it is resumed, so a failure that begins during the pause is not reported. Always set a duration rather than pausing indefinitely, and reverse it with prtg_resume_sensor. Duration is in seconds and PRTG rounds it UP to whole minutes; 0 or omitted pauses indefinitely, which is the option to avoid. The message is shown on the sensor in PRTG — put the change or ticket number in it. Prefer prtg_acknowledge_sensor_alarm when someone is simply working an existing alarm: acknowledging stops the re-notification without stopping the monitoring.
prtg_pause_sensors_filtered details
prtg_pause_sensors_filtered details
[Paessler PRTG] Pause EVERY sensor matching a filter. Each sensor it matches stops being checked AND stops alerting until it is resumed, and ONE CALL CAN PAUSE MANY SENSORS — a loose filter reaches an entire client estate, so run the SAME filter through prtg_list_sensors first and confirm the count. The filter is REQUIRED by PRTG and a blank one is refused before the call is sent. Always set a duration; 0 or omitted pauses indefinitely. Reverse it with prtg_resume_sensors_filtered.
prtg_resume_sensor details
prtg_resume_sensor details
[Paessler PRTG] Resume one paused sensor, so PRTG starts checking and alerting on it again. This is the reversal of prtg_pause_sensor and RESTORES monitoring rather than suppressing it. A sensor paused because its parent device, group or probe is paused will stay paused until that parent is resumed — check the parent with prtg_get_sensor if a resume appears not to take effect. Returns no body; a successful call answers with status 204 or 202.
prtg_resume_sensors_filtered details
prtg_resume_sensors_filtered details
[Paessler PRTG] Resume EVERY paused sensor matching a filter — the bulk form of prtg_resume_sensor, and the normal way to end a maintenance window. The filter is REQUIRED by PRTG. Resuming restores monitoring, so a filter that is too broad turns alerting back on early rather than silencing anything. Check what it matches with prtg_list_sensors first.
prtg_scan_sensor_now details
prtg_scan_sensor_now details
[Paessler PRTG] Trigger an immediate check of one sensor instead of waiting for its next scheduled interval. WARNING: this dispatches REAL probing traffic from the customer's PRTG probe to the monitored device — it is a live action on their network, not a read. Use it to confirm a fix has taken effect. The result is not returned here: the call answers with no body, then poll prtg_get_sensor for the refreshed status a few seconds later.
prtg_scan_sensors_now_filtered details
prtg_scan_sensors_now_filtered details
[Paessler PRTG] Trigger an immediate check of EVERY sensor matching a filter. WARNING: this dispatches real probing traffic across everything the filter matches, all at once — a loose filter can flood a customer's network and overload their PRTG core. Run the same filter through prtg_list_sensors first and confirm the count. The filter is REQUIRED by PRTG. The call answers with no body; poll prtg_list_sensors afterwards for refreshed status.
prtg_update_sensor details
prtg_update_sensor details
[Paessler PRTG] Update a sensor's settings. This is a PARTIAL MERGE — properties you omit keep their current values, nothing is cleared by being absent. Get the exact body shape for this sensor from prtg_get_object_update_schema, and the legal values of an enumerated setting from prtg_get_setting_lookup; PRTG's settings are kind-specific and an invented property name earns a 400. The request body is limited to 15 KB. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
Devices
prtg_create_device_in_group details
prtg_create_device_in_group details
[Paessler PRTG] Create a new device inside a group. Get the body shape from prtg_get_object_create_schema for the parent group with kind='device'; a device needs at least a name and a host address. The new device starts with no sensors — add them with prtg_create_sensor, or let prtg_run_device_autodiscovery create a standard set. Request bodies are limited to 15 KB. To place a device directly on a probe instead, use prtg_create_device_on_probe. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_create_device_on_probe details
prtg_create_device_on_probe details
[Paessler PRTG] Create a new device directly on a probe rather than inside a group. A PRTG probe is the COLLECTOR PROCESS that performs the monitoring, so the probe chosen here decides which network vantage point checks this device — for a remote client site that is the remote probe, not the local one. Get the body shape from prtg_get_object_create_schema for the probe with kind='device'. Request bodies are limited to 15 KB. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_delete_device details
prtg_delete_device details
[Paessler PRTG] Delete a device AND EVERY SENSOR AND CHANNEL UNDER IT, permanently. WARNING: the vendor's own summary says 'with all child sensors and channels' — the blast radius is the whole subtree, and every sensor's recorded history goes with it. PRTG has no undo and no recycle bin. Count what is underneath with prtg_get_object_status_summary before calling. If the goal is only to stop monitoring temporarily, use prtg_pause_device instead. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_get_device details
prtg_get_device details
[Paessler PRTG] Get one device's metrics and settings by id — host address, status, scanning interval, parent group and sensor roll-up. Referenced objects arrive as {id, type, name, href}, and href is the literal string "restricted" when the API key's user lacks permission on the reference. AVOID include='*' here: it pulls the device's credential sections (Windows, SNMP, SSH), whose passwords PRTG masks but whose usernames and hostnames it does not. Get sensor counts by state with prtg_get_object_status_summary for the same id.
prtg_list_device_icons details
prtg_list_device_icons details
[Paessler PRTG] List the device icon names the PRTG interface offers. Presentation only — an icon has no effect on monitoring. Its use is supplying a valid icon value when creating or updating a device with prtg_create_device_in_group, prtg_create_device_on_probe or prtg_update_device.
prtg_list_device_templates details
prtg_list_device_templates details
[Paessler PRTG] List the device templates auto-discovery can apply. A template is a saved recipe naming which sensor kinds to create for a class of device (a Windows server, a Cisco switch). The template FILE NAMES returned here are exactly what prtg_run_device_autodiscovery and prtg_run_group_autodiscovery accept in their templates parameter — pass them verbatim. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_list_devices details
prtg_list_devices details
[Paessler PRTG] List the devices PRTG monitors — servers, switches, firewalls, URLs. Each device carries id, name, host address, status and its parent group; the sensors attached to it come from prtg_list_sensors with filter='parentid = "<device id>"'. Ids are JSON STRINGS. Narrow with the filter language, e.g. 'name contains "fw"' or 'status = down'. Device ids feed prtg_get_device, prtg_pause_device, prtg_scan_device_now, prtg_create_sensor and prtg_run_device_autodiscovery. Paging is offset plus limit, capped at 1,000 per response. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
prtg_pause_device details
prtg_pause_device details
[Paessler PRTG] Pause one device. Pausing a device stops the checks AND the alerting for EVERY SENSOR ON IT until it is resumed, so a failure that begins during the pause is not reported. Use it for a planned reboot or patch window, always with a duration, and reverse it with prtg_resume_device. Duration is in seconds, rounded UP to whole minutes by PRTG; 0 or omitted pauses indefinitely, which is the option to avoid. See how many sensors this affects with prtg_get_object_status_summary for the same id before calling.
prtg_pause_devices_filtered details
prtg_pause_devices_filtered details
[Paessler PRTG] Pause EVERY device matching a filter, and with it every sensor on those devices. ONE CALL CAN PAUSE MANY DEVICES, and each one stops being checked AND stops alerting until it is resumed — a loose filter reaches a whole client estate. Run the SAME filter through prtg_list_devices first and confirm the count. The filter is REQUIRED by PRTG and a blank one is refused before the call is sent. Always set a duration; 0 or omitted pauses indefinitely. Reverse it with prtg_resume_devices_filtered.
prtg_resume_device details
prtg_resume_device details
[Paessler PRTG] Resume one paused device, restoring monitoring and alerting for every sensor on it. This is the reversal of prtg_pause_device. A device whose parent group or probe is itself paused stays paused until that parent is resumed. Returns no body; a successful call answers with status 204 or 202.
prtg_resume_devices_filtered details
prtg_resume_devices_filtered details
[Paessler PRTG] Resume EVERY paused device matching a filter — the bulk form of prtg_resume_device, and the normal way to end a maintenance window across a site. The filter is REQUIRED by PRTG. Resuming restores monitoring, so a broad filter turns alerting back on early rather than silencing anything. Check what it matches with prtg_list_devices first.
prtg_run_device_autodiscovery details
prtg_run_device_autodiscovery details
[Paessler PRTG] Run auto-discovery against one device: PRTG probes it, works out what can be monitored, and CREATES SENSORS for what it finds. WARNING: this is live network activity from the customer's probe to the device, and it adds sensors that begin polling immediately and consume the PRTG license's sensor allowance — check headroom with prtg_get_license_info first. Pass template file names from prtg_list_device_templates to control what gets created; omit templates to use the device's own configured set. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_scan_device_now details
prtg_scan_device_now details
[Paessler PRTG] Trigger an immediate check of EVERY sensor on one device. WARNING: this dispatches real probing traffic from the customer's PRTG probe to that device, all sensors at once — it is live network activity, not a read. Use it to confirm a device is back after a reboot. The call answers with no body; poll prtg_get_object_status_summary or prtg_list_sensors for the refreshed state a few seconds later.
prtg_scan_devices_now_filtered details
prtg_scan_devices_now_filtered details
[Paessler PRTG] Trigger an immediate check of every sensor on EVERY device matching a filter. WARNING: this can dispatch thousands of simultaneous checks across a customer's network and overload their PRTG core — run the same filter through prtg_list_devices first and confirm the count is small. The filter is REQUIRED by PRTG. The call answers with no body; poll afterwards for refreshed status.
prtg_update_device details
prtg_update_device details
[Paessler PRTG] Update a device's settings. This is a PARTIAL MERGE — omitted properties keep their current values. Get the exact body shape from prtg_get_object_update_schema for this device id, and the legal values of an enumerated setting from prtg_get_setting_lookup. Changing the host address re-points every sensor on the device. The request body is limited to 15 KB. The call can answer 202 with a wait_for value, meaning PRTG queued the change — re-read with prtg_get_device after that many seconds.
Groups
prtg_create_group_in_group details
prtg_create_group_in_group details
[Paessler PRTG] Create a new group inside an existing group — how a site or department is added under a customer's top-level group. The new group INHERITS the parent's settings, so choose the parent deliberately. Get the body shape from prtg_get_object_create_schema for the parent group with kind='group'. Request bodies are limited to 15 KB. To create a top-level group under a probe instead, use prtg_create_group_on_probe. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_create_group_on_probe details
prtg_create_group_on_probe details
[Paessler PRTG] Create a new TOP-LEVEL group directly on a probe — the usual first step when onboarding a new customer into a shared PRTG server. A PRTG probe is the COLLECTOR PROCESS that performs the monitoring, so the probe chosen here decides which network vantage point serves everything in the group: for a remote client site that is their remote probe, not the local one. Get the body shape from prtg_get_object_create_schema for the probe with kind='group'. Bodies are limited to 15 KB. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_delete_group details
prtg_delete_group details
[Paessler PRTG] Delete a group AND EVERY GROUP, DEVICE, SENSOR AND CHANNEL UNDER IT, permanently. WARNING: the vendor's own summary says 'with all child groups and devices' — on a shared MSP server a top-level group is an entire customer, and deleting it destroys their whole monitoring configuration and history at once. PRTG has no undo and no recycle bin. Count what is underneath with prtg_get_object_status_summary and confirm the name with prtg_get_group before calling. To stop monitoring temporarily, use prtg_pause_group instead. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_get_group details
prtg_get_group details
[Paessler PRTG] Get one group's metrics and settings by id — status, scanning interval, parent, and the settings its devices inherit. Add include='inheritance' to see WHICH settings are inherited rather than set here: PRTG marks those with underscore-prefixed keys (_inherited, _inheritancesource, _shadowed), and knowing the difference matters before changing anything, because a value set on a group silently changes every device beneath it. Count the sensor states underneath with prtg_get_object_status_summary for the same id.
prtg_list_groups details
prtg_list_groups details
[Paessler PRTG] List the groups on the PRTG server. A group organizes devices and can contain other groups; in a shared MSP server the top-level groups are usually the individual customers or sites, which makes this the tool for finding a client's scope id. Each group carries id, name, status, parent and a sensor roll-up. Ids are JSON STRINGS. The returned id is the parentid to pass to prtg_list_devices and prtg_list_sensors, and the scope for prtg_get_object_status_summary. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
prtg_pause_group details
prtg_pause_group details
[Paessler PRTG] Pause one group. Pausing a group stops the checks AND the alerting for EVERY DEVICE AND SENSOR BENEATH IT until it is resumed, which on a shared MSP server usually means an entire customer or site goes unmonitored. Count what is affected with prtg_get_object_status_summary for the same id before calling. Always set a duration; 0 or omitted pauses indefinitely. Reverse it with prtg_resume_group.
prtg_pause_groups_filtered details
prtg_pause_groups_filtered details
[Paessler PRTG] Pause EVERY group matching a filter, and with it every device and sensor beneath those groups. ONE CALL CAN PAUSE MANY GROUPS, and each stops being checked AND stops alerting until it is resumed — on a shared MSP server a loose filter reaches several customers at once. Run the SAME filter through prtg_list_groups first and confirm the exact set. The filter is REQUIRED by PRTG and a blank one is refused before the call is sent. Always set a duration; 0 or omitted pauses indefinitely. Reverse it with prtg_resume_groups_filtered.
prtg_resume_group details
prtg_resume_group details
[Paessler PRTG] Resume one paused group, restoring monitoring and alerting for every device and sensor beneath it. This is the reversal of prtg_pause_group. A group whose parent probe is itself paused stays paused until that probe is resumed. Returns no body; a successful call answers with status 204 or 202.
prtg_resume_groups_filtered details
prtg_resume_groups_filtered details
[Paessler PRTG] Resume EVERY paused group matching a filter — the bulk form of prtg_resume_group, and the normal way to end a site-wide maintenance window. The filter is REQUIRED by PRTG. Resuming restores monitoring, so a broad filter turns alerting back on early rather than silencing anything. Check what it matches with prtg_list_groups first.
prtg_run_group_autodiscovery details
prtg_run_group_autodiscovery details
[Paessler PRTG] Run auto-discovery across EVERY device in a group: PRTG probes each one, works out what can be monitored, and CREATES SENSORS for what it finds. WARNING: this is live network activity across the whole group and can add hundreds of sensors that begin polling immediately and consume the PRTG license's sensor allowance — check headroom with prtg_get_license_info first, and the group's size with prtg_get_object_status_summary. Pass template file names from prtg_list_device_templates to control what gets created. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_scan_group_now details
prtg_scan_group_now details
[Paessler PRTG] Trigger an immediate check of EVERY sensor in one group. WARNING: this dispatches real probing traffic from the customer's PRTG probe across every device in the group at once — on a large group that is a burst of hundreds or thousands of simultaneous checks against their network. Check the size first with prtg_get_object_status_summary. The call answers with no body; poll afterwards for refreshed status.
prtg_scan_groups_now_filtered details
prtg_scan_groups_now_filtered details
[Paessler PRTG] Trigger an immediate check of every sensor in EVERY group matching a filter. WARNING: this is the largest burst of live probing traffic the connector can produce — on a shared MSP server it can hit several customers' networks simultaneously and overload the PRTG core. Run the same filter through prtg_list_groups first and confirm the count is small. The filter is REQUIRED by PRTG.
prtg_update_group details
prtg_update_group details
[Paessler PRTG] Update a group's settings. This is a PARTIAL MERGE — omitted properties keep their current values. CAUTION on scope rather than on loss: PRTG settings are INHERITED DOWNWARD, so a value set here applies to every device and sensor beneath the group unless one of them overrides it. Check what currently inherits with prtg_get_group and include='inheritance' first. Get the body shape from prtg_get_object_update_schema for this group id. Bodies are limited to 15 KB. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
Probes
prtg_delete_probe details
prtg_delete_probe details
[Paessler PRTG] Delete a probe AND EVERY GROUP, DEVICE, SENSOR AND CHANNEL UNDER IT, permanently. WARNING: the vendor's own summary says 'with all child groups and devices' — for an MSP this destroys an entire customer site's monitoring configuration and history in one call, and PRTG has no undo and no recycle bin. It does NOT uninstall the probe software on the customer's machine; that probe will reappear as an unapproved probe if the service is still running. Count what is underneath with prtg_get_object_status_summary and confirm the name with prtg_get_probe before calling. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_get_probe details
prtg_get_probe details
[Paessler PRTG] Get one probe's metrics and settings by id — connection state, version, and the settings every group and device beneath it inherits. Remember a probe is the COLLECTOR PROCESS doing the monitoring: when it is disconnected, the sensors under it report their last known state rather than the truth, so check this before trusting a quiet estate. For the interfaces and addresses of the machine it runs on, use prtg_get_probe_network_info.
prtg_get_probe_network_info details
prtg_get_probe_network_info details
[Paessler PRTG] Get the network interfaces and IP addresses of the MACHINE a probe runs on. Useful when working out which subnets that probe can actually reach before adding devices to it, or when diagnosing why a newly created sensor cannot see its target — a remote probe only reaches what its own network reaches. Get the probe id from prtg_list_probes.
prtg_list_probes details
prtg_list_probes details
[Paessler PRTG] List the probes attached to the PRTG core server. A PRTG PROBE IS A COLLECTOR PROCESS — the software service that performs the checks — not a health check or a test. MSPs install one remote probe per customer network, so this list is usually the list of monitored sites, and a probe that is down means everything beneath it has stopped being monitored regardless of what those sensors say. Each probe carries id, name, status and connection state. Ids are JSON STRINGS and feed prtg_get_probe, prtg_get_probe_network_info, prtg_create_group_on_probe and prtg_create_device_on_probe. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
prtg_pause_probe details
prtg_pause_probe details
[Paessler PRTG] Pause one probe. This is the widest single-object pause in PRTG: it stops the checks AND the alerting for EVERY GROUP, DEVICE AND SENSOR that probe collects until it is resumed, which for an MSP normally means one customer site goes completely unmonitored. Count what is affected with prtg_get_object_status_summary for the same id before calling. Always set a duration; 0 or omitted pauses indefinitely. Reverse it with prtg_resume_probe.
prtg_pause_probes_filtered details
prtg_pause_probes_filtered details
[Paessler PRTG] Pause EVERY probe matching a filter. ONE CALL CAN PAUSE MANY PROBES, and a filter matching all of them stops the checks AND the alerting for the ENTIRE PRTG SERVER — every customer, every site — until they are resumed. Run the SAME filter through prtg_list_probes first and confirm the exact set, and prefer pausing individual probes by id. The filter is REQUIRED by PRTG and a blank one is refused before the call is sent. Always set a duration; 0 or omitted pauses indefinitely. Reverse it with prtg_resume_probes_filtered.
prtg_resume_probe details
prtg_resume_probe details
[Paessler PRTG] Resume one paused probe, restoring monitoring and alerting for every group, device and sensor beneath it. This is the reversal of prtg_pause_probe and is normally what ends a site-wide maintenance window. Note the difference between paused and DISCONNECTED: resuming a probe whose collector service is not running changes the configured state but restores no monitoring — check prtg_get_probe afterwards. Returns no body.
prtg_resume_probes_filtered details
prtg_resume_probes_filtered details
[Paessler PRTG] Resume EVERY paused probe matching a filter — the bulk form of prtg_resume_probe. The filter is REQUIRED by PRTG. Resuming restores monitoring, so a broad filter turns alerting back on early rather than silencing anything. Check what it matches with prtg_list_probes first.
prtg_scan_probe_now details
prtg_scan_probe_now details
[Paessler PRTG] Trigger an immediate check of EVERY sensor a probe collects. WARNING: this dispatches real probing traffic across an entire monitored site at once — potentially thousands of simultaneous checks from that probe's machine. Check the size first with prtg_get_object_status_summary. The call answers with no body; poll afterwards for refreshed status.
prtg_scan_probes_now_filtered details
prtg_scan_probes_now_filtered details
[Paessler PRTG] Trigger an immediate check of every sensor on EVERY probe matching a filter. WARNING: a broad filter makes every monitored site on the server run every check simultaneously, which will overload the PRTG core and flood customer networks. Run the same filter through prtg_list_probes first and confirm the count is small. The filter is REQUIRED by PRTG.
prtg_update_probe details
prtg_update_probe details
[Paessler PRTG] Update a probe's settings. This is a PARTIAL MERGE — omitted properties keep their current values. CAUTION on scope: a probe is the TOP of its subtree, so settings set here are inherited by every group, device and sensor beneath it. Check what currently inherits with prtg_get_probe and include='inheritance' first, and get the body shape from prtg_get_object_update_schema for this probe id. Bodies are limited to 15 KB. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
Objects & Schemas
prtg_clone_object details
prtg_clone_object details
[Paessler PRTG] Clone an object to a new parent — the fast way to stand up a second site from a working one, or to copy a device's whole sensor set onto a new host. Nothing existing is changed, which is why this is not marked destructive, BUT MIND THE BLAST RADIUS: cloning a device or group clones the ENTIRE SUBTREE beneath it, so hundreds of new sensors can start polling the moment the call returns. They consume the PRTG license's sensor allowance (check prtg_get_license_info) and they inherit the NEW parent's settings, not the old one's. The response carries a location value pointing at the clone rather than the cloned object itself; PRTG creates it asynchronously, so give it a moment before reading it back.
prtg_get_object_counts details
prtg_get_object_counts details
[Paessler PRTG] Count how many objects of each kind exist on the server — probes, groups, devices, sensors, channels. One cheap call for sizing an estate before running anything that pages or fans out, and for sanity-checking a filter's match count against the whole. For sensor STATES rather than object counts, use prtg_get_sensor_status_summary.
prtg_get_object_create_schema details
prtg_get_object_create_schema details
[Paessler PRTG] Get the OpenAPI schema for the CREATE body of one object kind on one parent — exactly which properties are required and allowed. Call this before prtg_create_sensor, prtg_create_device_in_group, prtg_create_device_on_probe, prtg_create_group_in_group, prtg_create_group_on_probe or prtg_create_autodiscovery_task_on_probe. Get the kind value from prtg_list_creatable_object_kinds for the same parent; the shape depends on BOTH the parent and the kind, which is why both are required here. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_get_object_read_schema details
prtg_get_object_read_schema details
[Paessler PRTG] Get the OpenAPI schema describing what a READ of one specific object returns — which properties exist and what type each one is. Useful when a response carries a setting whose meaning is unclear, or to discover which sections an include value would add. For writing rather than reading, use prtg_get_object_update_schema (for a change) or prtg_get_object_create_schema (for a new object). This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_get_object_update_schema details
prtg_get_object_update_schema details
[Paessler PRTG] Get the OpenAPI schema for the UPDATE body of one specific object — exactly which properties prtg_update_sensor, prtg_update_device, prtg_update_group or prtg_update_probe will accept for that id. Call this before any update: PRTG's update body is an untyped object whose valid properties depend on the object's kind, so an invented property name is a 400 rather than a no-op. For an enumerated setting, follow up with prtg_get_setting_lookup to get its legal values. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_get_setting_lookup details
prtg_get_setting_lookup details
[Paessler PRTG] List the legal values of one named setting — the only way to find out what an enumerated PRTG setting will accept before writing it. Call this before prtg_update_device, prtg_update_sensor, prtg_update_group or prtg_update_probe whenever a setting takes a choice rather than free text; guessing earns an opaque 400. Optionally pass an object id to get the values valid for THAT object, which can be narrower than the global set. DEPRECATED BY PAESSLER but shipped anyway: nothing else in the API enumerates setting values.
prtg_list_creatable_object_kinds details
prtg_list_creatable_object_kinds details
[Paessler PRTG] List the object kinds that can be created on a given parent — which sensor kinds a device accepts, or whether a probe accepts groups and devices. This is the FIRST call in any create flow: it supplies the kind value that prtg_get_object_create_schema needs, and the kindId that prtg_create_sensor and prtg_metascan_device take. Pass a device id for sensor kinds, a group or probe id for container kinds. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
prtg_move_object details
prtg_move_object details
[Paessler PRTG] Move a live monitoring object to a new parent, or reorder it among its siblings. WARNING: PRTG settings are INHERITED FROM THE PARENT, so moving an object to a different parent silently changes its effective configuration — scanning interval, credentials, notification triggers and dependencies can all change without any of them being edited. Read the destination's settings with prtg_get_group (or prtg_get_probe) and include='inheritance' before moving anything into it. Give either position or positionPreset, and parent only when the object is actually changing parents. Reordering within the same parent is harmless; re-parenting is not.
prtg_search_objects details
prtg_search_objects details
[Paessler PRTG] Search across EVERY object kind at once — probes, groups, devices, sensors and channels — using the PRTG filter language. This is the tool to reach for when the kind is not known in advance, or when a search must cross levels ('everything tagged sql', 'anything named contains contoso'). Constrain by kind with 'type = sensor', by parent with 'parentid = "2004"', and by hierarchy with the operators children, descendants and ancestors. Returns an array of objects each carrying id, type, name and status; ids are JSON STRINGS. When the kind IS known, the per-kind lists (prtg_list_sensors, prtg_list_devices, prtg_list_groups, prtg_list_probes) return richer objects. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
Auto-Discovery
prtg_create_autodiscovery_task_on_probe details
prtg_create_autodiscovery_task_on_probe details
[Paessler PRTG] Create a saved auto-discovery task on a probe. Creating it starts NO scanning — the definition is stored, and prtg_start_autodiscovery_task or its schedule is what runs it. The probe chosen matters: a PRTG probe is the COLLECTOR PROCESS that performs the work, so the task will scan from that machine's network position, which for a remote client site means their remote probe rather than the local one. Get the body shape from prtg_get_object_create_schema for the probe, and template file names from prtg_list_device_templates. Bodies are limited to 15 KB. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_delete_autodiscovery_task details
prtg_delete_autodiscovery_task details
[Paessler PRTG] Delete a saved auto-discovery task permanently. The devices and sensors a previous run created are NOT removed — only the stored definition and its schedule go, so scheduled re-discovery for that range silently stops happening. PRTG has no undo. Read the task with prtg_get_autodiscovery_task first and confirm nothing depends on its schedule. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_get_autodiscovery_task details
prtg_get_autodiscovery_task details
[Paessler PRTG] Get one saved auto-discovery task by id — its target range, the device templates it applies, its schedule and the probe that would run it. Read this BEFORE prtg_start_autodiscovery_task so the scan's scope is known in advance: a task's range decides how much of the customer's network gets probed. Get the id from prtg_list_autodiscovery_tasks. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_list_autodiscovery_tasks details
prtg_list_autodiscovery_tasks details
[Paessler PRTG] List the SAVED auto-discovery tasks — the stored definitions of what to scan and which device templates to apply. These are configuration, not activity: for the discoveries actually running at this moment use prtg_list_running_autodiscoveries instead. Each task carries id, name, the probe it belongs to, its target range and its schedule. Task ids feed prtg_get_autodiscovery_task, prtg_update_autodiscovery_task, prtg_start_autodiscovery_task and prtg_delete_autodiscovery_task. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
prtg_start_autodiscovery_task details
prtg_start_autodiscovery_task details
[Paessler PRTG] Start a saved auto-discovery task now. WARNING: this SCANS THE CUSTOMER'S NETWORK from their PRTG probe across the task's whole target range, and CREATES devices and sensors for everything it finds. Those sensors begin polling immediately and consume the PRTG license's sensor allowance — check headroom with prtg_get_license_info first, and read the task's range with prtg_get_autodiscovery_task so the scope is known before it runs. A range wider than intended produces network scanning traffic the customer may see as an intrusion. Track progress with prtg_list_running_autodiscoveries.
prtg_update_autodiscovery_task details
prtg_update_autodiscovery_task details
[Paessler PRTG] Update a saved auto-discovery task. This is a PARTIAL MERGE — omitted properties keep their current values — and it only changes the stored definition; no scanning happens until prtg_start_autodiscovery_task runs it or its schedule fires. Widening the target range here therefore has no immediate effect but a large one at the next run, so read the current definition with prtg_get_autodiscovery_task first. Bodies are limited to 15 KB. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
Channels & Time Series
prtg_get_channel details
prtg_get_channel details
[Paessler PRTG] Get one channel's last value and settings by id — the unit, the display formatting, and the warning and error limits that decide when its parent sensor changes state. This is the tool for answering 'why did that sensor go red' when the sensor's own message is not enough: the limits live here, not on the sensor. Get the id from prtg_list_channels. For the value over time use prtg_get_sensor_timeseries on the PARENT SENSOR — historic data is fetched per sensor, not per channel.
prtg_get_sensor_graph_set details
prtg_get_sensor_graph_set details
[Paessler PRTG] Get historic channel data for one sensor over one of PRTG's four PRESET windows — the same data its interface graphs show. type must be exactly one of: 'live' (about 4 hours), 'short' (about 2 days), 'medium' (about 60 days), 'long' (about 365 days). This is the supported endpoint and the right default; when a specific range is needed instead, use prtg_get_sensor_timeseries. Restrict the output with a comma-separated list of channel ids from prtg_list_channels. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_get_sensor_timeseries details
prtg_get_sensor_timeseries details
[Paessler PRTG] Get historic channel data for one sensor over an ARBITRARY time range — the tool for 'what did this look like during Tuesday's outage' or 'show me last month for the capacity review'. from is REQUIRED and both timestamps are RFC 3339 UTC ('2026-09-01T14:00:00Z'); omit to and the sample runs up to now. Restrict the output with a comma-separated list of channel ids from prtg_list_channels, otherwise every channel of the sensor comes back. DEPRECATED BY PAESSLER, and NOT replaceable by prtg_get_sensor_graph_set, which serves only four fixed windows — this is the only endpoint that takes a chosen range. This endpoint is EXPERIMENTAL as well as deprecated.
prtg_list_channel_measurements details
prtg_list_channel_measurements details
[Paessler PRTG] List the last measurement of many channels at once, each with a reference back to its channel — a roll-up for building a dashboard view without a call per sensor. Narrow it with the filter language; unfiltered it walks every channel on the server. DEPRECATED BY PAESSLER but shipped anyway: nothing else returns a cross-channel last-value roll-up. For one sensor's history over time, use prtg_get_sensor_timeseries. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
prtg_list_channels details
prtg_list_channels details
[Paessler PRTG] List channels. A CHANNEL IS ONE METRIC SERIES UNDER A SENSOR — a ping sensor has channels for response time and packet loss, a disk sensor one per volume — so this is where measured values live, not sensor status. Narrow to one sensor with filter='parentid = "<sensor id>"'. Each channel carries id, name, its last value, unit and limit settings; the limits are what decide when the parent sensor turns yellow or red. Ids are JSON STRINGS and feed prtg_get_channel and the channels parameter of the two time-series tools. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
Users & User Groups
prtg_get_user details
prtg_get_user details
[Paessler PRTG] Get one PRTG user account by id — its login name, email address, user group memberships and account state. The group memberships are what decide what this user can see, so read prtg_get_user_group for each of them when working out why a call made with that user's API key is being refused. Get the id from prtg_list_users. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_get_user_group details
prtg_get_user_group details
[Paessler PRTG] Get one PRTG user group by id — its members and the access rights they inherit from it. Read this when diagnosing a permission problem: it says which parts of the monitoring tree the group can reach, which is what determines whether a member's API key can see a given probe, group, device or sensor. Get the id from prtg_list_user_groups. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_list_user_groups details
prtg_list_user_groups details
[Paessler PRTG] List the PRTG user groups. A user group carries the ACCESS RIGHTS that decide which parts of the object tree its members can read or change — this is PRTG's permission model, and it sits underneath the API key's own access level. When a read returns an object whose href is the literal string "restricted", or a call 403s with a key that looks correct, the cause is usually the group rights of the user who owns the key. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
prtg_list_users details
prtg_list_users details
[Paessler PRTG] List the user accounts on the PRTG server — who can sign in, which user groups they belong to and whether their account is active or paused. Ids are JSON STRINGS and feed prtg_get_user, prtg_pause_user, prtg_resume_user and prtg_list_user_api_keys. Note PRTG users are LOCAL TO THE PRTG SERVER; they are not the customer's directory accounts unless the server is configured for single sign-on. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
prtg_pause_user details
prtg_pause_user details
[Paessler PRTG] Pause a PRTG user account. WARNING: this is an ACCOUNT LOCK, not a monitoring pause — that person can no longer sign in to PRTG, and any API key they own stops working, which will break every integration authenticating as them (possibly including this one). Confirm whose account it is with prtg_get_user first, and check what keys they own with prtg_list_user_api_keys. Reverse it with prtg_resume_user.
prtg_pause_users_filtered details
prtg_pause_users_filtered details
[Paessler PRTG] Pause EVERY user account matching a filter — a bulk ACCOUNT LOCK. WARNING: a loose filter locks every administrator out of the PRTG server at once and stops every API key those accounts own, which can include the key StackJack is using. Run the SAME filter through prtg_list_users first and confirm the exact set; prefer locking individual accounts by id. The filter is REQUIRED by PRTG. Reverse it with prtg_resume_users_filtered.
prtg_resume_user details
prtg_resume_user details
[Paessler PRTG] Resume a paused PRTG user account, letting that person sign in again and re-enabling any API keys they own. This is the reversal of prtg_pause_user. Confirm the account first with prtg_get_user — resuming the wrong id restores access that was withdrawn deliberately. Returns no body.
prtg_resume_users_filtered details
prtg_resume_users_filtered details
[Paessler PRTG] Resume EVERY paused user account matching a filter — the bulk form of prtg_resume_user. The filter is REQUIRED by PRTG. Restoring sign-in access to accounts that were locked deliberately is the risk here, not the resume itself, so run the same filter through prtg_list_users first and confirm the exact set.
API Keys & Password Reset
prtg_create_api_key details
prtg_create_api_key details
[Paessler PRTG] Mint a new API key for a PRTG user account. WARNING: this creates a working credential for the customer's monitoring platform, and PRTG returns its value ONCE — it cannot be retrieved later. Grant the narrowest access level that works: READ for reporting, ACKNOWLEDGE to also acknowledge alarms, WRITE for configuration changes, FULL only when key and account management is genuinely needed. The key inherits the owning user's own PRTG rights and can never exceed them, so choose the user as carefully as the level. PRTG documents NO EXPIRY for API keys, so a key minted here works until somebody deletes it with prtg_delete_api_key.
prtg_delete_api_key details
prtg_delete_api_key details
[Paessler PRTG] Delete an API key permanently, revoking it immediately. WARNING: every integration holding that key stops working at once, with no warning to whoever runs it — AND THAT CAN INCLUDE THIS CONNECTOR if the key being deleted is the one StackJack authenticates with. Identify the key with prtg_find_api_key or prtg_list_user_api_keys first and confirm what uses it. PRTG has no undo, and a deleted key cannot be restored — a replacement has to be minted with prtg_create_api_key and distributed. The id here is the API KEY id, not the user id.
prtg_find_api_key details
prtg_find_api_key details
[Paessler PRTG] Look up one API key's record by its VALUE or by its id — which user owns it, what it is named and what access level it carries. This is a read: it changes nothing, despite being a POST. Its main use is identifying an unknown key found in a script or a config file before deciding whether to revoke it with prtg_delete_api_key. Supply exactly one of key or id; supplying neither is refused. Passing a key value sends that secret to PRTG in the request body, so prefer looking up by id when the id is known.
prtg_list_user_api_keys details
prtg_list_user_api_keys details
[Paessler PRTG] List the API keys belonging to one user account — their names, descriptions and access levels. THE KEY VALUES THEMSELVES ARE NOT RETURNED; PRTG shows a key's value only once, when it is created. Access level is one of NOT_SET, READ, ACKNOWLEDGE, WRITE or FULL, and it is applied on top of the owning user's own rights. Use this for an access review, or to see which integrations would break before locking that user with prtg_pause_user. Get the user id from prtg_list_users.
prtg_reset_password details
prtg_reset_password details
[Paessler PRTG] Set a new password for a PRTG user account using the token from the reset email. WARNING: this changes a real person's sign-in credential, immediately. The token comes from the email prtg_trigger_password_reset sends to the ACCOUNT HOLDER, so this call is only possible when they have handed it over — treat that as the authorization, and verify who is asking before using it. All three values are required and must match the same reset. The new password reaches PRTG in the request body, so choose one that is going to be changed by its owner afterwards.
prtg_trigger_password_reset details
prtg_trigger_password_reset details
[Paessler PRTG] Start the password reset process for a PRTG user account. WARNING: THIS SENDS AN EMAIL TO A PERSON — the account holder receives a reset link from the customer's PRTG server, so an accidental call reaches a real inbox and can look like a phishing attempt or an account compromise. Only call it when the account holder has actually asked. Confirm the exact login name with prtg_list_users first; the parameter is the PRTG user name, not an email address or a user id. The reset token goes to the account holder, not to the caller, so completing the reset with prtg_reset_password needs them to supply it.
prtg_update_api_key details
prtg_update_api_key details
[Paessler PRTG] Edit an existing API key's name, description or access level. WARNING: although this is a partial merge, it can WIDEN PRIVILEGE — setting accessLevel to FULL turns a read-only key into one that can manage accounts and mint further keys, without the key value changing and without anyone holding it being told. Read the key's current level with prtg_find_api_key first, and narrow rather than widen unless the change is what was actually asked for. The id here is the API KEY id, not the user id.
System & Lookups
prtg_check_health details
prtg_check_health details
[Paessler PRTG] Check whether the PRTG application server is up. It returns NO BODY: a healthy server answers with status 204, which arrives here as {"status": 204}, and an unhealthy one answers 503, which arrives as an error. PRTG serves this endpoint WITHOUT AUTHENTICATION, so a success proves the host is reachable and says nothing about whether the API key is still valid — use prtg_get_version for that. Useful for separating 'their PRTG is down' from 'our credential is wrong' when everything else is failing.
prtg_get_license_info details
prtg_get_license_info details
[Paessler PRTG] Get the PRTG license — the edition, the sensor allowance and how much of it is used. Read this BEFORE anything that creates sensors: prtg_create_sensor, prtg_clone_object, prtg_run_device_autodiscovery, prtg_run_group_autodiscovery and prtg_start_autodiscovery_task all consume the allowance, and a discovery run that exceeds it leaves sensors created but not monitoring. This endpoint is EXPERIMENTAL — Paessler states it may change between PRTG releases.
prtg_get_lookup_definition details
prtg_get_lookup_definition details
[Paessler PRTG] Get one lookup definition by id — the full mapping from raw sensor values to status text and sensor state. This is what turns a channel's number into the words shown in PRTG, so reading it explains exactly which value ranges make a sensor go yellow or red. Get the id from prtg_list_lookup_definitions. DEPRECATED BY PAESSLER but shipped anyway: nothing else returns a lookup's contents.
prtg_get_public_settings details
prtg_get_public_settings details
[Paessler PRTG] Get the settings PRTG exposes to unauthenticated callers — the small set its own sign-in page needs, such as the server name and which login methods are offered. PRTG serves this WITHOUT AUTHENTICATION, so it works even when the stored API key does not, which makes it useful for confirming that the configured URL really points at a PRTG server rather than a proxy error page. It carries no monitoring data.
prtg_get_version details
prtg_get_version details
[Paessler PRTG] Get the PRTG core server and application server versions. This is the cheapest AUTHENTICATED call in the connector, which makes it the right first call when checking that the stored API key still works — unlike prtg_check_health, a success here proves the credential and not just that the host answers. It is also what to read before trusting an experimental endpoint, since Paessler's behavior on those varies by release.
prtg_list_libraries details
prtg_list_libraries details
[Paessler PRTG] List the PRTG libraries — saved custom views that gather objects from anywhere in the tree into one arrangement, often built per customer for a status wall. Reading them shows how the MSP has chosen to group monitoring for reporting, which can be a faster route to a customer's real scope than walking the object tree. DEPRECATED BY PAESSLER but shipped anyway: this is the only library endpoint in the API. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
prtg_list_lookup_definitions details
prtg_list_lookup_definitions details
[Paessler PRTG] List the lookup definitions on the server. A PRTG lookup maps a raw numeric sensor value to the status text an operator sees — it is why a channel reading of 2 displays as 'Degraded' and turns the sensor yellow. Read these when a sensor's state does not obviously follow from its number. DEPRECATED BY PAESSLER but shipped anyway: nothing else in the API lists them. For the legal values of a SETTING rather than a sensor reading, use prtg_get_setting_lookup. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
prtg_list_running_autodiscoveries details
prtg_list_running_autodiscoveries details
[Paessler PRTG] List the auto-discoveries running on the server RIGHT NOW, with their progress. This is live activity, unlike prtg_list_autodiscovery_tasks, which lists the stored definitions. Poll it after prtg_start_autodiscovery_task, prtg_run_device_autodiscovery or prtg_run_group_autodiscovery to see when the scan finishes, and check it before starting another one — several concurrent discoveries put real load on both the PRTG core and the customer's network. includeTotals=true wraps the page in {items, total, resultCount, next} instead of returning the bare array — items is this page exactly as PRTG sent it, total is how many exist in all, and next is the URL of the following page (null on the last one). It defaults to false, which returns the array unchanged.
More in Tools Reference
Atera ToolsAuvik ToolsAvanan (Check Point Harmony Email) ToolsConnectWise Sell ToolsStill need help? Ask the team