Skip to main content
Tools Reference

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

ToolPlanAccessSummary
prtg_acknowledge_sensor_alarmProWriteAcknowledge one sensor's alarm, which stops PRTG re-notifying about it while leaving the sensor MONITORING NORMALLY.
prtg_acknowledge_sensor_alarms_filteredProWriteAcknowledge the alarms of EVERY sensor matching a filter — the bulk form of prtg_acknowledge_sensor_alarm.
prtg_create_sensorProWriteCreate a new sensor on a device.
prtg_delete_sensorProDestructiveDelete a sensor AND EVERY CHANNEL UNDER IT, permanently.
prtg_get_object_status_summaryFreeRead-onlyCount the sensors in each state UNDER one probe, group or device — the scoped form of prtg_get_sensor_status_summary.
prtg_get_sensorFreeRead-onlyGet one sensor's current metrics and settings by id.
prtg_get_sensor_status_summaryFreeRead-onlyCount the sensors in each state across the WHOLE PRTG server — up, down, warning, paused, unusual, unknown.
prtg_list_alarmsFreeRead-onlyList the sensors currently in an alarm state — the fastest answer to "what is broken right now".
prtg_list_sensor_measurementsFreeRead-onlyList one sensor's recent channel measurements — the recorded values for each of its channels.
prtg_list_sensorsFreeRead-onlyList sensors on the PRTG server, with the filter language for narrowing.
prtg_metascan_deviceProDestructiveAsk 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.
prtg_pause_sensorProWritePause one sensor.
prtg_pause_sensors_filteredProWritePause EVERY sensor matching a filter.
prtg_resume_sensorProWriteResume one paused sensor, so PRTG starts checking and alerting on it again.
prtg_resume_sensors_filteredProWriteResume EVERY paused sensor matching a filter — the bulk form of prtg_resume_sensor, and the normal way to end a maintenance window.
prtg_scan_sensor_nowProDestructiveTrigger an immediate check of one sensor instead of waiting for its next scheduled interval.
prtg_scan_sensors_now_filteredProDestructiveTrigger an immediate check of EVERY sensor matching a filter.
prtg_update_sensorProWriteUpdate a sensor's settings.

