openapi: 3.0.3 info: title: PRTG API v2 Reference description: | This is the API endpoint reference documentation for the PRTG API v2. For an overview of the PRTG API v2, see the [PRTG API v2 Overview](../overview/index.html) * The PRTG API v2 is not yet complete. Most endpoints are stable and you can use them in production. Endpoints marked as "experimental" might change, so use them with caution. For more information, see the [Overview: Maturity of endpoints](../overview/index.html#endpoint-maturity)).
**Note:** If you cannot achieve your objective with the PRTG API v2, you can try the original 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. You can authenticate your session with an [API key](../overview/index.html#apikey) or with the [POST /session endpoint](#/Authentication). * Feedback? We would love to hear from you! You can share your feedback about the PRTG API v2 through our [survey](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). 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 is replaced with the following endpoints: - `/experimental/schemas/{parentid}/post` for creating objects - `/experimental/schemas/{id}/patch` for updating objects - `/experimental/schemas/{id}/get` for reading objects tags: - Objects summary: Returns a OAS schema to use in other endpoints. parameters: - name: kind in: path description: | Enter the kind of schema you want. You can request a schema of a device, group, user, or a specific type of sensor, for example, ping). required: true schema: type: string - name: purpose in: query description: | Select the purpose to refine the schema for a specific use case: * 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 object ID of the parent object where you want to create a new object to request the correct schema for this use case. This field is required if you select `create` as the purpose above. 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/schemas/{parent}: get: operationId: GetKindsForParent tags: - Schemas description: | This endpoint is experimental. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). summary: Returns a list of all object kinds that you can create on a given parent object. parameters: - name: parent in: path description: "Enter the ID of the parent object." required: true schema: type: string - name: offset in: query description: 'Use an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 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 potentially creatable schemas for the given parent." properties: creatable: type: boolean description: "True if the schema is creatable other check the hints." hints: type: array nullable: true description: "Hints why the specific schema is not creatable." items: type: string enum: - "CredentialsMissing" - "ProbeIsDisconnected" - "SensorNeedsLocalProbe" - "SensorNeedsLocalProbeDevice" - "SensorNeedsProbeDevice" - "MissingCredentialGroup" kind: type: string description: "The schema kind." name: type: string description: "The name of the schema." href: type: string description: "The URL to the schema for POST requests." description: type: string nullable: true description: "Describes the purpose of the the monitoring object." help: type: string nullable: true description: "Provides additional helpful information." Manual: type: string nullable: true description: "A link to the manuals page where you can find more information." additionalProperties: true examples: Schemas for device: $ref: "yaml/examples/schemas.yaml#/schemas-list-device" Schemas for group: $ref: "yaml/examples/schemas.yaml#/schemas-list-group" "4XX": $ref: "#/components/responses/4XX" "5XX": $ref: "#/components/responses/5XX" security: - Bearer: [] /experimental/schemas/{id}/get: get: x-prtg-writer: true operationId: GetReadSchemaByObjectID tags: - Schemas summary: Returns OAS schema for use in `GET` endpoints for a specific object. parameters: - name: id in: path description: | The object ID for which to retrieve the schema. required: true schema: type: string - name: include in: query description: | By default, this endpoint only returns the most relevant information about the requested objects. 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. You can only use this parameter together with another parameter. | `include=intervalgroup,inheritance`| | `*` | A wildcard that includes the `all_sections`, `inheritance`, and `sensor_status_summary` parameters. | `include=*`| Use the `all_sections` parameter to see all available setting sections. You can then refine your request with the setting sections that you want. For more information, see the [PRTG API v2 Overview: Includes](../overview/index.html#includes). schema: type: array format: csv items: type: string responses: "200": content: application/json: schema: $ref: "yaml/components/Schema.yaml#/components/schemas/SchemaDefinition" examples: Read device schema: $ref: "yaml/examples/schemas.yaml#/schema-device-get" description: "The request was successful." "4XX": $ref: "#/components/responses/4XX" "5XX": $ref: "#/components/responses/5XX" security: - Bearer: [] /experimental/schemas/{id}/patch: get: x-prtg-writer: true operationId: GetUpdateSchemaByObjectID tags: - Schemas summary: Returns an OAS schema for use in `PATCH` endpoints for a specific object. parameters: - name: id in: path description: | The object ID for which to retrieve the schema. required: true schema: type: string - name: include in: query description: | By default, this endpoint only returns the most relevant information about the requested objects. 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. You can only use this parameter together with another parameter. | `include=intervalgroup,inheritance`| | `*` | A wildcard that includes the `all_sections`, `inheritance`, and `sensor_status_summary` parameters. | `include=*`| Use the `all_sections` parameter to see all available setting sections. You can then refine your request with the setting sections that you want. For more information, see the [PRTG API v2 Overview: Includes](../overview/index.html#includes). schema: type: array format: csv items: type: string responses: "200": content: application/json: schema: $ref: "yaml/components/Schema.yaml#/components/schemas/SchemaDefinition" examples: Patch device schema: $ref: "yaml/examples/schemas.yaml#/schema-device-patch" description: "The request was successful." "4XX": $ref: "#/components/responses/4XX" "5XX": $ref: "#/components/responses/5XX" security: - Bearer: [] /experimental/schemas/{parent}/post: get: x-prtg-writer: true operationId: GetCreateSchemaByParentID tags: - Schemas summary: Returns an OAS schema for use in `POST` endpoints. parameters: - name: parent in: path required: true description: | The object ID of the parent object where you want to create a new object. schema: type: string - name: kind in: query required: true description: | The kind of object you want to create (e.g., device, group, or in case of sensors e.g. ping). schema: type: string - name: include in: query description: | By default, this endpoint only returns the most relevant information about the requested objects. 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. You can only use this parameter together with another parameter. | `include=intervalgroup,inheritance`| | `*` | A wildcard that includes the `all_sections`, `inheritance`, and `sensor_status_summary` parameters. | `include=*`| Use the `all_sections` parameter to see all available setting sections. You can then refine your request with the setting sections that you want. For more information, see the [PRTG API v2 Overview: Includes](../overview/index.html#includes). schema: type: array format: csv items: type: string responses: "200": content: application/json: schema: $ref: "yaml/components/Schema.yaml#/components/schemas/SchemaDefinition" examples: Post device schema: $ref: "yaml/examples/schemas.yaml#/schema-device-post" description: "The request was successful." "4XX": $ref: "#/components/responses/4XX" "5XX": $ref: "#/components/responses/5XX" security: - Bearer: [] /experimental/objects: get: tags: - Objects description: Get a list of all probes, groups, devices, sensors and channels that match a filter. operationId: Objects parameters: - name: offset in: query description: 'Use an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' schema: type: string - name: include in: query description: | By default, this endpoint only returns the most relevant information about the requested objects. 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. You can only use this parameter together with another parameter. | `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=*`| Use the `all_sections` parameter to see all available setting sections. You can then refine your request with the setting sections that you want. For more information, see the [PRTG API v2 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: [] /objects/{id}/move: post: tags: - Objects summary: Move the position of any monitoring object within it's siblings or to a new parent. description: | You can either combine `parent` and optionally one of the positional parameter `position`/`position_preset`, if you want to move the object to another parent. Or if you want to move the object within its siblings you can either use `position` (multiple of 10) or `position_preset`. operationId: ObjectMove parameters: - name: id in: path description: "Enter the ID of the object that you want to move." required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: parent: description: The new parent where to move the object or 'null' nullable: true type: string example: "1044" position: description: The absolute position within the siblings or 'null'. nullable: true type: integer minimum: 10 multipleOf: 10 example: null position_preset: description: > position_preset movement commands or 'null' * `top` - move to the first place * `bottom` - move to the end * `up` - move one place forward * `down` - move one place backward nullable: true type: string enum: ["top", "up", "down", "bottom", null] examples: "move to other parent": value: parent: "1234" "move position": value: position: 20 "move with preset": value: position_preset: "top" "move to other parent with position": value: parent: "1234" position: 10 "move to other parent with preset": value: parent: "1234" position_preset: "top" responses: "204": description: "The object was moved." headers: Location: description: Where you can find the moved object schema: type: string "4XX": $ref: "#/components/responses/4XX" "5XX": $ref: "#/components/responses/5XX" security: - Bearer: [] /objects/count: get: tags: - Objects summary: "Returns a list of how many objects of each kind 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: [] /experimental/devices/{id}: delete: operationId: DeleteDevice tags: - Devices description: | This endpoint is experimental. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). summary: "Deletes a device with all child sensors and channels." 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. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). summary: Returns time series data of a sensor for predefined time frames. parameters: - name: id in: path description: "Enter the ID of the sensor that you want to get the time series data for." required: true schema: type: string - name: type in: path description: | Select the dataset type: * `live`: Returns data of the last four hours. * `short`: Returns data of the last 2 days. * `medium`: Returns data of the last 60 days. * `long`: Returns data of the last 365 days. 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) in the response. 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 array defines the table headers of the columns. In a time series table, the column headers consist of "time" and all additional channels defined in the 'channels' parameter. Each additional array is a row of data values. In this case, all arrays after the table headers contain the time-date value in RFC3339 format and channel data as an integer or a 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 an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 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 PRTG API v2 Overview: Filters.' schema: type: string - name: sort_by in: query description: "Enter a comma-separated list of settings that you want to use to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of the setting to highlight the ascending order. Enter a minus sign (-) in front of the setting 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 an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' schema: type: string - name: sort_by in: query description: "Enter a comma-separated list of settings that you want to use to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of the setting to highlight the ascending order. Enter a minus sign (-) in front of the setting 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`

| Use the `all_sections` parameter to see all available setting sections. You can then refine your request with the setting sections that you want. For more information, see the [PRTG API v2 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. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). operationId: Channels parameters: - name: offset in: query description: 'Use an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 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 PRTG API v2 Overview: Filters.' schema: type: string deprecated: true - name: sort_by in: query description: "Enter a comma-separated list of settings that you want to use to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of the setting to highlight the ascending order. Enter a minus sign (-) in front of the setting 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`

| Use the `all_sections` parameter to see all available setting sections. You can then refine your request with the setting sections that you want. For more information, see the [PRTG API v2 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 an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' 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 default: false - name: sort_by in: query description: "Enter a comma-separated list of settings that you want to use to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of the setting to highlight the ascending order. Enter a minus sign (-) in front of the setting 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. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). operationId: ListDevicesExperimental parameters: - name: offset in: query description: 'Use an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' 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. You can only use this parameter together with another parameter. | `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=*`| Use the `all_sections` parameter to see all available setting sections. You can then refine your request with the setting sections that you want. For more information, see the [PRTG API v2 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: [] /experimental/devices/templates: get: tags: - Devices summary: "Returns a list of device templates." description: | This endpoint is experimental. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). operationId: GetDeviceTemplatesExperimental responses: "200": description: "The request was successful." content: application/json: schema: $ref: "yaml/DeviceTemplates.yaml#/components/schemas/DeviceTemplates" examples: Device templates: $ref: "yaml/examples/device.yaml#/templates" "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. You can only use this parameter together with another parameter. | `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=*`| Use the `all_sections` parameter to see all available setting sections. You can then refine your request with the setting sections that you want. For more information, see the [PRTG API v2 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: "Edits a device." operationId: UpdateDevice parameters: - name: id in: path description: "Enter the ID of the device that you want to edit." 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 that you want to get an overview of." 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." "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 device was resumed." "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 that you want to scan." in: path name: id required: true schema: type: string responses: "204": description: "The device was scanned." "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 request to pause all devices that match the filter was successful. 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 request to resume all devices that match the filter was successful. 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 scan all devices that match the filter was successful. 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 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 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. You can only use this parameter together with another parameter. | `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=*`| Use the `all_sections` parameter to see all available setting sections. You can then refine your request with the setting sections that you want. For more information, see the [PRTG API v2 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 an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' 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 default: false - name: sort_by in: query description: "Enter a comma-separated list of settings that you want to use to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of the setting to highlight the ascending order. Enter a minus sign (-) in front of the setting 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/{id}: patch: tags: - Groups summary: "Edits a group." operationId: UpdateGroup parameters: - name: id in: path description: "Enter the ID of the group that you want to edit." required: true schema: type: string requestBody: description: "Request Body" content: application/json: schema: $ref: "#/components/schemas/SettingsRequestBody" example: { "basic": { "name": "New Group Name" } } required: true responses: "204": description: "The request was successful." "4XX": $ref: "#/components/responses/4XX-Action" "5XX": $ref: "#/components/responses/5XX" security: - Bearer: [] delete: operationId: DeleteGroup tags: - Groups description: | This endpoint is experimental. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). summary: "Deletes a group with all child groups and devices." parameters: - name: id in: path description: "Enter the ID of the group that you want to delete." required: true schema: type: string responses: "204": description: "The group was deleted." "4XX": $ref: "#/components/responses/4XX" "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. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity)." parameters: - name: offset in: query description: 'Use an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' 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. You can only use this parameter together with another parameter. | `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=*`| Use the `all_sections` parameter to see all available setting sections. You can then refine your request with the setting sections that you want. For more information, see the [PRTG API v2 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}/group: post: x-prtg-writer: true tags: - Groups summary: "Creates a new group in a group." description: | This endpoint is experimental. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). operationId: CreateGroupForGroup parameters: - name: id in: path description: "Enter the ID of the group that you want to create a new group in." required: true schema: type: string requestBody: description: "Request Body" content: application/json: schema: $ref: "#/components/schemas/CreateRequestBody" example: { "basic": { "name": "New Group Name" } } required: true responses: "201": description: "A new group was created on the group." content: application/json: schema: type: array items: $ref: "yaml/GroupInfo.yaml#/components/schemas/GroupInfo" "4XX": $ref: "#/components/responses/4XX-Action" "5XX": $ref: "#/components/responses/5XX" security: - Bearer: [] /experimental/probes/{id}/group: post: x-prtg-writer: true tags: - Groups summary: "Creates a new group in a probe." description: | This endpoint is experimental. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). operationId: CreateGroupForProbe parameters: - name: id in: path description: "Enter the ID of the probe that you want to create a new group in." required: true schema: type: string requestBody: description: "Request Body" content: application/json: schema: $ref: "#/components/schemas/CreateRequestBody" example: { "basic": { "name": "New Group Name" } } required: true responses: "201": description: "A new group was created on the probe." content: application/json: schema: type: array items: $ref: "yaml/GroupInfo.yaml#/components/schemas/GroupInfo" "4XX": $ref: "#/components/responses/4XX-Action" "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. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). operationId: CreateDeviceForGroup parameters: - name: id in: path description: "Enter the ID of the group that you want to create a new device in." 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: "A new device was created on the group." 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." "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 group was resumed." "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 that you want to scan." in: path name: id required: true schema: type: string responses: "204": description: "The group was scanned." "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 successful. 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 successful. 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 that 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: Triggers a scan of 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 successful. 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: Returns 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 is 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: "Returns a list of all libraries that match a filter." operationId: ListLibraries parameters: - name: offset in: query description: 'Use an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' schema: type: string - name: sort_by in: query description: "Enter a comma-separated list of settings that you want to use to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of the setting to highlight the ascending order. Enter a minus sign (-) in front of the setting 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 an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' schema: type: string - name: sort_by in: query description: "Enter a comma-separated list of settings that you want to use to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of the setting to highlight the ascending order. Enter a minus sign (-) in front of the setting 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 an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' 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 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: [] /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 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 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. You can only use this parameter together with another parameter. | `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=*`| Use the `all_sections` parameter to see all available setting sections. You can then refine your request with the setting sections that you want. For more information, see the [PRTG API v2 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}/info: get: operationId: GetProbeNetworkInfo parameters: - name: id in: path description: Enter the ID of the probe that you want to see the network information of. required: true schema: type: string summary: Returns the network information of a probe. security: - Bearer: [] responses: "200": description: "The request was successful." content: application/json: schema: $ref: "yaml/ProbeNetworkInfo.yaml#/components/schemas/ProbeNetworkInfo" examples: Probe network info: $ref: "yaml/examples/probe.yaml#/network-info" "4XX": $ref: "#/components/responses/4XX-Action" "5XX": $ref: "#/components/responses/5XX" tags: - Probes /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." "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 probe was resumed." "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 that you want to scan." in: path name: id required: true schema: type: string responses: "204": description: "The probe was scanned." "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 an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' 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 default: false - name: sort_by in: query description: Enter a comma-separated list of settings that you want to use to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of the setting to highlight the ascending order. Enter a minus sign (-) in front of the setting 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. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). parameters: - name: offset in: query description: 'Use an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' 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=*`| Use the `all_sections` parameter to see all available setting sections. You can then refine your request with the setting sections that you want. For more information, see the [PRTG API v2 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 on a probe." description: | This endpoint is experimental. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). operationId: CreateDeviceForProbe parameters: - name: id in: path description: "Enter the ID of the probe that you want to create a new device on." 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: "A new device was created on the probe." 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 that you want to get an overview for." 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 successful. 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 successful. 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: Triggers a scan of 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 successful. 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: [] /experimental/probes/{id}: delete: operationId: DeleteProbe tags: - Probes description: | This endpoint is experimental. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). summary: "Deletes a probe with all child groups and devices." parameters: - name: id in: path description: "Enter the ID of the probe that you want to delete." required: true schema: type: string responses: "204": description: "The probe was deleted." "4XX": $ref: "#/components/responses/4XX" "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 that you you want to get a sensor status summary of." 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 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 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=*`| Use the `all_sections` parameter to see all available setting sections. You can then refine your request with the setting sections that you want. For more information, see the [PRTG API v2 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: "Returns a list of all sensors that match a filter." operationId: ListSensors parameters: - name: offset in: query description: 'Use an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' schema: type: string - name: sort_by in: query description: "Enter a comma-separated list of settings that you want to use to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of the setting to highlight the ascending order. Enter a minus sign (-) in front of the setting 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 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. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). parameters: - name: offset in: query description: 'Use an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' 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` and `inheritance` parameters. | `include=*`| Use the `all_sections` parameter to see all available setting sections. You can then refine your request with the setting sections that you want. For more information, see the [PRTG API v2 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 an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' schema: type: string - name: sort_by in: query description: "Enter a comma-separated list of settings that you want to use to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of the setting to highlight the ascending order. Enter a minus sign (-) in front of the setting 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 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 successful. 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." "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 sensor was resumed." "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 that you want to scan." in: path name: id required: true schema: type: string responses: "204": description: "The sensor was scanned." "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 that you want to acknowledge the alarm of." required: true schema: type: string requestBody: description: "Request Body" content: application/json: schema: $ref: "#/components/schemas/AcknowledgeRequestBody" required: true responses: "204": description: "The sensor alarm was acknowledged." "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 /experimental/devices/{id}/sensor: post: x-prtg-writer: true tags: - Sensors summary: "Creates a new sensor in a device." description: | This endpoint does not yet support all sensor types. Currently only the following sensors are supported: - exe - http - ping - snmptraffic - sslcertificate - ssl - wmidiskspace - wminetwork - wmiprocess - paessler.aws.awscost - paessler.paecloud.ping_v2_sensor - paessler.snmp.traffic_sensor - paessler.snmp.uptime_sensor - paessler.snmp.custom_sensor - paessler.ssh.disk_free_sensor This endpoint is experimental. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). operationId: CreateSensor parameters: - name: id in: path description: "Enter the ID of the device that you want to create a new sensor in." required: true schema: type: string - name: kindid in: query description: "Enter the kind ID of the sensor." required: true schema: type: string default: "ping" requestBody: description: "Request Body" content: application/json: schema: $ref: "#/components/schemas/CreateRequestBody" example: { "basic": { "name": "New Sensor Name" } } required: true responses: "201": description: "A new sensor was created on the device." content: application/json: schema: type: array items: $ref: "yaml/SensorInfo.yaml#/components/schemas/SensorInfo" "4XX": $ref: "#/components/responses/4XX-Action" "5XX": $ref: "#/components/responses/5XX" security: - Bearer: [] /experimental/devices/{id}/metascan: post: x-prtg-writer: true tags: - Sensors summary: "Execute a meta-scan on a given device for a given sensor kind" description: | This endpoint does not yet support all sensor kinds. Currently only the following sensor kind is supported: - snmpdiskfree This endpoint is experimental. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). operationId: Metascan parameters: - name: id in: path description: "Enter the ID of the device that you want to execute a new meta-scan." required: true schema: type: string - name: kind in: query description: "Enter the kind of the sensor." required: true schema: type: string default: "snmpdiskfree" responses: "201": description: "Execute a new sensor meta-scan for an given device." content: application/json: schema: $ref: "yaml/Metascan.yaml#/components/schemas/Metascan" examples: meta-scan: $ref: "yaml/examples/sensor.yaml#/sensor-meta-scan" "4XX": $ref: "#/components/responses/4XX-Action" "5XX": $ref: "#/components/responses/5XX" security: - Bearer: [] /experimental/devices/{id}/autodiscovery: post: tags: - Devices summary: "Trigger autodiscovery for a given device" description: | This endpoint is experimental. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). operationId: TriggerDeviceAutodiscovery parameters: - name: id in: path description: "Enter the ID of the device that you want to trigger autodiscovery for." required: true schema: type: string requestBody: description: "Request Body." content: application/json: schema: $ref: "#/components/schemas/TriggerAutoDiscoveryRequestBody" example: { "templates": ["Device Generic SNMP.odt"] } required: false responses: "204": description: "Auto discovery for an given device was triggered successfully." "4XX": $ref: "#/components/responses/4XX-Action" "5XX": $ref: "#/components/responses/5XX" security: - Bearer: [] /experimental/groups/{id}/autodiscovery: post: tags: - Groups summary: "Trigger autodiscovery for a given group" description: | This endpoint is experimental. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). operationId: TriggerGroupAutodiscovery parameters: - name: id in: path description: "Enter the ID of the group that you want to trigger autodiscovery for." required: true schema: type: string requestBody: description: "Request Body." content: application/json: schema: $ref: "#/components/schemas/TriggerAutoDiscoveryRequestBody" example: { "templates": ["Device Generic SNMP.odt"] } required: false responses: "204": description: "Auto discovery for an given group was triggered successfully." "4XX": $ref: "#/components/responses/4XX-Action" "5XX": $ref: "#/components/responses/5XX" security: - Bearer: [] /experimental/sensor/{id}: patch: x-prtg-writer: true tags: - Sensors summary: "Edits a sensor." description: | This endpoint does not yet support all sensor settings. Currently only the following settings are supported: - basic-section: name, priority and tags - all settings in the section channelgroup This endpoint is experimental. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). operationId: UpdateSensor parameters: - name: id in: path description: "Enter the ID of the sensor that you want to edit." required: true schema: type: string requestBody: description: "Request Body" content: application/json: schema: $ref: "#/components/schemas/SettingsRequestBody" example: { "basic": { "name": "New Sensor Name" } } required: true responses: "204": description: "The request was successful." "4XX": $ref: "#/components/responses/4XX-Action" "5XX": $ref: "#/components/responses/5XX" security: - Bearer: [] /sensors/{id}/data: get: tags: - Sensors summary: "Returns the channel data for a specific sensor." operationId: ListSensorMeasurements parameters: - name: id in: path description: "Enter the ID of the sensor that you want to get channel data for." required: true schema: type: string - name: offset in: query description: 'Use an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' schema: type: string - name: sort_by in: query description: "Enter a comma-separated list of settings that you want to use to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of the setting to highlight the ascending order. Enter a minus sign (-) in front of the setting 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: Returns a sensor overview. operationId: GetSensorOverview parameters: - name: id in: path description: "Enter the ID of the sensor that you want an overview of." 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 successful. 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 successful. 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: Triggers a scan of 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 successful. 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: [] /experimental/sensors/{id}: delete: operationId: DeleteSensor tags: - Sensors description: | This endpoint is experimental. For more information, see the [PRTG API v2 Overview: Endpoint Maturity](../overview/index.html#endpoint-maturity). summary: "Deletes a sensor with all child channels." parameters: - name: id in: path description: "Enter the ID of the sensor that you want to delete." required: true schema: type: string responses: "204": description: "The sensor was deleted." "4XX": $ref: "#/components/responses/4XX" "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 user was logged out successfully." "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: "Returns a list of all user accounts." 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 an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' schema: type: string - name: sort_by in: query description: "Enter a comma-separated list of settings that you want to use to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of the setting to highlight the ascending order. Enter a minus sign (-) in front of the setting 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 user account was paused." "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 user account was resumed." "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." description: | **Note:** This route is not available when using PPHM. operationId: TriggerPasswordReset requestBody: content: application/json: schema: $ref: "#/components/schemas/TriggerPasswordResetRequest" required: true responses: "204": description: "The request to trigger the password reset process was successful." "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." description: | **Note:** This route is not available when using PPHM. operationId: ResetPassword requestBody: content: application/json: schema: $ref: "#/components/schemas/ResetPasswordRequest" required: true responses: "204": description: "The password was changed." "400": $ref: "#/components/responses/4XX-Reset-Password" "5XX": $ref: "#/components/responses/5XX-Public" /users/{id}: get: tags: - Accounts summary: "Returns 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: [] /experimental/users/{id}: get: x-prtg-writer: true tags: - Accounts summary: Returns the metrics and settings of a user. operationId: GetUser parameters: - name: id in: path description: Enter the ID of the user 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 user. 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=usercontrol,commentgroup`

| | `*` | A wildcard that includes the all_sections, usercontrol, and commentgroup 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: user: $ref: "yaml/examples/user.yaml#/read-osk" "4XX": $ref: "#/components/responses/4XX-Overviews" security: - Bearer: [] /experimental/users: get: tags: - Accounts summary: "Returns a list of users." description: "This endpoint is experimental. See [Overview: Maturity of endpoints](../overview/index.html#endpoint-maturity) for more context." operationId: ListUsersOSK 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 users. 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=usercontrol,commentgroup`

| | `*` | A wildcard that includes the all_sections, usercontrol, and commentgroup 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" examples: user: $ref: "yaml/examples/user.yaml#/list-read-osk" "4XX": $ref: "#/components/responses/4XX-Lists" "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 successful. 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 successful. 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 was found." 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 that you want to get a list of API keys for. Enter "me" if you want a list of your own API keys.' in: path name: id required: true schema: type: string responses: "200": description: "The request to list the API keys of the specified user was successful." 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 an API key for. Enter "me" if you want to create an API key for your own user account.' 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: "The API Key was created." "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 that 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 that 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 an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 objects." schema: type: integer format: int32 default: 100 - name: filter in: query description: 'Define filters to filter the results. For more information, see the PRTG API v2 Overview: Filters.' schema: type: string - name: sort_by in: query description: "Enter a comma-separated list of settings that you want to use to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of the setting to highlight the ascending order. Enter a minus sign (-) in front of the setting 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 that you want to get information for." 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: [] /experimental/usergroups/{id}: get: x-prtg-writer: true tags: - Accounts summary: Returns the settings of a usergroup. operationId: GetUserGroup parameters: - name: id in: path description: Enter the ID of the usergroup that you want to see the settings of. required: true schema: type: string - name: include in: query description: | By default, this endpoint only returns the most relevant information about a usergroup. 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=usercontrol,commentgroup`

| | `*` | A wildcard that includes the all_sections, usercontrol, and commentgroup 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: user: $ref: "yaml/examples/usergroup.yaml#/read-osk" "4XX": $ref: "#/components/responses/4XX-Overviews" security: - Bearer: [] /experimental/usergroups: get: tags: - Accounts summary: "Returns a list of user groups." description: "This endpoint is experimental. See [Overview: Maturity of endpoints](../overview/index.html#endpoint-maturity) for more context." operationId: ListUserGroupsOSK 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 users. 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=usercontrol,commentgroup`

| | `*` | A wildcard that includes the all_sections, usercontrol, and commentgroup 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" examples: user: $ref: "yaml/examples/usergroup.yaml#/list-read-osk" "4XX": $ref: "#/components/responses/4XX-Lists" "5XX": $ref: "#/components/responses/5XX" security: - Bearer: [] /version: get: tags: - System summary: "Returns information on the PRTG version and appserver version." 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." operationId: ListAutodiscoveries parameters: - name: offset in: query description: 'Use an offset to define which results the request returns. The index is a zero-based array, which means that the first object has an index of 0. If you have an offset of 0 and a limit of 100, the API returns results 0 to 99. For more information, see the PRTG API v2 Overview: Pagination.' schema: type: integer format: int32 default: 0 - name: limit in: query description: "Enter the number of objects that the request returns. If you set the limit to 0 or do not enter a value, the request returns up to 3,000 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 settings that you want to use to sort the results. By default, the results are sorted in ascending order. You can optionally add a plus sign (+) in front of the setting to highlight the ascending order. Enter a minus sign (-) in front of the setting 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: [] /experimental/license: get: tags: - System summary: "Returns PRTG license information." operationId: LicenseInfo responses: "200": description: "The request was successful." content: application/json: schema: $ref: "yaml/LicenseInfo.yaml#/components/schemas/LicenseInfo" examples: Version: $ref: "yaml/examples/system.yaml#/license" "4XX": $ref: "#/components/responses/401" "5XX": $ref: "#/components/responses/5XX-Public" 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" "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. This 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 failed. Enter valid credentials." request_id: "lJMKhk" AcknowledgeRequestBody: title: Acknowledge Request Body description: "This is the body of the request to acknowledge the alarm of a sensor." type: object properties: duration: description: "Enter the duration of the alarm acknowledgement. Enter zero to acknowledge the alarm 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 a 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 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. Enter zero to acknowledge the alarm 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 a 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 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. Enter zero to acknowledge the alarm 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 a 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 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: Multi-Scan Now Request Body description: "This is the body of the request 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 to pause a sensor." type: object properties: duration: description: "Enter the duration of the pause. Enter zero to pause the object indefinitely. PRTG rounds up the value to full minutes. For example, if you enter 100, PRTG pauses the object for two minutes." 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." SettingsRequestBody: title: Edit Settings Request Body description: "This is the body of the request to edit the settings of an object." type: object CreateRequestBody: title: Create Request Body description: "This is the body of the request to create a new object." type: object TriggerAutoDiscoveryRequestBody: title: Trigger Auto Discovery Request Body description: 'This is the body of the request to trigger auto discovery for a device. Add the wanted template filenames to the "templates" array. Template filenames for usage can be found in /experimental/devices/templates' type: object properties: templates: type: array items: type: string MultiUserPauseRequest: title: Multi Action User Pause Request Body description: "This is the body of the request 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 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: Edit API Key Request Body description: "This is the request body to edit 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 to trigger the password reset process." type: object properties: username: type: string description: "The user name of the user account that you want to initiate the password reset process for." required: [username] ResetPasswordRequest: title: Reset Password Request description: "This is the body of the request 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 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: You cannot log out when using an API key." request_id: "DWXfDl" 400-INVALID_FILTER: summary: "400: Invalid Filter" value: code: "INVALID_FILTER" message: 'Invalid filter. 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 does not meet complexity requirements. 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: "Invalid password reset token. Enter a valid password reset token." request_id: "lJMKhz" 401-UNAUTHORIZED: summary: "401: Unauthorized" value: code: "AUTH_FAILED" message: "Authentication failed. Enter valid credentials." request_id: "Zsebji" 401-LOGIN_FAILED: summary: "401: Login Error" value: code: "LOGIN_FAILED" message: "Login 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: "This object could not be found at 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: "Inactive license. Your PRTG installation currently has limited features." 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