openapi: 3.0.3
info:
title: PRTG API v2 Reference
description: |
This is the API reference documentation for the PRTG API v2.
* The PRTG API v2 is not yet feature-complete. Most endpoints are stable and you can use them in production, with the exception of endpoints marked as "experimental". Experimental endpoints might change, so use them with caution (also see [Overview: Maturity of endpoints](../overview/index.html#endpoint-maturity)). If you cannot achieve your objective with the API v2, you can try the PRTG API (v1). For more information, see the [PRTG Manual: HTTP API](https://www.paessler.com/manuals/prtg/http_api).
* Endpoints with a lock symbol require authentication. To use the **Try it out** buttons, click on **Authorize** at the top right of the page and enter an [API key](../overview/index.html#apikey) or log in by [sending a POST request to the /sessions endpoint](#/Authentication).
* You can share your feedback about the API [here](https://www.paessler.to/feedback-api).
* If you need help, contact the Paessler support team from the [Paessler Help Desk](https://helpdesk.paessler.com/en/support/tickets/new).
* A general overview of the PRTG API v2 can be found [here](../overview/index.html).
version: "2.0"
servers:
- url: /api/v2
paths:
/schemas/{kind}:
get:
x-prtg-writer: true
operationId: GetSchema
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be replaced.
tags:
- Objects
summary: Returns a OAS schema to use in other endpoints.
parameters:
- name: kind
in: path
description:
'Enter the ID of the schema kind (e.g. device, group, ping).'
required: true
schema:
type: string
- name: purpose
in: query
description: |
Select the purpose to narrow the schema for a specific use case.
Examples:
* Use `read` for the schema of a `GET` endpoint
* Use `create` for the schema of a `POST` endpoint
* Use `update` for the schema of a `PATCH` endpoint
required: true
schema:
default: read
type: string
enum:
- create
- update
- read
- name: parent
in: query
description: |
Enter the parent ID of the tree node where you want to `create` a new node of the given kind to retrieve the correct schema for this use case.
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: yaml/components/Schema.yaml#/components/schemas/SchemaDefinition
examples:
Read device:
$ref: "yaml/examples/object.yaml#/schema-device-read"
Create device:
$ref: "yaml/examples/object.yaml#/schema-device-create"
description:
'The request was successful.'
"4XX":
$ref: "#/components/responses/4XX"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/experimental/objects/{parent}/types:
get:
operationId: GetTypesForParent
tags:
- Objects
description: |
This is experimental for now. **Don't use in production!**
summary: "Get a list of all creatable types for a given parent."
parameters:
- name: parent
in: path
description: "Enter the ID of the parent to get available types of."
required: true
schema:
type: string
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
maximum: 3000
default: 100
responses:
"200":
description: "The request was successful."
content:
application/json:
schema:
type: array
items:
description: "List of all creatable schemas."
properties:
ID:
type: string
description: "ID of the schema."
Name:
type: string
description: "Name of the schema."
Description:
type: string
description: "Description of the schema (sensor schemas only)."
"4XX":
$ref: "#/components/responses/4XX"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/experimental/devices/{id}:
delete:
operationId: DeleteDevice
tags:
- Devices
description: |
This endpoint is experimental. See [Overview: Maturity of endpoints](../overview/index.html#endpoint-maturity) for more context.
summary: "Deletes a device."
parameters:
- name: id
in: path
description:
'Enter the ID of the device that you want to delete.'
required: true
schema:
type: string
responses:
"204":
description: 'The device was deleted.'
"4XX":
$ref: "#/components/responses/4XX"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/experimental/timeseries/{id}/{type}:
get:
operationId: GraphSet
tags:
- Timeseries
description: |
This endpoint is experimental. See [Overview: Maturity of endpoints](../overview/index.html#endpoint-maturity) for more context.
summary: Returns time series data for predefined time frames.
parameters:
- name: id
in: path
description:
'Enter the ID of the sensor for which you want to get the time series data.'
required: true
schema:
type: string
- name: type
in: path
description:
'Select the type of the desired precompiled dataset.'
required: true
schema:
type: string
default: live
enum:
- live
- short
- medium
- long
- name: channels
in: query
description:
'Enter a comma-separated list of channel IDs that you want to include (e.g. 3074.1, 3074.2). If left empty, the response includes all channels.'
required: false
schema:
type: array
format: csv
items:
type: string
responses:
"200":
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/TimeseriesRow"
examples:
table:
summary: Table format of time series
description: The first row defines the table headers of the columns. In addition to the 'time' column, each channel defined in the 'channels' parameter is a column.
The remaining rows contain the data requested. The 'time' column contains timestamps in RFC3339 format. Any additional channel columns contain the measurements of that channel at that time, as either an integer or floating-point number.
value: [
["time", "1002.1", "1002.2"],
["2022-02-02T02:02:02Z", 100, 12.2],
["2022-02-02T02:02:03Z", // gap start],
["2022-02-02T02:10:01Z", // gap end],
["2022-02-02T02:10:02Z", 102, 14.2],
["2022-02-02T02:11:02Z", 103, 15.2]
]
description:
'The request was successful.'
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/experimental/timeseries/{id}:
get:
operationId: TimeSeries
tags:
- Timeseries
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be removed.
summary: "Get time series data"
parameters:
- name: id
in: path
description:
'Enter the ID of the sensor for which you want to get the time series data.'
required: true
schema:
type: string
- name: channels
in: query
description:
'Enter the comma separated IDs of the channels you want to include. If left empty all channels will be returned'
required: false
schema:
type: array
format: csv
items:
type: string
- name: from
in: query
description:
'The starting point of the sample interval in the past as a timestamp in RFC3339 ("YYYY-MM-DDThh:mm:ssZ") format.'
required: true
schema:
type: string
format: date-time
- name: to
in: query
description:
'The ending point of the sample interval in the past as a time stamp in RFC3339 ("YYYY-MM-DDThh:mm:ssZ") format. If left empty the sample runs up to now.'
schema:
type: string
format: date-time
responses:
"200":
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/TimeseriesRow"
examples:
table:
summary: Table format of time series
description: The first row is the table header naming the columns. The first column named 'time' contains the timestamp followed by an arbitrary number of columns named by the respective channel IDs.
The remaining rows contain the data, timestamps (RFC3339 format) and measurements per channel (integer or floating point number).
value: [
["time", "1002.1", "1002.2"],
["2022-02-02T02:02:02Z", 100, 12.2],
["2022-02-02T02:02:03Z", // gap start],
["2022-02-02T02:10:01Z", // gap end],
["2022-02-02T02:10:02Z", 102, 14.2],
["2022-02-02T02:11:02Z", 103, 15.2]
]
description:
'The request was successful.'
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/experimental/feature-toggles:
get:
tags:
- System
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be removed.
summary:
'Returns a list of all enabled feature-toggles.'
operationId: PRTGFeatureToggles
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
type: string
enum:
- EFeatureToggleSettingsV2
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/channels:
get:
tags:
- Channels
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be replaced with the '/experimental/channels' endpoint.
summary:
'Returns a list of channels.'
operationId: ListChannels
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
maximum: 3000
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: sort_by
in: query
description:
'Enter a comma-separated list of field names to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of field names to highlight the ascending order. Enter a minus sign (-) in front of the field name to sort the results in descending order.'
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ChannelInfo.yaml#/components/schemas/ChannelInfo"
examples:
Channels:
$ref: "yaml/examples/channel.yaml#/list-read"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/channels/data:
get:
tags:
- Channels
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be removed.
summary:
'Get a list of the last measurements with references to the corresponding channels.'
operationId: ListChannelMeasurements
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: sort_by
in: query
description:
'Enter a comma-separated list of field names to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of field names to highlight the ascending order. Enter a minus sign (-) in front of the field name to sort the results in descending order.'
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ChannelMeasurement.yaml#/components/schemas/ChannelMeasurement"
examples:
Channel data:
$ref: "yaml/examples/channel.yaml#/data"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/channels/{id}/overview:
get:
tags:
- Channels
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but is replaced with the '/channels/{id}' endpoint.
summary: Get a channel overview.
operationId: GetChannelOverview
parameters:
- name: id
in: path
description:
'Enter the ID of the channel for which you want to get a channel overview.'
required: true
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
$ref: "yaml/ChannelInfo.yaml#/components/schemas/ChannelInfo"
examples:
Channel overview:
$ref: "yaml/examples/channel.yaml#/overview"
"4XX":
$ref: "#/components/responses/4XX-Overviews"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/channels/{id}:
get:
x-prtg-writer: true
tags:
- Channels
summary: Returns the metrics and settings of a channel.
operationId: GetChannel
parameters:
- name: id
in: path
description:
'Enter the ID of the channel that you want to see the metrics and settings of.'
required: true
schema:
type: string
- name: include
in: query
description: |
By default, this endpoint only returns the most relevant information about a channel.
You can include additional parameters:
| Parameter | Description | Example |
| ------ | ------ | ------ |
| `all_sections`
Individual settings sections | Explicitly request one, multiple, or all settings sections. | `include=all_sections`
`include=alerting,values`
`include=path`
|
For more information, see [Overview: Includes](../overview/index.html#includes).
schema:
type: array
format: csv
items:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
allOf:
- $ref: 'yaml/TreeNode.yaml#/components/schemas/TreeNode'
anyOf:
- $ref: 'yaml/TreeNodeAdditionalProperties.yaml#/components/schemas/TreeNodeAdditionalProperties'
additionalProperties:
$ref: '#/components/schemas/json-response-section'
examples:
Channel:
$ref: 'yaml/examples/channel.yaml#/read'
Channel all included:
$ref: 'yaml/examples/channel.yaml#/all-included'
"4XX":
$ref: "#/components/responses/4XX-Overviews"
security:
- Bearer: []
/experimental/channels:
get:
tags:
- Channels
summary:
'Returns a list of channels.'
description: 'This endpoint is experimental. See [Overview: Maturity of endpoints](../overview/index.html#endpoint-maturity) for more context.'
operationId: Channels
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
maximum: 3000
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
deprecated: true
- name: sort_by
in: query
description:
'Enter a comma-separated list of field names to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of field names to highlight the ascending order. Enter a minus sign (-) in front of the field name to sort the results in descending order.'
schema:
type: string
deprecated: true
- name: include
in: query
description: |
By default, this endpoint only returns the most relevant information about the requested channels.
You can include additional parameters:
| Parameter | Description | Example |
| ------ | ------ | ------ |
| `all_sections`
Individual settings sections | Explicitly request one, multiple, or all settings sections. | `include=all_sections`
`include=alerting,values`
`include=path`
|
For more information, see [Overview: Includes](../overview/index.html#includes).
schema:
type: array
format: csv
items:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ChannelInfo.yaml#/components/schemas/ChannelInfo"
examples:
Channels:
$ref: "yaml/examples/channel.yaml#/exp-list-read"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/devices:
get:
tags:
- Devices
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but is replaced with the '/experimental/devices' endpoint.
summary:
'Returns a list of devices.'
operationId: ListDevices
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: sensor_status_summary
in: query
description:
'Define if you want to request a sensor status summary of each device. Enter **true** to request a sensor status summary.'
schema:
type: boolean
format: boolean
default: false
- name: sort_by
in: query
description:
'Enter a comma-separated list of field names to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of field names to highlight the ascending order. Enter a minus sign (-) in front of the field name to sort the results in descending order.'
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/DeviceInfo.yaml#/components/schemas/DeviceInfo"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/experimental/devices:
get:
tags:
- Devices
summary:
'Returns a list of devices.'
description: 'This endpoint is experimental. See [Overview: Maturity of endpoints](../overview/index.html#endpoint-maturity) for more context.'
operationId: ListDevicesExperimental
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: include
in: query
description: |
By default, this endpoint only returns the most relevant information about the requested devices.
You can include additional parameters:
| Parameter | Description | Example |
| ------ | ------ | ------ |
| `all_sections`
Individual settings sections | Explicitly request one, multiple, or all settings sections. | `include=all_sections`
`include=intervalgroup,scheduledependency`
`include=path`
|
| `inheritance`|Returns information about whether settings are inherited or not. | `include=intervalgroup,inheritance`|
|`sensor_status_summary`|Returns the number of sensors on a device grouped by status.|`include=sensor_status_summary`|
| `*` | A wildcard that includes the all_sections, inheritance, and sensor_status_summary parameters. | `include=*`|
For more information, see the [Overview: Includes](../overview/index.html#includes).
schema:
type: array
format: csv
items:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
allOf:
- $ref: 'yaml/TreeNode.yaml#/components/schemas/TreeNode'
anyOf:
- $ref: 'yaml/TreeNodeAdditionalProperties.yaml#/components/schemas/TreeNodeAdditionalProperties'
additionalProperties:
$ref: '#/components/schemas/json-response-section'
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/devices/{id}:
get:
x-prtg-writer: true
tags:
- Devices
summary: Returns the metrics and settings of a device.
operationId: GetDevice
parameters:
- name: id
in: path
description: Enter the ID of the device that you want to see the metrics and settings of.
required: true
schema:
type: string
- name: include
in: query
description: |
By default, this endpoint only returns the most relevant information about a device.
You can include additional parameters:
| Parameter | Description | Example |
| ------ | ------ | ------ |
| `all_sections`
Individual settings sections | Explicitly request one, multiple, or all settings sections. | `include=all_sections`
`include=intervalgroup,scheduledependency`
`include=path`
|
| `inheritance`|Returns information about whether settings are inherited or not. | `include=intervalgroup,inheritance`|
|`sensor_status_summary`|Returns the number of sensors on a device grouped by status.|`include=sensor_status_summary`|
| `*` | A wildcard that includes the all_sections, inheritance, and sensor_status_summary parameters. | `include=*`|
For more information, see the [Overview: Includes](../overview/index.html#includes).
schema:
type: array
format: csv
items:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
allOf:
- $ref: 'yaml/TreeNode.yaml#/components/schemas/TreeNode'
anyOf:
- $ref: 'yaml/TreeNodeAdditionalProperties.yaml#/components/schemas/TreeNodeAdditionalProperties'
additionalProperties:
$ref: '#/components/schemas/json-response-section'
examples:
device:
$ref: 'yaml/examples/device.yaml#/read'
device special includes:
$ref: 'yaml/examples/device.yaml#/read-special-includes'
"4XX":
$ref: "#/components/responses/4XX-Overviews"
security:
- Bearer: []
patch:
tags:
- Devices
summary: "Modifies the settings of a device."
description: |
This endpoint is experimental. See [Overview: Maturity of endpoints](../overview/index.html#endpoint-maturity) for more context.
operationId: UpdateDevice
parameters:
- name: id
in: path
description:
'Enter the ID of the device for which you want to set a device settings.'
required: true
schema:
type: string
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/SettingsRequestBody"
example:
{
"basic": {
"name": "New Device Name"
}
}
required: true
responses:
"204":
description:
'The request was successful.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/devices/{id}/overview:
get:
tags:
- Devices
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but is replaced with the '/devices{id}' endpoint.
summary: Get a device overview.
operationId: GetDeviceOverview
parameters:
- name: id
in: path
description:
'Enter the ID of the device for which you want to get a device overview.'
required: true
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
$ref: "yaml/DeviceInfo.yaml#/components/schemas/DeviceInfo"
examples:
Device overview:
$ref: "yaml/examples/autodevice.yaml"
"4XX":
$ref: "#/components/responses/4XX-Overviews"
security:
- Bearer: []
/devices/{id}/pause:
post:
operationId: PauseDevice
parameters:
- description:
'Enter the ID of the device that you want to pause.'
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PauseRequestBody"
description:
'Request Body'
required: true
x-originalParamName: body
responses:
"204":
description:
'The device was paused successfully.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary: Pauses a device.
tags:
- Devices
/devices/{id}/resume:
post:
operationId: ResumeDevice
parameters:
- description:
'Enter the ID of the device that you want to resume.'
in: path
name: id
required: true
schema:
type: string
responses:
"204":
description:
'The request to resume the device was processed.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary: Resumes a device.
tags:
- Devices
/devices/{id}/scan:
post:
operationId: ScanDeviceNow
parameters:
- description:
'Enter the ID of the device for which you want to trigger a scan.'
in: path
name: id
required: true
schema:
type: string
responses:
"204":
description:
'The request to trigger a scan was processed.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary:
'Triggers a scan of all sensors on a device.'
tags:
- Devices
/devices/pause:
post:
tags:
- Devices
summary:
'Pauses all devices that match a filter.'
operationId: MultiPauseDevice
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/MultiPauseRequestBody"
required: true
responses:
"200":
description:
'The pause request was processed. See the response for possible error messages.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ActionResult.yaml#/components/schemas/ActionResult"
examples:
"200: Success":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_DEVICE",
"name": "Localhost",
"href": "/api/v2/devices/2322",
},
"failure": null,
},
]
"200: Success with one failure":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_DEVICE",
"name": "Localhost",
"href": "/api/v2/devices/2322",
},
"failure":
{
"code": "BAD_REQUEST",
"message": "The request could not be processed. Check if the format and the data types are correct.",
"request_id": "amAUOX",
},
},
]
"4XX":
$ref: "#/components/responses/4XX-MultiAction"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/devices/resume:
post:
tags:
- Devices
summary:
'Resumes all devices that match a filter.'
operationId: MultiResumeDevice
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/MultiResumeRequestBody"
required: true
responses:
"200":
description:
'The resume request for all devices that match the filter was processed. See the response for possible error messages.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ActionResult.yaml#/components/schemas/ActionResult"
examples:
"200: Success":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_DEVICE",
"name": "Localhost",
"href": "/api/v2/devices/2322",
},
"failure": null,
},
]
"200: Success with one failure":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_DEVICE",
"name": "Localhost",
"href": "/api/v2/devices/2322",
},
"failure":
{
"code": "BAD_REQUEST",
"message": "The request could not be processed. Check if the format and the data types are correct.",
"request_id": "amAUOX",
},
},
]
"4XX":
$ref: "#/components/responses/4XX-MultiAction"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/devices/{id}/clone:
post:
x-prtg-writer: true
operationId: CloneDevice
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be replaced.
parameters:
- in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
title: Clone device request body
description: This is the body of the request if you want to clone a device
type: object
required: [parent_id, host]
properties:
parent_id:
description: Enter the ID of the target group or probe
type: string
position:
description: The position of the devices clone within the children of the target group, top, bottom (default) or a number
type: string
name:
description: Enter the new name of the cloned device, else the old name gets prefixed with 'Clone of'
type: string
host:
description: Enter the new host IP Address or DNS name for the device clone
type: string
service_url:
description: Enter the new service URL for the device clone
type: string
example:
parent_id: ""
position: ""
name: ""
host: ""
service_url: ""
description: Request Body
required: true
x-originalParamName: body
responses:
"204":
description: The cloning process was successful
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary: Clones a device.
tags:
- Devices
/devices/scan:
post:
tags:
- Devices
summary:
'Triggers a scan of all devices that match a filter.'
operationId: MultiScanDeviceNow
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/MultiScanNowRequestBody"
required: true
responses:
"200":
description:
'The request to trigger a scan of all devices that match the filter was processed. See the response for possible error messages.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ActionResult.yaml#/components/schemas/ActionResult"
examples:
"200: Success":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_DEVICE",
"name": "Localhost",
"href": "/api/v2/devices/2322",
},
"failure": null,
},
]
"200: Success with one failure":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_DEVICE",
"name": "Localhost",
"href": "/api/v2/devices/2322",
},
"failure":
{
"code": "BAD_REQUEST",
"message": "The request could not be processed. Check if the format and the data types are correct.",
"request_id": "amAUOX",
},
},
]
"4XX":
$ref: "#/components/responses/4XX-MultiAction"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/devices/icons:
get:
tags:
- Devices
summary: "Returns a list of device icons."
operationId: GetDeviceIcons
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/DeviceIcon.yaml#/components/schemas/DeviceIcon"
examples:
"200: Success":
value:
[
{
"id": "Vendors_Apple",
"href": "/icons/device/Vendors_Apple",
"extensions": [ "svg" ]
}
]
"4XX":
description:
"Client Errors"
content:
application/json:
examples:
"401":
$ref: "#/components/examples/401-UNAUTHORIZED"
schema:
$ref: "#/components/schemas/Error"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/groups/{id}:
get:
x-prtg-writer: true
tags:
- Groups
summary: Returns the metrics and settings of a group.
operationId: GetGroup
parameters:
- name: id
in: path
description: Enter the ID of the group which you want to get.
required: true
schema:
type: string
- name: include
in: query
description: |
By default, this endpoint only returns the most relevant information about a group.
You can include additional parameters:
| Parameter | Description | Example |
| ------ | ------ | ------ |
| `all_sections`
Individual settings sections | Explicitly request one, multiple, or all settings sections. | `include=all_sections`
`include=intervalgroup,scheduledependency`
`include=path`
|
| `inheritance`|Returns information about whether settings are inherited or not. | `include=intervalgroup,inheritance`|
|`sensor_status_summary`|Returns the number of sensors on a group grouped by status.|`include=sensor_status_summary`|
| `*` | A wildcard that includes the all_sections, inheritance, and sensor_status_summary parameters. | `include=*`|
For more information, see the [Overview: Includes](../overview/index.html#includes).
schema:
type: array
format: csv
items:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
allOf:
- $ref: 'yaml/TreeNode.yaml#/components/schemas/TreeNode'
anyOf:
- $ref: 'yaml/TreeNodeAdditionalProperties.yaml#/components/schemas/TreeNodeAdditionalProperties'
additionalProperties:
$ref: '#/components/schemas/json-response-section'
examples:
Group:
$ref: 'yaml/examples/group.yaml#/read'
"4XX":
$ref: "#/components/responses/4XX-Overviews"
security:
- Bearer: []
/groups:
get:
tags:
- Groups
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but is replaced with the '/experimental/groups' endpoint.
summary:
'Get a list of all groups that match a filter.'
operationId: ListGroups
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: sensor_status_summary
in: query
description:
'Define if you want to request a sensor status summary of each group. Enter **true** to request a sensor status summary.'
schema:
type: boolean
format: boolean
default: false
- name: sort_by
in: query
description:
'Enter a comma-separated list of field names to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of field names to highlight the ascending order. Enter a minus sign (-) in front of the field name to sort the results in descending order.'
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/GroupInfo.yaml#/components/schemas/GroupInfo"
examples:
Groups:
$ref: "yaml/examples/group.yaml#/list-read"
Groups with sensor status:
$ref: "yaml/examples/group.yaml#/list-read-incl"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/experimental/groups:
get:
tags:
- Groups
summary:
'Returns a list of groups.'
operationId: ListGroupsExperimental
description: 'This endpoint is experimental. See [Overview: Maturity of endpoints](../overview/index.html#endpoint-maturity) for more context.'
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: include
in: query
description: |
By default, this endpoint only returns the most relevant information about the requested groups.
You can include additional parameters:
| Parameter | Description | Example |
| ------ | ------ | ------ |
| `all_sections`
Individual settings sections | Explicitly request one, multiple, or all settings sections. | `include=all_sections`
`include=intervalgroup,scheduledependency`
`include=path`
|
| `inheritance`|Returns information about whether settings are inherited or not. | `include=intervalgroup,inheritance`|
|`sensor_status_summary`|Returns the number of sensors on each group grouped by status.|`include=sensor_status_summary`|
| `*` | A wildcard that includes the all_sections, inheritance, and sensor_status_summary parameters. | `include=*`|
Also see [Overview: Includes](../overview/index.html#includes)
schema:
type: array
format: csv
items:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/GroupInfo.yaml#/components/schemas/GroupInfo"
examples:
Groups:
$ref: "yaml/examples/group.yaml#/exp-list-read"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/experimental/groups/{id}/device:
post:
x-prtg-writer: true
tags:
- Devices
summary: "Creates a new device in a group."
description: |
This endpoint is experimental. See [Overview: Maturity of endpoints](../overview/index.html#endpoint-maturity) for more context.
operationId: CreateDeviceForGroup
parameters:
- name: id
in: path
description:
'The ID of the group for which you want to create a new device.'
required: true
schema:
type: string
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/CreateRequestBody"
example:
{
"basic": {
"name": "New Device Name",
"host": "127.0.0.1"
}
}
required: true
responses:
"201":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/DeviceInfo.yaml#/components/schemas/DeviceInfo"
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: [ ]
/groups/{id}/overview:
get:
tags:
- Groups
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but is replaced with the '/groups/{id}' endpoint.
summary: Get a group overview.
operationId: GetGroupOverview
parameters:
- name: id
in: path
description:
'Enter the ID of the group for which you want to get a group overview.'
required: true
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
$ref: "yaml/GroupInfo.yaml#/components/schemas/GroupInfo"
examples:
Group overview:
$ref: 'yaml/examples/group.yaml#/overview'
"4XX":
$ref: "#/components/responses/4XX-Overviews"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/groups/{id}/pause:
post:
operationId: PauseGroup
parameters:
- description:
'Enter the ID of the group that you want to pause.'
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PauseRequestBody"
description:
'Request Body'
required: true
x-originalParamName: body
responses:
"204":
description:
'The group was paused successfully.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary: Pauses a group.
tags:
- Groups
/groups/{id}/resume:
post:
operationId: ResumeGroup
parameters:
- description:
'Enter the ID of the group that you want to resume.'
in: path
name: id
required: true
schema:
type: string
responses:
"204":
description:
'The request to resume the group was processed.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary: Resumes a group.
tags:
- Groups
/groups/{id}/scan:
post:
operationId: ScanGroupNow
parameters:
- description:
'Enter the ID of the group for which you want to trigger a scan.'
in: path
name: id
required: true
schema:
type: string
responses:
"204":
description:
'The request to trigger a scan was processed.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary:
'Triggers a scan of all sensors in a group.'
tags:
- Groups
/groups/pause:
post:
tags:
- Groups
summary:
'Pauses all groups that match a filter.'
operationId: MultiPauseGroup
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/MultiPauseRequestBody"
required: true
responses:
"200":
description:
'The request to pause all groups that match the filter was processed. See the response for possible error messages.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ActionResult.yaml#/components/schemas/ActionResult"
examples:
"200: Success":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_GROUP",
"name": "my group",
"href": "/api/v2/groups/2322",
},
"failure": null,
},
]
"200: Success with one failure":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_GROUP",
"name": "my group",
"href": "/api/v2/groups/2322",
},
"failure":
{
"code": "BAD_REQUEST",
"message": "The request could not be processed. Check if the format and the data types are correct.",
"request_id": "amAUOX",
},
},
]
"4XX":
$ref: "#/components/responses/4XX-MultiAction"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/groups/resume:
post:
tags:
- Groups
summary: Resumes all groups that match a filter.
operationId: MultiResumeGroup
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/MultiResumeRequestBody"
required: true
responses:
"200":
description:
'The request to resume all groups that match the filter was processed. See the response for possible error messages.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ActionResult.yaml#/components/schemas/ActionResult"
examples:
"200: Success":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_GROUP",
"name": "Localhost",
"href": "/api/v2/groups/2322",
},
"failure": null,
},
]
"200: Success with one failure":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_GROUP",
"name": "Localhost",
"href": "/api/v2/groups/2322",
},
"failure":
{
"code": "BAD_REQUEST",
"message": "The request could not be processed. Check if the format and the data types are correct.",
"request_id": "amAUOX",
},
},
]
"4XX":
$ref: "#/components/responses/4XX-MultiAction"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/groups/{id}/clone:
post:
operationId: CloneGroup
tags:
- Groups
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be replaced.
summary: Clones a group.
x-prtg-writer: true
parameters:
- description: Enter the ID of the group you want to clone.
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
title: Clone group request body
description: This is the body of the request to clone a group.
type: object
required: [parent_id]
properties:
parent_id:
description: Enter the ID of the target group or probe.
type: string
position:
description: 'The position of the group clone within the children of the target group: top, bottom (default), or a number.'
type: string
name:
description: Enter the new name of the cloned group. If you do not define a name, the old name gets prefixed with 'Clone of'
type: string
example:
parent_id: ""
position: ""
name: ""
description: Request Body
required: true
x-originalParamName: body
responses:
"204":
description: The cloning process was successful
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/groups/scan:
post:
tags:
- Groups
summary: Scans all groups that match a filter.
operationId: MultiScanGroupNow
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/MultiScanNowRequestBody"
required: true
responses:
"200":
description:
'The request to scan all groups that match the filter was processed. See the response for possible error messages.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ActionResult.yaml#/components/schemas/ActionResult"
examples:
"200: Success":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_GROUP",
"name": "Localhost",
"href": "/api/v2/groups/2322",
},
"failure": null,
},
]
"200: Success with one failure":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_GROUP",
"name": "Localhost",
"href": "/api/v2/groups/2322",
},
"failure":
{
"code": "BAD_REQUEST",
"message": "The request could not be processed. Check if the format and the data types are correct.",
"request_id": "amAUOX",
},
},
]
"4XX":
$ref: "#/components/responses/4XX-MultiAction"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/health:
get:
tags:
- System
summary: Check the status of the PRTG application server.
operationId: CheckHealth
responses:
"204":
description:
'The PRTG application server is up and running and connected to the PRTG core server.'
"503":
description:
"The Service Unavailable or the License is Inactive"
content:
application/json:
examples:
"503 Service Unavailable":
$ref: "#/components/examples/503-SERVICE_UNAVAILABLE"
"503 Inactive License":
$ref: "#/components/examples/503-LICENSE_INACTIVE"
schema:
$ref: "#/components/schemas/Error"
/libraries:
get:
tags:
- Libraries
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be removed.
summary:
'Get a list of all libraries that match a filter.'
operationId: ListLibraries
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: sort_by
in: query
description:
'Enter a comma-separated list of field names to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of field names to highlight the ascending order. Enter a minus sign (-) in front of the field name to sort the results in descending order.'
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/LibraryInfo.yaml#/components/schemas/LibraryInfo"
examples:
Libraries:
$ref: "yaml/examples/library.yaml#/list"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/lookup-definitions:
get:
tags:
- Lookups
summary:
'Returns a list of lookups definitions.'
operationId: ListLookupDefinitions
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be replaced.
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: sort_by
in: query
description:
'Enter a comma-separated list of field names to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of field names to highlight the ascending order. Enter a minus sign (-) in front of the field name to sort the results in descending order.'
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/LookupDefinition.yaml#/components/schemas/LookupDefinition"
examples:
Lookup definitions:
$ref: "yaml/examples/lookup.yaml#/list-read"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/lookup-definitions/{id}:
get:
tags:
- Lookups
summary: Returns a lookup definition.
operationId: GetLookupDefinitionOverview
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be replaced.
parameters:
- name: id
in: path
description:
'Enter the ID of the lookup definition that you want to request.'
required: true
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
$ref: "yaml/LookupDefinition.yaml#/components/schemas/LookupDefinition"
examples:
Lookup definition:
$ref: "yaml/examples/lookup.yaml#/read"
"4XX":
$ref: "#/components/responses/4XX-Overviews"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/objects:
get:
tags:
- Objects
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be removed.
summary:
'Get a list of all probes, groups, devices, and sensors that match a filter.'
operationId: ListObjects
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: sensor_status_summary
in: query
description:
'Define if you want to request a sensor status summary of all objects. Enter **true** to request a sensor status summary.'
schema:
type: boolean
format: boolean
default: false
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ObjectInfo.yaml#/components/schemas/ObjectInfo"
examples:
Objects:
$ref: "yaml/examples/object.yaml#/list-read"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/objects/count:
get:
tags:
- Objects
summary:
'Get a summary of how many objects of each type exist.'
operationId: ObjectCount
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
$ref: "yaml/ObjectSummary.yaml#/components/schemas/ObjectSummary"
examples:
Object count:
$ref: "yaml/examples/object.yaml#/count"
"4XX":
$ref: "#/components/responses/401"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/probes/{id}:
get:
x-prtg-writer: true
tags:
- Probes
summary: Returns the metrics and settings of a probe.
operationId: GetProbe
parameters:
- name: id
in: path
description: Enter the ID of the probe which you want to get.
required: true
schema:
type: string
- name: include
in: query
description: |
By default, this endpoint only returns the most relevant information about a probe.
You can include additional parameters:
| Parameter | Description | Example |
| ------ | ------ | ------ |
| `all_sections`
Individual settings sections | Explicitly request one, multiple, or all settings sections. | `include=all_sections`
`include=intervalgroup,scheduledependency`
`include=path`
|
| `inheritance`|Returns information about whether settings are inherited or not. | `include=intervalgroup,inheritance`|
|`sensor_status_summary`|Returns the number of sensors on the probe grouped by status.|`include=sensor_status_summary`|
| `*` | A wildcard that includes the all_sections, inheritance, and sensor_status_summary parameters. | `include=*`|
For more information, see the [Overview: Includes](../overview/index.html#includes).
schema:
type: array
format: csv
items:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
allOf:
- $ref: 'yaml/TreeNode.yaml#/components/schemas/TreeNode'
anyOf:
- $ref: 'yaml/TreeNodeAdditionalProperties.yaml#/components/schemas/TreeNodeAdditionalProperties'
additionalProperties:
$ref: '#/components/schemas/json-response-section'
examples:
Probe:
$ref: 'yaml/examples/probe.yaml#/read'
"4XX":
$ref: "#/components/responses/4XX-Overviews"
security:
- Bearer: []
/probes/{id}/pause:
post:
operationId: PauseProbe
parameters:
- description:
'Enter the ID of the probe that you want to pause.'
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PauseRequestBody"
description:
'Request Body'
required: true
x-originalParamName: body
responses:
"204":
description:
'The probe was paused successfully.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary: Pauses a probe.
tags:
- Probes
/probes/{id}/resume:
post:
operationId: ResumeProbe
parameters:
- description:
'Enter the ID of the probe that you want to resume.'
in: path
name: id
required: true
schema:
type: string
responses:
"204":
description:
'The request to resume the probe was processed.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary: Resumes a probe.
tags:
- Probes
/probes/{id}/scan:
post:
operationId: ScanProbeNow
parameters:
- description:
'Enter the ID of the probe for that you want to trigger a scan.'
in: path
name: id
required: true
schema:
type: string
responses:
"204":
description:
'The request to trigger a scan was processed.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary:
'Triggers a scan of all sensors on a probe.'
tags:
- Probes
/probes:
get:
tags:
- Probes
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but is replaced with the '/experimental/probes' endpoint.
summary:
'Get a list of all probes that match a filter.'
operationId: ListProbes
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: sensor_status_summary
in: query
description:
'Define if you want to request a sensor status summary of each probe. Enter **true** to request a sensor status summary.'
schema:
type: boolean
format: boolean
default: false
- name: sort_by
in: query
description:
Enter a comma-separated list of field names to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of field names to highlight the ascending order. Enter a minus sign (-) in front of the field name to sort the results in descending order.
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ProbeInfo.yaml#/components/schemas/ProbeInfo"
examples:
Probe list:
$ref: "yaml/examples/probe.yaml#/list-read"
Probe list with channels:
$ref: "yaml/examples/probe.yaml#/list-read-incl"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/experimental/probes:
get:
tags:
- Probes
summary:
'Returns a list of probes.'
operationId: ListProbesExperimental
description: 'This endpoint is experimental. See [Overview: Maturity of endpoints](../overview/index.html#endpoint-maturity) for more context.'
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: include
in: query
description: |
By default, this endpoint only returns the most relevant information about the requested probes.
You can include additional parameters:
| Parameter | Description | Example |
| ------ | ------ | ------ |
| `all_sections`
Individual settings sections | Explicitly request one, multiple, or all settings sections. | `include=all_sections`
`include=intervalgroup,scheduledependency`
`include=path`
|
| `inheritance`|Returns information about whether settings are inherited or not. | `include=intervalgroup,inheritance`|
|`sensor_status_summary`|Returns the number of sensors on each probe grouped by status.|`include=sensor_status_summary`|
| `*` | A wildcard that includes the all_sections, inheritance, and sensor_status_summary parameters. | `include=*`|
For more information, see the [Overview: Includes](../overview/index.html#includes).
schema:
type: array
format: csv
items:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ProbeInfo.yaml#/components/schemas/ProbeInfo"
examples:
Probes:
$ref: "yaml/examples/probe.yaml#/exp-list-read"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/experimental/probes/{id}/device:
post:
x-prtg-writer: true
tags:
- Devices
summary: "Creates a new device under a probe."
description: |
This endpoint is experimental. See [Overview: Maturity of endpoints](../overview/index.html#endpoint-maturity) for more context.
operationId: CreateDeviceForProbe
parameters:
- name: id
in: path
description:
'The ID of the probe for which you want to create a new device.'
required: true
schema:
type: string
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/CreateRequestBody"
example:
{
"basic": {
"name": "New Device Name",
"host": "127.0.0.1"
}
}
required: true
responses:
"201":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/DeviceInfo.yaml#/components/schemas/DeviceInfo"
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: [ ]
/probes/{id}/overview:
get:
tags:
- Probes
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but is replaced with the '/probes/{id}' endpoint.
summary: Get a probe overview.
operationId: GetProbeOverview
parameters:
- name: id
in: path
description:
'Enter the ID of the probe for which you want to get a probe overview.'
required: true
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
$ref: "yaml/ProbeInfo.yaml#/components/schemas/ProbeInfo"
examples:
Probe overview:
$ref: "yaml/examples/probe.yaml#/overview"
"4XX":
$ref: "#/components/responses/4XX-Overviews"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/probes/pause:
post:
tags:
- Probes
summary: Pauses all probes that match a filter.
operationId: MultiPauseProbe
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/MultiPauseRequestBody"
required: true
responses:
"200":
description:
'The request to pause all probes that match the filter was processed. See the response for possible error messages.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ActionResult.yaml#/components/schemas/ActionResult"
examples:
"200: Success":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_PROBE",
"name": "my probe",
"href": "/api/v2/probes/2322",
},
"failure": null,
},
]
"200: Success with one failure":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_PROBE",
"name": "my probe",
"href": "/api/v2/probes/2322",
},
"failure":
{
"code": "BAD_REQUEST",
"message": "The request could not be processed. Check if the format and the data types are correct.",
"request_id": "amAUOX",
},
},
]
"4XX":
$ref: "#/components/responses/4XX-MultiAction"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/probes/resume:
post:
tags:
- Probes
summary: Resumes all probes that match a filter.
operationId: MultiResumeProbe
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/MultiResumeRequestBody"
required: true
responses:
"200":
description:
'The request to resume all probes that match the filter was processed. See the response for possible error messages.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ActionResult.yaml#/components/schemas/ActionResult"
examples:
"200: Success":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_PROBE",
"name": "Localhost",
"href": "/api/v2/probes/2322",
},
"failure": null,
},
]
"200: Success with one failure":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_PROBE",
"name": "Localhost",
"href": "/api/v2/probes/2322",
},
"failure":
{
"code": "BAD_REQUEST",
"message": "The request could not be processed. Check if the format and the data types are correct.",
"request_id": "amAUOX",
},
},
]
"4XX":
$ref: "#/components/responses/4XX-MultiAction"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/probes/scan:
post:
tags:
- Probes
summary: Scans all probes that match a filter.
operationId: MultiScanProbeNow
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/MultiScanNowRequestBody"
required: true
responses:
"200":
description:
'The request to resume all probes that match the filter was processed. See the response for possible error messages.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ActionResult.yaml#/components/schemas/ActionResult"
examples:
"200: Success":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_PROBE",
"name": "Localhost",
"href": "/api/v2/probes/2322",
},
"failure": null,
},
]
"200: Success with one failure":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_PROBE",
"name": "Localhost",
"href": "/api/v2/probes/2322",
},
"failure":
{
"code": "BAD_REQUEST",
"message": "The request could not be processed. Check if the format and the data types are correct.",
"request_id": "amAUOX",
},
},
]
"4XX":
$ref: "#/components/responses/4XX-MultiAction"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/sensor-status-summary:
get:
tags:
- Sensors
summary: Returns a summary of all sensor states.
operationId: GlobalSensorSummary
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
$ref: "yaml/SensorStatusSummary.yaml#/components/schemas/SensorStatusSummary"
examples:
Sensor status summaries:
$ref: "yaml/examples/sensor.yaml#/sensor-summary"
"4XX":
$ref: "#/components/responses/401"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/sensor-status-summary/{id}:
get:
tags:
- Sensors
summary: Returns a summary of sensor states for a probe, group or device.
operationId: SensorSummary
parameters:
- name: id
in: path
description:
'Enter the ID of the object for which you want to get a sensor status summary.'
required: true
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
$ref: "yaml/SensorStatusSummary.yaml#/components/schemas/SensorStatusSummary"
examples:
Sensor status summary:
$ref: "yaml/examples/sensor.yaml#/sensor-summary-detail"
"4XX":
$ref: "#/components/responses/4XX-Overviews"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/sensors/{id}:
get:
x-prtg-writer: true
tags:
- Sensors
summary: Returns metrics and settings of a sensor.
operationId: GetSensor
parameters:
- name: id
in: path
description: Enter the ID of the sensor which you want to get.
required: true
schema:
type: string
- name: include
in: query
description: |
By default, this endpoint only returns the most relevant information about a sensor.
You can include additional parameters:
| Parameter | Description | Example |
| ------ | ------ | ------ |
| `all_sections`
Individual settings sections | Explicitly request one, multiple, or all settings sections. | `include=all_sections`
`include=intervalgroup,scheduledependency`
`include=path`
|
| `inheritance`|Returns information about whether settings are inherited or not. | `include=intervalgroup,inheritance`|
| `*` | A wildcard that includes the all_sections, inheritance, and sensor_status_summary parameters. | `include=*`|
For more information, see the [Overview: Includes](../overview/index.html#includes).
schema:
type: array
format: csv
items:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
allOf:
- $ref: 'yaml/TreeNode.yaml#/components/schemas/TreeNode'
anyOf:
- $ref: 'yaml/TreeNodeAdditionalProperties.yaml#/components/schemas/TreeNodeAdditionalProperties'
additionalProperties:
$ref: '#/components/schemas/json-response-section'
examples:
Sensor:
$ref: "yaml/examples/sensor.yaml#/read"
"4XX":
$ref: "#/components/responses/4XX-Overviews"
security:
- Bearer: []
/sensors:
get:
tags:
- Sensors
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but is replaced with the '/experimental/sensors' endpoint.
summary:
'Get a list of all sensors that match a filter.'
operationId: ListSensors
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: sort_by
in: query
description:
'Enter a comma-separated list of field names to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of field names to highlight the ascending order. Enter a minus sign (-) in front of the field name to sort the results in descending order.'
schema:
type: string
- name: include_all_channels
in: query
description:
'Enter **true** to include all channels. Enter **false** to only include the primary channel and the Downtime channel of each sensor.'
schema:
type: boolean
format: boolean
default: false
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/SensorInfo.yaml#/components/schemas/SensorInfo"
examples:
Sensor list:
$ref: "yaml/examples/sensor.yaml#/list-read"
Sensor list with channels:
$ref: "yaml/examples/sensor.yaml#/list-read-incl"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/experimental/sensors:
get:
tags:
- Sensors
summary:
'Returns a list of sensors.'
operationId: ListSensorsExperimental
description: 'This endpoint is experimental. See [Overview: Maturity of endpoints](../overview/index.html#endpoint-maturity) for more context.'
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: include
in: query
description: |
By default, this endpoint only returns the most relevant information about the requested sensors.
You can include additional parameters:
| Parameter | Description | Example |
| ------ | ------ | ------ |
| `all_sections`
Individual settings sections | Explicitly request one, multiple, or all settings sections. | `include=all_sections`
`include=intervalgroup,scheduledependency`
`include=path`
|
| `inheritance`|Returns information about whether settings are inherited or not. | `include=intervalgroup,inheritance`|
| `*` | A wildcard that includes the all_sections, inheritance, and sensor_status_summary parameters. | `include=*`|
For more information, see the [Overview: Includes](../overview/index.html#includes).
schema:
type: array
format: csv
items:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/SensorInfo.yaml#/components/schemas/SensorInfo"
examples:
Sensors:
$ref: "yaml/examples/sensor.yaml#/exp-list-read"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/sensors/alarms:
get:
tags:
- Sensors
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be removed.
summary:
'Returns a list of sensors with alarms that match a filter.'
operationId: ListAlarms
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: sort_by
in: query
description:
'Enter a comma-separated list of field names to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of field names to highlight the ascending order. Enter a minus sign (-) in front of the field name to sort the results in descending order.'
schema:
type: string
- name: include_all_channels
in: query
description:
'Enter **true** to include all channels. Enter **false** to only include the primary channel and the Downtime channel of each sensor.'
schema:
type: boolean
format: boolean
default: false
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/SensorInfo.yaml#/components/schemas/SensorInfo"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/sensors/acknowledge:
post:
tags:
- Sensors
summary:
'Acknowledges the alarms of all sensors that match a filter.'
operationId: MultiAcknowledgeSensor
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/MultiAcknowledgeRequestBody"
required: true
responses:
"200":
description:
'The request to acknowledge the alarms of all sensors that match the filter was processed. See the response for possible error messages.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ActionResult.yaml#/components/schemas/ActionResult"
examples:
"200: Success":
value:
[
{
"node":
{
"id": "1003",
"type": "REFERENCED_SENSOR",
"name": "Probe Health",
"href": "/api/v2/sensors/1003",
},
"failure": null,
},
]
"200: Success with one failure":
value:
[
{
"node":
{
"id": "1003",
"type": "REFERENCED_SENSOR",
"name": "Probe Health",
"href": "/api/v2/sensors/1003",
},
},
"failure":
{
"code": "BAD_REQUEST",
"message": "The request could not be processed. Check if the format and the data types are correct.",
"request_id": "amAUOX",
},
]
"4XX":
$ref: "#/components/responses/4XX-MultiAction"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/sensors/{id}/pause:
post:
operationId: PauseSensor
parameters:
- description:
'Enter the ID of the sensor that you want to pause.'
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/PauseRequestBody"
description:
'Request Body'
required: true
x-originalParamName: body
responses:
"204":
description:
'The sensor was paused successfully.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary: Pauses a sensor.
tags:
- Sensors
/sensors/{id}/resume:
post:
operationId: ResumeSensor
parameters:
- description:
'Enter the ID of the sensor that you want to resume.'
in: path
name: id
required: true
schema:
type: string
responses:
"204":
description:
'The request to resume the sensor was processed.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary: Resumes a sensor.
tags:
- Sensors
/sensors/{id}/scan:
post:
operationId: ScanSensorNow
parameters:
- description:
'Enter the ID of the sensor for which you want to trigger a scan.'
in: path
name: id
required: true
schema:
type: string
responses:
"204":
description:
'The request to trigger a scan of the sensor was processed.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary:
'Triggers a scan of a sensor.'
tags:
- Sensors
/sensors/{id}/acknowledge:
post:
tags:
- Sensors
summary:
'Acknowledges the alarm of a sensor.'
operationId: AcknowledgeSensor
parameters:
- name: id
in: path
description:
'Enter the ID of the sensor for which you want to acknowledge the alarm.'
required: true
schema:
type: string
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/AcknowledgeRequestBody"
required: true
responses:
"204":
description:
'The request to acknowledge the alarm of the sensor was processed.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/sensors/{id}/clone:
post:
x-prtg-writer: true
operationId: CloneSensor
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be replaced.
parameters:
- in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
title: Clone sensor request body
description: This is the body of the request if you want to clone a sensor
type: object
required: [parent_id]
properties:
parent_id:
description: Enter the ID of the target device
type: string
position:
description: The position of the sensor clone within the children of the target device, top, bottom (default) or a number
type: string
name:
description: Enter the new name of the cloned sensor, else the old name gets prefixed with 'Clone of'
type: string
example:
parent_id: ""
position: ""
name: ""
description: Request Body
required: true
x-originalParamName: body
responses:
"204":
description: The cloning process was successful
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary: Clones a sensors.
tags:
- Sensors
/sensors/{id}/data:
get:
tags:
- Sensors
summary:
'Get the channel data for a specific sensor.'
operationId: ListSensorMeasurements
parameters:
- name: id
in: path
description:
'Enter the ID of the sensor for which you want to get the channel data.'
required: true
schema:
type: string
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: sort_by
in: query
description:
'Enter a comma-separated list of field names to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of field names to highlight the ascending order. Enter a minus sign (-) in front of the field name to sort the results in descending order.'
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ChannelMeasurement.yaml#/components/schemas/ChannelMeasurement"
examples:
Sensor data:
$ref: "yaml/examples/sensor.yaml#/data"
"4XX":
$ref: "#/components/responses/4XX-Sensors-Data"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/sensors/{id}/overview:
get:
tags:
- Sensors
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but is replaced with the '/sensors/{id}' endpoint.
summary: Get a sensor overview.
operationId: GetSensorOverview
parameters:
- name: id
in: path
description:
'Enter the ID of the sensor for which you want to get a sensor overview.'
required: true
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
$ref: "yaml/SensorInfo.yaml#/components/schemas/SensorInfo"
examples:
Sensor overview:
$ref: "yaml/examples/sensor.yaml#/overview"
"4XX":
$ref: "#/components/responses/4XX-Overviews"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/sensors/pause:
post:
tags:
- Sensors
summary: Pauses all sensors that match a filter.
operationId: MultiPauseSensor
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/MultiPauseRequestBody"
required: true
responses:
"200":
description:
'The request to pause all sensors that match the filter was processed. See the response for possible error messages.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ActionResult.yaml#/components/schemas/ActionResult"
examples:
"200: Success":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_SENSOR",
"name": "Ping",
"href": "/api/v2/sensors/2322",
},
"failure": null,
},
]
"200: Success with one failure":
value:
[
{
"node": {
"id": "1005",
"type": "REFERENCED_SENSOR",
"name": "Laufwerk",
"href": "/api/v2/sensors/1005"
},
"failure": {
"code": "WRONG_NODE_STATUS",
"message": "The requested action is not possible for the current status of the node.",
"request_id": "OdavLw"
}
},
{
"node": {
"id": "1004",
"type": "REFERENCED_SENSOR",
"name": "Common SaaS Check",
"href": "/api/v2/sensors/1004"
},
"failure": null
}
]
"4XX":
$ref: "#/components/responses/4XX-MultiAction"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/sensors/resume:
post:
tags:
- Sensors
summary: Resumes all sensors that match a filter.
operationId: MultiResumeSensor
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/MultiResumeRequestBody"
required: true
responses:
"200":
description:
'The request to resume all sensors that match the filter was processed. See the response for possible error messages.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ActionResult.yaml#/components/schemas/ActionResult"
examples:
"200: Success":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_SENSOR",
"name": "Ping",
"href": "/api/v2/sensors/2322",
},
"failure": null,
},
]
"200: Success with one failure":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_SENSOR",
"name": "Ping",
"href": "/api/v2/sensors/2322",
},
"failure":
{
"code": "BAD_REQUEST",
"message": "The request could not be processed. Check if the format and the data types are correct.",
"request_id": "amAUOX",
},
},
]
"4XX":
$ref: "#/components/responses/4XX-MultiAction"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/sensors/scan:
post:
tags:
- Sensors
summary: Scans all sensors that match a filter.
operationId: MultiScanSensorNow
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/MultiScanNowRequestBody"
required: true
responses:
"200":
description:
'The request to scan all sensors that match the filter was processed. See the response for possible error messages.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ActionResult.yaml#/components/schemas/ActionResult"
examples:
"200: Success":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_SENSOR",
"name": "Localhost",
"href": "/api/v2/sensors/2322",
},
"failure": null,
},
]
"200: Success with one failure":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_SENSOR",
"name": "Localhost",
"href": "/api/v2/sensors/2322",
},
"failure":
{
"code": "BAD_REQUEST",
"message": "The request could not be processed. Check if the format and the data types are correct.",
"request_id": "amAUOX",
},
},
]
"4XX":
$ref: "#/components/responses/4XX-MultiAction"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/session:
get:
tags:
- Authentication
summary:
'Renews an active user session.'
operationId: RenewSession
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
$ref: "yaml/RenewResult.yaml#/components/schemas/RenewResult"
"4XX":
$ref: "#/components/responses/401"
"5XX":
$ref: "#/components/responses/5XX-Renew"
security:
- Bearer: []
post:
tags:
- Authentication
summary:
'Creates a new user session.'
operationId: Login
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/LoginRequest"
required: true
responses:
"200":
description:
The request was successful.
content:
application/json:
schema:
$ref: "yaml/LoginResult.yaml#/components/schemas/LoginResult"
examples:
Login:
$ref: "yaml/examples/auth.yaml#/login"
"4XX":
$ref: "#/components/responses/4XX-Login"
"5XX":
$ref: "#/components/responses/5XX-Public"
delete:
tags:
- Authentication
summary:
'Ends an active user session.'
operationId: Logout
responses:
"204":
description:
'The request to log out the user was processed.'
"4XX":
$ref: "#/components/responses/401"
"400":
$ref: "#/components/responses/400-API-Key-Logout"
"5XX":
$ref: "#/components/responses/5XX-Logout"
security:
- Bearer: []
/settings/public:
get:
tags:
- System
summary:
'Returns a list of settings that are available for unauthenticated users.'
operationId: PublicSettings
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
$ref: "yaml/PublicSettings.yaml#/components/schemas/PublicSettings"
examples:
Settings:
$ref: "yaml/examples/system.yaml#/settings"
/users:
get:
tags:
- Accounts
summary:
'Get a list of all user accounts that match a filter.'
operationId: ListUsers
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be replaced.
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: sort_by
in: query
description:
'Enter a comma-separated list of field names to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of field names to highlight the ascending order. Enter a minus sign (-) in front of the field name to sort the results in descending order.'
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/UserInfo.yaml#/components/schemas/UserInfo"
examples:
Users:
$ref: 'yaml/examples/user.yaml#/list-read'
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/users/{id}/pause:
post:
operationId: PauseUser
parameters:
- description:
'Enter the ID of the user account that you want to pause.'
in: path
name: id
required: true
schema:
type: string
responses:
"204":
description:
'The request to pause the user account was processed.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary:
'Pauses a user account.'
tags:
- Accounts
/users/{id}/resume:
post:
operationId: ResumeUser
parameters:
- description:
'Enter the ID of the user account that you want to resume.'
in: path
name: id
required: true
schema:
type: string
responses:
"204":
description:
'The request to resume the user account was processed.'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary:
'Resumes a user account.'
tags:
- Accounts
/users/request-password:
post:
tags:
- Accounts
summary:
'Triggers the password reset process for a user account.'
operationId: TriggerPasswordReset
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/TriggerPasswordResetRequest"
required: true
responses:
"204":
description:
'The password reset process was triggered successfully.'
"4XX":
description:
"Client Errors"
content:
application/json:
examples:
"400":
$ref: "#/components/examples/400-BAD_REQUEST"
"5XX":
$ref: "#/components/responses/5XX-Public"
/users/reset-password:
post:
tags:
- Accounts
summary:
'Set a new password for a user account with the token from the password reset process.'
operationId: ResetPassword
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ResetPasswordRequest"
required: true
responses:
"204":
description:
'The request to trigger the password reset process was processed.'
"400":
$ref: "#/components/responses/4XX-Reset-Password"
"5XX":
$ref: "#/components/responses/5XX-Public"
/users/{id}:
get:
tags:
- Accounts
summary:
'Return information about a user account.'
operationId: GetUserOverview
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be replaced.
parameters:
- name: id
in: path
description:
'Enter the ID of the user account for which you want to get information.'
required: true
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
$ref: "yaml/UserInfo.yaml#/components/schemas/UserInfo"
examples:
User:
$ref: 'yaml/examples/user.yaml#/read'
"4XX":
$ref: "#/components/responses/4XX-Overviews"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/users/pause:
post:
tags:
- Accounts
summary:
'Pauses all user accounts that match a filter.'
operationId: MultiUserPauseRequest
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/MultiUserPauseRequest"
required: true
responses:
"200":
description:
'The request to pause all user accounts that match the filter was processed. See the response for possible error messages.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ActionResult.yaml#/components/schemas/ActionResult"
examples:
"200: Success":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_USER",
"name": "me",
"href": "/api/v2/users/2322",
},
"failure": null,
},
]
"200: Success with one failure":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_USER",
"name": "me",
"href": "/api/v2/users/2322",
},
"failure":
{
"code": "BAD_REQUEST",
"message": "The request could not be processed. Check if the format and the data types are correct.",
"request_id": "amAUOX",
},
},
]
"4XX":
$ref: "#/components/responses/4XX-MultiAction"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/users/resume:
post:
tags:
- Accounts
summary:
'Resumes all user accounts that match a filter.'
operationId: MultiResumeUser
requestBody:
description:
'Request Body'
content:
application/json:
schema:
$ref: "#/components/schemas/MultiResumeRequestBody"
required: true
responses:
"200":
description:
'The request to resume all user accounts that match the filter was processed. See the response for possible error messages.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/ActionResult.yaml#/components/schemas/ActionResult"
examples:
"200: Success":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_USER",
"name": "me",
"href": "/api/v2/users/2322",
},
"failure": null,
},
]
"200: Success with one failure":
value:
[
{
"node":
{
"id": "2322",
"type": "REFERENCED_USER",
"name": "me",
"href": "/api/v2/users/2322",
},
"failure":
{
"code": "BAD_REQUEST",
"message": "The request could not be processed. Check if the format and the data types are correct.",
"request_id": "amAUOX",
},
},
]
"4XX":
$ref: "#/components/responses/4XX-MultiAction"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/users/api-keys/find:
post:
tags:
- Accounts
operationId: FindAPIKey
summary: Returns details of an API key.
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/FindAPIKeyRequestBody"
responses:
"200":
description: The API Key
content:
application/json:
schema:
$ref: "yaml/APIKeyInfo.yaml#/components/schemas/APIKeyInfo"
"4XX":
$ref: '#/components/responses/4XX'
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/users/{id}/api-keys:
get:
tags:
- Accounts
operationId: ListAPIKeys
summary: 'Returns a list of API keys that belong to a user account.'
parameters:
- description:
'Enter the ID of the user you want to get a list of API keys for, or "me" if you want to list your own API keys.'
in: path
name: id
required: true
schema:
type: string
responses:
"200":
description: The API keys of the specified user
content:
application/json:
schema:
type: array
items:
$ref: "yaml/APIKeyInfo.yaml#/components/schemas/APIKeyInfo"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
post:
tags:
- Accounts
operationId: CreateAPIKey
parameters:
- description:
'Enter the ID of the user that you want to create the API key for, or "me" if you want to create it for yourself.'
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateAPIKeyRequestBody"
description:
'Request Body'
required: true
x-originalParamName: body
responses:
"200":
content:
application/json:
schema:
$ref: "yaml/CreateAPIKeyResponse.yaml#/components/schemas/CreateAPIKeyResponse"
description:
'API Key created successfully'
"4XX":
$ref: "#/components/responses/4XX-Action"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
summary: Creates a new API key.
/users/api-keys/{id}:
delete:
operationId: DeleteAPIKey
tags:
- Accounts
summary: |
Deletes an API key.
parameters:
- name: id
in: path
description:
'Enter the ID of the API key you want to delete.'
required: true
schema:
type: string
responses:
"204":
description: 'The API key was deleted'
"4XX":
$ref: "#/components/responses/4XX"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
patch:
operationId: ModifyAPIKey
tags:
- Accounts
summary: "Edits an API key."
parameters:
- name: id
in: path
description:
'Enter the ID of the API key you want to edit.'
required: true
schema:
type: string
responses:
"204":
description: 'The API key was edited.'
"4XX":
$ref: "#/components/responses/4XX"
"5XX":
$ref: "#/components/responses/5XX"
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ModifyAPIKeyRequestBody"
security:
- Bearer: []
/usergroups:
get:
tags:
- Accounts
summary:
'Get a list of all user groups that match a filter.'
operationId: ListUserGroups
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be replaced.
parameters:
- name: offset
in: query
description:
'Use offset to define which results are returned. For example, if you enter 0 for offset and 100 for limit, the API returns results 0 to 99. The index is zero based. For more information, see Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see Overview: Filter.'
schema:
type: string
- name: sort_by
in: query
description:
'Enter a comma-separated list of field names to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of field names to highlight the ascending order. Enter a minus sign (-) in front of the field name to sort the results in descending order.'
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
type: array
items:
$ref: "yaml/UserGroupInfo.yaml#/components/schemas/UserGroupInfo"
examples:
Usergroups:
$ref: "yaml/examples/usergroup.yaml#/list-read"
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/usergroups/{id}:
get:
tags:
- Accounts
summary:
'Return information about a user group.'
operationId: GetUserGroupOverview
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be replaced.
parameters:
- name: id
in: path
description:
'Enter the ID of the user group for which you want to get information.'
required: true
schema:
type: string
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
$ref: "yaml/UserGroupInfo.yaml#/components/schemas/UserGroupInfo"
examples:
Usergroup:
$ref: "yaml/examples/usergroup.yaml#/read"
"4XX":
$ref: "#/components/responses/4XX-Overviews"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/version:
get:
tags:
- System
summary:
'Returns version information.'
operationId: VersionInfo
responses:
"200":
description:
'The request was successful.'
content:
application/json:
schema:
$ref: "yaml/Versions.yaml#/components/schemas/Versions"
examples:
Version:
$ref: "yaml/examples/system.yaml#/version"
"4XX":
$ref: "#/components/responses/401"
"5XX":
$ref: "#/components/responses/5XX-Public"
security:
- Bearer: []
/autodiscoveries:
get:
tags:
- System
summary:
'Returns a list of all running auto-discoveries that match a filter.'
operationId: ListAutodiscoveries
parameters:
- name: offset
in: query
description:
'Use an offset to define which results are returned. For example, if you enter "0" for offset and "100" for limit, the API returns results 0 to 99. The index is zero based. For more information, see the Overview: Pagination.'
schema:
type: integer
format: int32
default: 0
- name: limit
in: query
description:
'Enter the number of objects that the request returns. The maximum number of objects is 3000. If you enter 0, the request returns up to 3000 objects.'
schema:
type: integer
format: int32
maximum: 3000
default: 100
- name: filter
in: query
description:
'Define filters to filter the results. For more information, see the Overview: Filter.'
schema:
type: string
- name: sort_by
in: query
description:
'Enter a comma-separated list of field names to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of field names to highlight the ascending order. Enter a minus sign (-) in front of the field name to sort the results in descending order.'
schema:
type: string
responses:
"200":
content:
application/json:
schema:
type: array
items:
$ref: "yaml/AutodiscoveryInfo.yaml#/components/schemas/AutodiscoveryInfo"
description:
'The request was successful.'
"4XX":
$ref: "#/components/responses/4XX-Lists"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
/setting-lookups/{name}:
get:
tags:
- Objects
summary:
'Returns possible setting lookup values.'
operationId: SettingsLookup
deprecated: true
description: |
⚠ Deprecated as of PRTG 24.3.100: This endpoint still works, but will be replaced.
parameters:
- name: name
in: path
description:
'Name of the lookup.'
required: true
schema:
type: string
- name: id
in: query
description:
'Enter ID of corresponding object of the setting lookup.'
required: false
schema:
type: string
responses:
"200":
description: The setting lookup result
content:
application/json:
schema:
$ref: "yaml/SettingsLookupResult.yaml#/components/schemas/SettingsLookupResult"
examples:
Device templates:
$ref: "yaml/examples/object.yaml#/device-templates"
"4XX":
$ref: "#/components/responses/4XX"
"5XX":
$ref: "#/components/responses/5XX"
security:
- Bearer: []
components:
schemas:
Error:
title: Error Response
description:
'This is the schema for all error responses that the API returns.'
type: object
properties:
code:
title:
'The internal API error code. For example, AUTH_FAILED.'
type: string
message:
title:
'The error message. It provides further information about the error.'
type: string
request_id:
title:
'The ID of the request that encountered the error.'
type: string
example:
code: "AUTH_FAILED"
message: "The authentication has failed. Enter valid credentials."
request_id: "lJMKhk"
AcknowledgeRequestBody:
title: Acknowledge Request Body
description:
'This is the body of the request if you want to acknowledge the alarm of a sensor.'
type: object
properties:
duration:
description:
'Enter the duration of the alarm acknowledgement. If you enter zero, the alarm is acknowledged indefinitely. PRTG rounds up the value to full minutes. For example, if you enter 100, PRTG acknowledges the alarm for two minutes.'
type: number
format: double
default: 0.0
minimum: 0.0
message:
description:
'Enter a message that the acknowledged sensor displays as sensor message.'
type: string
example:
duration: 300
message:
'Alarm acknowledged for five minutes. Troubleshooting in progress.'
MultiAcknowledgeRequestBody:
title: Multi Acknowledge Request Body
description:
'This is the body of the request if you want to acknowledge the alarms of multiple sensors.'
type: object
properties:
filter:
description:
'Define filters to limit and specify the results that the request returns.'
type: string
duration:
description:
'Enter the duration of the alarm acknowledgement. If you enter zero, the alarm is acknowledged indefinitely. PRTG rounds up the value to full minutes. For example, if you enter 100, PRTG acknowledges the alarm for two minutes. The maximum allowed number is 1000000000'
type: number
format: double
default: 0.0
minimum: 0.0
message:
description:
'Enter a message that the acknowledged sensor displays as sensor message.'
type: string
required: [filter]
example:
filter: name = "object-name"
duration: 300.0
message: Alarms acknowledged for five minutes. Troubleshooting in progress.
MultiPauseRequestBody:
title: Multi Pause Request Body
description:
'This is the body of the request if you want to pause the alarms of multiple sensors.'
type: object
properties:
filter:
description:
'Define filters to limit and specify the results that the request returns.'
type: string
duration:
description:
'Enter the duration of the alarm acknowledgement. If you enter zero, the alarm is acknowledged indefinitely. PRTG rounds up the value to full minutes. For example, if you enter 100, PRTG acknowledges the alarm for two minutes. The maximum allowed number is 1000000000'
type: number
format: double
default: 0.0
minimum: 0.0
message:
description:
'Enter a message that the acknowledged sensor displays as sensor message.'
type: string
required: [filter]
example:
filter: name = "object-name"
duration: 300.0
message: Alarms acknowledged for five minutes. Troubleshooting in progress.
MultiResumeRequestBody:
title: Multi Resume Request Body
description:
'This is the body of the request if you want to resume multiple objects.'
type: object
properties:
filter:
description:
'Define filters to limit and specify the results that the request returns.'
type: string
required: [filter]
example:
filter: name = "object-name"
MultiScanNowRequestBody:
title: Action Scan Now Request Body
description:
'This is the body of the request if you want to trigger a scan for multiple objects.'
type: object
properties:
filter:
description:
'Define filters to limit the results that the request returns.'
type: string
required: [filter]
example:
filter: name = "object-name"
PauseRequestBody:
title: Action Pause Request Body
description:
'This is the body of the request if you want to pause a sensor.'
type: object
properties:
duration:
description:
'Enter the duration of the pause. If you enter zero, the object is paused indefinitely. PRTG rounds up the value to full minutes. For example, if you enter 100, PRTG pauses the object for two minutes. The maximum allowed number is 1000000000'
type: number
format: double
default: 0.0
minimum: 0.0
message:
description:
'Enter a message that the paused sensor displays as sensor message.'
type: string
example:
duration: 300.0
message:
'Maintenance: Paused for 5 minutes.'
CloneRequestBody:
title: Clone object request body
description: This is the body of the request if you want to clone a object
type: object
required: [parent]
properties:
parent:
description: Enter the ID of the target parent
type: string
position:
description: The position within the children of the target, top, bottom (default) or a number
type: string
name:
description: Enter the new name of the cloned object
type: string
host:
description: Enter the new host IP address or DNS name if the cloned object is a device
type: string
service_url:
description: Enter the new service URL if the cloned object is a device
type: string
SettingsRequestBody:
title: Modify Settings Request Body
description:
'This is the body of the request to modify settings of an item.'
type: object
CreateRequestBody:
title: Create Request Body
description:
'This is the body of the request to create a new item.'
type: object
MultiUserPauseRequest:
title: Multi Action User Pause Request Body
description:
'This is the body of the request if you want to pause multiple objects.'
type: object
properties:
filter:
description:
'Define filters to limit the results that the request returns.'
type: string
required: [filter]
example:
filter: name = "object-name"
LoginRequest:
title: Login Request Body
description:
'This is the body of the request if you want to log in to create a new user session.'
type: object
properties:
username:
title:
'The user name that the request uses for authentication.'
type: string
password:
title:
'The password that the request uses for authentication.'
type: string
required: [username, password]
example:
username: prtgadmin
password: prtgadmin
FindAPIKeyRequestBody:
title: Find API Key Request Body
description:
'This is the request body to find an API key.'
type: object
properties:
id:
type: string
description:
'The ID of the API key.'
key:
type: string
description:
'The API key itself.'
CreateAPIKeyRequestBody:
title: Create API Key Request Body
description:
'This is the request body to create a new API key.'
type: object
properties:
name:
type: string
description:
'The name of the new API key.'
description:
type: string
description:
'A textual description of the new API key.'
access_level:
type: string
description:
'The access level of the new API key.'
enum:
- NOT_SET
- READ
- ACKNOWLEDGE
- WRITE
- FULL
required: [name, access_level]
ModifyAPIKeyRequestBody:
title: Modify API Key Request Body
description:
'This is the request body to an API key.'
type: object
properties:
name:
type: string
description:
'The name of the API key.'
description:
type: string
description:
'A textual description of the API key.'
access_level:
type: string
description:
'The access level of the API key.'
enum:
- NOT_SET
- READ
- ACKNOWLEDGE
- WRITE
- FULL
TriggerPasswordResetRequest:
title: Trigger Password Reset Request Body
description:
'This is the body of the request if you want to trigger the password reset process.'
type: object
properties:
username:
type: string
description:
'The user name of the user account for which you want to initiate the password reset process.'
required: [username]
ResetPasswordRequest:
title: Reset Password Request
description:
'This is the body of the request if you want to change the password of a user account with the token from the password reset process.'
type: object
properties:
username:
type: string
description:
'The user name of the user account whose password you want to change.'
password:
type: string
description:
'The new password for the user account.'
token:
type: string
description:
'The token from the password reset process.'
required: [username, password, token]
TimeseriesRow:
type: array
items:
anyOf:
- $ref: "#/components/schemas/Timestamp"
- $ref: "#/components/schemas/ChannelID"
- $ref: "#/components/schemas/Integer"
- $ref: "#/components/schemas/Float"
Timestamp:
type: string
format: date-time
ChannelID:
type: string
format: sensorID.channel
Integer:
type: integer
Float:
type: number
json-response:
type: object
description:
'JSON response.'
additionalProperties:
oneOf:
- $ref: '#/components/schemas/json-response-section'
- $ref: '#/components/schemas/json-response-string'
- $ref: '#/components/schemas/json-response-number'
- $ref: '#/components/schemas/json-response-boolean'
- $ref: '#/components/schemas/json-response-integer'
- $ref: '#/components/schemas/json-response-string-array'
- $ref: '#/components/schemas/json-response-integer-array'
json-response-section:
type: object
additionalProperties:
oneOf:
- $ref: '#/components/schemas/json-response-string'
- $ref: '#/components/schemas/json-response-number'
- $ref: '#/components/schemas/json-response-boolean'
- $ref: '#/components/schemas/json-response-integer'
- $ref: '#/components/schemas/json-response-string-array'
- $ref: '#/components/schemas/json-response-integer-array'
json-response-string:
type: string
json-response-integer:
type: integer
json-response-number:
type: number
format: double
json-response-boolean:
type: boolean
format: boolean
json-response-string-array:
type: array
items:
type: string
json-response-integer-array:
type: array
items:
type: integer
responses:
"401":
description:
"Client Errors"
content:
application/json:
examples:
"401":
$ref: "#/components/examples/401-UNAUTHORIZED"
schema:
$ref: "#/components/schemas/Error"
"4XX":
description:
"Client Errors"
content:
application/json:
examples:
"400":
$ref: "#/components/examples/400-BAD_REQUEST"
"401":
$ref: "#/components/examples/401-UNAUTHORIZED"
"403":
$ref: "#/components/examples/403-FORBIDDEN"
"404":
$ref: "#/components/examples/404-NOT_FOUND"
schema:
$ref: "#/components/schemas/Error"
"4XX-Lists":
description:
"Client Errors"
content:
application/json:
examples:
"400":
$ref: "#/components/examples/400-BAD_REQUEST"
"400-invalid-filter":
$ref: "#/components/examples/400-INVALID_FILTER"
"401":
$ref: "#/components/examples/401-UNAUTHORIZED"
schema:
$ref: "#/components/schemas/Error"
"4XX-Overviews":
description:
"Client Errors"
content:
application/json:
examples:
"401":
$ref: "#/components/examples/401-UNAUTHORIZED"
"404":
$ref: "#/components/examples/404-NOT_FOUND"
schema:
$ref: "#/components/schemas/Error"
4XX-Action:
description:
"Client Errors"
content:
application/json:
examples:
"400":
$ref: "#/components/examples/400-BAD_REQUEST"
"401":
$ref: "#/components/examples/401-UNAUTHORIZED"
"403":
$ref: "#/components/examples/403-FORBIDDEN"
"404":
$ref: "#/components/examples/404-NOT_FOUND"
schema:
$ref: "#/components/schemas/Error"
4XX-MultiAction:
description:
"Client Errors"
content:
application/json:
examples:
"400":
$ref: "#/components/examples/400-BAD_REQUEST"
"400-invalid-filter":
$ref: "#/components/examples/400-INVALID_FILTER"
"401":
$ref: "#/components/examples/401-UNAUTHORIZED"
schema:
$ref: "#/components/schemas/Error"
4XX-Sensors-Data:
description:
"Client Errors"
content:
application/json:
examples:
"400":
$ref: "#/components/examples/400-BAD_REQUEST"
"400-invalid-filter":
$ref: "#/components/examples/400-INVALID_FILTER"
"401":
$ref: "#/components/examples/401-UNAUTHORIZED"
"404":
$ref: "#/components/examples/404-NOT_FOUND"
schema:
$ref: "#/components/schemas/Error"
"4XX-Login":
description:
"Client Errors"
content:
application/json:
examples:
"400":
$ref: "#/components/examples/400-BAD_REQUEST"
"400-login-failed":
$ref: "#/components/examples/401-LOGIN_FAILED"
"401":
$ref: "#/components/examples/401-UNAUTHORIZED"
schema:
$ref: "#/components/schemas/Error"
"400-API-Key-Logout":
description:
"Logout with API key"
content:
application/json:
examples:
"400":
$ref: "#/components/examples/400-API-KEY-LOGOUT"
schema:
$ref: "#/components/schemas/Error"
"4XX-Tree":
description:
"Client Errors"
content:
application/json:
examples:
"400":
$ref: "#/components/examples/400-BAD_REQUEST"
"401":
$ref: "#/components/examples/401-UNAUTHORIZED"
schema:
$ref: "#/components/schemas/Error"
"4XX-Reset-Password":
description:
"Client Errors"
content:
application/json:
examples:
"400":
$ref: "#/components/examples/400-BAD_REQUEST"
"400-low-password-complexity":
$ref: "#/components/examples/400-LOW_PASSWORD_COMPLEXITY"
"400-invalid-password-reset-token":
$ref: "#/components/examples/400-INVALID_PASSWORD_RESET_TOKEN"
schema:
$ref: "#/components/schemas/Error"
"5XX":
description:
"Server Errors"
content:
application/json:
examples:
"500":
$ref: "#/components/examples/500-INTERNAL"
"502":
$ref: "#/components/examples/502-BAD_GATEWAY"
"503 unavailable":
$ref: "#/components/examples/503-SERVICE_UNAVAILABLE"
"503 inactive":
$ref: "#/components/examples/503-LICENSE_INACTIVE"
"505":
$ref: "#/components/examples/504-GATEWAY_TIMEOUT"
schema:
$ref: "#/components/schemas/Error"
"5XX-Public":
description:
"Server Errors"
content:
application/json:
examples:
"500":
$ref: "#/components/examples/500-INTERNAL"
"502":
$ref: "#/components/examples/502-BAD_GATEWAY"
"503":
$ref: "#/components/examples/503-SERVICE_UNAVAILABLE"
"505":
$ref: "#/components/examples/504-GATEWAY_TIMEOUT"
schema:
$ref: "#/components/schemas/Error"
"5XX-Renew":
description:
"Server Errors"
content:
application/json:
examples:
"500":
$ref: "#/components/examples/500-INTERNAL"
"500-RenewFailed":
$ref: "#/components/examples/500-RENEW_FAILED"
"502":
$ref: "#/components/examples/502-BAD_GATEWAY"
"503":
$ref: "#/components/examples/503-SERVICE_UNAVAILABLE"
"505":
$ref: "#/components/examples/504-GATEWAY_TIMEOUT"
schema:
$ref: "#/components/schemas/Error"
"5XX-Logout":
description:
"Server Errors"
content:
application/json:
examples:
"500":
$ref: "#/components/examples/500-INTERNAL"
"500-LogoutFailed":
$ref: "#/components/examples/500-LOGOUT_FAILED"
"502":
$ref: "#/components/examples/502-BAD_GATEWAY"
"503":
$ref: "#/components/examples/503-SERVICE_UNAVAILABLE"
"505":
$ref: "#/components/examples/504-GATEWAY_TIMEOUT"
schema:
$ref: "#/components/schemas/Error"
examples:
400-BAD_REQUEST:
summary: "400: Bad Request"
value:
code: "BAD_REQUEST"
message: "The request could not be processed. Check if the format and the data types are correct."
request_id: "lJMKhk"
400-API-KEY-LOGOUT:
summary: "400: You can't log out while using an API key"
value:
code: "BAD_REQUEST"
message: "The request could not be processed. Check if the format and the data types are correct. Cause: Logout is not possible when using an API key."
request_id: "DWXfDl"
400-INVALID_FILTER:
summary: "400: Invalid Filter"
value:
code: "INVALID_FILTER"
message: 'The provided filter is invalid. Check offset 7: invalid token ''"'''
request_id: "OPdFec"
400-LOW_PASSWORD_COMPLEXITY:
summary: "400: Low Password Complexity"
value:
code: "LOW_PASSWORD_COMPLEXITY"
message: "The password complexity is too low. Enter a password that matches the password requirements."
request_id: "lJMKhz"
400-INVALID_PASSWORD_RESET_TOKEN:
summary: "400: Invalid Password Reset Token"
value:
code: "INVALID_PASSWORD_RESET_TOKEN"
message: "The password reset token is invalid. Enter a valid password reset token."
request_id: "lJMKhz"
401-UNAUTHORIZED:
summary: "401: Unauthorized"
value:
code: "AUTH_FAILED"
message: "The authentication has failed. Enter valid credentials."
request_id: "Zsebji"
401-LOGIN_FAILED:
summary: "401: Login Error"
value:
code: "LOGIN_FAILED"
message: "The login has failed. Enter a valid user name and password or token."
request_id: "Zsebji"
403-FORBIDDEN:
summary: "403: Forbidden"
value:
code: "FORBIDDEN"
message: "Unauthorized request. Check the ID of the object and the permissions of the user account."
request_id: "snwyak"
404-NOT_FOUND:
summary: "404: Not Found"
value:
code: "NOT_FOUND"
message: "The resource could not be found in this endpoint. Check the ID of the object."
request_id: "snwyak"
500-INTERNAL:
summary: "500: Internal Server Error"
value:
code: "UNKNOWN"
message: "An unknown error has occurred. Check the log files for more information."
request_id: "snwyak"
500-RENEW_FAILED:
summary: "500: Session Renewal Error"
value:
code: "RENEW_FAILED"
message: "The renewal of the active user session has failed."
request_id: "snwyak"
500-LOGOUT_FAILED:
summary: "500: Logout failed"
value:
code: "LOGOUT_FAILED"
message: "The logout of the active user session has failed."
request_id: "snwyak"
502-BAD_GATEWAY:
summary: "502: Bad Gateway"
value:
code: "BAD_GATEWAY"
message: "The response from the PRTG core server was invalid."
request_id: "snwyak"
503-SERVICE_UNAVAILABLE:
summary: "503: Service Unavailable"
value:
code: "SERVICE_UNAVAILABLE"
message: "Service unavailable. The PRTG application server could not connect to the PRTG core server."
request_id: "kijuIU"
503-LICENSE_INACTIVE:
summary: "503: License Inactive"
value:
code: "LICENSE_INACTIVE"
message: "The functionality of your PRTG installation is currently limited. License is inactive."
request_id: "NsqmjD"
504-GATEWAY_TIMEOUT:
summary: "504: Gateway Timeout"
value:
code: "GATEWAY_TIMEOUT"
message: "The request to the PRTG core server timed out."
request_id: "kijuIU"
securitySchemes:
Bearer:
type: apiKey
description:
"Enter a token with the prefix *Bearer*. For example: `Bearer TOKEN-FROM-LOGIN`"
name: Authorization
in: header