[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.

ParamTypeRequiredDefaultDescription
durationSecondsnumbernonullHow long to acknowledge for, in seconds. PRTG rounds UP to whole minutes (100 becomes 2 minutes). Omit or 0 to acknowledge indefinitely.
idstringyesThe sensor id whose alarm to acknowledge, from prtg_list_alarms.
messagestringnonullMessage shown on the sensor in PRTG while acknowledged. Name the ticket and the person working it.

[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.

ParamTypeRequiredDefaultDescription
durationSecondsnumbernonullHow long to acknowledge for, in seconds; PRTG rounds UP to whole minutes. Omit or 0 for indefinitely.
filterstringyesREQUIRED PRTG filter selecting the sensors, e.g. 'parentid = "2004" and status = down'. Run the same filter through prtg_list_sensors first to see exactly what it matches.
messagestringnonullMessage shown on each acknowledged sensor. Name the ticket and the person working it.

[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.

ParamTypeRequiredDefaultDescription
definitionJsonstringyesA JSON string defining the new sensor. Shape it from prtg_get_object_create_schema for this device and kind. Maximum 15 KB.
deviceIdstringyesThe device id the sensor is created on, from prtg_list_devices.
kindIdstringyesThe sensor kind identifier, from prtg_list_creatable_object_kinds for this device (e.g. 'ping', 'http').

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe sensor id to delete permanently. Verify it with prtg_get_sensor before calling.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe probe, group or device id to summarize. Sensors beneath it are all counted.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe sensor id, from prtg_list_sensors. PRTG ids are strings even though they look numeric.
includestringnonullExtra sections to include, comma separated ('all_sections', 'inheritance', or '*').

[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.

[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.

ParamTypeRequiredDefaultDescription
filterstringnonullPRTG filter expression to narrow the alarm list, e.g. 'parentid = "2004"'. Omit for every alarm.
includeAllChannelsbooleannonullSet true to return every channel of each alarming sensor instead of the primary channel only.
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200).
offsetintegerno0Zero-based index of the first result (default 0).
sortBystringnonullSort field; prefix with a minus for descending, e.g. '-lastcheck'.

[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.

ParamTypeRequiredDefaultDescription
filterstringnonullPRTG filter expression to narrow the measurements. Omit for all.
idstringyesThe sensor id, from prtg_list_sensors.
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200).
offsetintegerno0Zero-based index of the first result (default 0).
sortBystringnonullSort field; prefix with a minus for descending.

[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.

ParamTypeRequiredDefaultDescription
filterstringnonullPRTG filter expression, e.g. 'status = down', 'parentid = "2004"', 'tags contains "ping"'. Combine with and / or / not and parentheses. Status tokens are unquoted (up, down, warning, paused, unusual, downacknowledged). Omit for all sensors.
includestringnonullExtra sections to include, comma separated. Use 'all_sections' to see what is available, 'inheritance' to show which settings are inherited, or '' for both. AVOID '' on large result sets — it makes each object much larger.
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200). Values above 1000 are clamped.
offsetintegerno0Zero-based index of the first result (default 0). To page, add the previous limit to it.

[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.

ParamTypeRequiredDefaultDescription
deviceIdstringyesThe device id to meta-scan, from prtg_list_devices.
kindstringyesThe sensor kind to enumerate on the device, from prtg_list_creatable_object_kinds.
parametersJsonstringnonullAn optional JSON string holding the kind-specific parameters for the scan. Omit unless the sensor kind's create schema documents one.

[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.

ParamTypeRequiredDefaultDescription
durationSecondsnumbernonullHow long to pause for, in seconds. PRTG rounds UP to whole minutes. Omit or 0 pauses INDEFINITELY — set a real duration whenever you can.
idstringyesThe sensor id to pause, from prtg_list_sensors.
messagestringnonullMessage shown on the paused sensor in PRTG. Name the change window or ticket so the next person knows why monitoring is off.

[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.

ParamTypeRequiredDefaultDescription
durationSecondsnumbernonullHow long to pause for, in seconds; PRTG rounds UP to whole minutes. Omit or 0 pauses INDEFINITELY.
filterstringyesREQUIRED PRTG filter selecting the sensors to pause, e.g. 'parentid = "2004"'. Verify it against prtg_list_sensors before calling — a broad filter silences a whole estate.
messagestringnonullMessage shown on every paused sensor. Name the change window or ticket.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe sensor id to resume, from prtg_list_sensors with filter='status = paused'.

[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.

ParamTypeRequiredDefaultDescription
filterstringyesREQUIRED PRTG filter selecting the sensors to resume, e.g. 'parentid = "2004" and status = paused'.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe sensor id to check immediately, from prtg_list_sensors.

[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.

ParamTypeRequiredDefaultDescription
filterstringyesREQUIRED PRTG filter selecting the sensors to check, e.g. 'parentid = "2004" and status = down'. Verify the match count with prtg_list_sensors first.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe sensor id to update, from prtg_list_sensors.
settingsJsonstringyesA JSON string holding the settings to merge into the sensor. Shape it from prtg_get_object_update_schema for this same id. Maximum 15 KB.

Devices

ToolPlanAccessSummary
prtg_create_device_in_groupProWriteCreate a new device inside a group.
prtg_create_device_on_probeProWriteCreate a new device directly on a probe rather than inside a group.
prtg_delete_deviceProDestructiveDelete a device AND EVERY SENSOR AND CHANNEL UNDER IT, permanently.
prtg_get_deviceFreeRead-onlyGet one device's metrics and settings by id — host address, status, scanning interval, parent group and sensor roll-up.
prtg_list_device_iconsFreeRead-onlyList the device icon names the PRTG interface offers.
prtg_list_device_templatesFreeRead-onlyList the device templates auto-discovery can apply.
prtg_list_devicesFreeRead-onlyList the devices PRTG monitors — servers, switches, firewalls, URLs.
prtg_pause_deviceProWritePause one device.
prtg_pause_devices_filteredProWritePause EVERY device matching a filter, and with it every sensor on those devices.
prtg_resume_deviceProWriteResume one paused device, restoring monitoring and alerting for every sensor on it.
prtg_resume_devices_filteredProWriteResume 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.
prtg_run_device_autodiscoveryProDestructiveRun auto-discovery against one device: PRTG probes it, works out what can be monitored, and CREATES SENSORS for what it finds.
prtg_scan_device_nowProDestructiveTrigger an immediate check of EVERY sensor on one device.
prtg_scan_devices_now_filteredProDestructiveTrigger an immediate check of every sensor on EVERY device matching a filter.
prtg_update_deviceProWriteUpdate a device's settings.

[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.

ParamTypeRequiredDefaultDescription
definitionJsonstringyesA JSON string defining the new device (name and host address at minimum). Shape it from prtg_get_object_create_schema. Maximum 15 KB.
groupIdstringyesThe parent group id, from prtg_list_groups.

[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.

ParamTypeRequiredDefaultDescription
definitionJsonstringyesA JSON string defining the new device (name and host address at minimum). Shape it from prtg_get_object_create_schema. Maximum 15 KB.
probeIdstringyesThe parent probe id, from prtg_list_probes. This decides which collector checks the device.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe device id to delete permanently, along with all of its sensors and channels. Verify it with prtg_get_device first.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe device id, from prtg_list_devices.
includestringnonullExtra sections to include, comma separated. Use 'all_sections' to see what exists first; avoid '*' on devices.

[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.

[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.

[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.

ParamTypeRequiredDefaultDescription
filterstringnonullPRTG filter expression, e.g. 'status = down', 'parentid = "1002"', 'tags contains "firewall"'. Omit for all devices.
includestringnonullExtra sections to include, comma separated. AVOID '*' on devices — it pulls credential sections (passwords are masked, but the response becomes very large).
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200).
offsetintegerno0Zero-based index of the first result (default 0).

[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.

ParamTypeRequiredDefaultDescription
durationSecondsnumbernonullHow long to pause for, in seconds. PRTG rounds UP to whole minutes. Omit or 0 pauses INDEFINITELY.
idstringyesThe device id to pause, from prtg_list_devices.
messagestringnonullMessage shown on the paused device in PRTG. Name the change window or ticket.

[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.

ParamTypeRequiredDefaultDescription
durationSecondsnumbernonullHow long to pause for, in seconds; PRTG rounds UP to whole minutes. Omit or 0 pauses INDEFINITELY.
filterstringyesREQUIRED PRTG filter selecting the devices to pause, e.g. 'parentid = "1002"'. Verify it against prtg_list_devices before calling.
messagestringnonullMessage shown on every paused device. Name the change window or ticket.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe device id to resume, from prtg_list_devices with filter='status = paused'.

[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.

ParamTypeRequiredDefaultDescription
filterstringyesREQUIRED PRTG filter selecting the devices to resume, e.g. 'parentid = "1002" and status = paused'.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe device id to run auto-discovery against, from prtg_list_devices.
templatesarraynonullTemplate FILE NAMES from prtg_list_device_templates, passed verbatim. Omit to use the templates already configured on the device.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe device id whose sensors to check immediately, from prtg_list_devices.

[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.

ParamTypeRequiredDefaultDescription
filterstringyesREQUIRED PRTG filter selecting the devices to check, e.g. 'parentid = "1002" and status = down'. Verify the match count with prtg_list_devices first.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe device id to update, from prtg_list_devices.
settingsJsonstringyesA JSON string holding the settings to merge into the device. Shape it from prtg_get_object_update_schema for this same id. Maximum 15 KB.

Groups

ToolPlanAccessSummary
prtg_create_group_in_groupProWriteCreate a new group inside an existing group — how a site or department is added under a customer's top-level group.
prtg_create_group_on_probeProWriteCreate a new TOP-LEVEL group directly on a probe — the usual first step when onboarding a new customer into a shared PRTG server.
prtg_delete_groupProDestructiveDelete a group AND EVERY GROUP, DEVICE, SENSOR AND CHANNEL UNDER IT, permanently.
prtg_get_groupFreeRead-onlyGet one group's metrics and settings by id — status, scanning interval, parent, and the settings its devices inherit.
prtg_list_groupsFreeRead-onlyList the groups on the PRTG server.
prtg_pause_groupProWritePause one group.
prtg_pause_groups_filteredProWritePause EVERY group matching a filter, and with it every device and sensor beneath those groups.
prtg_resume_groupProWriteResume one paused group, restoring monitoring and alerting for every device and sensor beneath it.
prtg_resume_groups_filteredProWriteResume EVERY paused group matching a filter — the bulk form of prtg_resume_group, and the normal way to end a site-wide maintenance window.
prtg_run_group_autodiscoveryProDestructiveRun 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.
prtg_scan_group_nowProDestructiveTrigger an immediate check of EVERY sensor in one group.
prtg_scan_groups_now_filteredProDestructiveTrigger an immediate check of every sensor in EVERY group matching a filter.
prtg_update_groupProWriteUpdate a group's settings.

[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.

ParamTypeRequiredDefaultDescription
definitionJsonstringyesA JSON string defining the new group. Shape it from prtg_get_object_create_schema. Maximum 15 KB.
groupIdstringyesThe parent group id, from prtg_list_groups. The new group inherits this group's settings.

[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.

ParamTypeRequiredDefaultDescription
definitionJsonstringyesA JSON string defining the new group. Shape it from prtg_get_object_create_schema. Maximum 15 KB.
probeIdstringyesThe parent probe id, from prtg_list_probes. This decides which collector serves everything in the group.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe group id to delete permanently, along with every group, device, sensor and channel beneath it. Verify the name with prtg_get_group first.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe group id, from prtg_list_groups.
includestringnonullExtra sections to include, comma separated. 'inheritance' shows which settings are inherited from the parent rather than set on this group.

[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.

ParamTypeRequiredDefaultDescription
filterstringnonullPRTG filter expression, e.g. 'name contains "Contoso"' or 'status = down'. Omit for all groups.
includestringnonullExtra sections to include, comma separated ('all_sections', 'inheritance', or '*').
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200).
offsetintegerno0Zero-based index of the first result (default 0).

[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.

ParamTypeRequiredDefaultDescription
durationSecondsnumbernonullHow long to pause for, in seconds. PRTG rounds UP to whole minutes. Omit or 0 pauses INDEFINITELY.
idstringyesThe group id to pause, from prtg_list_groups.
messagestringnonullMessage shown on the paused group in PRTG. Name the change window or ticket.

[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.

ParamTypeRequiredDefaultDescription
durationSecondsnumbernonullHow long to pause for, in seconds; PRTG rounds UP to whole minutes. Omit or 0 pauses INDEFINITELY.
filterstringyesREQUIRED PRTG filter selecting the groups to pause. Verify it against prtg_list_groups before calling — on a shared server this can silence several customers.
messagestringnonullMessage shown on every paused group. Name the change window or ticket.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe group id to resume, from prtg_list_groups with filter='status = paused'.

[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.

ParamTypeRequiredDefaultDescription
filterstringyesREQUIRED PRTG filter selecting the groups to resume, e.g. 'status = paused'.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe group id to run auto-discovery across, from prtg_list_groups.
templatesarraynonullTemplate FILE NAMES from prtg_list_device_templates, passed verbatim. Omit to use each device's own configured templates.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe group id whose sensors to check immediately, from prtg_list_groups.

[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.

ParamTypeRequiredDefaultDescription
filterstringyesREQUIRED PRTG filter selecting the groups to check. Verify the match count with prtg_list_groups first.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe group id to update, from prtg_list_groups.
settingsJsonstringyesA JSON string holding the settings to merge into the group. Remember these values are inherited by everything beneath it. Maximum 15 KB.

Probes

ToolPlanAccessSummary
prtg_delete_probeProDestructiveDelete a probe AND EVERY GROUP, DEVICE, SENSOR AND CHANNEL UNDER IT, permanently.
prtg_get_probeFreeRead-onlyGet one probe's metrics and settings by id — connection state, version, and the settings every group and device beneath it inherits.
prtg_get_probe_network_infoFreeRead-onlyGet the network interfaces and IP addresses of the MACHINE a probe runs on.
prtg_list_probesFreeRead-onlyList the probes attached to the PRTG core server.
prtg_pause_probeProWritePause one probe.
prtg_pause_probes_filteredProWritePause EVERY probe matching a filter.
prtg_resume_probeProWriteResume one paused probe, restoring monitoring and alerting for every group, device and sensor beneath it.
prtg_resume_probes_filteredProWriteResume EVERY paused probe matching a filter — the bulk form of prtg_resume_probe.
prtg_scan_probe_nowProDestructiveTrigger an immediate check of EVERY sensor a probe collects.
prtg_scan_probes_now_filteredProDestructiveTrigger an immediate check of every sensor on EVERY probe matching a filter.
prtg_update_probeProWriteUpdate a probe's settings.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe probe id to delete permanently, along with every group, device, sensor and channel beneath it. Verify the name with prtg_get_probe first.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe probe id, from prtg_list_probes.
includestringnonullExtra sections to include, comma separated. 'inheritance' shows which settings flow down to the groups and devices beneath.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe probe id whose host machine's network details to read, from prtg_list_probes.

[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.

ParamTypeRequiredDefaultDescription
filterstringnonullPRTG filter expression, e.g. 'status = down' to find disconnected probes. Omit for all.
includestringnonullExtra sections to include, comma separated ('all_sections', 'inheritance', or '*').
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200).
offsetintegerno0Zero-based index of the first result (default 0).

[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.

ParamTypeRequiredDefaultDescription
durationSecondsnumbernonullHow long to pause for, in seconds. PRTG rounds UP to whole minutes. Omit or 0 pauses INDEFINITELY.
idstringyesThe probe id to pause, from prtg_list_probes.
messagestringnonullMessage shown on the paused probe in PRTG. Name the change window or ticket.

[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.

ParamTypeRequiredDefaultDescription
durationSecondsnumbernonullHow long to pause for, in seconds; PRTG rounds UP to whole minutes. Omit or 0 pauses INDEFINITELY.
filterstringyesREQUIRED PRTG filter selecting the probes to pause. Verify it against prtg_list_probes before calling — a broad filter stops monitoring for every customer on the server.
messagestringnonullMessage shown on every paused probe. Name the change window or ticket.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe probe id to resume, from prtg_list_probes with filter='status = paused'.

[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.

ParamTypeRequiredDefaultDescription
filterstringyesREQUIRED PRTG filter selecting the probes to resume, e.g. 'status = paused'.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe probe id whose sensors to check immediately, from prtg_list_probes.

[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.

ParamTypeRequiredDefaultDescription
filterstringyesREQUIRED PRTG filter selecting the probes to check. Verify the match count with prtg_list_probes first.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe probe id to update, from prtg_list_probes.
settingsJsonstringyesA JSON string holding the settings to merge into the probe. These values are inherited by everything beneath it. Maximum 15 KB.

Objects & Schemas

ToolPlanAccessSummary
prtg_clone_objectProWriteClone 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.
prtg_get_object_countsFreeRead-onlyCount how many objects of each kind exist on the server — probes, groups, devices, sensors, channels.
prtg_get_object_create_schemaFreeRead-onlyGet the OpenAPI schema for the CREATE body of one object kind on one parent — exactly which properties are required and allowed.
prtg_get_object_read_schemaFreeRead-onlyGet the OpenAPI schema describing what a READ of one specific object returns — which properties exist and what type each one is.
prtg_get_object_update_schemaFreeRead-onlyGet 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.
prtg_get_setting_lookupFreeRead-onlyList the legal values of one named setting — the only way to find out what an enumerated PRTG setting will accept before writing it.
prtg_list_creatable_object_kindsFreeRead-onlyList 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.
prtg_move_objectProDestructiveMove a live monitoring object to a new parent, or reorder it among its siblings.
prtg_search_objectsFreeRead-onlySearch across EVERY object kind at once — probes, groups, devices, sensors and channels — using the PRTG filter language.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe id of the object to clone. A device or group clones its whole subtree with it.
parentstringyesREQUIRED destination parent id. The clone inherits THIS parent's settings, which may differ from the original's.
positionintegernonullAbsolute position among the new siblings. PRTG numbers siblings in tens, so this must be a multiple of 10 and at least 10. Omit to use positionPreset.
positionPresetstringnonullWhere to place the clone among its new siblings: 'top' or 'bottom' (PRTG's default is bottom). Omit if position is given.

[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.

[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.

ParamTypeRequiredDefaultDescription
includestringnonullExtra sections to include in the schema, comma separated.
kindstringyesThe object kind to be created, from prtg_list_creatable_object_kinds for this same parent.
parentIdstringyesThe parent object id the new object would be created on.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe object id whose read schema to fetch — a sensor, device, group or probe id.
includestringnonullExtra sections to include in the schema, comma separated.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe object id whose update schema to fetch — the same id that will be passed to the matching update tool.
includestringnonullExtra sections to include in the schema, comma separated.

[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.

ParamTypeRequiredDefaultDescription
idstringnonullOptional object id to scope the values to one object; the valid set can be narrower than the global one. Omit for the global list.
namestringyesThe setting name to look up, as it appears in an object's settings or in a schema from prtg_get_object_update_schema.

[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.

ParamTypeRequiredDefaultDescription
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200). PRTG offers hundreds of sensor kinds, so page rather than raising this.
offsetintegerno0Zero-based index of the first result (default 0).
parentIdstringyesThe parent object id — a device for sensor kinds, a group or probe for container kinds.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe id of the object to move.
parentstringnonullNew parent id. Omit to reorder within the current parent. Supplying it CHANGES WHICH SETTINGS THE OBJECT INHERITS.
positionintegernonullAbsolute position among the siblings. PRTG numbers siblings in tens, so this must be a multiple of 10 and at least 10. Omit to use positionPreset.
positionPresetstringnonullRelative movement: 'top', 'bottom', 'up' or 'down'. Omit if position is given.

[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.

ParamTypeRequiredDefaultDescription
filterstringnonullPRTG filter expression across all kinds, e.g. 'type = sensor and status = down', 'tags contains "sql"', 'descendants(2004)'. Omit to walk everything.
includestringnonullExtra sections to include, comma separated. Avoid '*' here — it expands every object in a cross-kind result set.
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200).
offsetintegerno0Zero-based index of the first result (default 0).

Auto-Discovery

ToolPlanAccessSummary
prtg_create_autodiscovery_task_on_probeProWriteCreate a saved auto-discovery task on a probe.
prtg_delete_autodiscovery_taskProDestructiveDelete a saved auto-discovery task permanently.
prtg_get_autodiscovery_taskFreeRead-onlyGet one saved auto-discovery task by id — its target range, the device templates it applies, its schedule and the probe that would run it.
prtg_list_autodiscovery_tasksFreeRead-onlyList the SAVED auto-discovery tasks — the stored definitions of what to scan and which device templates to apply.
prtg_start_autodiscovery_taskProDestructiveStart a saved auto-discovery task now.
prtg_update_autodiscovery_taskProWriteUpdate a saved auto-discovery task.

[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.

ParamTypeRequiredDefaultDescription
definitionJsonstringyesA JSON string defining the task — target range, templates, schedule. Shape it from prtg_get_object_create_schema. Maximum 15 KB.
probeIdstringyesThe probe id the task belongs to, from prtg_list_probes. It decides which network the scan runs from.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe auto-discovery task id to delete permanently. Objects it previously created are left in place.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe auto-discovery task id, from prtg_list_autodiscovery_tasks.
includestringnonullExtra sections to include, comma separated.

[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.

ParamTypeRequiredDefaultDescription
filterstringnonullPRTG filter expression to narrow the task list. Omit for all tasks.
includestringnonullExtra sections to include, comma separated.
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200).
offsetintegerno0Zero-based index of the first result (default 0).
sortBystringnonullSort field; prefix with a minus for descending.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe auto-discovery task id to run now. Read its target range with prtg_get_autodiscovery_task first.

[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.

ParamTypeRequiredDefaultDescription
definitionJsonstringyesA JSON string holding the task properties to merge. Shape it from prtg_get_object_update_schema for this task id. Maximum 15 KB.
idstringyesThe auto-discovery task id to update, from prtg_list_autodiscovery_tasks.

Channels & Time Series

ToolPlanAccessSummary
prtg_get_channelFreeRead-onlyGet 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.
prtg_get_sensor_graph_setFreeRead-onlyGet historic channel data for one sensor over one of PRTG's four PRESET windows — the same data its interface graphs show.
prtg_get_sensor_timeseriesFreeRead-onlyGet 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'.
prtg_list_channel_measurementsFreeRead-onlyList 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.
prtg_list_channelsFreeRead-onlyList channels.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe channel id, from prtg_list_channels.
includestringnonullExtra sections to include, comma separated.

[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.

ParamTypeRequiredDefaultDescription
channelsstringnonullComma-separated channel ids from prtg_list_channels to restrict the output. Omit for every channel of the sensor.
sensorIdstringyesThe sensor id whose history to read, from prtg_list_sensors.
typestringyesThe preset window: 'live' (~4 hours), 'short' (~2 days), 'medium' (~60 days) or 'long' (~365 days). No other value is accepted.

[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.

ParamTypeRequiredDefaultDescription
channelsstringnonullComma-separated channel ids from prtg_list_channels to restrict the output. Omit for every channel of the sensor.
fromstringyesREQUIRED start of the range, RFC 3339 UTC, e.g. '2026-09-01T14:00:00Z'.
sensorIdstringyesThe sensor id whose history to read, from prtg_list_sensors.
tostringnonullEnd of the range, RFC 3339 UTC. Omit to run the sample up to now.

[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.

ParamTypeRequiredDefaultDescription
filterstringnonullPRTG filter expression to narrow which channels are rolled up. Strongly recommended — unfiltered this walks the whole server.
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200).
offsetintegerno0Zero-based index of the first result (default 0).
sortBystringnonullSort field; prefix with a minus for descending.

[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.

ParamTypeRequiredDefaultDescription
filterstringnonullPRTG filter expression. Use 'parentid = "<sensor id>"' to get one sensor's channels. Omit to walk every channel on the server.
includestringnonullExtra sections to include, comma separated.
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200). Channels outnumber sensors several times over, so page rather than raising this.
offsetintegerno0Zero-based index of the first result (default 0).
sortBystringnonullSort field; prefix with a minus for descending.

Users & User Groups

ToolPlanAccessSummary
prtg_get_userFreeRead-onlyGet one PRTG user account by id — its login name, email address, user group memberships and account state.
prtg_get_user_groupFreeRead-onlyGet one PRTG user group by id — its members and the access rights they inherit from it.
prtg_list_user_groupsFreeRead-onlyList the PRTG user groups.
prtg_list_usersFreeRead-onlyList 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.
prtg_pause_userProDestructivePause a PRTG user account.
prtg_pause_users_filteredProDestructivePause EVERY user account matching a filter — a bulk ACCOUNT LOCK.
prtg_resume_userProWriteResume a paused PRTG user account, letting that person sign in again and re-enabling any API keys they own.
prtg_resume_users_filteredProWriteResume EVERY paused user account matching a filter — the bulk form of prtg_resume_user.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe user account id, from prtg_list_users.
includestringnonullExtra sections to include, comma separated.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe user group id, from prtg_list_user_groups.
includestringnonullExtra sections to include, comma separated.

[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.

ParamTypeRequiredDefaultDescription
filterstringnonullPRTG filter expression to narrow the list. Omit for all user groups.
includestringnonullExtra sections to include, comma separated.
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200).
offsetintegerno0Zero-based index of the first result (default 0).

[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.

ParamTypeRequiredDefaultDescription
filterstringnonullPRTG filter expression, e.g. 'name contains "admin"'. Omit for all users.
includestringnonullExtra sections to include, comma separated.
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200).
offsetintegerno0Zero-based index of the first result (default 0).

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe user account id to lock, from prtg_list_users. Confirm the person with prtg_get_user first.

[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.

ParamTypeRequiredDefaultDescription
filterstringyesREQUIRED PRTG filter selecting the user accounts to lock. Verify it against prtg_list_users before calling — a broad filter can lock everyone out, including this connector.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe user account id to resume, from prtg_list_users.

[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.

ParamTypeRequiredDefaultDescription
filterstringyesREQUIRED PRTG filter selecting the user accounts to resume. Verify it against prtg_list_users first — this restores sign-in access.

API Keys & Password Reset

ToolPlanAccessSummary
prtg_create_api_keyProDestructiveMint a new API key for a PRTG user account.
prtg_delete_api_keyProDestructiveDelete an API key permanently, revoking it immediately.
prtg_find_api_keyFreeRead-onlyLook 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.
prtg_list_user_api_keysFreeRead-onlyList the API keys belonging to one user account — their names, descriptions and access levels.
prtg_reset_passwordProDestructiveSet a new password for a PRTG user account using the token from the reset email.
prtg_trigger_password_resetProDestructiveStart the password reset process for a PRTG user account.
prtg_update_api_keyProDestructiveEdit an existing API key's name, description or access level.

[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.

ParamTypeRequiredDefaultDescription
accessLevelstringyesAccess level: NOT_SET, READ, ACKNOWLEDGE, WRITE or FULL. Grant the narrowest that works — FULL allows key and account management.
descriptionstringnonullOptional description. Record who requested the key and why.
namestringyesA name for the key. Use one that says which integration will hold it, so a later access review can tell.
userIdstringyesThe USER account id the key belongs to, from prtg_list_users. The key inherits that user's PRTG rights.

[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.

ParamTypeRequiredDefaultDescription
apiKeyIdstringyesThe API KEY id to revoke permanently, from prtg_list_user_api_keys — not a user id. Confirm what uses it first.

[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.

ParamTypeRequiredDefaultDescription
idstringnonullThe API key id to look up, from prtg_list_user_api_keys.
keystringnonullThe API key VALUE to look up. Prefer the id parameter when you have it — this sends the secret in the request body.

[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.

ParamTypeRequiredDefaultDescription
userIdstringyesThe USER account id whose keys to list, from prtg_list_users — not an API key id.

[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.

ParamTypeRequiredDefaultDescription
passwordstringyesThe new password. It travels to PRTG in the request body — have the account holder change it once they are back in.
tokenstringyesThe reset token from the email prtg_trigger_password_reset sent to the account holder. It must match the same username.
usernamestringyesThe PRTG login name of the account whose password is being changed.

[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.

ParamTypeRequiredDefaultDescription
usernamestringyesThe PRTG login NAME of the account to reset — not an email address and not a user id. Confirm it with prtg_list_users first; this sends that person an email.

[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.

ParamTypeRequiredDefaultDescription
accessLevelstringnonullNew access level: NOT_SET, READ, ACKNOWLEDGE, WRITE or FULL. Omit to leave it unchanged. Raising it widens what the key can do.
apiKeyIdstringyesThe API KEY id to edit, from prtg_list_user_api_keys — not a user id.
descriptionstringnonullNew description. Omit to leave it unchanged.
namestringnonullNew name for the key. Omit to leave it unchanged.

System & Lookups

ToolPlanAccessSummary
prtg_check_healthFreeRead-onlyCheck whether the PRTG application server is up.
prtg_get_license_infoFreeRead-onlyGet the PRTG license — the edition, the sensor allowance and how much of it is used.
prtg_get_lookup_definitionFreeRead-onlyGet one lookup definition by id — the full mapping from raw sensor values to status text and sensor state.
prtg_get_public_settingsFreeRead-onlyGet 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_get_versionFreeRead-onlyGet the PRTG core server and application server versions.
prtg_list_librariesFreeRead-onlyList 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.
prtg_list_lookup_definitionsFreeRead-onlyList the lookup definitions on the server.
prtg_list_running_autodiscoveriesFreeRead-onlyList the auto-discoveries running on the server RIGHT NOW, with their progress.

[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.

[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.

[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.

ParamTypeRequiredDefaultDescription
idstringyesThe lookup definition id, from prtg_list_lookup_definitions.

[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.

[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.

[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.

ParamTypeRequiredDefaultDescription
filterstringnonullPRTG filter expression to narrow the list. Omit for all libraries.
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200).
offsetintegerno0Zero-based index of the first result (default 0).
sortBystringnonullSort field; prefix with a minus for descending.

[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.

ParamTypeRequiredDefaultDescription
filterstringnonullPRTG filter expression to narrow the list. Omit for all definitions.
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200).
offsetintegerno0Zero-based index of the first result (default 0).
sortBystringnonullSort field; prefix with a minus for descending.

[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.

ParamTypeRequiredDefaultDescription
filterstringnonullPRTG filter expression to narrow the list. Omit for every running discovery.
includeTotalsbooleannofalseSet true to wrap the page in {items, total, resultCount, next} rather than returning the bare array. items is what PRTG sent, total is how many objects exist in all, resultCount is how many are in this page, and next is the URL of the following page or null on the last one. Each of the three is null when PRTG omits its header. Default false.
limitintegerno200Maximum results (1-1000, default 200).
offsetintegerno0Zero-based index of the first result (default 0).
sortBystringnonullSort field; prefix with a minus for descending.