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