{ "swagger": "2.0", "info": { "version": "v1", "title": "WhatsUp Gold API", "x-logo": { "url": "images/wug_logo.svg" }, "description": "**Version 2026.0**\n\n\n \n *Use WhatsUp Gold REST API to deploy network and device monitoring and management scripts.*\n\n \n \n![ Contexts ](images/Contexts.png)\n \n \n # Overview\n\n\n \n The REST API enables you to connect systems and\n clients to WhatsUp Gold using simple HTTP calls. In general, REST APIs\n are language and platform-independent and your best choice to\n converge information systems, circumvent the unending need for\n client-server dependency maintenance, and span any combination of\n environments (including IoT, mobile, and much more).\n\n \n \n > **Tip**\n The REST API runs at the WhatsUp Gold Server (for example: https://`your-WhatsUp-Gold-server`:9644/api/v1/).\n\n\n \n > **Note**\n In general, this REST API expects the following verbs: GET (query record), POST (create record), PUT (update record), PATCH (batch modify/update record), or DELETE (remove record).\n\n\n \n Num | This REST Endpoint | Provides These Resources\n \n ------- | ------------------------------------------------------ | -----------------------------------------------------------\n\n **1.** | [`/api/v1/token`]( #section/Handling-Session-Tokens ) | Get, renew, refresh a session token.\n\n **2.** | [`/api/v1/credentials`]( #tag/Credential ) | Create, return, update or delete a credential.\n\n **3.** | [`/api/v1/device-groups`]( #tag/DeviceGroup ) | Create, return, update or delete a device group.\n\n **4.** | [`/api/v1/devices`]( #tag/Devices ) | Manage, monitor, and poll devices in WhatsUp Gold.\n\n **5.** | [`/api/v1/device-role/`]( #tag/DeviceRole ) | Create, return, update or delete a device's role category.\n\n **6.** | [`/api/v1/product`]( #tag/Product ) | Get product and versioning information.\n\n **7.** | [`/api/v1/devices/{deviceId}/reports/`]( #tag/DeviceReport ) [`/api/v1/device-groups/{groupId}/devices/reports/`]( #tag/DeviceGroupReport ) | Get a report for a given device or group of devices\n\n **8.** | [`/api/v1/errors/`]( #tag/Error ) | Utility endpoint for getting error template information.\n \n **9.** | [`/api/v1/monitors/`]( #tag/Monitor ) | Get, configure, and apply monitor templates.\n\n **10.** | [`/api/v1/swagger/`]( #section/Before-You-Begin/Interactive-REST-API-Client-Swagger-UI ) | Live Swagger UI interactive documentation (WhatsUp Gold installation required).\n\n \n # Before You Begin\n\n \n Before you begin using the WhatsUp Gold RESTful API, you will need the following:\n \n - The hostname for a deployed WhatsUp Gold system.\n \n - Username and password for a user on the target WhatsUp Gold system.\n \n - Your favorite HTTP client (the examples that follow use the cURL utility).\n\n\n \n Listener | URL | Purpose \n \n ------------ | ------------------------------------------------------------- | ------------------------------\n\n Swagger UI | `https://:9644/swagger/ui/index#/` | Browsable/interactive UI service available for exercising the REST API.\n\n REST API | `https://:9644/swagger/api/v1` | Primary REST API URL. \n\n Swagger API Specification and Documentation | `https://:9644/swagger/docs/v1` | Swagger specification.\n\n \n ## A quick check of the API\n \n If you are unsure whether or not the REST API is already listening for\n requests at the WhatsUp Gold host, here is a quick check. Type into\n your web browser\n `https://:9644/swagger/docs/v1`. (Where\n `` is the hostname of the WhatsUp Gold\n system.) If this call returns a JSON object, your API is running, and\n you can begin the steps that follow using this hostname.\n \n > **Tip**\n You can also use the Swagger spec object (`https://:9644/swagger/docs/v1/`) in tools such as Postman, Swagger Inspector, and more.\n\n \n ## Interactive REST API Client - Swagger UI\n\n \n Swagger UI libraries integrated with WhatsUp Gold at install time\n provide the following:\n\n \n - A way to browse the WhatsUp Gold REST documentation with live\n examples.\n \n - A simple development client for testing WhatsUp Gold REST calls.\n\n \n > **Caution**\n The examples in the Swagger UI are live calls (not simulated) that run against your WhatsUp Gold Environment. If you are just testing and exploring the\n capabilities of the REST API for development purposes, it is best practice to run against a non-production instance of WhatsUp Gold.\n \n \nTo open the interactive WhatsUp Gold REST client:\n\n \n 1. Open a browser to `https://my-whatsup-gold-host:9644/swagger/`\n\n --Where `my-whatsup-gold-host` is the host where you installed\n WhatsUp Gold\n\n \n 2. Add your user/password pair like so: *myusername* **:** *mypassword*\n\n \n 3. Click the **Login** button.\n\n \n 4. Browse and build queries and view JSON result objects.\n\n \n![SwaggerUI](images/SwaggerUI.png)\n \n # Getting Started\n\n \n This section walks you through how to fetch user properties for the\n current user. \n\n\n \n >**Tip** If you are running an API token request against a non-production host\n with a self-signed SSL certificate needed to run HTTPS, remember to set the flag to ignore the self-signed certificate warning. (In the cURL example shown below this is the `-k` option.) \n\n\n \n To set your session up with the WhatsUp Gold RESTful API, you must\n retrieve an access token. Syntax, usage, and fields supported by the\n token endpoint are detailed in [Retrieve API Token](#_transfer-token).\n\n \n ```\n\n curl -k --request POST --url https://my-whatsup-gold-host:9644/api/v1/token --data \"grant_type=password&username=emmacurtis&password=1a2B3cA1b2C3\"\n\n ```\n\n \n \n### Example Output\n\n \n ```\n\n {\n\n \t\"access_token\": \"X03w.....dziTwmA\",\n\n \t\"token_type\": \"bearer\",\n\n \t\"expires_in\": 86399,\n\n \t\"refresh_token\": \"X03w.....dziTwmA\"\n\n }\n\n ```\n\n\n \n --Where `my-whatsup-gold-host` is the hostname where your WhatsUp Gold\n UI is running. \n\n --And, where you supply values for the username and password (such as\n the WhatsUp Gold user you created for this RESTful client application).\n\n \n Now, pass the access token as a header argument, type "Bearer" and get\n\n your user information.\n \n ``` \n\n curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer X03w.....dziTwmA' 'http://my-whatsup-gold-host:9644/api/v1/device-groups/0/devices'\n\n ```\n\n\n \n --Where `my-whatsup-gold-host` is the hostname where your WhatsUp Gold\n WebUI is running. \n\n --And, where you should replace the placeholder string `X03w....dziTwmA`\n with your 278 Byte access token. \n \n --And, where a group ID of zero ('0') denotes the entire body of devices\n managed by MY NETWORK. \n\n \n ### Example Output\n\n \n ```\n\n\n {\n\n \t\"paging\": {\n\n \t\t\"size\": 96\n\n \t},\n\n \t\"data\": {\n\n \t\t\"devices\": [\n\n \t\t{\n\n \t\t \"hostName\": \"192.168.37.1\",\n\n \t\t \"networkAddress\": \"192.168.37.1\",\n\n \t\t\"bestState\": \"Up\",\n\n \t\t\"worstState\": \"Up\",\n\n \t\t \"name\": \"192.168.37.1\",\n\n \t\t \"id\": \"14\"\n\n \t\t },\n\n \t\t {\n\n \t\t \"hostName\": \"192.168.37.100\",\n\n \t\t \"networkAddress\": \"192.168.37.100\",\n\n \t\t \"bestState\": \"Maintenance\",\n\n \t\t \"worstState\": \"Maintenance\",\n\n \t\t \"name\": \"192.168.37.100\",\n\n \t\t \"id\": \"16\"\n\n \t\t}, ... ]\n\n [list shortened for purposes of documentation]\n\n \t }\n\n ```\n\n \n # Handling Session Tokens\n\n \n Before you can be authorized to access WhatsUp Gold resources using this\n RESTful API, you must request an access token. Only authenticated\n clients can fetch or renew an access token.\n\n \n ## Request/refresh an access token\n\n \n HTTPS sessions with WhatsUp Gold begin with a token request. It must be\n sent as an HTTP POST.\n\n \n `POST /api/v{version}/token`\n \n ### *Example*\n\n \n > **Tip** If you are running an API token request against a non-production host with a self-signed SSL certificate needed to run HTTPS, remember to set the flag to ignore the self-signed certificate warning. (In the cURL example shown below this is the `-k` option.)\n\n \n ```\n\n curl -k --request POST --url https://my-whatsup-gold-host/api/v1/token --data \"grant_type=password&username=${username}&password=${password}\" \n\n ```\n\n --Where `my-whatsup-gold-host` is the hostname where your WhatsUp Gold\n WebUI is running.\n\n --And, where `${username}` and `${password}` are the username and\n password you created for the current client application.\n\n\n \n >**Note** For logging purposes, it is best practice to create an new API user using the WhatsUp Gold WebUI.\n\n \n ## Token response messages\n\n \n Response Content Type: application/json\n\n \n HTTP Status Code | Meaning | Response Model\n \n ---------------- | -----------------------------------------| -----------------------------------------------------------\n\n 200 | SUCCESS | `{ \"access_token\": \"_acaxffz2p3cl1ek8...\", \"token_type\": \"bearer\", \"expires_in\": 86399, \"refresh_token\": \"_ACAXFFZ2P3CL1EK8U,,,\" }`\n\n 400 \t | BAD REQUEST | `{ \"error\": \"invalid_grant\", \"error_description\": \"Invalid username/password or not allowed to sign on from this location.\" }`\n\n \n ## Use token in request \n\n \n After you get your session token you can use the token in subsequent requests. You pass the token in the HTTP header as type Bearer. \n For example, to get information such as user directory, name, user ID, and more for the current user, you would send this cURL GET request \n that passes the token using the -H option.\n\n \n ### *Example*\n\n ```\n\n curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer X03w....dziTwmA' 'http://my-whatsup-gold-host:9644/api/v1/device-groups/0/devices'\n\n ```\n\n --Where `my-whatsup-gold-host` is the hostname where your WhatsUp Gold WebUI is running.\n\n\t \n\t # Paging through REST API calls \n\n\t Any time a call potentially returns a large number of results, WhatsUp Gold uses the paging model to return those results to the user. The paging model consists of two parameters: limit and pageId. Limit controls the number of objects returned in each call and is defaulted to the optimal amount of data for the service to gather and return. When working with REST APIs, limit can be reduced by requesting fewer results, but it cannot be increased beyond the optimal size. The pageId is a token which starts out as empty to begin a request. In each return request header, there is a nextPageId which the token used in the next request for data to continue the query. The same parameters must be used in each request to successfully continue the query. All available data has been received when the nextPageId is empty. \n\n\n\t >**Note** The pageId should not be interpreted or changed and may change from release to release. \n\n " }, "host": "10.40.67.158:9644", "schemes": [ "https" ], "paths": { "/api/v1/credentials/{credentialId}": { "get": { "tags": [ "Credential" ], "summary": "Return a credential", "operationId": "Credential_Get", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "credentialId", "in": "path", "description": "ID of the credential", "required": true, "type": "string" }, { "name": "view", "in": "query", "description": "type of credential information being requested, default=basic", "required": false, "type": "string", "enum": [ "id", "basic", "summary", "details" ] }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[Credential]" } } }, "security": [ { "oauth2": [] } ] }, "put": { "tags": [ "Credential" ], "summary": "Update credential with new values", "description": "The following fields have restrictions\r\n* Name - must be unique, lowercase compare\r\n \r\n**Note:** The property bag entries are minimally validated.\r\n It is the responsibility of the caller to ensure a credential is filled in with all data and usable.", "operationId": "Credential_UpdateCredential", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "credentialId", "in": "path", "description": "ID of credential to be modified", "required": true, "type": "string" }, { "name": "credential", "in": "body", "description": "new values for credential", "required": true, "schema": { "$ref": "#/definitions/CredentialModify" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Credential" ], "summary": "Remove credential from credential library", "operationId": "Credential_DeleteCredential", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "credentialId", "in": "path", "description": "ID of the credential", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/credentials/{credentialId}/assignments/-": { "get": { "tags": [ "Credential" ], "summary": "Return a credential", "operationId": "Credential_GetAssignments", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "credentialId", "in": "path", "description": "ID of the credential", "required": true, "type": "string" }, { "name": "view", "in": "query", "description": "type of credential information being requested, default=basic", "required": false, "type": "string", "enum": [ "id", "basic", "summary", "details" ] }, { "name": "deviceView", "in": "query", "description": "type of assigned device information to be returned, default=id", "required": false, "type": "string", "enum": [ "id", "basic", "card", "overview" ] }, { "name": "pageId", "in": "query", "description": "page for the device assignments. Paging is only used for assignment view", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "number of device assignments to include per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[Credential]" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Credential" ], "summary": "Remove assigned credential from all devices user has access to", "operationId": "Credential_RemoveCredentialFromAllDevice", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "credentialId", "in": "path", "description": "ID for credential to be unassigned", "required": true, "type": "string" }, { "name": "preventOrphanActiveMonitors", "in": "query", "description": "prevent operation if an active monitor will be orphaned, default=true", "required": false, "type": "boolean" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CountedSuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/credentials/-": { "get": { "tags": [ "Credential" ], "summary": "Return page of credentials from credential library", "operationId": "Credential_Find", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "view", "in": "query", "description": "type of credential information being requested, default=basic", "required": false, "type": "string", "enum": [ "id", "basic", "summary", "details" ] }, { "name": "type", "in": "query", "description": "filter for type of credential. Default=all", "required": false, "type": "string", "enum": [ "all", "snmpV1", "snmpV2", "snmpV3", "windows", "ado", "telnet", "ssh", "vmware", "jmx", "smis", "aws", "azure", "meraki", "restapi", "ubiquiti", "redfish" ] }, { "name": "search", "in": "query", "description": "return only credentials that contain this string in display name, description or type. Case-insensitive, empty value is ignored", "required": false, "type": "string" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[Credential]]" } } }, "security": [ { "oauth2": [] } ] }, "post": { "tags": [ "Credential" ], "summary": "Add credential to library", "description": " The following field has restrictions\r\n\t**Name** - must be unique within type, lowercase compare\r\n\r\n **Note:** The property bag entries are minimally validated.\r\n It is the responsibility of the caller to ensure a credential is filled in with all data and usable.", "operationId": "Credential_AddCredential", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "credential", "in": "body", "description": "new values for credential", "required": true, "schema": { "$ref": "#/definitions/CredentialAdd" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[Credential]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/credentials/-/helper": { "get": { "tags": [ "Credential" ], "summary": "Return information to help creating credential", "description": "'meraki_organization' helper\r\n* input - API key for the organization.\r\n* return - list of information needed to build a Cisco Meraki credential.", "operationId": "Credential_GetHelper", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "input", "in": "query", "description": "optional input field for the helper", "required": true, "type": "string" }, { "name": "type", "in": "query", "description": "Type of credential helper request should be sent to, default='meraki_organization'", "required": false, "type": "string", "enum": [ "meraki_organization" ] }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[CredentialHelperResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/credentials/-/assignments/-": { "get": { "tags": [ "Credential" ], "summary": "Return information about credential assignments", "operationId": "Credential_FindAssignments", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "view", "in": "query", "description": "type of credential information being requested, default=basic", "required": false, "type": "string", "enum": [ "id", "basic", "summary", "details" ] }, { "name": "type", "in": "query", "description": "filter for type of credential. default=all", "required": false, "type": "string", "enum": [ "all", "snmpV1", "snmpV2", "snmpV3", "windows", "ado", "telnet", "ssh", "vmware", "jmx", "smis", "aws", "azure", "meraki", "restapi", "ubiquiti", "redfish" ] }, { "name": "search", "in": "query", "description": "return only credentials that contain this string in display name, description or type. Case-insensitive, empty value is ignored", "required": false, "type": "string" }, { "name": "deviceView", "in": "query", "description": "level of device information to be included when 'includeAssignments' is true, default='id'", "required": false, "type": "string", "enum": [ "id", "basic", "card", "overview" ] }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[Credential]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/credentials/{credentialId}/config/template": { "get": { "tags": [ "Credential" ], "summary": "Return a template for a credential", "operationId": "Credential_GetTemplateById", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "credentialId", "in": "path", "description": "ID of the credential", "required": true, "type": "string" }, { "name": "key", "in": "query", "description": "obfuscation key is required to encode sensitive data. if key is empty, then only credentials without sensitive data will be returned", "required": false, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[CredentialTemplateReadResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/credentials/-/config/template": { "get": { "tags": [ "Credential" ], "summary": "Return set of credential templates", "operationId": "Credential_GetTemplate", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "key", "in": "query", "description": "obfuscation key is required to encode sensitive data. if key is empty, then only credentials without sensitive data will be returned", "required": false, "type": "string" }, { "name": "type", "in": "query", "description": "filter for type of credential. default=all", "required": false, "type": "string", "enum": [ "all", "snmpV1", "snmpV2", "snmpV3", "windows", "ado", "telnet", "ssh", "vmware", "jmx", "smis", "aws", "azure", "meraki", "restapi", "ubiquiti", "redfish" ] }, { "name": "search", "in": "query", "description": "return only credentials that contain this string in display name, description or type. Case-insensitive, empty value is ignored", "required": false, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[CredentialTemplateReadResults]" } } }, "security": [ { "oauth2": [] } ] }, "patch": { "tags": [ "Credential" ], "summary": "Apply credential templates", "operationId": "Credential_ApplyCredentialTemplates", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "templates", "in": "body", "description": "set of credential templates to apply", "required": true, "schema": { "$ref": "#/definitions/CredentialTemplateBatch" } }, { "name": "key", "in": "query", "description": "value used to decode sensitive data. If key is empty, then all sensitive data will be assumed to be in clear text", "required": false, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/attributes/{attributeId}": { "get": { "tags": [ "Device" ], "summary": "Return individual attribute", "operationId": "Device_GetAttribute", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of device", "required": true, "type": "string" }, { "name": "attributeId", "in": "path", "description": "ID of attribute to return", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[DeviceAttribute]" } } }, "security": [ { "oauth2": [] } ] }, "put": { "tags": [ "Device" ], "summary": "Update individual attribute", "operationId": "Device_UpdateAttribute", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of device to update", "required": true, "type": "string" }, { "name": "attributeId", "in": "path", "description": "ID of attribute to update", "required": true, "type": "string" }, { "name": "name", "in": "query", "description": "name of device attribute", "required": true, "type": "string" }, { "name": "value", "in": "query", "description": "value for device attribute", "required": false, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[SuccessResult]" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Device" ], "summary": "Delete individual attribute", "operationId": "Device_DeleteAttribute", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of device", "required": true, "type": "string" }, { "name": "attributeId", "in": "path", "description": "ID of attribute to delete", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[SuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/attributes/-": { "get": { "tags": [ "Device" ], "summary": "Return list of attributes for device", "operationId": "Device_FindAttributes", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of the device", "required": true, "type": "string" }, { "name": "names", "in": "query", "description": "List of attribute names to return. If empty, all attributes will be returned", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "nameContains", "in": "query", "description": "Filter and return only attributes with names that contain this value. If empty all attributes will pass", "required": false, "type": "string" }, { "name": "valueContains", "in": "query", "description": "Filter and return only attributes with values that contain this value. If empty all attributes will pass", "required": false, "type": "string" }, { "name": "pageId", "in": "query", "description": "page to return", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "max number of attributes/values", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[DeviceAttribute]]" } } }, "security": [ { "oauth2": [] } ] }, "post": { "tags": [ "Device" ], "summary": "Add attribute to device", "operationId": "Device_AddAttribute", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of device to add an attribute to", "required": true, "type": "string" }, { "name": "name", "in": "query", "description": "name of new attribute", "required": true, "type": "string" }, { "name": "value", "in": "query", "description": "value of new attribute", "required": false, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[DeviceAttribute]" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Device" ], "summary": "Delete all attributes from device", "operationId": "Device_DeleteAllAttributes", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID for device that attributes should be deleted from", "required": true, "type": "string" }, { "name": "names", "in": "query", "description": "List of attribute names to delete. If empty, all attributes will be considered", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "nameContains", "in": "query", "description": "List of attributes with names that contain this value. If empty all attributes will be considered", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "valueContains", "in": "query", "description": "List of attributes with values that contain this value. Adding an empty string will match attributes with no content. If empty list all attributes will be considered", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[CountedSuccessResult]" } } }, "security": [ { "oauth2": [] } ] }, "patch": { "tags": [ "Device" ], "summary": "Batch attribute operations (remove, add, modify) for given device", "operationId": "Device_BatchAttributes", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID for device", "required": true, "type": "string" }, { "name": "batch", "in": "body", "description": "Attribute operations to apply to device", "required": true, "schema": { "$ref": "#/definitions/BulkDeviceAttributeBatch" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[CountedSuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/group/{groupId}": { "delete": { "tags": [ "Device" ], "summary": "Remove a group assignment for device", "description": "This function will error if the last static device group assignment is attempted to be removed.\r\nThis function will error if a dynamic or dyname layer2 group assignment is attempt to be removed", "operationId": "Device_DeleteAssignedGroup", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "device to retrieve assigned groups for", "required": true, "type": "string" }, { "name": "groupId", "in": "path", "description": "group to remove device from", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/group/-": { "get": { "tags": [ "Device" ], "summary": "Return device group assignments for a device", "operationId": "Device_DeviceGroupAssignments", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "device the device group assignments are associated with", "required": true, "type": "string" }, { "name": "view", "in": "query", "description": "how much information for the group, default=summary", "required": false, "type": "string", "enum": [ "id", "summary", "detail" ] }, { "name": "type", "in": "query", "description": "type of groups to retrieve, default=all", "required": false, "type": "string", "enum": [ "all", "static_group", "dynamic_group", "layer2" ] }, { "name": "search", "in": "query", "description": "return only groups that contain this string in display name. Case-insensitive, empty value is ignored", "required": false, "type": "string" }, { "name": "pageId", "in": "query", "description": "page of data to return", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "maximum number of items per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[DeviceGroupSummary]]" } } }, "security": [ { "oauth2": [] } ] }, "put": { "tags": [ "Device" ], "summary": "Assign group to a device", "operationId": "Device_AssignDeviceGroup", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "device being operated on", "required": true, "type": "string" }, { "name": "groupId", "in": "body", "description": "group to assign", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] }, "patch": { "tags": [ "Device" ], "summary": "Batch attribute operations (remove, add) for given device", "operationId": "Device_PatchDeviceGroupAssignment", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "device being operatored on", "required": true, "type": "string" }, { "name": "batch", "in": "body", "description": "Device group assignment operations to apply to device", "required": true, "schema": { "$ref": "#/definitions/BulkDeviceGroupAssignmentBatch" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[CountedSuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/group/{groupId}/is-member": { "get": { "tags": [ "Device" ], "summary": "Return sucessful if a device is assigned to a group", "operationId": "Device_DeviceHasGroupAssignments", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "device being looked at", "required": true, "type": "string" }, { "name": "groupId", "in": "path", "description": "group being looked for", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/interfaces/default": { "get": { "tags": [ "Device" ], "summary": "Return device's default network interface", "operationId": "Device_GetDefaultInterface", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of device", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[NetworkInterface]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/interfaces/{interfaceId}": { "get": { "tags": [ "Device" ], "summary": "Return individual network interface", "operationId": "Device_GetInterface", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of device", "required": true, "type": "string" }, { "name": "interfaceId", "in": "path", "description": "ID of interface to return", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[NetworkInterface]" } } }, "security": [ { "oauth2": [] } ] }, "put": { "tags": [ "Device" ], "summary": "Update individual interface", "operationId": "Device_UpdateNetworkInterface", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of device to update", "required": true, "type": "string" }, { "name": "interfaceId", "in": "path", "description": "ID of network interface to update", "required": true, "type": "string" }, { "name": "update", "in": "body", "description": "changed to be made to interface", "required": true, "schema": { "$ref": "#/definitions/NetworkInterfaceUpdate" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[NetworkInterface]" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Device" ], "summary": "Delete individual interface", "operationId": "Device_DeleteNetworkInterface", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of device", "required": true, "type": "string" }, { "name": "interfaceId", "in": "path", "description": "ID of interface to delete", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[SuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/interfaces/-": { "get": { "tags": [ "Device" ], "summary": "Return list of network interfaces for device", "operationId": "Device_FindNetworkInterfaces", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of the device", "required": true, "type": "string" }, { "name": "search", "in": "query", "description": "optional search text ; case-insensitive ; searches the address and hostname for partial matches", "required": false, "type": "string" }, { "name": "pageId", "in": "query", "description": "page to return", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "max number of network interfaces", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[NetworkInterface]]" } } }, "security": [ { "oauth2": [] } ] }, "post": { "tags": [ "Device" ], "summary": "Add a network interface to device", "operationId": "Device_AddNetworkInterface", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of device to add a network interface to", "required": true, "type": "string" }, { "name": "data", "in": "body", "description": "interface to add", "required": true, "schema": { "$ref": "#/definitions/NetworkInterfaceData" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[NetworkInterface]" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Device" ], "summary": "Delete from device, all network interfaces except default interface", "operationId": "Device_DeleteAllNetworkInterfaces", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID for device that network interfaces should be deleted from", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[SuccessResult]" } } }, "security": [ { "oauth2": [] } ] }, "patch": { "tags": [ "Device" ], "summary": "Batch network interface operations (remove, add, modify) for a given device", "operationId": "Device_BatchNetworkInterfaces", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID for device", "required": true, "type": "string" }, { "name": "batch", "in": "body", "description": "Network interface operations to apply to device", "required": true, "schema": { "$ref": "#/definitions/BulkNetworkInterfaceBatch" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[CountedSuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/credentials/{credentialId}": { "delete": { "tags": [ "Device" ], "summary": "Remove an assigned credential from a device", "operationId": "Device_DeleteAssignedCredentials", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "device to retrieve credentials from", "required": true, "type": "string" }, { "name": "credentialId", "in": "path", "description": "credential to be unassigned", "required": true, "type": "string" }, { "name": "preventOrphanActiveMonitors", "in": "query", "description": "prevent operation if an active monitor will be orphaned, default=true", "required": false, "type": "boolean" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/credentials/-": { "get": { "tags": [ "Device" ], "summary": "Return assigned credentials for a device", "operationId": "Device_Credentials", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "device to retrieve credentials from", "required": true, "type": "string" }, { "name": "view", "in": "query", "description": "how much information for the credential, default=basic", "required": false, "type": "string", "enum": [ "id", "basic", "summary", "details" ] }, { "name": "type", "in": "query", "description": "type of credential to retrieve, default=all", "required": false, "type": "string", "enum": [ "all", "snmp", "windows", "ado", "telnet", "ssh", "vmware", "jmx", "smis", "aws", "azure", "meraki", "restapi", "ubiquiti", "redfish" ] }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[List[Credential]]" } } }, "security": [ { "oauth2": [] } ] }, "put": { "tags": [ "Device" ], "summary": "Assign a credential to a device", "operationId": "Device_DeviceAssignCredentials", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "device be operated on", "required": true, "type": "string" }, { "name": "credentialId", "in": "body", "description": "credential to assign", "required": true, "schema": { "type": "string" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Device" ], "summary": "Remove assigned credentials from a device by type", "operationId": "Device_DeleteDeviceAssignedCredentials", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "device to remove credentials from", "required": true, "type": "string" }, { "name": "type", "in": "query", "description": "kind of credential to be unassigned, default=all", "required": false, "type": "string", "enum": [ "all", "snmp", "windows", "ado", "telnet", "ssh", "vmware", "jmx", "smis", "aws", "azure", "meraki", "restapi", "ubiquiti", "redfish" ] }, { "name": "preventOrphanActiveMonitors", "in": "query", "description": "prevent operation if an active monitor will be orphaned, default=true", "required": false, "type": "boolean" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/monitors/{assignmentId}": { "get": { "tags": [ "Device" ], "summary": "Return monitor assignment for given device", "operationId": "Device_GetMonitorById", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "device to retrieve monitor assignments from", "required": true, "type": "string" }, { "name": "assignmentId", "in": "path", "description": "ID for monitor assignment", "required": true, "type": "string" }, { "name": "view", "in": "query", "description": "type of data about the monitor to include, default=basic", "required": false, "type": "string", "enum": [ "id", "minimum", "basic", "status" ] }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[AssignedMonitor]" } } }, "security": [ { "oauth2": [] } ] }, "put": { "tags": [ "Device" ], "summary": "Update a monitor assignment on a device", "operationId": "Device_UpdateMonitorById", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "device to retrieve monitor assignments from", "required": true, "type": "string" }, { "name": "assignmentId", "in": "path", "description": "ID for monitor assignment", "required": true, "type": "string" }, { "name": "update", "in": "body", "description": "type of data about the monitor to include, default=basic", "required": true, "schema": { "$ref": "#/definitions/MonitorAssignmentBasic" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Device" ], "summary": "Remove an assigned monitor from a device", "operationId": "Device_DeleteMonitorAssignment", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "device to retrieve monitor assignments from", "required": true, "type": "string" }, { "name": "assignmentId", "in": "path", "description": "monitor id to be unassigned", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/monitors/-": { "get": { "tags": [ "Device" ], "summary": "Return assigned monitors for a device", "operationId": "Device_GetMonitors", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "device to retrieve monitor assignments from", "required": true, "type": "string" }, { "name": "type", "in": "query", "description": "type of monitor assignments, default=all", "required": false, "type": "string", "enum": [ "all", "active", "performance", "passive" ] }, { "name": "view", "in": "query", "description": "type of data about the monitor to include, default=basic", "required": false, "type": "string", "enum": [ "id", "minimum", "basic", "status" ] }, { "name": "search", "in": "query", "description": "return only monitors that contain this string in display name, description, classId, argument or comment. Case-insensitive, empty value is ignored", "required": false, "type": "string" }, { "name": "monitorTypeId", "in": "query", "description": "filter by monitor type id", "required": false, "type": "string" }, { "name": "enabledOnly", "in": "query", "description": "return only enabled monitors, default=true", "required": false, "type": "boolean" }, { "name": "pageId", "in": "query", "description": "page to return", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "max number of attributes/values", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[AssignedMonitor]]" } } }, "security": [ { "oauth2": [] } ] }, "post": { "tags": [ "Device" ], "summary": "Assign monitor to a device", "operationId": "Device_DeviceAssignMonitor", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of device", "required": true, "type": "string" }, { "name": "assignment", "in": "body", "description": "Monitor to assign", "required": true, "schema": { "$ref": "#/definitions/SimpleAssignMonitor" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Device" ], "summary": "Remove assigned monitors from device", "operationId": "Device_DeleteMonitorAssignments", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "device to remove monitor assignments from", "required": true, "type": "string" }, { "name": "type", "in": "query", "description": "type of monitor assignments, default=all", "required": false, "type": "string", "enum": [ "all", "active", "performance", "passive" ] }, { "name": "search", "in": "query", "description": "return only monitors that contain this string in display name, description, classId, argument or comment. Case-insensitive, empty value is ignored", "required": false, "type": "string" }, { "name": "monitorTypeId", "in": "query", "description": "ID of monitor type", "required": false, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] }, "patch": { "tags": [ "Device" ], "summary": "Batch modify monitor assignments for given device", "operationId": "Device_DeviceAssignMonitors", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of device", "required": true, "type": "string" }, { "name": "batch", "in": "body", "description": "Set of monitor assignment changes", "required": true, "schema": { "$ref": "#/definitions/MonitorAssignmentBatch" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/config/polling": { "get": { "tags": [ "Device" ], "summary": "Return the device general polling configuration summary", "operationId": "Device_GetPollingConfig", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of the device", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[DevicePollingConfig]" } } }, "security": [ { "oauth2": [] } ] }, "put": { "tags": [ "Device" ], "summary": "Update device general polling configuration", "operationId": "Device_UpdatePollingConfig", "consumes": [ "application/json", "text/json" ], "produces": [], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of the device", "required": true, "type": "string" }, { "name": "update", "in": "body", "description": "Update values", "required": true, "schema": { "$ref": "#/definitions/DevicePollingConfigUpdate" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "204": { "description": "No Content" } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/config/maintenance": { "put": { "tags": [ "Device" ], "summary": "Update maintenance mode settings for a given device", "operationId": "Device_UpdateMaintenanceById", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of device", "required": true, "type": "string" }, { "name": "cfg", "in": "body", "description": "Manual maintenance mode configuration", "required": true, "schema": { "$ref": "#/definitions/MaintenanceConfigBasic" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[SuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/config/maintenance/schedule": { "put": { "tags": [ "Device" ], "summary": "Update maintenance mode settings for a given device (scheduled)", "operationId": "Device_UpdateMaintenanceSchedule", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of device to change", "required": true, "type": "string" }, { "name": "schedule", "in": "body", "description": "Maintenance schedule", "required": true, "schema": { "$ref": "#/definitions/MaintenanceSchedule" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[SuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/poll-now": { "put": { "tags": [ "Device" ], "summary": "Request the polling service to poll this device immediately", "description": "This request notifies the poller that the device should ignore its polling interval and be polled immediately.\r\nDevice will return to normal polling interval for next cycle.", "operationId": "Device_PollNow", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The device to poll", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[SuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/-/config/maintenance": { "patch": { "tags": [ "Device" ], "summary": "Update maintenance mode settings for batch of devices", "operationId": "Device_UpdateMaintenanceBatch", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "cfg", "in": "body", "description": "The maintenance configuration", "required": true, "schema": { "$ref": "#/definitions/MaintenanceConfigManualBatch" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[CountedSuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/-/config/maintenance/schedule": { "patch": { "tags": [ "Device" ], "summary": "Update maintenance mode settings for a set of devices (scheduled)", "operationId": "Device_UpdateMaintenanceBatchSchedule", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "cfg", "in": "body", "description": "Maintenance schedule", "required": true, "schema": { "$ref": "#/definitions/MaintenanceScheduleBatch" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[CountedSuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/-/config/polling": { "patch": { "tags": [ "Device" ], "summary": "Update a set of devices with general polling configuration.", "operationId": "Device_UpdatePollingConfigBatch", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "batch", "in": "body", "description": "Update values", "required": true, "schema": { "$ref": "#/definitions/DevicePollingConfigUpdateBatch" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CountedSuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/-/poll-now": { "patch": { "tags": [ "Device" ], "summary": "Request polling service to poll multiple devices immediately", "description": "This request notifies the poller that the device should ignore its polling interval and be polled immediately.\r\nDevice will return to normal polling interval for next cycle.", "operationId": "Device_BulkPollNow", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "batch", "in": "body", "description": "set of devices to be polled", "required": true, "schema": { "$ref": "#/definitions/BulkDeviceBatch" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[CountedSuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/properties": { "get": { "tags": [ "Device" ], "summary": "Returns device properties", "operationId": "Device_GetProperties", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The id of the device", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[DeviceProperties]" } } }, "security": [ { "oauth2": [] } ] }, "put": { "tags": [ "Device" ], "summary": "Updates the properties on the device", "operationId": "Device_UpdateProperties", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The device to change", "required": true, "type": "string" }, { "name": "properties", "in": "body", "description": "The properties to be updated", "required": true, "schema": { "$ref": "#/definitions/DevicePropertiesWithName" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[SuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/-/properties": { "patch": { "tags": [ "Device" ], "summary": "Updates the properties on the device", "operationId": "Device_UpdatePropertiesBatch", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "batch", "in": "body", "description": "Update a set of device properties", "required": true, "schema": { "$ref": "#/definitions/DevicePropertiesBatch" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[CountedSuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/refresh": { "put": { "tags": [ "Device" ], "summary": "Request a device to refresh configuration based on the phyiscal device", "operationId": "Device_Refresh", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The device to be refreshed", "required": true, "type": "string" }, { "name": "options", "in": "body", "description": "set of options to be applied during this operations", "required": true, "schema": { "$ref": "#/definitions/DeviceRefreshOptions" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[NamedResourceSuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/-/refresh": { "patch": { "tags": [ "Device" ], "summary": "Request a set of devices to refresh configuration based on the phyiscal device", "description": "This request notifies the discovery service to scan a device and update the inventory, links, network information etc. The id returned can be used to check\r\nthe status of the refresh operation.", "operationId": "Device_BulkRefresh", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "refreshOp", "in": "body", "description": "the set of devices and configuration to use when refreshing devices", "required": true, "schema": { "$ref": "#/definitions/BulkDeviceRefresh" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[NamedResourceSuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/roles/{roleId}": { "delete": { "tags": [ "Device" ], "summary": "Remove assigned role from a device", "operationId": "Device_DeleteRoleAssignment", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of device to delete role from", "required": true, "type": "string" }, { "name": "roleId", "in": "path", "description": "role ID to be unassigned", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/roles/-": { "get": { "tags": [ "Device" ], "summary": "Return roles assignment for a given device", "operationId": "Device_GetRoles", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Identifier of device to retrieve roles from", "required": true, "type": "string" }, { "name": "kind", "in": "query", "description": "type of roles to retrieve, default=all", "required": false, "type": "string", "enum": [ "all", "role", "brand", "os", "subRole" ] }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[List[DeviceRoleAssignment]]" } } }, "security": [ { "oauth2": [] } ] }, "put": { "tags": [ "Device" ], "summary": "Assign a role to a device", "operationId": "Device_DeviceAssignRole", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Identifier of device", "required": true, "type": "string" }, { "name": "roleId", "in": "query", "description": "role identifier to assign", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Device" ], "summary": "Remove device role assignment by role type", "operationId": "Device_DeleteDeviceAssignedRoles", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Identifier of device to remove monitors from", "required": true, "type": "string" }, { "name": "kind", "in": "query", "description": "kind of role to be unassigned, default=all", "required": false, "type": "string", "enum": [ "all", "role", "brand", "os", "subRole" ] }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/roles/brand": { "put": { "tags": [ "Device" ], "summary": "Assign a brand to a device", "operationId": "Device_DeviceAssignBrandRole", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of device", "required": true, "type": "string" }, { "name": "brand", "in": "query", "description": "Brand name or identifier to assign", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/-/roles/brand": { "patch": { "tags": [ "Device" ], "summary": "Assign a brand to multiple devices", "operationId": "Device_MultiDeviceBulkAssignBrand", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "batch", "in": "body", "required": true, "schema": { "$ref": "#/definitions/BulkAssignDeviceRoleWithName" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CountedSuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/roles/os": { "put": { "tags": [ "Device" ], "summary": "Assign operating system to a device", "operationId": "Device_DeviceAssignOsRole", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "identifier of device", "required": true, "type": "string" }, { "name": "osName", "in": "query", "description": "Operating system name or identifier to assign", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/-/roles/os": { "patch": { "tags": [ "Device" ], "summary": "Assign a operating system to multiple devices", "operationId": "Device_MultiDeviceBulkAssignOS", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "batch", "in": "body", "required": true, "schema": { "$ref": "#/definitions/BulkAssignDeviceRoleWithName" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CountedSuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/roles/primary": { "put": { "tags": [ "Device" ], "summary": "Assign primary role to a device", "operationId": "Device_AssignPrimaryToDevice", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Identifier of device", "required": true, "type": "string" }, { "name": "primary", "in": "query", "description": "Primary role name or identifier to assign", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/-/roles/primary": { "patch": { "tags": [ "Device" ], "summary": "Assign a primary role to multiple devices", "operationId": "Device_MultiDeviceBulkAssignPrimaryRole", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "batch", "in": "body", "required": true, "schema": { "$ref": "#/definitions/BulkAssignDeviceRoleWithName" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CountedSuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/roles/sub-role": { "put": { "tags": [ "Device" ], "summary": "Sub role operations on a device", "operationId": "Device_AssignSubRolesToDevice", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "Identifier of device", "required": true, "type": "string" }, { "name": "operation", "in": "body", "description": "Sub role operation to preform", "required": true, "schema": { "$ref": "#/definitions/DeviceAssignSubRoleOperation" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/-/roles/sub-role": { "patch": { "tags": [ "Device" ], "summary": "Perform a sub role operation on multiple devices", "operationId": "Device_MultiDeviceBulkAssignSubRoles", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "batch", "in": "body", "required": true, "schema": { "$ref": "#/definitions/BulkDeviceAssignSubRole" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CountedSuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/config/template": { "get": { "tags": [ "Device" ], "summary": "Returns a template for the device.", "description": "This is a summary of the device's configuration settings including references to credentials, monitors, groups, etc.\r\n\r\nOptions:\r\n* all: all basic options are included. (default)\r\n* l2: include layer 2 data such as inventory, links and other information used by the system\r\n* tempip: use ip address as the template id instead of the database identifier.\r\n* simple: return all data in it simplest form, dropping items like parents, classid, etc.\r\n \r\nBasic Options: \r\n* action: include device action\r\n* active: include active monitors\r\n* attribute: include device attributes\r\n* brand: include brand\r\n* creds: include credentials\r\n* custom: include custom links\r\n* dependency: include dependencies\r\n* devicetype: include device type\r\n* groups: include group memberships\r\n* interface: include network interfaces\r\n* note: include device note\r\n* oid: include SNMP system oid\r\n* os: include OS Role\r\n* passive: include passive monitors\r\n* perf: include performance monitors\r\n* polling-interval: include Device Level polling interval\r\n* refresh: include refresh settings\r\n* roles: include device roles and sub roles.\r\n* task: include NCM tasks", "operationId": "Device_GetTemplate", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The id of the device", "required": true, "type": "string" }, { "name": "options", "in": "query", "description": "empty is the default set of options. Multiple options may be passed separated by commas", "required": false, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[DeviceTemplateReadResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/-/config/template": { "patch": { "tags": [ "Device" ], "summary": "Apply a set of device templates", "description": "Each template will create a new device in the system. If a template can only be partially applied,\r\nan error will be returned for the template.\r\n\r\n Options:\r\n* all: all basic options are applied (default)\r\n* l2: apply layer 2 data such as inventory, links and other information used by the system\r\n* update: after applying templates, issue a refresh request for all new devices\r\n* update-interface-state: after applying templates, issue a rescan request to enable or disable Interface Active Monitors\r\n* update-interface-names: after applying templates, issue a rescan request to update names for Interface Active Monitors\r\n* update-active-monitors: after applying templates, issue a rescan request to apply the \"Use in rescan\" options for Active Monitors\r\n\r\nBasic: \r\n* action: apply device action\r\n* active: apply active monitors\r\n* attribute: apply device attributes\r\n* brand: apply brand\r\n* creds: apply credentials\r\n* custom: apply custom links\r\n* dependency: apply dependencies\r\n* devicetype: apply device type\r\n* groups: apply group memberships\r\n* interface: apply network interfaces\r\n* note: apply device note\r\n* oid: apply SNMP system oid\r\n* os: apply OS Role\r\n* passive: apply passive monitors\r\n* perf: apply performance monitors\r\n* polling-interval: apply Device Level polling interval\r\n* refresh: apply refresh settings\r\n* roles: apply device roles and sub roles.\r\n* task: apply NCM tasks", "operationId": "Device_ApplyTemplates", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "batch", "in": "body", "description": "Set of templates for creating new devices", "required": true, "schema": { "$ref": "#/definitions/DeviceTemplateBatch" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}": { "get": { "tags": [ "Device" ], "summary": "Return device overview for a given device", "operationId": "Device_GetOverview", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID of the device", "required": true, "type": "string" }, { "name": "view", "in": "query", "description": "The view to use for the returned data. Default=card", "required": false, "type": "string", "enum": [ "id", "basic", "card", "overview" ] }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[DeviceOverview]" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Device" ], "summary": "Remove a given device", "operationId": "Device_DeleteDevice", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "ID the device to delete", "required": true, "type": "string" }, { "name": "deleteDiscoveredDevices", "in": "query", "description": "* default/false - only delete device\r\n* true - request associated device in discovered device list also be deleted", "required": false, "type": "boolean" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[SuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/status": { "get": { "tags": [ "Device" ], "summary": "Return status for the device. This does not include\r\nall of the monitor status.", "operationId": "Device_GetStatus", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The id of the device", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[DeviceStatus]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/-": { "patch": { "tags": [ "Device" ], "summary": "Operate on a set of devices", "operationId": "Device_BulkOperationDevice", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "batch", "in": "body", "description": "set of devices to be operated on and related parameters", "required": true, "schema": { "$ref": "#/definitions/BulkDeviceOpsBatch" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[CountedSuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/-": { "get": { "tags": [ "DeviceGroup" ], "summary": "Return a list of groups", "operationId": "DeviceGroup_ListGroups", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "search", "in": "query", "description": "optional search text ; case-insensitive ; searches the display name", "required": false, "type": "string" }, { "name": "view", "in": "query", "description": "The view to use for the returned data. default=summary", "required": false, "type": "string", "enum": [ "summary", "detail" ] }, { "name": "groupType", "in": "query", "description": "return groups of only given type; default=all", "required": false, "type": "string", "enum": [ "all", "static_group", "dynamic_group", "layer2" ] }, { "name": "limit", "in": "query", "description": "The limit for the page", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "The pageId", "required": false, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[DeviceGroupList]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}": { "get": { "tags": [ "DeviceGroup" ], "summary": "Returns the summary data for a given device group.", "operationId": "DeviceGroup_GetDeviceGroup", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "The id of the group.", "required": true, "type": "string" }, { "name": "view", "in": "query", "description": "The view to use for the returned data. default=summary", "required": false, "type": "string", "enum": [ "summary", "detail" ] }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[DeviceGroupSummary]" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "DeviceGroup" ], "summary": "Delete a group. Group must have no child groups or devices", "operationId": "DeviceGroup_DeleteDeviceGroup", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "Group being deleted", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/definition": { "get": { "tags": [ "DeviceGroup" ], "summary": "Retrieve a device group definition", "operationId": "DeviceGroup_GetDeviceGroupDefinition", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "The id of the device group.", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[DeviceGroupDefinition]" } } }, "security": [ { "oauth2": [] } ] }, "put": { "tags": [ "DeviceGroup" ], "summary": "Update the device group definition", "operationId": "DeviceGroup_UpdateDeviceGroupDefinition", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "The id of the device group.", "required": true, "type": "string" }, { "name": "update", "in": "body", "description": "Update for group definition", "required": true, "schema": { "$ref": "#/definitions/UpdateDeviceGroup" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/child": { "post": { "tags": [ "DeviceGroup" ], "summary": "Add a new child device group to a parent group", "operationId": "DeviceGroup_AddDeviceGroup", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "The id of the parent group.", "required": true, "type": "string" }, { "name": "details", "in": "body", "description": "Information for creating a new group object", "required": true, "schema": { "$ref": "#/definitions/DeviceGroupCreation" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[DeviceGroupSummary]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/children": { "get": { "tags": [ "DeviceGroup" ], "summary": "Return the child groups given a device group", "operationId": "DeviceGroup_SearchChildren", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "the id of the group", "required": true, "type": "string" }, { "name": "search", "in": "query", "description": "optional search text ; case-insensitive ; searches the display name", "required": false, "type": "string" }, { "name": "view", "in": "query", "description": "The view to use for the returned data. default=summary", "required": false, "type": "string", "enum": [ "summary", "detail" ] }, { "name": "returnHierarchy", "in": "query", "description": "return all descendant groups of the parent group. default=false", "required": false, "type": "boolean" }, { "name": "groupType", "in": "query", "description": "return groups of only given type; default=all", "required": false, "type": "string", "enum": [ "all", "static_group", "dynamic_group", "layer2" ] }, { "name": "limit", "in": "query", "description": "The limit for the page", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "The pageId", "required": false, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[DeviceGroupSummaryList]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/poll-now": { "put": { "tags": [ "DeviceGroup" ], "summary": "Request the polling service to poll all devices in a group immediately", "description": "This request notifies the polling service for each device in the group to ignore its set polling interval and be polled immediately.\r\nDevice will return to normal polling interval for next cycle.\r\n \r\n **Note:** This request might still be limited by the service.", "operationId": "DeviceGroup_PollNow", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "the id of the group", "required": true, "type": "string" }, { "name": "immediateChildren", "in": "query", "description": "limit request to immediate children if true, all children if false. Default=true", "required": false, "type": "boolean" }, { "name": "search", "in": "query", "description": "optional search text ; case-insensitive ; searches the display name, host name and primary ip address", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "Number of request limit, zero is unlimited", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CountedSuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/refresh": { "put": { "tags": [ "DeviceGroup" ], "summary": "Request the discovery service to refresh all devices in a group immediately", "operationId": "DeviceGroup_Refresh", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "the id of the group", "required": true, "type": "string" }, { "name": "immediateChildren", "in": "query", "description": "limit request to immediate children if true, all children if false. Default=true", "required": false, "type": "boolean" }, { "name": "search", "in": "query", "description": "optional search text ; case-insensitive ; searches the display name, host name and primary ip address", "required": false, "type": "string" }, { "name": "updateNamesForInterfaceActiveMonitor", "in": "query", "description": "Update the comments for interface active monitors based on device. Default: false", "required": false, "type": "boolean" }, { "name": "updateEnableSettingsForInterfaceActiveMonitor", "in": "query", "description": "Update the enabled state for interface active monitors based on device. Default: false", "required": false, "type": "boolean" }, { "name": "addUseInRescanActiveMonitors", "in": "query", "description": "test and apply passing active monitors mark for 'use in rescon' to device. Default: false", "required": false, "type": "boolean" }, { "name": "includeAssignedRoles", "in": "query", "description": "include assinged role, subrole, brand and OS as matching, collect data for all roles and apply to device. Default: false", "required": false, "type": "boolean" }, { "name": "resetOptions", "in": "query", "description": "reset device using newly collected data. Adjust netwok interfaces, inventory, fingerprint, mac address, roles, os and brand to match current hardware. Default: empty list equal disabled", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "dropDataOlderThanHours", "in": "query", "description": "remove data discovered prior to x hours ago, min value 1, less than 0 ignored, 0 will use system default hours, Defaut: -1", "required": false, "type": "integer", "format": "int32" }, { "name": "limit", "in": "query", "description": "Number of request limit, zero is max limited as set by the server. Default: 0", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[NamedResourceSuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/newDevice": { "put": { "tags": [ "DeviceGroup" ], "summary": "Add a new device to be monitored", "operationId": "DeviceGroup_NewDevice", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "Static device group which new devices will be added", "required": true, "type": "string" }, { "name": "ipOrName", "in": "query", "description": "IP Address, Host Name, DNS Name for new device", "required": true, "type": "string" }, { "name": "options", "in": "body", "description": "Options used in creating new device", "required": true, "schema": { "$ref": "#/definitions/NewDeviceOptions" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[NamedResourceSuccessResult]" } } }, "security": [ { "oauth2": [] } ] }, "patch": { "tags": [ "DeviceGroup" ], "summary": "Bulk add of new devices to be monitored", "operationId": "DeviceGroup_BulkNewDevice", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "Static device group which new devices will be added", "required": true, "type": "string" }, { "name": "options", "in": "body", "description": "Bulk options used in creating new devices", "required": true, "schema": { "$ref": "#/definitions/BulkNewDeviceOptions" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[NamedResourceSuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/status": { "get": { "tags": [ "DeviceGroup" ], "summary": "Returns the overall status summary across all devices in a group.", "description": "A list of accessible device groups can be retrieved using the 'GET /api/v1/device-groups/-'.", "operationId": "DeviceGroup_GetDeviceGroupStatus", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "The id of the group. A value of - means all.", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[OverallStatusSummary]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices": { "get": { "tags": [ "DeviceGroup" ], "summary": "Returns the summary data for a given device group.", "description": "A list of accessible device groups can be retrieved using the 'GET /api/v1/device-groups/-'.", "operationId": "DeviceGroup_SearchDevices", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "The id of the group.", "required": true, "type": "string" }, { "name": "returnHierarchy", "in": "query", "description": "return all descendant groups of the parent group. default=true", "required": false, "type": "boolean" }, { "name": "view", "in": "query", "description": "The view to use for the returned data. Default=card", "required": false, "type": "string", "enum": [ "id", "basic", "card", "overview" ] }, { "name": "state", "in": "query", "description": "The optional state to search.", "required": false, "type": "string", "enum": [ "Unknown", "Up", "Down", "Maintenance", "Any", "UpWithDownMonitors" ] }, { "name": "search", "in": "query", "description": "optional search text ; case-insensitive ; searches the display name, hostname and network address", "required": false, "type": "string" }, { "name": "pageId", "in": "query", "description": "The pageId", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "The limit for the page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[DeviceSummaryList]" } } }, "deprecated": true, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/-": { "get": { "tags": [ "DeviceGroup" ], "summary": "Returns the summary data for a given device group.", "description": "A list of accessible device groups can be retrieved using the 'GET /api/v1/device-groups/-'.", "operationId": "DeviceGroup_SearchDevicesByGroup", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "The id of the group.", "required": true, "type": "string" }, { "name": "returnHierarchy", "in": "query", "description": "return all descendant groups of the parent group. default=true", "required": false, "type": "boolean" }, { "name": "view", "in": "query", "description": "The view to use for the returned data. Default=card", "required": false, "type": "string", "enum": [ "id", "basic", "card", "overview" ] }, { "name": "state", "in": "query", "description": "The optional state to search.", "required": false, "type": "string", "enum": [ "Unknown", "Up", "Down", "Maintenance", "Any", "UpWithDownMonitors" ] }, { "name": "search", "in": "query", "description": "optional search text ; case-insensitive ; searches the display name, hostname and network address", "required": false, "type": "string" }, { "name": "pageId", "in": "query", "description": "The pageId", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "The limit for the page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[DeviceSummaryList]" } } }, "security": [ { "oauth2": [] } ] }, "post": { "tags": [ "DeviceGroup" ], "summary": "Add a set of devices to a group.", "operationId": "DeviceGroup_AddGroupMembership", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "", "required": true, "type": "string" }, { "name": "batch", "in": "body", "description": "", "required": true, "schema": { "$ref": "#/definitions/BulkDeviceBatch" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CountedSuccessResult" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "DeviceGroup" ], "summary": "Remove a set of devices from a group", "operationId": "DeviceGroup_RemoveGroupMembership", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "", "required": true, "type": "string" }, { "name": "batch", "in": "body", "description": "", "required": true, "schema": { "$ref": "#/definitions/BulkDeviceBatch" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CountedSuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/{deviceId}": { "delete": { "tags": [ "DeviceGroup" ], "summary": "Remove a device from group", "operationId": "DeviceGroup_RemoveSingleGroupMembership", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "", "required": true, "type": "string" }, { "name": "deviceId", "in": "path", "description": "", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CountedSuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/-/config/template": { "get": { "tags": [ "DeviceGroup" ], "summary": "Returns the device templates for the devices in a group", "description": "A list of accessible device groups can be retrieved using the 'GET /api/v1/device-groups/-'.\r\n\r\nOptions:\r\n* all: all basic options are included. (default)\r\n* l2: include layer 2 data such as inventory, links and other information used by the system\r\n* tempip: use ip address as the template id instead of the database identifier.\r\n* simple: return all data in it simplest form, dropping items like parents, classid, etc.\r\n\r\nBasic Options: \r\n* action: include device action\r\n* active: include active monitors\r\n* attribute: include device attributes\r\n* brand: include brand\r\n* collect-wireless: include wireless collection information\r\n* creds: include credentials\r\n* custom: include custom links\r\n* dependency: include dependencies\r\n* devicetype: include device type\r\n* groups: include group memberships\r\n* interface: include network interfaces\r\n* note: include device note\r\n* oid: include SNMP system oid\r\n* os: include OS Role\r\n* passive: include passive monitors\r\n* perf: include performance monitors\r\n* polling-interval: include Device Level polling interval\r\n* refresh: include refresh settings\r\n* roles: include device roles and sub roles.\r\n* task: include NCM tasks", "operationId": "DeviceGroup_DeviceTemplates", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "The id of the group.", "required": true, "type": "string" }, { "name": "includeHierarchy", "in": "query", "description": "include nested group's devices, default=false", "required": false, "type": "boolean" }, { "name": "search", "in": "query", "description": "optional search text ; case-insensitive ; searches the display name, hostname and network address", "required": false, "type": "string" }, { "name": "options", "in": "query", "description": "Options to be used in creating device templates", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "The limit for the page", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "The pageId", "required": false, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[DeviceTemplateReadResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/-/credentials": { "get": { "tags": [ "DeviceGroup" ], "summary": "Return the child groups given a device group", "operationId": "DeviceGroup_AssignedCredentials", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "the id of the group", "required": true, "type": "string" }, { "name": "returnHierarchy", "in": "query", "description": "return all descendant groups of the parent group. default=false", "required": false, "type": "boolean" }, { "name": "search", "in": "query", "description": "optional search text ; case-insensitive ; searches the display name", "required": false, "type": "string" }, { "name": "deviceView", "in": "query", "description": "the view to use for device data. default=id", "required": false, "type": "string", "enum": [ "id", "basic", "card", "overview" ] }, { "name": "credentialView", "in": "query", "description": "The view to use for credential data. default=id", "required": false, "type": "string", "enum": [ "id", "basic", "summary", "details" ] }, { "name": "type", "in": "query", "description": "type of credential being looked for. default=all", "required": false, "type": "string", "enum": [ "all", "snmp", "windows", "ado", "telnet", "ssh", "vmware", "jmx", "smis", "aws", "azure", "meraki", "restapi", "ubiquiti", "redfish" ] }, { "name": "pageId", "in": "query", "description": "The pageId", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "The limit for the page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[CredentialsByDevice]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/roles/brand": { "put": { "tags": [ "DeviceGroup" ], "summary": "Assign a brand to a device", "operationId": "DeviceGroup_DeviceAssignBrandRole", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "ID of device", "required": true, "type": "string" }, { "name": "brand", "in": "query", "description": "Brand name or identifier to assign", "required": true, "type": "string" }, { "name": "includeHierarchy", "in": "query", "description": "include all devices in group and subgroups, default: true", "required": false, "type": "boolean" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/roles/os": { "put": { "tags": [ "DeviceGroup" ], "summary": "Assign operating system to a device", "operationId": "DeviceGroup_DeviceAssignOsRole", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "identifier of device", "required": true, "type": "string" }, { "name": "osName", "in": "query", "description": "Operating system name or identifier to assign", "required": true, "type": "string" }, { "name": "includeHierarchy", "in": "query", "description": "include all devices in group and subgroups, default: true", "required": false, "type": "boolean" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/roles/primary": { "put": { "tags": [ "DeviceGroup" ], "summary": "Assign primary role to a device", "operationId": "DeviceGroup_GroupAssignPrimaryToDevice", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "Identifier of device", "required": true, "type": "string" }, { "name": "primary", "in": "query", "description": "Primary role name or identifier to assign", "required": true, "type": "string" }, { "name": "includeHierarchy", "in": "query", "description": "include all devices in group and subgroups, default: true", "required": false, "type": "boolean" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/roles/sub-role": { "put": { "tags": [ "DeviceGroup" ], "summary": "Sub role operations on a device", "operationId": "DeviceGroup_GroupAssignSubRolesToDevice", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "Identifier of device", "required": true, "type": "string" }, { "name": "operation", "in": "body", "description": "Sub role operation to preform", "required": true, "schema": { "$ref": "#/definitions/DeviceAssignSubRoleOperation" } }, { "name": "includeHierarchy", "in": "query", "description": "include all devices in group and subgroups. Default:true", "required": false, "type": "boolean" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/reports/cpu-utilization": { "get": { "tags": [ "DeviceGroupReport" ], "summary": "Return CPU utilization report for device group", "description": "**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\nDate range filter choices ( range ):\r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceGroupReport_DeviceCpuUtilizationReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "ID of the device group", "required": true, "type": "string" }, { "name": "returnHierarchy", "in": "query", "description": "include devices in group or descendant groups. default=false (only devices in group)", "required": false, "type": "boolean" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"avgPercent\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "cpu", "cpuId", "pollTimeUtc", "timeFromLastPollSeconds", "minPercent", "maxPercent", "avgPercent" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "cpu", "cpuId", "pollTimeUtc", "timeFromLastPollSeconds", "minPercent", "maxPercent", "avgPercent" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "applyThreshold", "in": "query", "description": "indicates whether the threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "overThreshold", "in": "query", "description": "indicates if the threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "thresholdValue", "in": "query", "description": "the threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=0 or do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "rollupByDevice", "in": "query", "description": "report at device level and not individual resources, default=false, report individual resources", "required": false, "type": "boolean" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[CpuUtilization]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/reports/disk-free-space": { "get": { "tags": [ "DeviceGroupReport" ], "summary": "Return disk free space report for device group", "description": "Date range filter choices ( range ): \r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceGroupReport_DeviceDiskFreeSpaceReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "ID of the device group", "required": true, "type": "string" }, { "name": "returnHierarchy", "in": "query", "description": "include devices in group or descendant groups. default=false (only devices in group)", "required": false, "type": "boolean" }, { "name": "range", "in": "query", "description": "date range to filter the data by. Default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. Default=\"minFree\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "disk", "diskId", "pollTimeUtc", "timeFromLastPollSeconds", "size", "minFree", "maxFree", "avgFree" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. Default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "disk", "diskId", "pollTimeUtc", "timeFromLastPollSeconds", "size", "minFree", "maxFree", "avgFree" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "applyThreshold", "in": "query", "description": "indicates whether the threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "overThreshold", "in": "query", "description": "indicates if the threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "thresholdValue", "in": "query", "description": "the threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[DiskFreeSpace]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/reports/disk-utilization": { "get": { "tags": [ "DeviceGroupReport" ], "summary": "Return disk utilization report for device group", "description": "Date range filter choices ( range ): \r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceGroupReport_DeviceDiskUtilizationReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "ID of the device group", "required": true, "type": "string" }, { "name": "returnHierarchy", "in": "query", "description": "include devices in group or descendant groups. default=false (only devices in group)", "required": false, "type": "boolean" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"avgPercent\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "disk", "diskId", "pollTimeUtc", "timeFromLastPollSeconds", "size", "minUsed", "maxUsed", "avgUsed", "avgFree", "minPercent", "maxPercent", "avgPercent" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. Default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "disk", "diskId", "pollTimeUtc", "timeFromLastPollSeconds", "size", "minUsed", "maxUsed", "avgUsed", "avgFree", "minPercent", "maxPercent", "avgPercent" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "applyThreshold", "in": "query", "description": "indicates whether the threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "overThreshold", "in": "query", "description": "indicates if the threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "thresholdValue", "in": "query", "description": "the threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[DiskUtilization]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/reports/interface-discards": { "get": { "tags": [ "DeviceGroupReport" ], "summary": "Return interface discards report for device group", "description": "Date range filter choices ( range ): \r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceGroupReport_DeviceInterfaceDiscardsReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "ID of the device group", "required": true, "type": "string" }, { "name": "returnHierarchy", "in": "query", "description": "include devices in group or descendant groups. default=false (only devices in group)", "required": false, "type": "boolean" }, { "name": "range", "in": "query", "description": "date range to filter the data by. Default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"totalAvg\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "interfaceName", "interfaceId", "pollTimeUtc", "timeFromLastPollSeconds", "rxMin", "rxMax", "rxAvg", "rxTotal", "txMin", "txMax", "txAvg", "txTotal", "totalAvg" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "interfaceName", "interfaceId", "pollTimeUtc", "timeFromLastPollSeconds", "rxMin", "rxMax", "rxAvg", "rxTotal", "txMin", "txMax", "txAvg", "txTotal", "totalAvg" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[InterfaceErrorsDiscards]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/reports/interface-errors": { "get": { "tags": [ "DeviceGroupReport" ], "summary": "Return interface errors report for device group", "description": "Date range filter choices ( range ): \r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n\r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceGroupReport_DeviceInterfaceErrorsReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "ID of the device group", "required": true, "type": "string" }, { "name": "returnHierarchy", "in": "query", "description": "include devices in group or descendant groups. default=false (only devices in group)", "required": false, "type": "boolean" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"totalAvg\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "interfaceName", "interfaceId", "pollTimeUtc", "timeFromLastPollSeconds", "rxMin", "rxMax", "rxAvg", "rxTotal", "txMin", "txMax", "txAvg", "txTotal", "totalAvg" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "interfaceName", "interfaceId", "pollTimeUtc", "timeFromLastPollSeconds", "rxMin", "rxMax", "rxAvg", "rxTotal", "txMin", "txMax", "txAvg", "txTotal", "totalAvg" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[InterfaceErrorsDiscards]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/reports/interface-traffic": { "get": { "tags": [ "DeviceGroupReport" ], "summary": "Return interface traffic report for device group", "description": "Date range filter choices ( range ): \r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n\r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceGroupReport_DeviceInterfaceTrafficReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "ID of the device group", "required": true, "type": "string" }, { "name": "returnHierarchy", "in": "query", "description": "include devices in group or descendant groups. default=false (only devices in group)", "required": false, "type": "boolean" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"totalTraffic\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "interfaceId", "interfaceName", "pollTimeUtc", "timeFromLastPollSeconds", "ifSpeed", "ifRxSpeed", "ifTxSpeed", "totalTraffic", "rxSpeedAvg", "rxOctetsTotal", "txSpeedAvg", "txOctetsTotal", "rxSpeedMin", "rxSpeedMax", "txSpeedMin", "txSpeedMax", "rxPercentAvg", "txPercentAvg" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "interfaceId", "interfaceName", "pollTimeUtc", "timeFromLastPollSeconds", "ifSpeed", "ifRxSpeed", "ifTxSpeed", "totalTraffic", "rxSpeedAvg", "rxOctetsTotal", "txSpeedAvg", "txOctetsTotal", "rxSpeedMin", "rxSpeedMax", "txSpeedMin", "txSpeedMax", "rxPercentAvg", "txPercentAvg" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[InterfaceTraffic]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/reports/interface-utilization": { "get": { "tags": [ "DeviceGroupReport" ], "summary": "Return interface utilization report for device group", "description": "Date range filter choices ( range ): \r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceGroupReport_DeviceInterfaceUtilizationReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "ID of the device group", "required": true, "type": "string" }, { "name": "returnHierarchy", "in": "query", "description": "include devices in group or descendant groups. default=false (only devices in group)", "required": false, "type": "boolean" }, { "name": "range", "in": "query", "description": "date range to filter the data by. Default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"totalPercent\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "interfaceId", "interfaceName", "pollTimeUtc", "timeFromLastPollSeconds", "ifSpeed", "ifRxSpeed", "ifTxSpeed", "totalTraffic", "rxSpeedAvg", "rxOctetsTotal", "txSpeedAvg", "txOctetsTotal", "totalPercent", "rxPercentAvg", "txPercentAvg", "rxPercentMin", "txPercentMin", "rxPercentMax", "txPercentMax", "rxSpeedMin", "rxSpeedMax", "txSpeedMin", "txSpeedMax" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "interfaceId", "interfaceName", "pollTimeUtc", "timeFromLastPollSeconds", "ifSpeed", "ifRxSpeed", "ifTxSpeed", "totalTraffic", "rxSpeedAvg", "rxOctetsTotal", "txSpeedAvg", "txOctetsTotal", "totalPercent", "rxPercentAvg", "txPercentAvg", "rxPercentMin", "txPercentMin", "rxPercentMax", "txPercentMax", "rxSpeedMin", "rxSpeedMax", "txSpeedMin", "txSpeedMax" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "applyThreshold", "in": "query", "description": "indicates whether the threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "overThreshold", "in": "query", "description": "indicates if the threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "thresholdValue", "in": "query", "description": "the threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[InterfaceUtilization]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/reports/memory-utilization": { "get": { "tags": [ "DeviceGroupReport" ], "summary": "Return memory utilization report for device group", "description": "Date range filter choices ( range ): \r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceGroupReport_DeviceMemoryUtilizationReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "ID of the device group", "required": true, "type": "string" }, { "name": "returnHierarchy", "in": "query", "description": "include devices in group or descendant groups. default=false (only devices in group)", "required": false, "type": "boolean" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. Default=\"avgPercent\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "memory", "memoryId", "pollTimeUtc", "timeFromLastPollSeconds", "size", "minUsed", "maxUsed", "avgUsed", "minPercent", "maxPercent", "avgPercent" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "memory", "memoryId", "pollTimeUtc", "timeFromLastPollSeconds", "size", "minUsed", "maxUsed", "avgUsed", "minPercent", "maxPercent", "avgPercent" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "applyThreshold", "in": "query", "description": "indicates whether the threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "overThreshold", "in": "query", "description": "indicates if the threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "thresholdValue", "in": "query", "description": "the threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[MemoryUtilization]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/reports/ping-availability": { "get": { "tags": [ "DeviceGroupReport" ], "summary": "Return ping availability report for device group", "description": "Date range filter choices ( range ): \r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceGroupReport_DevicePingAvailabilityReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "The ID of the device group", "required": true, "type": "string" }, { "name": "returnHierarchy", "in": "query", "description": "include devices in group or descendant groups. default=false (only devices in group)", "required": false, "type": "boolean" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"percentPacketLoss\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "interfaceId", "interfaceName", "packetsLost", "packetsSent", "percentAvailable", "percentPacketLoss", "totalTimeMinutes", "timeUnavailableMinutes", "pollTimeUtc", "timeFromLastPollSeconds" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "interfaceId", "interfaceName", "packetsLost", "packetsSent", "percentAvailable", "percentPacketLoss", "totalTimeMinutes", "timeUnavailableMinutes", "pollTimeUtc", "timeFromLastPollSeconds" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "availableApplyThreshold", "in": "query", "description": "indicates whether the availability threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "availableOverThreshold", "in": "query", "description": "indicates if the availability threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "percentageAvailableThresholdValue", "in": "query", "description": "the availability percentage threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "packetLossApplyThreshold", "in": "query", "description": "indicates whether the packet loss threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "packetLossOverThreshold", "in": "query", "description": "indicates if the packet loss threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "packetLossPercentageThresholdValue", "in": "query", "description": "the packet loss percentage threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=0 or do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[PingAvailability]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/reports/ping-response-time": { "get": { "tags": [ "DeviceGroupReport" ], "summary": "Return ping response time report for device group", "description": "Date range filter choices ( range ): \r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceGroupReport_DevicePingResponseTimeReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "ID of the device group", "required": true, "type": "string" }, { "name": "returnHierarchy", "in": "query", "description": "include devices in group or descendant groups. default=false (only devices in group)", "required": false, "type": "boolean" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"avgMilliSec\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "interfaceId", "interfaceName", "minMilliSec", "maxMilliSec", "avgMilliSec", "pollTimeUtc", "timeFromLastPollSeconds" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "interfaceId", "interfaceName", "minMilliSec", "maxMilliSec", "avgMilliSec", "pollTimeUtc", "timeFromLastPollSeconds" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "applyThreshold", "in": "query", "description": "indicates whether the threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "overThreshold", "in": "query", "description": "indicates if the threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "thresholdValue", "in": "query", "description": "the threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[PingResponseTime]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/reports/state-change": { "get": { "tags": [ "DeviceGroupReport" ], "summary": "Return the state change time line for device group", "description": "Date range filter choices ( range ):\r\n**Note:**\r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceGroupReport_DeviceStateChangeReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "ID of the device group", "required": true, "type": "string" }, { "name": "returnHierarchy", "in": "query", "description": "include devices in group or descendant groups. default=false (only devices in group)", "required": false, "type": "boolean" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"startTimeUtc\"", "required": false, "type": "string", "enum": [ "defaultColumn", "deviceName", "monitorTypeName", "stateName", "startTimeUtc", "endTimeUtc", "totalSeconds", "result" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "deviceName", "monitorTypeName", "stateName", "startTimeUtc", "endTimeUtc", "totalSeconds", "result" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "pageId", "in": "query", "description": "The pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "Limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[StateChangeTimeline]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-groups/{groupId}/devices/reports/device-maintenance-mode": { "get": { "tags": [ "DeviceGroupReport" ], "summary": "Return the maintenance mode for device group", "operationId": "DeviceGroupReport_DeviceMaintenanceMode", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "groupId", "in": "path", "description": "ID of the device group", "required": true, "type": "string" }, { "name": "returnHierarchy", "in": "query", "description": "include devices in group or descendant groups. default=false (only devices in group)", "required": false, "type": "boolean" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"name\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "name", "startTimeUtc", "durationSeconds", "maintenanceMode", "userName", "reason" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "name", "startTimeUtc", "durationSeconds", "maintenanceMode", "userName", "reason" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "pageId", "in": "query", "description": "The pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "Limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[DeviceMaintenanceMode]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/reports/cpu-utilization": { "get": { "tags": [ "DeviceReport" ], "summary": "Return CPU utilization report for a device", "description": "Date range filter choices ( range ): \r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceReport_DeviceCpuUtilizationReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The ID of the device", "required": true, "type": "string" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"avgPercent\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "cpu", "cpuId", "pollTimeUtc", "timeFromLastPollSeconds", "minPercent", "maxPercent", "avgPercent" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "cpu", "cpuId", "pollTimeUtc", "timeFromLastPollSeconds", "minPercent", "maxPercent", "avgPercent" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "applyThreshold", "in": "query", "description": "indicates whether the threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "overThreshold", "in": "query", "description": "indicates if the threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "thresholdValue", "in": "query", "description": "the threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "rollupByDevice", "in": "query", "description": "report at device level and not individual resources, default=false, report individual resources", "required": false, "type": "boolean" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[CpuUtilization]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/reports/disk-free-space": { "get": { "tags": [ "DeviceReport" ], "summary": "Return disk free space report for a device", "description": " Date range filter choices ( range ): \r\n **Note:** \r\n Unless otherwise specified all filters are relative to the wug service time zone.\r\n\r\n * today - returned data generated today\r\n * lastPolled - return data gathered on last poll\r\n * yesterday - data gathered yesterday\r\n * lastMonth - data gathered from previous month\r\n * lastQuarter - data gathered from last quarter\r\n * weekToDate - data gathered since the beginning of this week.\r\n * monthToDate - data gathered since the beginning of the month\r\n * quarterToDate - data gathered since the beginning of the quarter\r\n \r\n The following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n * lastNSeconds - data gathered in the last N seconds\r\n * lastNMinutes - data gathered in the last N minutes\r\n * lastNHours - data gathered in the last N hours\r\n * lastNDays - data gathered in the last N days\r\n * lastNWeeks - data gathered in the last N weeks\r\n * lastNMonths - data gathered in the last N months\r\n \r\n\tThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n * custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceReport_DeviceDiskFreeSpaceReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The ID of the device", "required": true, "type": "string" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"minFree\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "disk", "diskId", "pollTimeUtc", "timeFromLastPollSeconds", "size", "minFree", "maxFree", "avgFree" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "disk", "diskId", "pollTimeUtc", "timeFromLastPollSeconds", "size", "minFree", "maxFree", "avgFree" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "applyThreshold", "in": "query", "description": "indicates whether the threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "overThreshold", "in": "query", "description": "indicates if the threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "thresholdValue", "in": "query", "description": "the threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[DiskFreeSpace]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/reports/disk-utilization": { "get": { "tags": [ "DeviceReport" ], "summary": "Return disk utilization report for a device", "description": " Date range filter choices ( range ): \r\n **Note** \r\n Unless otherwise specified all filters are relative to the wug service time zone.\r\n\r\n * today - returned data generated today\r\n * lastPolled - return data gathered on last poll\r\n * yesterday - data gathered yesterday\r\n * lastMonth - data gathered from previous month\r\n * lastQuarter - data gathered from last quarter\r\n * weekToDate - data gathered since the beginning of this week.\r\n * monthToDate - data gathered since the beginning of the month\r\n * quarterToDate - data gathered since the beginning of the quarter\r\n \r\n The following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n * lastNSeconds - data gathered in the last N seconds\r\n * lastNMinutes - data gathered in the last N minutes\r\n * lastNHours - data gathered in the last N hours\r\n * lastNDays - data gathered in the last N days\r\n * lastNWeeks - data gathered in the last N weeks\r\n * lastNMonths - data gathered in the last N months\r\n \r\n\tThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n * custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceReport_DeviceDiskUtilizationReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The ID of the device", "required": true, "type": "string" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"avgPercent\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "disk", "diskId", "pollTimeUtc", "timeFromLastPollSeconds", "size", "minUsed", "maxUsed", "avgUsed", "avgFree", "minPercent", "maxPercent", "avgPercent" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "disk", "diskId", "pollTimeUtc", "timeFromLastPollSeconds", "size", "minUsed", "maxUsed", "avgUsed", "avgFree", "minPercent", "maxPercent", "avgPercent" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "applyThreshold", "in": "query", "description": "indicates whether the threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "overThreshold", "in": "query", "description": "indicates if the threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "thresholdValue", "in": "query", "description": "the threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[DiskUtilization]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/reports/interface-discards": { "get": { "tags": [ "DeviceReport" ], "summary": "Return interface discards report for a device", "description": "Date range filter choices ( range ): \r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceReport_DeviceInterfaceDiscardsReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The ID of the device", "required": true, "type": "string" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"totalAvg\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "interfaceName", "interfaceId", "pollTimeUtc", "timeFromLastPollSeconds", "rxMin", "rxMax", "rxAvg", "rxTotal", "txMin", "txMax", "txAvg", "txTotal", "totalAvg" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "interfaceName", "interfaceId", "pollTimeUtc", "timeFromLastPollSeconds", "rxMin", "rxMax", "rxAvg", "rxTotal", "txMin", "txMax", "txAvg", "txTotal", "totalAvg" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[InterfaceErrorsDiscards]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/reports/interface-errors": { "get": { "tags": [ "DeviceReport" ], "summary": "Return interface errors report for a device", "description": "Date range filter choices ( range ): \r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceReport_DeviceInterfaceErrorsReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The ID of the device", "required": true, "type": "string" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"totalAvg\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "interfaceName", "interfaceId", "pollTimeUtc", "timeFromLastPollSeconds", "rxMin", "rxMax", "rxAvg", "rxTotal", "txMin", "txMax", "txAvg", "txTotal", "totalAvg" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "interfaceName", "interfaceId", "pollTimeUtc", "timeFromLastPollSeconds", "rxMin", "rxMax", "rxAvg", "rxTotal", "txMin", "txMax", "txAvg", "txTotal", "totalAvg" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[InterfaceErrorsDiscards]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/reports/interface-traffic": { "get": { "tags": [ "DeviceReport" ], "summary": "Return interface traffic report for a device", "description": "Date range filter choices ( range ): \r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceReport_DeviceInterfaceTrafficReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The ID of the device", "required": true, "type": "string" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"totalPercent\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "interfaceId", "interfaceName", "pollTimeUtc", "timeFromLastPollSeconds", "ifSpeed", "ifRxSpeed", "ifTxSpeed", "totalTraffic", "rxSpeedAvg", "rxOctetsTotal", "txSpeedAvg", "txOctetsTotal", "rxSpeedMin", "rxSpeedMax", "txSpeedMin", "txSpeedMax", "rxPercentAvg", "txPercentAvg" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "interfaceId", "interfaceName", "pollTimeUtc", "timeFromLastPollSeconds", "ifSpeed", "ifRxSpeed", "ifTxSpeed", "totalTraffic", "rxSpeedAvg", "rxOctetsTotal", "txSpeedAvg", "txOctetsTotal", "rxSpeedMin", "rxSpeedMax", "txSpeedMin", "txSpeedMax", "rxPercentAvg", "txPercentAvg" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[InterfaceTraffic]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/reports/interface-utilization": { "get": { "tags": [ "DeviceReport" ], "summary": "Return interface utilization report for a device", "description": " Date range filter choices ( range ): \r\n **Note:** \r\n Unless otherwise specified all filters are relative to the wug service time zone.\r\n\r\n * today - returned data generated today\r\n * lastPolled - return data gathered on last poll\r\n * yesterday - data gathered yesterday\r\n * lastMonth - data gathered from previous month\r\n * lastQuarter - data gathered from last quarter\r\n * weekToDate - data gathered since the beginning of this week.\r\n * monthToDate - data gathered since the beginning of the month\r\n * quarterToDate - data gathered since the beginning of the quarter\r\n \r\n The following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n * lastNSeconds - data gathered in the last N seconds\r\n * lastNMinutes - data gathered in the last N minutes\r\n * lastNHours - data gathered in the last N hours\r\n * lastNDays - data gathered in the last N days\r\n * lastNWeeks - data gathered in the last N weeks\r\n * lastNMonths - data gathered in the last N months\r\n \r\n\tThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n * custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceReport_DeviceInterfaceUtilizationReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The ID of the device", "required": true, "type": "string" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"totalPercent\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "interfaceId", "interfaceName", "pollTimeUtc", "timeFromLastPollSeconds", "ifSpeed", "ifRxSpeed", "ifTxSpeed", "totalTraffic", "rxSpeedAvg", "rxOctetsTotal", "txSpeedAvg", "txOctetsTotal", "totalPercent", "rxPercentAvg", "txPercentAvg", "rxPercentMin", "txPercentMin", "rxPercentMax", "txPercentMax", "rxSpeedMin", "rxSpeedMax", "txSpeedMin", "txSpeedMax" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "interfaceId", "interfaceName", "pollTimeUtc", "timeFromLastPollSeconds", "ifSpeed", "ifRxSpeed", "ifTxSpeed", "totalTraffic", "rxSpeedAvg", "rxOctetsTotal", "txSpeedAvg", "txOctetsTotal", "totalPercent", "rxPercentAvg", "txPercentAvg", "rxPercentMin", "txPercentMin", "rxPercentMax", "txPercentMax", "rxSpeedMin", "rxSpeedMax", "txSpeedMin", "txSpeedMax" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "applyThreshold", "in": "query", "description": "indicates whether the threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "overThreshold", "in": "query", "description": "indicates if the threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "thresholdValue", "in": "query", "description": "the threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[InterfaceUtilization]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/reports/memory-utilization": { "get": { "tags": [ "DeviceReport" ], "summary": "Return memory utilization report for a device", "description": "Date range filter choices ( range ):\r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceReport_DeviceMemoryUtilizationReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The ID of the device", "required": true, "type": "string" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"avgPercent\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "memory", "memoryId", "pollTimeUtc", "timeFromLastPollSeconds", "size", "minUsed", "maxUsed", "avgUsed", "minPercent", "maxPercent", "avgPercent" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "memory", "memoryId", "pollTimeUtc", "timeFromLastPollSeconds", "size", "minUsed", "maxUsed", "avgUsed", "minPercent", "maxPercent", "avgPercent" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "applyThreshold", "in": "query", "description": "indicates whether the threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "overThreshold", "in": "query", "description": "indicates if the threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "thresholdValue", "in": "query", "description": "the threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[MemoryUtilization]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/reports/ping-availability": { "get": { "tags": [ "DeviceReport" ], "summary": "Return disk ping availability report for a device", "description": "Date range filter choices ( range ): \r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceReport_DevicePingAvailabilityReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The ID of the device", "required": true, "type": "string" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"percentPacketLoss\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "interfaceId", "interfaceName", "packetsLost", "packetsSent", "percentAvailable", "percentPacketLoss", "totalTimeMinutes", "timeUnavailableMinutes", "pollTimeUtc", "timeFromLastPollSeconds" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "interfaceId", "interfaceName", "packetsLost", "packetsSent", "percentAvailable", "percentPacketLoss", "totalTimeMinutes", "timeUnavailableMinutes", "pollTimeUtc", "timeFromLastPollSeconds" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "availableApplyThreshold", "in": "query", "description": "indicates whether the availability threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "availableOverThreshold", "in": "query", "description": "indicates if the availability threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "percentageAvailableThresholdValue", "in": "query", "description": "the availability percentage threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "packetLossApplyThreshold", "in": "query", "description": "indicates whether the packet loss threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "packetLossOverThreshold", "in": "query", "description": "indicates if the packet loss threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "packetLossPercentageThresholdValue", "in": "query", "description": "the packet loss percentage threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[PingAvailability]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/reports/ping-response-time": { "get": { "tags": [ "DeviceReport" ], "summary": "Return ping response time report for a device", "description": "Date range filter choices ( range ):\r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceReport_DevicePingResponseTimeReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The ID of the device", "required": true, "type": "string" }, { "name": "range", "in": "query", "description": "date range to filter the data by. default=today", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Used when 'range' is set to custom values. The start date for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Used when 'range' is set to custom value. The end data for the report", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "used with the range field as a multiplier, default=1", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"avgMilliSec\"", "required": false, "type": "string", "enum": [ "defaultColumn", "id", "deviceName", "interfaceId", "interfaceName", "minMilliSec", "maxMilliSec", "avgMilliSec", "pollTimeUtc", "timeFromLastPollSeconds" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=descending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "id", "deviceName", "interfaceId", "interfaceName", "minMilliSec", "maxMilliSec", "avgMilliSec", "pollTimeUtc", "timeFromLastPollSeconds" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "applyThreshold", "in": "query", "description": "indicates whether the threshold filter is applied. true if this instance is applied; otherwise, false default=false", "required": false, "type": "boolean" }, { "name": "overThreshold", "in": "query", "description": "indicates if the threshold value is applied when over or under. true if this instance is applied; otherwise, false default=false.", "required": false, "type": "boolean" }, { "name": "thresholdValue", "in": "query", "description": "the threshold filter value. default=0.0", "required": false, "type": "number", "format": "double" }, { "name": "businessHoursId", "in": "query", "description": "business hour filter to apply, default=do not apply", "required": false, "type": "integer", "format": "int32" }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[PingResponseTime]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/devices/{deviceId}/reports/state-change": { "get": { "tags": [ "DeviceReport" ], "summary": "Device state change timeline report", "description": "Date range filter choices ( range ):\r\n**Note:** \r\nUnless otherwise specified all filters are relative to the wug service time zone.\r\n \r\n* today - returned data generated today\r\n* lastPolled - return data gathered on last poll\r\n* yesterday - data gathered yesterday\r\n* lastMonth - data gathered from previous month\r\n* lastQuarter - data gathered from last quarter\r\n* weekToDate - data gathered since the beginning of this week.\r\n* monthToDate - data gathered since the beginning of the month\r\n* quarterToDate - data gathered since the beginning of the quarter\r\n\r\nThe following choices for the Date range filter use the value of \"rangeN\" to indicate the number to increment the data filter by.\r\n* lastNSeconds - data gathered in the last N seconds\r\n* lastNMinutes - data gathered in the last N minutes\r\n* lastNHours - data gathered in the last N hours\r\n* lastNDays - data gathered in the last N days\r\n* lastNWeeks - data gathered in the last N weeks\r\n* lastNMonths - data gathered in the last N months\r\n\r\nThe following choices for the Date range filter uses the values of \"rangeStartUtc\" and \"rangeEndUtc\" to indicate the data to consider for the report.\r\n* custom - data is gathered between 'rangeStartUtc' and 'rangeEndUtc' date.", "operationId": "DeviceReport_DeviceStateChangeReport", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "deviceId", "in": "path", "description": "The ID of the device", "required": true, "type": "string" }, { "name": "range", "in": "query", "description": "Date range for report. default=today. Works in conjunction with start, end and offset values", "required": false, "type": "string", "enum": [ "today", "lastPolled", "yesterday", "lastWeek", "lastMonth", "lastQuarter", "weekToDate", "monthToDate", "quarterToDate", "lastNSeconds", "lastNMinutes", "lastNHours", "lastNDays", "lastNWeeks", "lastNMonths", "custom" ] }, { "name": "rangeStartUtc", "in": "query", "description": "Time to start the report at when custom date range is selected", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeEndUtc", "in": "query", "description": "Time to end the report when custom date range is selected", "required": false, "type": "string", "format": "date-time" }, { "name": "rangeN", "in": "query", "description": "Number to calculate when LastNSeconds, LastNMinutes, etc is selected", "required": false, "type": "integer", "format": "int32" }, { "name": "sortBy", "in": "query", "description": "column name to sort report by. default=\"startTimeUtc\"", "required": false, "type": "string", "enum": [ "defaultColumn", "deviceName", "monitorTypeName", "stateName", "startTimeUtc", "endTimeUtc", "totalSeconds", "result" ] }, { "name": "sortByDir", "in": "query", "description": "direction to sort report. default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "groupBy", "in": "query", "description": "Column name to group the report by, default=no grouping", "required": false, "type": "string", "enum": [ "noGrouping", "deviceName", "monitorTypeName", "stateName", "startTimeUtc", "endTimeUtc", "totalSeconds", "result" ] }, { "name": "groupByDir", "in": "query", "description": "direction to group report by, default=ascending", "required": false, "type": "string", "enum": [ "asc", "desc" ] }, { "name": "pageId", "in": "query", "description": "the pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[StateChangeTimeline]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-role/{roleId}": { "get": { "tags": [ "DeviceRole" ], "summary": "Return device role information", "operationId": "DeviceRole_GetSummaryTemplateById", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "roleId", "in": "path", "description": "ID of the device role", "required": true, "type": "string" }, { "name": "view", "in": "query", "description": "amount of role data to retrieve, default=simple", "required": false, "type": "string", "enum": [ "id", "simple", "basic", "summary" ] }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[DeviceRoleSummary]" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "DeviceRole" ], "summary": "Delete a role from the library", "operationId": "DeviceRole_RemoveRoleById", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "roleId", "in": "path", "description": "role to be removed", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-role/{roleId}/config/template": { "get": { "tags": [ "DeviceRole" ], "summary": "Return template for a device role", "description": "Options:\r\n* all: all information is made available in the template\r\n* transfer: only data required to transfer or update a role on another system is include in the template\r\n* copy: only data required to make a copy of the role is added to the role. Will generate a new role on the new system.", "operationId": "DeviceRole_GetTemplateById", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "roleId", "in": "path", "description": "The id of the role", "required": true, "type": "string" }, { "name": "options", "in": "query", "description": "type of template to be created, default=transfer", "required": false, "type": "string", "enum": [ "all", "clone", "transfer", "update" ] }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[DeviceRoleTemplateReadResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-role/{roleId}/enable": { "put": { "tags": [ "DeviceRole" ], "summary": "Enable a device role for use", "operationId": "DeviceRole_EnableRoleById", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "roleId", "in": "path", "description": "Role to be enabled", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-role/{roleId}/disable": { "put": { "tags": [ "DeviceRole" ], "summary": "Disable a role from being used", "operationId": "DeviceRole_DisableRoleById", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "roleId", "in": "path", "description": "role to be disabled", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-role/{roleId}/restore": { "put": { "tags": [ "DeviceRole" ], "summary": "Restore system role to shipped defaults", "operationId": "DeviceRole_RestoreSystemDefaultsById", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "roleId", "in": "path", "description": "role to be restored", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-role/{roleId}/assignments/-": { "get": { "tags": [ "DeviceRole" ], "summary": "Returns role assignments to devices", "operationId": "DeviceRole_RoleAssignmentsById", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "roleId", "in": "path", "description": "id of role being requested", "required": true, "type": "string" }, { "name": "filter", "in": "query", "description": "optional filter; case-insensitive; filter on role name and alternate names, empty value is ignored", "required": false, "type": "string" }, { "name": "deviceView", "in": "query", "description": "type of device information to be returned, default=basic", "required": false, "type": "string", "enum": [ "id", "basic", "card", "overview" ] }, { "name": "deviceFilter", "in": "query", "description": "optional filter; case-insensitive ; searches the device address, display and hostnames, empty value is ignored", "required": false, "type": "string" }, { "name": "pageId", "in": "query", "description": "page to start at", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "the number of assignments per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[RoleAssignment]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-role/-/assignments/-": { "get": { "tags": [ "DeviceRole" ], "summary": "Returns all role assignments to devices", "operationId": "DeviceRole_AllRoleAssignments", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "kind", "in": "query", "description": "type of role to filter on. default=all", "required": false, "type": "string", "enum": [ "all", "role", "brand", "os", "subRole" ] }, { "name": "filter", "in": "query", "description": "optional filter; case-insensitive ; filter on role id, name or alternate names", "required": false, "type": "string" }, { "name": "includeUnassignedRoles", "in": "query", "description": "false - (default) only roles that match filters and have assignments will be returned.\r\ntrue - all roles that match role filter will be returned.", "required": false, "type": "boolean" }, { "name": "deviceView", "in": "query", "description": "type of device information to be returned, default=basic", "required": false, "type": "string", "enum": [ "id", "basic", "card", "overview" ] }, { "name": "deviceFilter", "in": "query", "description": "optional filter ; case-insensitive ; searches the device address, display and hostnames", "required": false, "type": "string" }, { "name": "pageId", "in": "query", "description": "page to start at", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "the number of assignments per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[RoleAssignment]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-role/-": { "get": { "tags": [ "DeviceRole" ], "summary": "Return set of device roles", "operationId": "DeviceRole_GetSummaryList", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "view", "in": "query", "description": "type of data to return, default=simple", "required": false, "type": "string", "enum": [ "id", "simple", "basic", "summary" ] }, { "name": "kind", "in": "query", "description": "return role of the the specified kind. default=any", "required": false, "type": "string", "enum": [ "any", "role", "brand", "os", "subRole", "monitor", "interfaceFilter", "deviceFilter", "monitorCriteria" ] }, { "name": "source", "in": "query", "description": "filter based on the source of the role. default=all", "required": false, "type": "string", "enum": [ "all", "system", "systemModified", "userDefined", "allSystem", "allModified" ] }, { "name": "name", "in": "query", "description": "filter based on display name or internal name. Case-insensitive, empty value is ignored", "required": false, "type": "string" }, { "name": "search", "in": "query", "description": "filter roles that contain this string in display name, description, id or internal name. Case-insensitive, empty value is ignored", "required": false, "type": "string" }, { "name": "enabledOnly", "in": "query", "description": "return only enabled roles, default=false", "required": false, "type": "boolean" }, { "name": "pageId", "in": "query", "description": "The pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "Limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[DeviceRoleSummary]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-role/-/config/template": { "get": { "tags": [ "DeviceRole" ], "summary": "Return set of device role templates", "description": "Options:\r\n* all: all information is made available in the template\r\n* transfer: only data required to transfer or update a role on another system is include in the template\r\n* copy: only data required to make a copy of the role is added to the role. Will generate a new role on the new system.", "operationId": "DeviceRole_GetTemplate", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "options", "in": "query", "description": "empty is the default options. Multiple options may be passed separated by commas, default=transfer", "required": false, "type": "string", "enum": [ "all", "clone", "transfer", "update" ] }, { "name": "kind", "in": "query", "description": "return role of the the specified kind. default=any", "required": false, "type": "string", "enum": [ "any", "role", "brand", "os", "subRole", "monitor", "interfaceFilter", "deviceFilter", "monitorCriteria" ] }, { "name": "source", "in": "query", "description": "filter based on the source of the role. default=all", "required": false, "type": "string", "enum": [ "all", "system", "systemModified", "userDefined", "allSystem", "allModified" ] }, { "name": "name", "in": "query", "description": "filter based on display name or internal name. Case-insensitive, empty value is ignored", "required": false, "type": "string" }, { "name": "search", "in": "query", "description": "filter roles that contain this string in display name, description, id or internal name. Case-insensitive, empty value is ignored", "required": false, "type": "string" }, { "name": "enabledOnly", "in": "query", "description": "return only enabled roles, default=false", "required": false, "type": "boolean" }, { "name": "pageId", "in": "query", "description": "The pageId, empty will return first page", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "Limit the number of entries per page, is also limited by service. 0 or empty will give the maximum number per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[DeviceRoleTemplateReadResults]" } } }, "security": [ { "oauth2": [] } ] }, "patch": { "tags": [ "DeviceRole" ], "summary": "Apply multiple device role templates", "operationId": "DeviceRole_ApplyTemplates", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "templates", "in": "body", "description": "set of role templates to apply", "required": true, "schema": { "$ref": "#/definitions/DeviceRoleTemplateBatch" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-role/-/config/export/content": { "post": { "tags": [ "DeviceRole" ], "summary": "Inventory of a package based on options", "operationId": "DeviceRole_PackageExportContent", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "options", "in": "body", "description": "", "required": true, "schema": { "$ref": "#/definitions/PackageRequest" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PackageContentResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-role/-/config/export": { "post": { "tags": [ "DeviceRole" ], "summary": "Generate a package for delivery to another WhatsUp Gold System", "operationId": "DeviceRole_PackageExport", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "options", "in": "body", "description": "", "required": true, "schema": { "$ref": "#/definitions/PackageRequest" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PackageSignedResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-role/-/config/import/verify": { "post": { "tags": [ "DeviceRole" ], "summary": "Inventory/Verify the contents of the a package", "operationId": "DeviceRole_VerifyPackage", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "packageToApply", "in": "body", "description": "the signed package to be examined", "required": true, "schema": { "$ref": "#/definitions/PackageApply" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PackageContentOpResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-role/-/config/import": { "post": { "tags": [ "DeviceRole" ], "summary": "Apply a package", "operationId": "DeviceRole_ApplyPackage", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "packageToApply", "in": "body", "description": "options and signed package to be applied", "required": true, "schema": { "$ref": "#/definitions/PackageApply" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PackageContentOpResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-role/-/percentVariables": { "get": { "tags": [ "DeviceRole" ], "summary": "Return a list of percent variables by type", "operationId": "DeviceRole_GetPercentVariables", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "choice", "in": "query", "description": "Type of variables requested, default=discoveryDevice", "required": false, "type": "string", "enum": [ "discoveryDevice", "discoverySession", "monitoredDevice", "discoveredNetwork", "device" ] }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[List[String]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-scan/{scanId}/devices": { "get": { "tags": [ "DeviceScan" ], "summary": "Return devices updated using scanned data.", "description": "A scanId is provided as part of the return values for operations like \"new device\", \"refresh\" and \"listing of scan statuses\"\r\n\r\nNote:\r\nThe set of devices updated by a scan will change over time based on add, update, deletes operations and general aging out of tracking information", "operationId": "DeviceScan_UpdatedDevices", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "scanId", "in": "path", "description": "Id of the scan", "required": true, "type": "string" }, { "name": "view", "in": "query", "description": "information level returned for each device", "required": false, "type": "string", "enum": [ "id", "basic", "card", "overview" ] }, { "name": "search", "in": "query", "description": "optional search text ; case-insensitive ; searches the display name, hostname and network address", "required": false, "type": "string" }, { "name": "pageId", "in": "query", "description": "The page to return", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "limit number of items on a page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[ScanDeviceSummaryList]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-scan/{scanId}/status": { "get": { "tags": [ "DeviceScan" ], "summary": "Return current status", "description": "A scanId is provided as part of the return values for operations like \"new device\", \"rescan\" and \"listing of scan statuses\"", "operationId": "DeviceScan_Status", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "scanId", "in": "path", "description": "ID of the scan", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ActiveScan]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-scan/{scanId}/cancel": { "put": { "tags": [ "DeviceScan" ], "summary": "Request a active scan to be canceled", "description": "A scanId is provided as part of the return values for operations like \"new device\", \"rescan\" and \"listing of scan statuses\"", "operationId": "DeviceScan_Cancel", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "scanId", "in": "path", "description": "ID of the scan", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SuccessResult" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/device-scan/-/status": { "get": { "tags": [ "DeviceScan" ], "summary": "Status for each scan", "operationId": "DeviceScan_ListStatus", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "model", "in": "query", "description": "type of scans. Default: all", "required": false, "type": "string", "enum": [ "all", "standard", "newDevice", "refresh", "staging", "rescan" ] }, { "name": "activeOnly", "in": "query", "description": "Return only scans with an operation in progress. Default: true", "required": false, "type": "boolean" }, { "name": "search", "in": "query", "description": "optional search text ; case-insensitive ; searches the display name and description", "required": false, "type": "string" }, { "name": "pageId", "in": "query", "description": "page to return", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "number of items per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[ActiveScan]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/errors/{errorType}": { "get": { "tags": [ "Error" ], "summary": "Utility method to test how errors are handled.", "description": "If a valid error is triggered, the return information will be in this format:
\r\n{ \"error\": { \"status\": CODE, \"code\": \"ERRORTYPE\", \"message\": \"ERRORMESSAGE\" } }\r\n", "operationId": "Error_InduceError", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "errorType", "in": "path", "description": "The type of error to induce", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[String]" } } } } }, "/api/v1/monitors/{monitorId}/assignments/-": { "get": { "tags": [ "Monitor" ], "summary": "Get monitor assignments for a single monitor", "operationId": "Monitor_MonitorAssignmentsById", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "monitorId", "in": "path", "description": "monitor id to be returned", "required": true, "type": "string" }, { "name": "type", "in": "query", "description": "type of monitor assignment, default=active", "required": false, "type": "string", "enum": [ "active", "performance", "passive" ] }, { "name": "view", "in": "query", "description": "information level return for each assignment. Default=basic", "required": false, "type": "string", "enum": [ "id", "minimum", "basic", "status" ] }, { "name": "deviceView", "in": "query", "description": "information level returned for each device with an assignment. default=id", "required": false, "type": "string", "enum": [ "id", "basic", "card", "overview" ] }, { "name": "pageId", "in": "query", "description": "page to return, empty will provide 1st page of data. default=empty", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "number of items per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[AssignedMonitorWithDevice]]" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Monitor" ], "summary": "Delete assignments for a monitor", "description": "Note: This call will only delete assignment to devices the caller has rights to modify", "operationId": "Monitor_DeleteMonitorAssignmentsById", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "monitorId", "in": "path", "description": "monitor id to remove assignments for", "required": true, "type": "string" }, { "name": "type", "in": "query", "description": "type of monitor assignment", "required": true, "type": "string", "enum": [ "active", "performance", "passive" ] }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/monitors/-/assignments/-": { "get": { "tags": [ "Monitor" ], "summary": "Get active monitor assignments for a single monitor", "operationId": "Monitor_MonitorAssignments", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "type", "in": "query", "description": "type of monitor assignment, default=all", "required": false, "type": "string", "enum": [ "all", "active", "performance", "passive" ] }, { "name": "view", "in": "query", "description": "information level return for each assignment. Default=basic", "required": false, "type": "string", "enum": [ "id", "minimum", "basic", "status" ] }, { "name": "deviceView", "in": "query", "description": "information level returned for each device with an assignment. default=id", "required": false, "type": "string", "enum": [ "id", "basic", "card", "overview" ] }, { "name": "search", "in": "query", "description": "return only assignments that contain this string in monitor type name, description or class id. Case-insensitive, empty value is ignored", "required": false, "type": "string" }, { "name": "pageId", "in": "query", "description": "page to return, empty will provide 1st page of data. default=empty", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "number of items per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[List[AssignedMonitorWithDevice]]" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Monitor" ], "summary": "Delete assignments for a monitor", "description": "Note: This call will only delete assignment for devices the caller has rights to modify only", "operationId": "Monitor_DeleteMonitorAssignmentsByQuery", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "type", "in": "query", "description": "type of monitor assignment to delete, default=all", "required": false, "type": "string", "enum": [ "all", "active", "performance", "passive" ] }, { "name": "includeDeviceMonitors", "in": "query", "description": "match device specific monitor assignments, default=false", "required": false, "type": "boolean" }, { "name": "includeSystemMonitors", "in": "query", "description": "match assignments to monitors that are consider system, default=false", "required": false, "type": "boolean" }, { "name": "includeCoreMonitors", "in": "query", "description": "match assignments to monitors that are consider core, default=false", "required": false, "type": "boolean" }, { "name": "search", "in": "query", "description": "remove only assignments to monitors that contain this string in monitor type name, description or class id. Case-insensitive, empty value is ignored", "required": false, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/monitors/{monitorId}": { "get": { "tags": [ "Monitor" ], "summary": "Return single monitor", "operationId": "Monitor_GetById", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "monitorId", "in": "path", "description": "ID of the monitor", "required": true, "type": "string" }, { "name": "type", "in": "query", "description": "type of monitor to return, default=active", "required": false, "type": "string", "enum": [ "active", "performance", "passive" ] }, { "name": "view", "in": "query", "description": "level of information returned, default=info", "required": false, "type": "string", "enum": [ "id", "basic", "info", "summary", "details" ] }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[MonitorTemplateReadResults]" } } }, "security": [ { "oauth2": [] } ] }, "put": { "tags": [ "Monitor" ], "summary": "Update a monitor's configuration", "description": "This update method expects the calling application to include a populated properties array (configuration) for the monitor. \r\n* If you pass this method an empty property value, this input can clear a previously set configuration value. \r\n* Empty configuration properties can revert to default configuration values for properties with defined default values. \r\n* If you pass this method an empty array, this reverts the monitor to its simplest default configuration.\r\n\\n\\n**Tip:** When you want to update a monitor configuration, use the monitor ID to get a populated (or default) configuration \r\nproperties array. Then re-use it. Adjust property values as needed and include this configuration properties array with the request body.", "operationId": "Monitor_UpdateMonitorById", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "monitorId", "in": "path", "description": "ID of the monitor", "required": true, "type": "string" }, { "name": "type", "in": "query", "description": "type of monitor to update", "required": true, "type": "string", "enum": [ "active", "performance", "passive" ] }, { "name": "update", "in": "body", "description": "the changes to be made to the monitor", "required": true, "schema": { "$ref": "#/definitions/MonitorUpdate" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Monitor" ], "summary": "Delete a monitor", "description": "Note: The user may have right to remove a monitor but not see or delete all assignment.", "operationId": "Monitor_DeleteMonitorById", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "monitorId", "in": "path", "description": "monitor to be removed", "required": true, "type": "string" }, { "name": "type", "in": "query", "description": "type of monitor", "required": true, "type": "string", "enum": [ "active", "performance", "passive" ] }, { "name": "failIfInUse", "in": "query", "description": "do not delete monitor if in use. Default=true", "required": false, "type": "boolean" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/monitors/-": { "get": { "tags": [ "Monitor" ], "summary": "Return set of monitors", "operationId": "Monitor_GetAll", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "type", "in": "query", "description": "filter for type of monitors. default=all", "required": false, "type": "string", "enum": [ "all", "active", "performance", "passive" ] }, { "name": "view", "in": "query", "description": "level of information returned, default=info", "required": false, "type": "string", "enum": [ "id", "basic", "info", "summary", "details" ] }, { "name": "includeDeviceMonitors", "in": "query", "description": "return device specific monitors, default=false", "required": false, "type": "boolean" }, { "name": "includeSystemMonitors", "in": "query", "description": "return monitors owned by the system and cannot be modified. default=false", "required": false, "type": "boolean" }, { "name": "includeCoreMonitors", "in": "query", "description": "\"return monitors that are considers core, default=false\"", "required": false, "type": "boolean" }, { "name": "search", "in": "query", "description": "return only monitors that contain this string in display name, description or classId. Case-insensitive, empty value is ignored", "required": false, "type": "string" }, { "name": "allMonitors", "in": "query", "description": "Deprecated: include both device and system monitors, etc. default=false", "required": false, "type": "boolean" }, { "name": "pageId", "in": "query", "description": "page to return", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "maximum number of items per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[MonitorTemplateReadResults]" } } }, "security": [ { "oauth2": [] } ] }, "post": { "tags": [ "Monitor" ], "summary": "Add to the monitor library", "operationId": "Monitor_CreateMonitor", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "add", "in": "body", "description": "add operation for a monitor", "required": true, "schema": { "$ref": "#/definitions/MonitorAdd" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Monitor" ], "summary": "Delete a set of monitors", "description": "Note: The user may have right to remove a monitor but not see or delete all assignment.", "operationId": "Monitor_DeleteMonitors", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "type", "in": "query", "description": "type of monitor being deleted", "required": false, "type": "string", "enum": [ "all", "active", "performance", "passive" ] }, { "name": "includeDeviceMonitors", "in": "query", "description": "delete device specific monitors, default=false", "required": false, "type": "boolean" }, { "name": "includeSystemMonitors", "in": "query", "description": "delete monitors owned by the system and cannot be modified. default=false", "required": false, "type": "boolean" }, { "name": "search", "in": "query", "description": "delete only monitors that contain this string in display name, description or classId. Case-insensitive, empty value is ignored", "required": false, "type": "string" }, { "name": "failIfInUse", "in": "query", "description": "do not delete monitor if in use. Default=true", "required": false, "type": "boolean" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] }, "patch": { "tags": [ "Monitor" ], "summary": "Do multiple operations against the monitor library", "operationId": "Monitor_PatchMonitors", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "batch", "in": "body", "description": "set of operations to preform", "required": true, "schema": { "$ref": "#/definitions/MonitorBatch" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/monitors/-/config/supported-types": { "get": { "tags": [ "Monitor" ], "summary": "Return set of supported monitor types", "operationId": "Monitor_GetRegisteredTypes", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "type", "in": "query", "description": "filter by base monitor type. default=all", "required": false, "type": "string", "enum": [ "all", "active", "performance", "passive" ] }, { "name": "includeCoreMonitorTypes", "in": "query", "description": "return supported monitor types considered core. default=false", "required": false, "type": "boolean" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[List[MonitorSupportedType]]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/monitors/{monitorId}/config/template": { "get": { "tags": [ "Monitor" ], "summary": "Return template for a monitor", "operationId": "Monitor_GetTemplateById", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "monitorId", "in": "path", "description": "The id of the monitor", "required": true, "type": "string" }, { "name": "key", "in": "query", "description": "empty then sensitive data will be clear text. if an obfuscation key is provided, the same key will be required restore the sensitive data", "required": false, "type": "string" }, { "name": "dropSensitiveData", "in": "query", "description": "replace sensitive data with an empty value", "required": false, "type": "boolean" }, { "name": "type", "in": "query", "description": "type of monitor to return, default=active", "required": false, "type": "string", "enum": [ "active", "performance", "passive" ] }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[MonitorTemplateReadResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/monitors/-/config/template": { "get": { "tags": [ "Monitor" ], "summary": "Return set of monitor templates", "operationId": "Monitor_GetTemplates", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "key", "in": "query", "description": "empty then sensitive data will be clear text. When an obfuscation key is provided, the same key is required to restore the sensitive data", "required": false, "type": "string" }, { "name": "replaceSensitiveData", "in": "query", "description": "replace sensitive data with empty value", "required": false, "type": "boolean" }, { "name": "type", "in": "query", "description": "filter for type of monitors. default=all", "required": false, "type": "string", "enum": [ "all", "active", "performance", "passive" ] }, { "name": "includeDeviceMonitors", "in": "query", "description": "return device specific monitors, default=false", "required": false, "type": "boolean" }, { "name": "includeSystemMonitors", "in": "query", "description": "return monitors owned by the system and cannot be modified. default=false", "required": false, "type": "boolean" }, { "name": "search", "in": "query", "description": "return only monitors that contain this string in display name, description or classId. Case-insensitive, empty value is ignored", "required": false, "type": "string" }, { "name": "allMonitors", "in": "query", "description": "Deprecated: include both device and system monitors, etc. default=false", "required": false, "type": "boolean" }, { "name": "pageId", "in": "query", "description": "page to return", "required": false, "type": "string" }, { "name": "limit", "in": "query", "description": "maximum number of items per page", "required": false, "type": "integer", "format": "int32" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PageResult[MonitorTemplateReadResults]" } } }, "security": [ { "oauth2": [] } ] }, "patch": { "tags": [ "Monitor" ], "summary": "Apply multiple monitor templates", "operationId": "Monitor_ApplyMonitorTemplates", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "templates", "in": "body", "description": "set of monitor templates to apply", "required": true, "schema": { "$ref": "#/definitions/ApplyMonitorTemplates" } }, { "name": "key", "in": "query", "description": "value used to unwrap sensitive data", "required": false, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApplyTemplateResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/pollers": { "get": { "tags": [ "Pollers" ], "summary": "Get All configured pollers and their status", "operationId": "Pollers_GetAllPollers", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ListResult[ApiPollerConfigWithStatus]" } } }, "security": [ { "oauth2": [] } ] }, "post": { "tags": [ "Pollers" ], "summary": "Create a new poller", "operationId": "Pollers_CreatePoller", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "pollerConfig", "in": "body", "description": "", "required": true, "schema": { "$ref": "#/definitions/ApiPollerConfigCreate" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApiPollerConfig]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/pollers/{pollerId}": { "get": { "tags": [ "Pollers" ], "summary": "Get a single Poller by ID", "operationId": "Pollers_GetPollerById", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "pollerId", "in": "path", "description": "PollerId", "required": true, "type": "string", "format": "uuid" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApiPollerConfig]" } } }, "security": [ { "oauth2": [] } ] }, "put": { "tags": [ "Pollers" ], "summary": "Update poller config", "operationId": "Pollers_UpdatePoller", "consumes": [ "application/json", "text/json" ], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "pollerId", "in": "path", "description": "Poller Id to update", "required": true, "type": "string", "format": "uuid" }, { "name": "pollerConfig", "in": "body", "description": "Updated Poller Config", "required": true, "schema": { "$ref": "#/definitions/ApiPollerConfigCreate" } }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApiPollerConfig]" } } }, "security": [ { "oauth2": [] } ] }, "delete": { "tags": [ "Pollers" ], "summary": "Remove poller config", "operationId": "Pollers_UpdatePoller", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "pollerId", "in": "path", "description": "PollerId to remove", "required": true, "type": "string", "format": "uuid" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[SuccessResult]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/pollers/by-name/{name}": { "post": { "tags": [ "Pollers" ], "summary": "Create a new poller (called by the Scalability Poller Install to ensure there is a poller with the given name)\r\nIf there is already a poller with the given name, it is returned instead of creating a new one.", "operationId": "Pollers_CreatePollerWithName", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "name", "in": "path", "description": "", "required": true, "type": "string" }, { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[ApiPollerConfig]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/product/api": { "get": { "tags": [ "Product" ], "summary": "Return current API version and information", "operationId": "Product_ApiVersion", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[NameValuePairResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/product/version": { "get": { "tags": [ "Product" ], "summary": "Return product version information", "operationId": "Product_ProductVersion", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[NameValuePairResults]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/product/whoAmI": { "get": { "tags": [ "Product" ], "summary": "Return current user information", "operationId": "Product_WhoAmI", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[String]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/product/installationId": { "get": { "tags": [ "Product" ], "summary": "Returns an ID uniquely identifying this install of WUG", "operationId": "Product_InstallationId", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[String]" } } }, "security": [ { "oauth2": [] } ] } }, "/api/v1/product/timezone": { "get": { "tags": [ "Product" ], "summary": "Gets the Local Timezone of the WUG Server", "operationId": "Product_GetLocalTimezone", "consumes": [], "produces": [ "application/json", "text/json" ], "parameters": [ { "name": "Authorization", "in": "header", "description": "oauth2 access_token", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Result[String]" } } }, "security": [ { "oauth2": [] } ] } } }, "definitions": { "Result[Credential]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/Credential", "description": "The data payload", "readOnly": true } } }, "Credential": { "description": "Credential template structure", "type": "object", "properties": { "type": { "description": "Type of credential", "type": "string" }, "propertyBags": { "description": "set of properties for this credential\r\navailable if credential view is set to details.", "type": "array", "items": { "$ref": "#/definitions/CredentialPropertyBag" } }, "assignments": { "description": "List of devices this credential is assigned to.\r\nreturned if includeAssignments is true.", "type": "array", "items": { "$ref": "#/definitions/CredentialAssignment" } }, "usedInFailover": { "description": "Set if includeAssignments is true;", "type": "boolean" }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "CredentialPropertyBag": { "description": "List of properties to be added to the device\r\nProperty Names should be unique in the list.", "type": "object", "properties": { "name": { "description": "Required: Name of property", "maxLength": 50, "minLength": 0, "type": "string" }, "value": { "description": "Defaults to empty. Value to be used for property.", "type": "string" } } }, "CredentialAssignment": { "description": "representation of a credential assignment", "type": "object", "properties": { "device": { "$ref": "#/definitions/DeviceOverview", "description": "Unique device ID" } } }, "DeviceOverview": { "description": "Provides an overview of a given device in terms \r\nof basic summary information as well as monitoring \r\nstatus.", "type": "object", "properties": { "downActiveMonitors": { "description": "A collection of Down Active monitor status items", "type": "array", "items": { "$ref": "#/definitions/MonitorAssignmentStatus" } }, "totalActiveMonitors": { "format": "int32", "description": "The total number of active monitors for this device", "type": "integer" }, "totalActiveMonitorsDown": { "format": "int32", "description": "The total number of active monitors that are down for this device", "type": "integer" }, "notes": { "description": "The notes field for the device", "type": "string" }, "hostName": { "description": "The hostname for the device", "type": "string" }, "networkAddress": { "description": "The current network address of the device. Usually an IP address.", "type": "string" }, "role": { "description": "The primary role of the device (e.g. router, switch, etc.).", "type": "string" }, "brand": { "description": "The brand for the device (e.g. Cisco)", "type": "string" }, "os": { "description": "The operating system for the device (e.g. windows, linux, etc)", "type": "string" }, "bestState": { "description": "The best state of the device, like Up", "enum": [ "Unknown", "Up", "Down", "Maintenance", "Any" ], "type": "string" }, "worstState": { "description": "The worst state of the device, like Down", "enum": [ "Unknown", "Up", "Down", "Maintenance", "Any" ], "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "MonitorAssignmentStatus": { "description": "The current monitoring status of this monitor", "type": "object", "properties": { "state": { "description": "The internal state of the monitor", "enum": [ "Unknown", "Up", "Down", "Maintenance", "Any" ], "type": "string" }, "reason": { "description": "The reason a monitor is in the current state", "type": "string" }, "lastChangeUtc": { "format": "date-time", "description": "The time when the status changed in Utc", "type": "string" }, "monitorTypeId": { "description": "The monitor type id as it exists in the library", "type": "string" }, "monitorTypeName": { "description": "The monitor type name as it exists in the library", "type": "string" }, "comment": { "description": "Comment specified when the monitor was assigned to the device\r\nTypically used for interface monitor assignment where comment is the interface description", "type": "string" }, "enabled": { "description": "Indicates whether the monitor is enabled", "type": "boolean" }, "id": { "type": "string" } } }, "SuccessResult": { "type": "object", "properties": { "success": { "type": "boolean" } } }, "CredentialModify": { "description": "Credential structure containing items allowed to be modified.", "type": "object", "properties": { "name": { "description": "New name for the credential.", "type": "string" }, "description": { "description": "New description for the credential", "type": "string" }, "propertyBags": { "description": "set of properties to be added or replaced on this credential", "type": "array", "items": { "$ref": "#/definitions/CredentialPropertyBag" } } } }, "PageResult[Credential]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[Credential]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "$ref": "#/definitions/Credential", "description": "The data payload", "readOnly": true } } }, "PagingInfo[Credential]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "CountedSuccessResult": { "type": "object", "properties": { "successfulOperations": { "format": "int32", "type": "integer" }, "resourcesNotAllowed": { "type": "array", "items": { "type": "string" } }, "resourcesWithErros": { "type": "array", "items": { "type": "string" } }, "errors": { "type": "array", "items": { "type": "string" } }, "limitReached": { "type": "boolean" }, "maximumReached": { "type": "boolean" }, "success": { "type": "boolean" } } }, "PageResult[List[Credential]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[Credential]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/Credential" }, "readOnly": true } } }, "PagingInfo[List[Credential]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "CredentialAdd": { "description": "Credential Add structure", "type": "object", "properties": { "name": { "description": "The name of the resource", "type": "string" }, "description": { "description": "The optional description of the resource", "type": "string" }, "type": { "description": "Type of credential", "type": "string" }, "propertyBags": { "description": "set of properties for this credential", "type": "array", "items": { "$ref": "#/definitions/CredentialPropertyBag" } } } }, "Result[CredentialHelperResults]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/CredentialHelperResults", "description": "The data payload", "readOnly": true } } }, "CredentialHelperResults": { "description": "A generic structure for handling credential helper output", "type": "object", "properties": { "responseType": { "description": "respone type of data being returned.", "enum": [ "meraki_organization" ], "type": "string" }, "output": { "description": "Output of the helper in simplest form. Helper will determine if field will be used.", "type": "array", "items": { "type": "array", "items": { "$ref": "#/definitions/NameValuePair" } } } } }, "NameValuePair": { "description": "NameValuePair", "type": "object", "properties": { "name": { "description": "Name", "type": "string" }, "value": { "description": "Value", "type": "string" } } }, "Result[CredentialTemplateReadResults]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/CredentialTemplateReadResults", "description": "The data payload", "readOnly": true } } }, "CredentialTemplateReadResults": { "description": "Results returned when calling to read a monitor template", "type": "object", "properties": { "credentialCount": { "format": "int32", "description": "Number of device roles used to generate this structure include device roles with only errors.", "type": "integer" }, "errors": { "description": "Set of errors encountered during the read request", "type": "array", "items": { "type": "string" } }, "templates": { "description": "Set of templates matching filter criteria.", "type": "array", "items": { "$ref": "#/definitions/CredentialTemplate" } } } }, "CredentialTemplate": { "description": "Credential template structure", "type": "object", "properties": { "templateId": { "description": "Unique identifier for this template", "type": "string" }, "type": { "description": "Type of credential", "type": "string" }, "propertyBags": { "description": "Configuration Data Field", "type": "array", "items": { "$ref": "#/definitions/CredentialPropertyBag" } }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "CredentialTemplateBatch": { "description": "Provide a set of device templates to be applied", "type": "object", "properties": { "options": { "description": "Set of options for applying the template", "type": "array", "items": { "type": "string" } }, "allowModifies": { "description": "If true and template has an id, template will be used to modify matching credentials. If credential with a validate id is not found, template will be ignored.\r\nif false, the id field will be ignored.", "type": "boolean" }, "templates": { "description": "Set of templates to be applied. All templates will attempt to create a new credential.", "type": "array", "items": { "$ref": "#/definitions/CredentialTemplate" } } } }, "Result[ApplyTemplateResults]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/ApplyTemplateResults", "description": "The data payload", "readOnly": true } } }, "ApplyTemplateResults": { "description": "Results of an apply operations", "type": "object", "properties": { "idMap": { "description": "returns a list of template Id to device identifier that where created.", "type": "array", "items": { "$ref": "#/definitions/TemplateMap" } }, "errors": { "description": "return a list of template to errors/warnings produced by each template", "type": "array", "items": { "$ref": "#/definitions/TemplateErrorMap" } }, "update": { "$ref": "#/definitions/TemplateUpdate", "description": "return information about the update request that may be requested" }, "operations": { "format": "int32", "description": "when possible, number of operations will be returned", "type": "integer" }, "successful": { "format": "int32", "description": "when possible, number of successful operations will be returned", "type": "integer" } } }, "TemplateMap": { "description": "provides a mapping from a template id to the resulting generated id.", "type": "object", "properties": { "templateId": { "description": "Caller provided template Id", "type": "string" }, "resultId": { "description": "Id generated when template was applied.", "type": "string" } } }, "TemplateErrorMap": { "description": "A set of errors per template", "type": "object", "properties": { "templateId": { "description": "Template identifier error was created for.", "type": "string" }, "messages": { "description": "Errors found with template", "type": "array", "items": { "type": "string" } } } }, "TemplateUpdate": { "description": "Request an update of the devices created while applying template.", "type": "object", "properties": { "success": { "description": "Update request was successfully made", "type": "boolean" }, "id": { "description": "Update returned by refresh/rescan request", "type": "string" }, "name": { "description": "Device scan name returned by update request", "type": "string" }, "description": { "description": "Device scan description returned by update request", "type": "string" } } }, "Result[DeviceAttribute]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/DeviceAttribute", "description": "The data payload", "readOnly": true } } }, "DeviceAttribute": { "description": "Attribute associated with the device", "type": "object", "properties": { "attributeId": { "description": "unique identifier for this attribute value combo", "type": "string" }, "name": { "description": "Name of attribute", "type": "string" }, "value": { "description": "value of attribute", "type": "string" }, "discovered": { "description": "value set based on scan/refresh/rescan results\r\nvalue is considered custom if 'value' and 'discovered' do not match\r\nvalue will be empty if attribute has not matching discovered values", "type": "string" }, "id": { "type": "string" } } }, "Result[SuccessResult]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/SuccessResult", "description": "The data payload", "readOnly": true } } }, "PageResult[List[DeviceAttribute]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[DeviceAttribute]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/DeviceAttribute" }, "readOnly": true } } }, "PagingInfo[List[DeviceAttribute]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "Result[CountedSuccessResult]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/CountedSuccessResult", "description": "The data payload", "readOnly": true } } }, "BulkDeviceAttributeBatch": { "description": "The set of devices attributes to be operated on", "type": "object", "properties": { "deleteAllAttributes": { "description": "remove all attributes from device\r\nOptional. This will be applied first.", "type": "boolean" }, "attributesToDelete": { "description": "The list of attribute ids to remove from device. Attribute Id not found on device will be skipped.\r\nOptional. This will be applied second.", "type": "array", "items": { "type": "string" } }, "attributeNamesToDelete": { "description": "The list of attribute names to remove from device. case insensitive\r\nOptional. This list will be applied thrid", "type": "array", "items": { "type": "string" } }, "attributeNameContainsToDelete": { "description": "If attribute names contains one of these values. Case insensitive.\r\nOptional. This list will be applied third", "type": "array", "items": { "type": "string" } }, "attributeValueContainsToDelete": { "description": "If attribute value contains one of these values. Case insensitive.\r\nOptional. This list will be applied thrid", "type": "array", "items": { "type": "string" } }, "attributeToModify": { "description": "The list of device attributes to modify\r\nOptional. This list will be applied fourth", "type": "array", "items": { "$ref": "#/definitions/DeviceAttributeModifier" } }, "attributesToAdd": { "description": "The list of device attributes add to device\r\nOptional. This list will be applied last", "type": "array", "items": { "$ref": "#/definitions/DeviceAttributeNameValue" } } } }, "DeviceAttributeModifier": { "description": "Attribute modify operation for a device", "type": "object", "properties": { "attributeId": { "description": "unique identifier for this attribute value combo", "type": "string" }, "name": { "description": "Name of attribute", "type": "string" }, "value": { "description": "value of attribute", "type": "string" } } }, "DeviceAttributeNameValue": { "description": "The devices attributes for add operations", "type": "object", "properties": { "name": { "description": "Name of attribute", "type": "string" }, "value": { "description": "value of attribute", "type": "string" } } }, "PageResult[List[DeviceGroupSummary]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[DeviceGroupSummary]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/DeviceGroupSummary" }, "readOnly": true } } }, "PagingInfo[List[DeviceGroupSummary]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "DeviceGroupSummary": { "description": "The high level summary information describing a given \r\ndevice group. This is mostly intended for grids and quick\r\naccess to basic information about a device group.", "type": "object", "properties": { "parentGroupId": { "description": "Immediate parent group id. Empty if root group.d", "type": "string" }, "details": { "$ref": "#/definitions/DeviceGroupDetails", "description": "Additional details filled out when detail view is selected" }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "DeviceGroupDetails": { "description": "Details about group membership, monitor state, type of group, etc.", "type": "object", "properties": { "groupType": { "description": "DeviceType of the device group entry", "type": "string" }, "monitorState": { "description": "MonitorState of the device group entry", "type": "string" }, "childrenCount": { "format": "int32", "description": "number of child groups", "type": "integer" }, "deviceChildrenCount": { "format": "int32", "description": "Count of the number of devices directly under the device group entry", "type": "integer" }, "deviceDescendantCount": { "format": "int32", "description": "Count of the number of devices in all recursive levels under the device group entry", "type": "integer" } } }, "BulkDeviceGroupAssignmentBatch": { "description": "The set of device group assignments to be operated on", "type": "object", "properties": { "groupsToDelete": { "description": "The list of group ids to remove from device. \r\nOnly static device groups can be deleted.\r\nGroup Ids device is not a member of will be skipped.\r\nDeletes are processed before adds.\r\nAt the end of operations, the device must belong to one or more static groups", "type": "array", "items": { "type": "string" } }, "groupsToAdd": { "description": "The list of group ids to be added to the device.\r\nOnly static device group assignments can be added\r\nGroup Ids device are already a member of, will be skipped.\r\nDeletes are processed before adds.\r\nAt the end of operations, the device must belong to one or more static groups", "type": "array", "items": { "type": "string" } } } }, "Result[NetworkInterface]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/NetworkInterface", "description": "The data payload", "readOnly": true } } }, "NetworkInterface": { "description": "Network interface associated with a device", "type": "object", "properties": { "interfaceId": { "description": "unique identifier for this network interface", "type": "string" }, "hostName": { "description": "Ip or Host/Dns name for network interface, required\r\nMust be a valid ip, host name or dns name.", "type": "string" }, "address": { "description": "ip for network interface, required\r\nMust be a valid ip address", "type": "string" }, "defaultInterface": { "description": "this network interface is the default interface for the device, default: false", "type": "boolean" }, "pollUsingName": { "description": "when using this interface to poll, use hostname field instead of address. default: false", "type": "boolean" } } }, "NetworkInterfaceUpdate": { "description": "Update a network interface's data", "type": "object", "properties": { "hostName": { "description": "Ip or Host/Dns name for network interface, if empty, no change", "type": "string" }, "address": { "description": "ip for network interface, if empty, no change", "type": "string" }, "defaultInterface": { "description": "set this interface as default. If empty or false, no change", "type": "boolean" }, "pollUsingName": { "description": "When using this interface to poll, use hostname instead of address. if not set, no change", "type": "boolean" } } }, "NetworkInterfaceData": { "description": "Configured network interface data", "type": "object", "properties": { "hostName": { "description": "Ip or Host/Dns name for network interface, required\r\nMust be a valid ip, host name or dns name.", "type": "string" }, "address": { "description": "ip for network interface, required\r\nMust be a valid ip address", "type": "string" }, "defaultInterface": { "description": "this network interface is the default interface for the device, default: false", "type": "boolean" }, "pollUsingName": { "description": "when using this interface to poll, use hostname field instead of address. default: false", "type": "boolean" } } }, "PageResult[List[NetworkInterface]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[NetworkInterface]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/NetworkInterface" }, "readOnly": true } } }, "PagingInfo[List[NetworkInterface]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "BulkNetworkInterfaceBatch": { "description": "The set of network interface operated to apply. Operations are done in group in order specified. \r\nSame rules for duplicates and default network interface apply at the end of each operation.\r\n Simply not duplicate ip addresse\r\n A device must have one and only one default network interface at the end of each operation\r\n The network interface currently marked as default cannot be deleted\r\n To change the default network interface, another network interface must be specified", "type": "object", "properties": { "deleteAllInterfaces": { "description": "remove all network interfaces expect default interface from device\r\nThis device's default network interface cannot be remomved. \r\nOptional. This is applied first. Default: false", "type": "boolean" }, "interfacesToDelete": { "description": "The list of network interface ids to remove from device. Network Interface Id not found on device will be skipped. \r\nThis device's default network interface cannot be remomved. \r\nOptional. This will be applied second.", "type": "array", "items": { "type": "string" } }, "addressOrHostNameToDelete": { "description": "The list of strings to do partial matches on address or host name and remove from device.\r\nThis device's default network interface will not be removed. \r\nOptional. This list will be applied third\r\nNote:", "type": "array", "items": { "type": "string" } }, "interfaceToModify": { "description": "The list of network interfaces to modify. These will be applied in order. Same rules as single update is applied to each operation.\r\nOptional. This list will be applied fourth", "type": "array", "items": { "$ref": "#/definitions/NetworkInterfaceUpdateWithId" } }, "interfacesToAdd": { "description": "The list of network interfaces being added to the device. These will be applied in order. Same rules as single add is applied for each operation.\r\nOptional. This list will be applied last", "type": "array", "items": { "$ref": "#/definitions/NetworkInterfaceData" } } } }, "NetworkInterfaceUpdateWithId": { "description": "Update a network interface's data", "type": "object", "properties": { "interfaceId": { "description": "configured interface identifier, this field is required to use this structure.", "type": "string" }, "hostName": { "description": "Ip or Host/Dns name for network interface, if empty, no change", "type": "string" }, "address": { "description": "ip for network interface, if empty, no change", "type": "string" }, "defaultInterface": { "description": "set this interface as default. If empty or false, no change", "type": "boolean" }, "pollUsingName": { "description": "When using this interface to poll, use hostname instead of address. if not set, no change", "type": "boolean" } } }, "Result[List[Credential]]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/Credential" }, "readOnly": true } } }, "Result[AssignedMonitor]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/AssignedMonitor", "description": "The data payload", "readOnly": true } } }, "AssignedMonitor": { "description": "Class MonitorDto.", "type": "object", "properties": { "id": { "description": "assignment id", "type": "string" }, "description": { "description": "Monitor library description for the monitor", "type": "string" }, "status": { "description": "status of assigned monitor", "type": "string" }, "type": { "description": "Type of monitor (active, performance, passive)", "enum": [ "active", "performance", "passive" ], "type": "string" }, "monitorTypeId": { "description": "The monitor type id as it exists in the library", "type": "string" }, "monitorTypeClassId": { "description": "The monitor type class id", "type": "string" }, "monitorTypeName": { "description": "The monitor type name as it exists in the library", "type": "string" }, "enabled": { "description": "Monitors assignment is enabled if true", "type": "boolean" }, "isGlobal": { "description": "Monitor Assignment is from the global monitor library if true.", "type": "boolean" }, "active": { "$ref": "#/definitions/ActiveMonitorItems", "description": "Setup active monitor assignment overrides" }, "performance": { "$ref": "#/definitions/PerformanceMonitorItems", "description": "Setup performance monitor assignment overrides" }, "passive": { "$ref": "#/definitions/PassiveMonitorItems", "description": "Setup passive monitor assignment overrides" } } }, "ActiveMonitorItems": { "description": "Additional information for assigning active monitors", "type": "object", "properties": { "comment": { "description": "Comment specified when the monitor was assigned to the device\r\nTypically used for interface active monitor assignment where comment is the interface description", "type": "string" }, "argument": { "description": "Gets or sets the argument.", "type": "string" }, "interfaceId": { "description": "Gets or sets the network interface id", "type": "string" }, "pollingIntervalSeconds": { "format": "int32", "description": "Gets or sets the polling interval for the monitor\r\nValid values are between 10 and 86400 seconds inclusive", "type": "integer" }, "criticalOrder": { "format": "int32", "description": "Gets or sets the critical order for the active monitor", "type": "integer" }, "actionPolicyId": { "description": "Gets or sets the action policy id", "type": "string" }, "actionPolicyName": { "description": "Gets or sets the action policy Name", "type": "string" } } }, "PerformanceMonitorItems": { "description": "Additional information for assigning active monitors", "type": "object", "properties": { "pollingIntervalMinutes": { "format": "int32", "description": "Gets or sets the polling interval for the monitor", "type": "integer" } } }, "PassiveMonitorItems": { "description": "Additional information for assigning active monitors", "type": "object", "properties": { "actions": { "description": "Actions to be taken when passive monitor recieves an trap/event", "type": "array", "items": { "$ref": "#/definitions/ActionItem" } } } }, "ActionItem": { "description": "Action to be taken", "type": "object", "properties": { "actionTypeId": { "description": "Get action type id", "type": "string" }, "actionTypeName": { "description": "Name of action type", "type": "string" }, "actionTypeClassId": { "description": "Class of action type", "type": "string" } } }, "MonitorAssignmentBasic": { "description": "Add or update an active monitor assignment", "type": "object", "properties": { "enabled": { "description": "Mark monitor as enabled", "type": "boolean" }, "active": { "$ref": "#/definitions/ActiveMonitorItems", "description": "Active monitor configuration choices" }, "passive": { "$ref": "#/definitions/PassiveMonitorItems", "description": "passive monitor configuration choices" }, "performance": { "$ref": "#/definitions/PerformanceMonitorItems", "description": "performance monitor configuration choices" } } }, "PageResult[List[AssignedMonitor]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[AssignedMonitor]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/AssignedMonitor" }, "readOnly": true } } }, "PagingInfo[List[AssignedMonitor]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "SimpleAssignMonitor": { "description": "Assign a monitor to a given device", "type": "object", "properties": { "type": { "description": "Type of monitor (active, performance, passive)", "enum": [ "active", "performance", "passive" ], "type": "string" }, "monitorTypeId": { "description": "The monitor type id as it exists in the library", "type": "string" }, "monitorTypeClassId": { "description": "The monitor type class id", "type": "string" }, "monitorTypeName": { "description": "The monitor type name as it exists in the library", "type": "string" }, "enabled": { "description": "Monitors assignment is enabled if true", "type": "boolean" }, "isGlobal": { "description": "Monitor Assignment is from the global monitor library if true.", "type": "boolean" }, "active": { "$ref": "#/definitions/ActiveMonitorItems", "description": "Setup active monitor assignment overrides" }, "performance": { "$ref": "#/definitions/PerformanceMonitorItems", "description": "Setup performance monitor assignment overrides" }, "passive": { "$ref": "#/definitions/PassiveMonitorItems", "description": "Setup passive monitor assignment overrides" } } }, "MonitorAssignmentBatch": { "description": "Batch operation against monitor assignments on a device", "type": "object", "properties": { "remove": { "description": "List of monitor assignment ids to remove from the device", "type": "array", "items": { "type": "string" } }, "removeByQuery": { "description": "remove monitor assignments based on a query", "type": "array", "items": { "$ref": "#/definitions/MonitorTypeAssignmentQuery" } }, "newAssignments": { "description": "List of new monitors assignments to be added to a device", "type": "array", "items": { "$ref": "#/definitions/SimpleAssignMonitor" } }, "assignmentChanges": { "description": "List of monitor assignments to be changed on a device", "type": "array", "items": { "$ref": "#/definitions/MonitorAssignmentUpdate" } } } }, "MonitorTypeAssignmentQuery": { "description": "Set of information used to query for monitors matching a particular type\r\nAt minimum, one of the three values must be filled in to be valid", "type": "object", "properties": { "type": { "description": "Monitor type to query", "enum": [ "all", "active", "performance", "passive" ], "type": "string" }, "search": { "description": "search criteria to test name, description, classid, argument, comment", "type": "string" }, "typeId": { "format": "int32", "description": "id of monitor type to query", "type": "integer" } } }, "MonitorAssignmentUpdate": { "description": "update an active monitor assignment", "type": "object", "properties": { "id": { "description": "The id of the resource", "type": "string" }, "enabled": { "description": "Mark monitor as enabled", "type": "boolean" }, "active": { "$ref": "#/definitions/ActiveMonitorItems", "description": "Active monitor configuration choices" }, "passive": { "$ref": "#/definitions/PassiveMonitorItems", "description": "passive monitor configuration choices" }, "performance": { "$ref": "#/definitions/PerformanceMonitorItems", "description": "performance monitor configuration choices" } } }, "Result[DevicePollingConfig]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/DevicePollingConfig", "description": "The data payload", "readOnly": true } } }, "DevicePollingConfig": { "description": "The basic configuration for a device. This includes \r\nthe first class settings such as polling interval,\r\npoll-by-host setting, and a few others. It is intended\r\nfor quick access and configuration of basic settings.", "type": "object", "properties": { "pollingIntervalSeconds": { "format": "int32", "description": "The device-level default for how often active\r\nmonitors are polled.", "type": "integer" }, "pollByHostName": { "description": "Indicates monitors should use the host name to \r\nresolve the target ip address when polling.", "type": "boolean" }, "maintenance": { "$ref": "#/definitions/MaintenanceConfig", "description": "maintenance mode configuration" } } }, "MaintenanceConfig": { "description": "The maintenance mode configuration for a device", "type": "object", "properties": { "schedules": { "type": "array", "items": { "$ref": "#/definitions/ScheduleAndDuration" } }, "enabled": { "description": "Indicates the device is currently in manual maintenance", "type": "boolean" }, "manual": { "$ref": "#/definitions/MaintenanceConfigManual", "description": "Manual maintenance mode configuration" } } }, "ScheduleAndDuration": { "description": "Add a duration to a schedule that also can be expired. This is used for maintenance mode along with\r\nother schedules in the system. Duration is setup by default as 24 hours and should not exceed 24 hours.", "type": "object", "properties": { "duration": { "$ref": "#/definitions/AppliedDuration", "description": "Duration to be applied" }, "effectiveStartDate": { "$ref": "#/definitions/Date", "description": "Date at which this schedule should be activated" }, "effectiveExpirationDate": { "$ref": "#/definitions/Date", "description": "Date at which this schedule should be de-activated" }, "daily": { "$ref": "#/definitions/DailySchedule", "description": "recur on a daily schedule" }, "weekly": { "$ref": "#/definitions/WeeklySchedule", "description": "recur on a weekly schedule" }, "monthly": { "$ref": "#/definitions/MonthlySchedule", "description": "recur on a monthly schedule" }, "monthlyAdvance": { "$ref": "#/definitions/MonthlyAdvanceSchedule", "description": "recur on a advance monthly schedule" }, "yearly": { "$ref": "#/definitions/YearlySchedule", "description": "recur on a yearly schedule" }, "yearlyAdvance": { "$ref": "#/definitions/YearlyAdvanceSchedule", "description": "recur on a advance yearly schedule" } } }, "MaintenanceConfigManual": { "description": "The maintenance mode configuration for a device", "type": "object", "properties": { "userId": { "description": "user that placed device into maintenance mode", "type": "string" }, "user": { "description": "user name that placed device into maintenance mode", "type": "string" }, "enabled": { "description": "Indicates the device is currently in manual maintenance", "type": "boolean" }, "endUtc": { "format": "date-time", "description": "Indicates the end date for when the device will no longer \r\nbe in manual maintenance", "type": "string" }, "reason": { "description": "Indicates the Reason for the Maintenance (Max 250 Characters)", "maxLength": 250, "minLength": 0, "type": "string" } } }, "AppliedDuration": { "description": "duration to be applied, default=24 hours.\r\nboth start and end times must be provided.", "type": "object", "properties": { "startTime": { "$ref": "#/definitions/TimeOfDay", "description": "Start time of the scheduled task" }, "endTime": { "$ref": "#/definitions/TimeOfDay", "description": "end time of day" } } }, "Date": { "description": "structure for generic date", "type": "object", "properties": { "day": { "format": "int32", "description": "day of the month, 1 to 31", "type": "integer" }, "month": { "description": "Month of the year", "enum": [ "january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december" ], "type": "string" }, "year": { "format": "int32", "description": "year, valid values 1901 to 9999", "type": "integer" } } }, "DailySchedule": { "description": "daily schedule\r\n \r\nAllow an event to be schedule every x days.\r\nShortest time allowed is 1 day\r\nLongest time allowed is 366 day or 1 leap year.", "type": "object", "properties": { "repeat": { "format": "int32", "description": "Recurring interval for timed intervals\r\nie, recur every (1,2...) days", "type": "integer" } } }, "WeeklySchedule": { "description": "recur weekly\r\n \r\nWeekly schedule contains the number of weeks between events\r\nand the days of the event week the event will happen\r\nThe shortest time is every week, every day\r\nThe longest time between events is once every 52 weeks (a year) on a single day of the week", "type": "object", "properties": { "repeat": { "format": "int32", "description": "Recurring interval for timed intervals\r\nie, recur every (1,2...) weeks", "type": "integer" }, "daysOfTheWeek": { "$ref": "#/definitions/DaysOfTheWeek", "description": "Used for weekly scheduling\r\nif an entry is true, the scheduled event is fired on\r\nthe selected day of the week" } } }, "MonthlySchedule": { "description": "Recur monthly\r\n \r\nThe event can be schedule on a particular day of the month and repeated every x months.\r\n \r\nShortest schedule is every month\r\nLongest schedule is once every 12 months or once a year.\r\n \r\nIf the day of the month the event is to be fired on does not have 29, 30 or 31 days,\r\nthen the event is fired on the last day of the month.\r\n \r\nday:\r\n first can be used to indicated the 1st day of the month,\r\n last can be used to indicated the last day of the month.", "type": "object", "properties": { "repeat": { "format": "int32", "description": "Recurring interval, number of months\r\nie, recur every (1,2...) months", "type": "integer" }, "day": { "description": "day of the month to fire the event.\r\n1-31 will happen on the explicit day\r\n\"first\" will be first day of the month\r\n\"last\" will be last day of the month", "type": "string" } } }, "MonthlyAdvanceSchedule": { "description": "Recur monthly advance\r\n \r\nThe event can be schedule x occurence a day (Monday...Sunday) of the month and repeated every n months.\r\n \r\nShortest schedule is every month\r\nLongest schedule is once every 12 months or once a year.\r\n \r\nThe day of the month chosen is the x occurence of that day in the month.\r\nFor example, 3rd Monday, 2nd Tuesday, etc.", "type": "object", "properties": { "repeat": { "format": "int32", "description": "Recurring interval, number of months\r\nie, recur every (1,2...) months", "type": "integer" }, "occurence": { "description": "recur week of a month", "enum": [ "first", "second", "third", "fourth", "last" ], "type": "string" }, "dayOfWeek": { "description": "Day of the week", "enum": [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ], "type": "string" } } }, "YearlySchedule": { "description": "recur once a year\r\n \r\nrepeat event once a year on a particular day.\r\nif the month does not support the day, the event will happen last day of the month.\r\nthis allows for schedules like 29 Feb for leap years.\r\n \r\nshortest schedule once a year\r\nlongest schedule once a year", "type": "object", "properties": { "day": { "description": "day of the month to fire the event.\r\n1-31 will happen on the explicit day\r\n\"first\" will be first day of the month\r\n\"last\" will be last day of the month", "type": "string" }, "month": { "description": "Month of the year", "enum": [ "january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december" ], "type": "string" } } }, "YearlyAdvanceSchedule": { "description": "recur once a year advance\r\n \r\nschedule event for once a year, for the n occurence of a day in a particular month.\r\n \r\nshortest schedule, once a year\r\nlongest schedule, once a year\r\n \r\nThe day of the month chosen is the x occurence of that day in that month.\r\nFor example, 3rd Monday, 2nd Tuesday, etc.", "type": "object", "properties": { "week": { "description": "recur week of a month", "enum": [ "first", "second", "third", "fourth", "last" ], "type": "string" }, "dayOfWeek": { "description": "Day of the week", "enum": [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ], "type": "string" }, "month": { "description": "Month of the year", "enum": [ "january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december" ], "type": "string" } } }, "TimeOfDay": { "description": "Time of the day", "type": "object", "properties": { "hour": { "format": "int32", "description": "0 to 23, hours of the day", "type": "integer" }, "minute": { "format": "int32", "description": "minute, 0 to 59", "type": "integer" } } }, "DaysOfTheWeek": { "description": "Day of the week,\r\nSet each day of the week the event should happen on to true.\r\nTo be valid, at least one day of the week must be set to true.", "type": "object", "properties": { "sunday": { "description": "Sunday", "type": "boolean" }, "monday": { "description": "Monday", "type": "boolean" }, "tuesday": { "description": "Tuesday", "type": "boolean" }, "wednesday": { "description": "Wednesday", "type": "boolean" }, "thursday": { "description": "Thursday", "type": "boolean" }, "friday": { "description": "Friday", "type": "boolean" }, "saturday": { "description": "Saturday", "type": "boolean" } } }, "DevicePollingConfigUpdate": { "description": "Update general polling values", "type": "object", "properties": { "pollingIntervalSeconds": { "format": "int32", "description": "The device-level default for how often active\r\nmonitors are polled.", "type": "integer" } } }, "MaintenanceConfigBasic": { "description": "The maintenance mode configuration for a device", "type": "object", "properties": { "enabled": { "description": "Indicates the device is currently in manual maintenance", "type": "boolean" }, "endUtc": { "format": "date-time", "description": "Indicates the end date for when the device will no longer \r\nbe in manual maintenance", "type": "string" }, "reason": { "description": "Indicates the Reason for the Maintenance (Max 250 Characters)", "maxLength": 250, "minLength": 0, "type": "string" } } }, "MaintenanceSchedule": { "description": "The maintenance mode schedule for a device", "type": "object", "properties": { "schedules": { "type": "array", "items": { "$ref": "#/definitions/ScheduleAndDuration" } } } }, "MaintenanceConfigManualBatch": { "description": "The maintenance mode configuration for a list of devices", "type": "object", "properties": { "devices": { "type": "array", "items": { "type": "string" } }, "enabled": { "description": "Indicates the device is currently in manual maintenance", "type": "boolean" }, "endUtc": { "format": "date-time", "description": "Indicates the end date for when the device will no longer \r\nbe in manual maintenance", "type": "string" }, "reason": { "description": "Indicates the Reason for the Maintenance (Max 250 Characters)", "maxLength": 250, "minLength": 0, "type": "string" } } }, "MaintenanceScheduleBatch": { "description": "The maintenance mode configuration for a list of devices", "type": "object", "properties": { "devices": { "type": "array", "items": { "type": "string" } }, "schedules": { "type": "array", "items": { "$ref": "#/definitions/ScheduleAndDuration" } } } }, "DevicePollingConfigUpdateBatch": { "description": "Update general polling information in a batch", "type": "object", "properties": { "devices": { "type": "array", "items": { "type": "string" } }, "pollingIntervalSeconds": { "format": "int32", "description": "The device-level default for how often active\r\nmonitors are polled.", "type": "integer" } } }, "BulkDeviceBatch": { "description": "The set of devices to be operated on", "type": "object", "properties": { "devices": { "description": "The list of device ids to be operated on", "type": "array", "items": { "type": "string" } } } }, "Result[DeviceProperties]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/DeviceProperties", "description": "The data payload", "readOnly": true } } }, "DeviceProperties": { "description": "General device properties", "type": "object", "properties": { "id": { "description": "The id of the resource", "type": "string" }, "displayName": { "description": "Get or set displayName of the device", "type": "string" }, "isWireless": { "description": "Gets or sets a value indicating whether this instance is wireless.", "type": "boolean" }, "collectWireless": { "description": "Gets or sets a value indicating whether this instance would collect wireless information.", "type": "boolean" }, "keepDetailsCurrent": { "description": "Gets or sets a value indicating whether [keep details current].", "type": "boolean" }, "note": { "description": "Gets or sets the note.", "type": "string" }, "snmpOid": { "description": "Gets or sets the SNMP oid.", "type": "string" }, "actionPolicy": { "$ref": "#/definitions/NamedResource2", "description": "Get or set the action policy for the device" } } }, "NamedResource2": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "DevicePropertiesWithName": { "description": "General device properties", "type": "object", "properties": { "displayName": { "description": "Get or set displayName of the device", "type": "string" }, "isWireless": { "description": "Gets or sets a value indicating whether this instance is wireless.", "type": "boolean" }, "collectWireless": { "description": "Gets or sets a value indicating whether this instance would collect wireless information.", "type": "boolean" }, "keepDetailsCurrent": { "description": "Gets or sets a value indicating whether [keep details current].", "type": "boolean" }, "note": { "description": "Gets or sets the note.", "type": "string" }, "snmpOid": { "description": "Gets or sets the SNMP oid.", "type": "string" }, "actionPolicy": { "$ref": "#/definitions/NamedResource2", "description": "Get or set the action policy for the device" } } }, "DevicePropertiesBatch": { "description": "Update properties on multiple devices. Do not allow display names to be updated", "type": "object", "properties": { "devices": { "description": "The list of device ids to be operated on", "type": "array", "items": { "type": "string" } }, "isWireless": { "description": "Gets or sets a value indicating whether this instance is wireless.", "type": "boolean" }, "collectWireless": { "description": "Gets or sets a value indicating whether this instance would collect wireless information.", "type": "boolean" }, "keepDetailsCurrent": { "description": "Gets or sets a value indicating whether [keep details current].", "type": "boolean" }, "note": { "description": "Gets or sets the note.", "type": "string" }, "snmpOid": { "description": "Gets or sets the SNMP oid.", "type": "string" }, "actionPolicy": { "$ref": "#/definitions/NamedResource2", "description": "Get or set the action policy for the device" } } }, "DeviceRefreshOptions": { "description": "Options for requesting refresh configuration information from the phyiscal device\r\nAll options false is equivalent to 'Refresh Device Details'. Chosing an option is equalivant to doing a 'Rescan Device' give UI seperation of operation", "type": "object", "properties": { "updateNamesForTableActiveMonitor": { "description": "Update the comments for matching table active monitors based on physical device settings.\r\nThis includes interface and SNMP table active monitors\r\nDefault: false", "type": "boolean" }, "updateEnableSettingsForTableActiveMonitor": { "description": "Enable or disable matching table active monitors based on physical device interface settings.\r\nThis includes interface and SNMP table active monitors\r\nDefault: false", "type": "boolean" }, "addUseInRescanActiveMonitor": { "description": "test and apply passing active monitors mark for 'use in rescon' to device. Default: false", "type": "boolean" }, "includeAssignedRoles": { "description": "include current role, subrole, brand and OS as matching. Collect data for all matching roles and apply to device. Default: false", "type": "boolean" }, "resetOptions": { "description": "list of reset options to be applied. Case-insenstive\r\nwhen empty reset will not be preformed on the device.\r\n\r\nReplace data currently known with only data received in this scan\r\n\r\n\tDefault Options:\r\n\t*\tinventory - replace inventory information gathered about device\r\n\t*\tresources - replace resource information from api provider like AWS, Azure, Meraki\r\n\t*\tmac - drop MAC address information stored in inventory, attributes and associated tables\r\n\t*\tinterfaces - drop Network Interface information exception default Network Interface\r\n\t*\troles - replace primary role\r\n\t*\tos - replace OS role\r\n\t*\tbrand - replace Brand Information\r\n\t*\tsnmp - replace system oid in device properties, attributes and inventory\r\n\t*\tdisplayName - replace display name with current determined name\r\n\t*\tattributes - remove role-base attributes from device and add attributes based on new set of roles\r\n\t* notes - remove device notes and replace with new role note\r\n\t\r\n\tAdditional Options:\r\n\t* default - include default options\r\n\t*\tmonitors - remove all monitors on the device and reset monitor (Note: this will lose monitor history)\r\n\t*\tprimaryIp - change the default Network Interface with interface determined by scan\r\n\t*\thistory - remove device refresh history\r\n\t*\tcredentials - replace credentials with those validated in the scan\r\n\t* allAttributes - remove all attributes from device and add attributes based on new set of roles", "type": "array", "items": { "type": "string" } }, "dropDataOlderThanHours": { "format": "int32", "description": "remove stale inventory data collected prior to x hours ago, less than 0 ignored, 0 will use system default hours, Defaut: -1", "type": "integer" } } }, "Result[NamedResourceSuccessResult]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/NamedResourceSuccessResult", "description": "The data payload", "readOnly": true } } }, "NamedResourceSuccessResult": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "success": { "type": "boolean" } } }, "BulkDeviceRefresh": { "description": "provide a set of devices for refresh/rescan to be preformed", "type": "object", "properties": { "deviceIds": { "description": "List of device ids to be refreshed", "type": "array", "items": { "type": "string" } }, "updateNamesForTableActiveMonitor": { "description": "Update the comments for matching table active monitors based on physical device settings.\r\nThis includes interface and SNMP table active monitors\r\nDefault: false", "type": "boolean" }, "updateEnableSettingsForTableActiveMonitor": { "description": "Enable or disable matching table active monitors based on physical device interface settings.\r\nThis includes interface and SNMP table active monitors\r\nDefault: false", "type": "boolean" }, "addUseInRescanActiveMonitor": { "description": "test and apply passing active monitors mark for 'use in rescon' to device. Default: false", "type": "boolean" }, "includeAssignedRoles": { "description": "include current role, subrole, brand and OS as matching. Collect data for all matching roles and apply to device. Default: false", "type": "boolean" }, "resetOptions": { "description": "list of reset options to be applied. Case-insenstive\r\nwhen empty reset will not be preformed on the device.\r\n\r\nReplace data currently known with only data received in this scan\r\n\r\n\tDefault Options:\r\n\t*\tinventory - replace inventory information gathered about device\r\n\t*\tresources - replace resource information from api provider like AWS, Azure, Meraki\r\n\t*\tmac - drop MAC address information stored in inventory, attributes and associated tables\r\n\t*\tinterfaces - drop Network Interface information exception default Network Interface\r\n\t*\troles - replace primary role\r\n\t*\tos - replace OS role\r\n\t*\tbrand - replace Brand Information\r\n\t*\tsnmp - replace system oid in device properties, attributes and inventory\r\n\t*\tdisplayName - replace display name with current determined name\r\n\t*\tattributes - remove role-base attributes from device and add attributes based on new set of roles\r\n\t* notes - remove device notes and replace with new role note\r\n\t\r\n\tAdditional Options:\r\n\t* default - include default options\r\n\t*\tmonitors - remove all monitors on the device and reset monitor (Note: this will lose monitor history)\r\n\t*\tprimaryIp - change the default Network Interface with interface determined by scan\r\n\t*\thistory - remove device refresh history\r\n\t*\tcredentials - replace credentials with those validated in the scan\r\n\t* allAttributes - remove all attributes from device and add attributes based on new set of roles", "type": "array", "items": { "type": "string" } }, "dropDataOlderThanHours": { "format": "int32", "description": "remove stale inventory data collected prior to x hours ago, less than 0 ignored, 0 will use system default hours, Defaut: -1", "type": "integer" } } }, "Result[List[DeviceRoleAssignment]]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/DeviceRoleAssignment" }, "readOnly": true } } }, "DeviceRoleAssignment": { "description": "Role history structure", "type": "object", "properties": { "kind": { "description": "The kind of the role.", "enum": [ "all", "role", "brandModel", "os", "subRole", "monitor", "template", "interfaceFilter", "deviceFilter", "monitorCriteria" ], "type": "string" }, "isNetworkDevice": { "description": "Marks the role as a network device role", "type": "boolean" }, "addedByUser": { "description": "Signifies whether the user added the role.", "type": "boolean" }, "lastSeenUtc": { "format": "date-time", "description": "The Last time the role was seen on the device.", "type": "string" }, "alternateName": { "description": "Alternate name for the role. This name should be used if non-empty or null", "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "BulkAssignDeviceRoleWithName": { "description": "Bulk operation brand assignment information", "type": "object", "properties": { "devices": { "description": "List of device identifiers to be updated", "type": "array", "items": { "type": "string" } }, "name": { "description": "Name or identifier of role to be assigned", "type": "string" } } }, "DeviceAssignSubRoleOperation": { "description": "operation to assign, clear, delete subroles", "type": "object", "properties": { "operation": { "description": "Gets or sets the operation.", "enum": [ "clear", "add", "delete", "replace" ], "type": "string" }, "subroles": { "description": "Subrole names or ids to add or delete, ignored if operation is 'clear'", "type": "array", "items": { "type": "string" } } } }, "BulkDeviceAssignSubRole": { "description": "Assign sub roles to a set of devices", "type": "object", "properties": { "devices": { "description": "list of devices to operate on", "type": "array", "items": { "type": "string" } }, "operation": { "description": "Gets or sets the operation.", "enum": [ "clear", "add", "delete", "replace" ], "type": "string" }, "subroles": { "description": "Subrole names or ids to add or delete, ignored if operation is 'clear'", "type": "array", "items": { "type": "string" } } } }, "Result[DeviceTemplateReadResults]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/DeviceTemplateReadResults", "description": "The data payload", "readOnly": true } } }, "DeviceTemplateReadResults": { "description": "Results returned when calling to read a device template", "type": "object", "properties": { "deviceCount": { "format": "int32", "description": "Number of devices used to generate this structure include devices with only errors.", "type": "integer" }, "errors": { "description": "Set of errors encountered during the read request", "type": "array", "items": { "type": "string" } }, "templates": { "description": "Set of templates matching filter criteria.", "type": "array", "items": { "$ref": "#/definitions/DeviceTemplate" } } } }, "DeviceTemplate": { "description": "Template for creating a device", "type": "object", "properties": { "templateId": { "description": "Id user can assign for the template.\r\nthe system will assign one if needed.\r\nAll error messages, etc will be contain the template id.", "type": "string" }, "displayName": { "description": "Required: Display Name for the device, required field", "maxLength": 150, "minLength": 0, "type": "string" }, "deviceType": { "description": "Device Type being used for this device, default=\"Workstation\"", "type": "string" }, "snmpOid": { "description": "Snmp System OID assigned to the device. default=empty", "maxLength": 256, "minLength": 0, "type": "string" }, "snmpPort": { "description": "Snmp port assigned to the device. default=empty", "type": "string" }, "pollInterval": { "description": "Default polling interval assigned to the device. In seconds, between 10 and 84600", "type": "string" }, "primaryRole": { "description": "Primary Role assigned to the device. default=\"Device\".\r\nIf primary role is not valid or disabled than \"Device\" will be used.", "type": "string" }, "primaryRoleId": { "format": "uuid", "description": "Primary role Id", "type": "string", "example": "00000000-0000-0000-0000-000000000000" }, "subRoles": { "description": "List of sub-roles that will be assigned. default=empty\r\nInvalid or disabled sub-role will not be assigned", "type": "array", "items": { "type": "string" } }, "subRoleIds": { "description": "SubRole Ids", "type": "array", "items": { "format": "uuid", "type": "string", "example": "00000000-0000-0000-0000-000000000000" } }, "os": { "description": "OS role name assigned to the device. default=\"not set\"\r\nIf OS role is invalid or disabled, than it will not be assigned.", "type": "string" }, "brand": { "description": "Brand role name to assign the device, default=\"not set\"\r\nIf Brand role does not match up, than the Discovery Brand Role will be used with an alternate name", "maxLength": 256, "minLength": 0, "type": "string" }, "actionPolicy": { "description": "Name of action policy assigned to the device.\r\nIf empty, or not found, default=empty", "type": "string" }, "note": { "description": "Note to be used for the device. default=empty.", "type": "string" }, "autoRefresh": { "description": "\"Keep device current\" flag in device properties.\r\nValues: true or false, default=true.", "type": "string" }, "credentials": { "description": "List of credentials to be added to the device. Limited to one credential per type.", "type": "array", "items": { "$ref": "#/definitions/DeviceTemplateCredentials" } }, "interfaces": { "description": "List of interfaces to be added to the device.\r\nRequired: At least one interface must be provided.", "type": "array", "items": { "$ref": "#/definitions/DeviceTemplateInterface" } }, "attributes": { "description": "List of attributes to add to device", "type": "array", "items": { "$ref": "#/definitions/DeviceTemplateAttribute" } }, "customLinks": { "description": "List of custom links to add to device", "type": "array", "items": { "$ref": "#/definitions/DeviceTemplateCustomLink" } }, "activeMonitors": { "description": "List of active monitors being assigned to the device", "type": "array", "items": { "$ref": "#/definitions/DeviceTemplateActiveMonitor" } }, "performanceMonitors": { "description": "List of performance monitors being assigned to the device", "type": "array", "items": { "$ref": "#/definitions/DeviceTemplatePerformanceMonitor" } }, "passiveMonitors": { "description": "List of passive monitors to be setup for device", "type": "array", "items": { "$ref": "#/definitions/DeviceTemplatePassiveMonitor" } }, "dependencies": { "description": "List of dependencies setup for the device", "type": "array", "items": { "$ref": "#/definitions/DeviceTemplateDependency" } }, "ncmTasks": { "description": "List of NCM Tasks to be added to the device\r\nIf NCM is not found, request will be ignored.", "type": "array", "items": { "$ref": "#/definitions/DeviceTemplateNCMTask" } }, "applicationProfiles": { "description": "List of Application Profilesto be added to the device\r\nIf profile is not found, request will be ignored.", "type": "array", "items": { "$ref": "#/definitions/DeviceTemplateApplicationProfile" } }, "layer2Data": { "description": "Hexidecimal string of the layer2 data that should be associated with the device.\r\nIf empty, than default layer2 data will be created from device data", "type": "string" }, "groups": { "description": "list of groups that device will be added to.\r\nif no groups are given, device will be added under \"discovered devices\"\r\nif \"discovered devices\" does not exists, it will be put under \"my network\"", "type": "array", "items": { "$ref": "#/definitions/DeviceTemplateReferenceName" } } } }, "DeviceTemplateCredentials": { "description": "Credential information", "type": "object", "properties": { "credentialType": { "description": "Type of credential being requested. Empty value will only\r\nmatch on name. Oldest credential with name will match.", "type": "string" }, "credential": { "description": "Required: Credential Name, within credential type when \r\ntype is provided. If type is not provide, than oldest credential\r\nwith name will be used. Ignored if credential with name is not found.", "type": "string" }, "credentialId": { "format": "int32", "description": "Credential Id", "type": "integer" } } }, "DeviceTemplateInterface": { "description": "List of interfaces for the device. Every device requires at least one valid device.", "type": "object", "properties": { "defaultInterface": { "description": "True if interface is default. Only one per device.", "type": "boolean" }, "pollUsingNetworkName": { "description": "Poll Using Network Name", "type": "boolean" }, "networkAddress": { "description": "Required: Network Address. Must be a valid ip address.", "maxLength": 100, "minLength": 0, "type": "string" }, "networkName": { "description": "Network Name. Name used when interface is set to poll by name.\r\nShould be an ip address or a resolve name by server.", "maxLength": 256, "minLength": 0, "type": "string" }, "interfaceId": { "format": "int32", "description": "Network interface Id", "type": "integer" } } }, "DeviceTemplateAttribute": { "description": "List of attributes to be added to the device\r\nAttribute Names should be unique in the list.", "type": "object", "properties": { "name": { "description": "Required: Name of attribute", "maxLength": 150, "minLength": 0, "type": "string" }, "value": { "description": "Defaults to empty. Value to be used for attribugte.", "maxLength": 3000, "minLength": 0, "type": "string" } } }, "DeviceTemplateCustomLink": { "description": "List of custom links to be applied to the device.", "type": "object", "properties": { "name": { "description": "Required: Name of the link", "maxLength": 150, "minLength": 0, "type": "string" }, "value": { "description": "Value for the link. Can be empty and can use Device % variables.", "maxLength": 1024, "minLength": 0, "type": "string" } } }, "DeviceTemplateActiveMonitor": { "description": "Active Monitor template", "type": "object", "properties": { "classId": { "description": "Further qualify monitor name. Empty Guid will match only by name\r\nNon-empty Guid, Guid and name will be used to match.", "type": "string" }, "name": { "description": "Name of active monitor to be used when looking up name. If multiple monitors\r\nare found, oldest monitor will be used.", "type": "string" }, "argument": { "description": "Argument value for device monitor.", "maxLength": 150, "minLength": 0, "type": "string" }, "comment": { "description": "comments value for device monitor", "maxLength": 150, "minLength": 0, "type": "string" }, "interface": { "description": "Address or hostName of interface to be used with this device monitor\r\nAddress will be check first.", "type": "string" }, "pollingInterval": { "description": "Polling interval in seconds for device monitor", "type": "string" }, "isCritical": { "description": "boolean to indicate if device monitor should be added to end of critical list.", "type": "string" }, "pollingOrder": { "description": "an integer value used to order the application of critical monitors, all critical monitors without this\r\nset will be added after those with order set.", "type": "string" }, "monitorId": { "format": "int32", "description": "Monitor Id, ignored on import", "type": "integer" } } }, "DeviceTemplatePerformanceMonitor": { "description": "List of performance monitors.", "type": "object", "properties": { "classId": { "description": "Further qualify monitor name. Empty Guid will match only by name\r\nNon-empty Guid, Guid and name will be used to match.", "type": "string" }, "name": { "description": "Required: Display name of monitor", "type": "string" }, "pollingInterval": { "description": "In minutes", "type": "string" }, "protocol": { "description": "Alternate protocol to be used. Currently WMI is only supported.\r\nNot all performance monitors support all protocols.", "type": "string" }, "monitorId": { "format": "int32", "description": "Monitor Id, ignored on import", "type": "integer" } } }, "DeviceTemplatePassiveMonitor": { "description": "List of Passive Monitors to be used.", "type": "object", "properties": { "classId": { "description": "Further qualify monitor name. Empty Guid will match only by name\r\nNon-empty Guid, Guid and name will be used to match.", "type": "string" }, "name": { "description": "Required: Display name of monitor", "type": "string" }, "actions": { "description": "Set of policies to be applied to monitor", "type": "array", "items": { "type": "string" } }, "monitorId": { "format": "int32", "description": "Monitor Id, ignored on import", "type": "integer" } } }, "DeviceTemplateDependency": { "description": "Dependency to be added to the device.", "type": "object", "properties": { "direction": { "description": "Required: Up or Down", "type": "string" }, "dependency": { "$ref": "#/definitions/DeviceTemplateReferenceName", "description": "Required: The dependent device" }, "matchAny": { "description": "Any Monitors must be down to trigger dependency, default: false", "type": "boolean" }, "matchAllActive": { "description": "All monitors must be down to trigger the dependency, default: false", "type": "boolean" }, "monitors": { "description": "Set of monitors to be applied. At least one monitor is required.", "type": "array", "items": { "$ref": "#/definitions/DeviceTemplateDependencyMonitor" } }, "deviceId": { "format": "int32", "description": "DeviceId the dependency points to", "type": "integer" } } }, "DeviceTemplateNCMTask": { "description": "NCM tasks being assigned to the device.", "type": "object", "properties": { "name": { "description": "Required. Name of task to be assigned. Oldest task with name and type will be used.", "type": "string" } } }, "DeviceTemplateApplicationProfile": { "description": "Set of application profiles to apply to the device.", "type": "object", "properties": { "upgradeGuid": { "description": "Upgrade guid associated with profile. Required if name is not provided.\r\nPreferred when evaluating", "type": "string" }, "name": { "description": "Name of application profile, Name required if UpgradeGuid is not provided.", "type": "string" }, "actionPolicy": { "description": "Name of action policy assigned to the device.\r\nIf empty, or not found, default=empty", "type": "string" } } }, "DeviceTemplateReferenceName": { "description": "Template for referenced names like groups or devices. Can include a group to better qualify the name.", "type": "object", "properties": { "parents": { "description": "List of parent nodes from \"My Network\" to the descendent container the name can\r\nbe found in.", "type": "array", "items": { "type": "string" } }, "name": { "description": "Required: Name of the object being referenced. If parents are no specified, than the\r\noldest object with that name will be used.", "type": "string" }, "id": { "type": "string" } } }, "DeviceTemplateDependencyMonitor": { "description": "Set of dependency monitors to apply to the device.", "type": "object", "properties": { "classId": { "description": "Further qualify monitor name. Empty Guid will match only by name\r\nNon-empty Guid, Guid and name will be used to match.", "type": "string" }, "name": { "description": "Required: Name of active monitor to be used when looking up name", "type": "string" }, "argument": { "description": "arguments used for interface active monitor matching", "type": "string" }, "comment": { "description": "comment used for interface active monitor matching", "type": "string" } } }, "DeviceTemplateBatch": { "description": "Provide a set of device templates to be applied", "type": "object", "properties": { "options": { "description": "Set of options for applying the template", "type": "array", "items": { "type": "string" } }, "templates": { "description": "Set of templates to be applied. All templates will attempt to create a new device.\r\nNo attempt will be made to match a device", "type": "array", "items": { "$ref": "#/definitions/DeviceTemplate" } } } }, "Result[DeviceOverview]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/DeviceOverview", "description": "The data payload", "readOnly": true } } }, "Result[DeviceStatus]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/DeviceStatus", "description": "The data payload", "readOnly": true } } }, "DeviceStatus": { "description": "The current monitoring status for a device", "type": "object", "properties": { "bestState": { "description": "The best state of the device, like Up", "enum": [ "Unknown", "Up", "Down", "Maintenance", "Any" ], "type": "string" }, "worstState": { "description": "The worst state of the device, like Down", "enum": [ "Unknown", "Up", "Down", "Maintenance", "Any" ], "type": "string" }, "lastChangeUtc": { "format": "date-time", "description": "The time when the status changed in Utc", "type": "string" } } }, "BulkDeviceOpsBatch": { "description": "The set of devices to be deleted and associated parameters", "type": "object", "properties": { "operation": { "description": "remove associated discovered resources\r\ndefault/false, remove device only\r\ntrue: request the removal of all associated discovered devices", "enum": [ "delete" ], "type": "string" }, "devices": { "description": "The list of device ids to be operated on", "type": "array", "items": { "type": "string" } } } }, "PageResult[DeviceGroupList]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[DeviceGroupList]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "$ref": "#/definitions/DeviceGroupList", "description": "The data payload", "readOnly": true } } }, "PagingInfo[DeviceGroupList]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "DeviceGroupList": { "description": "A list of device group summary items", "type": "object", "properties": { "groups": { "description": "The set of device group summaries", "type": "array", "items": { "$ref": "#/definitions/DeviceGroupSummary" } } } }, "Result[DeviceGroupSummary]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/DeviceGroupSummary", "description": "The data payload", "readOnly": true } } }, "Result[DeviceGroupDefinition]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/DeviceGroupDefinition", "description": "The data payload", "readOnly": true } } }, "DeviceGroupDefinition": { "description": "Group definition", "type": "object", "properties": { "parentGroupId": { "description": "Immediate parent group id. Empty if root group.d", "type": "string" }, "groupType": { "description": "Type of device group creation. \r\nValues are 'static', 'dynamic', 'layer2'", "type": "string" }, "layer2Definition": { "$ref": "#/definitions/Layer2GroupDefinition", "description": "filter definiton for a layer 2 device group" }, "dynamicDefinition": { "$ref": "#/definitions/DynamicGroupDefinition", "description": "filter definition for a dynamic device group" }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "Layer2GroupDefinition": { "description": "Layer 2 Device Group filter definition", "type": "object", "properties": { "deviceFilter": { "$ref": "#/definitions/Layer2GroupDeviceFilter", "description": "Filter for determing the base set of devices" }, "includeConnections": { "description": "Include devices that are connected to the base set of devices, if true use the ConnectedDeviceFilter. default=false", "type": "boolean" }, "connectionFilter": { "$ref": "#/definitions/Layer2GroupDeviceFilter", "description": "Filter for connected devices" } } }, "DynamicGroupDefinition": { "description": "additional details required as part of creating a dynamic group", "type": "object", "properties": { "filter": { "description": "a sql query that returns a set of unique device ids", "type": "string" } } }, "Layer2GroupDeviceFilter": { "description": "Basic Layer 2 device filter. Device must match at least one element of each filter that is not empty", "type": "object", "properties": { "initialFilter": { "description": "base set of devices, default='all'\r\n\r\nInclude devices marked as:\r\n* \"any\" - any device\r\n* \"network-device\" - a network device\r\n* \"snmp-device\" - as snmp manageable\r\n* \"server\" - as a servers\r\n* \"workstation\" - as a workstations\r\n* \"virtual-server\" - as a virtual server\r\n* \"virtual-machine\" - as a virtual vm\r\n* \"wlc\" - as a wireless lan controller\r\n* \"ap\" - as an access point\r\n* \"ap-client\" - as a wireless client\r\n* \"dhcp-server\" - as a dhcp server\r\n* \"dns-server\" - as a dns server", "type": "string" }, "ipAddresses": { "description": "Optional list of ip address or subnets device can match. Must match at least one entry. Ignored if empty,\r\nExamples: \r\n192.168.0.0 (IP one per line)\r\n192.168.0.0-192.168.0.20 (IP Range)\r\n192.168.0.0/24 (IP Subnet)", "type": "array", "items": { "type": "string" } }, "names": { "description": "Optional Host/System/NetBIOS, case ignore compare, Ignored if list is empty.\r\nExample: device.progress.com", "type": "array", "items": { "type": "string" } }, "vlans": { "description": "Optional VLAN Name or Index device must support. Case ingored match. Ignored if empty\r\nExample:\r\nDefaultVlan", "type": "array", "items": { "type": "string" } }, "roles": { "description": "Optional list of role names or ids to be match. Device must have one or more. Ignored if empty\r\nExample:\r\nRouter", "type": "array", "items": { "type": "string" } } } }, "UpdateDeviceGroup": { "description": "Change group definition definitions", "type": "object", "properties": { "parentGroupId": { "description": "Move group to another parent. Leave blank or not present if group is not moving. \r\nDynamic and layer 2 are allowed directly under a static group", "type": "string" }, "name": { "description": "Update to the device group name. Ignored if empty. Must be unique under parent group", "type": "string" }, "description": { "description": "Update to the device group description. Can be empty. If null, description will not be updated", "type": "string" }, "layer2Definition": { "$ref": "#/definitions/Layer2GroupDefinition", "description": "filter for layer2 device groups. Not updated if null. Replaces if definition is not null." }, "dynamicDefinition": { "$ref": "#/definitions/DynamicGroupDefinition", "description": "filter for dynamic device groups. Not update if null. Replace if definition is not null." } } }, "DeviceGroupCreation": { "description": "Create a new device group definition", "required": [ "name" ], "type": "object", "properties": { "groupType": { "description": "Type of device group creation. \r\nAcceptable device group types are 'static', 'dynamic', 'layer2'\r\ndefault = 'static'", "type": "string" }, "name": { "description": "Name of new group element, cannot be empty and must be unique under parent", "type": "string" }, "description": { "description": "Description of group element", "type": "string" }, "layer2Definition": { "$ref": "#/definitions/Layer2GroupDefinition", "description": "filter if Group Type is of type: layer2" }, "dynamicDefinition": { "$ref": "#/definitions/DynamicGroupDefinition", "description": "filter if Group Type is of type: dynamic" } } }, "PageResult[DeviceGroupSummaryList]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[DeviceGroupSummaryList]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "$ref": "#/definitions/DeviceGroupSummaryList", "description": "The data payload", "readOnly": true } } }, "PagingInfo[DeviceGroupSummaryList]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "DeviceGroupSummaryList": { "description": "A list of device group summary items", "type": "object", "properties": { "parentGroupId": { "description": "The parent id of group", "type": "string" }, "groups": { "description": "The set of device group summaries", "type": "array", "items": { "$ref": "#/definitions/DeviceGroupSummary" } } } }, "NewDeviceOptions": { "description": "Options for creating a new device", "type": "object", "properties": { "forceAdd": { "description": "Add device without scanning, default: false", "type": "boolean" }, "forceCreate": { "description": "Used in conjunction with forceAdd option. \r\nIf forceAdd and forceCreate are true, a new device will be created even if new device will match another device\r\nDefault: false", "type": "boolean" }, "forceRole": { "description": "Devices will be added with explicit role assignment, default: empty", "type": "string" }, "preferSnmpSystemNameAsDisplayName": { "description": "Prefer Snmp System Names, default: false", "type": "boolean" }, "resolveDNSHostNames": { "description": "Use DNS to do reverse lookup of ip address to find host names, default: false", "type": "boolean" }, "snmpPortToUse": { "format": "int32", "description": "snmp port to use, 0 will use the default snmp port of 161", "type": "integer" }, "expandVirtualEnvironment": { "description": "expand virtual environment hosts and guests, default: true", "type": "boolean" }, "expandWirelessEnvironment": { "description": "expand wireless environment, default: true", "type": "boolean" }, "includeWirelessClients": { "description": "include devices connected to wireless access points, default: true", "type": "boolean" }, "expandStorageEnvironment": { "description": "expand storage environment, default: true", "type": "boolean" }, "useAllCredentials": { "description": "Test all credentials in library until all credentials are filled in, default: true", "type": "boolean" }, "credentials": { "description": "credentials to test, tested in order provided, default: empty (no order)\r\nif 'useAllCredentials', non-listed credentials will be added after this list", "type": "array", "items": { "type": "string" } }, "setupAsPollByName": { "description": "if true, device will be added as poll by name", "type": "boolean" } } }, "BulkNewDeviceOptions": { "description": "bulk add of new devices", "required": [ "ipOrNames" ], "type": "object", "properties": { "ipOrNames": { "description": "list of new devices to add, requires a minimum of one ip or name.", "type": "array", "items": { "type": "string" } }, "forceAdd": { "description": "Add device without scanning, default: false", "type": "boolean" }, "forceCreate": { "description": "Used in conjunction with forceAdd option. \r\nIf forceAdd and forceCreate are true, a new device will be created even if new device will match another device\r\nDefault: false", "type": "boolean" }, "forceRole": { "description": "Devices will be added with explicit role assignment, default: empty", "type": "string" }, "preferSnmpSystemNameAsDisplayName": { "description": "Prefer Snmp System Names, default: false", "type": "boolean" }, "resolveDNSHostNames": { "description": "Use DNS to do reverse lookup of ip address to find host names, default: false", "type": "boolean" }, "snmpPortToUse": { "format": "int32", "description": "snmp port to use, 0 will use the default snmp port of 161", "type": "integer" }, "expandVirtualEnvironment": { "description": "expand virtual environment hosts and guests, default: true", "type": "boolean" }, "expandWirelessEnvironment": { "description": "expand wireless environment, default: true", "type": "boolean" }, "includeWirelessClients": { "description": "include devices connected to wireless access points, default: true", "type": "boolean" }, "expandStorageEnvironment": { "description": "expand storage environment, default: true", "type": "boolean" }, "useAllCredentials": { "description": "Test all credentials in library until all credentials are filled in, default: true", "type": "boolean" }, "credentials": { "description": "credentials to test, tested in order provided, default: empty (no order)\r\nif 'useAllCredentials', non-listed credentials will be added after this list", "type": "array", "items": { "type": "string" } }, "setupAsPollByName": { "description": "if true, device will be added as poll by name", "type": "boolean" } } }, "Result[OverallStatusSummary]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/OverallStatusSummary", "description": "The data payload", "readOnly": true } } }, "OverallStatusSummary": { "description": "The overall status summary for a given group", "type": "object", "properties": { "lastStateChangeUtc": { "format": "date-time", "description": "The last time a state change was recorded", "type": "string" }, "totalDevices": { "format": "int32", "description": "The total number of devices", "type": "integer" }, "stateSummaries": { "description": "The list of state summaries per state", "type": "array", "items": { "$ref": "#/definitions/StateSummary" } }, "id": { "type": "string" } } }, "StateSummary": { "description": "The statistics for devices in a given state", "type": "object", "properties": { "state": { "description": "The core state", "enum": [ "Unknown", "Up", "Down", "Maintenance", "Any" ], "type": "string" }, "deviceCount": { "format": "int32", "description": "The count for devices in this state", "type": "integer" } } }, "PageResult[DeviceSummaryList]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[DeviceSummaryList]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "$ref": "#/definitions/DeviceSummaryList", "description": "The data payload", "readOnly": true } } }, "PagingInfo[DeviceSummaryList]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "DeviceSummaryList": { "description": "A list of device summary items", "type": "object", "properties": { "devices": { "description": "The set of device overviews", "type": "array", "items": { "$ref": "#/definitions/DeviceOverview" } } } }, "PageResult[DeviceTemplateReadResults]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[DeviceTemplateReadResults]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "$ref": "#/definitions/DeviceTemplateReadResults", "description": "The data payload", "readOnly": true } } }, "PagingInfo[DeviceTemplateReadResults]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "PageResult[List[CredentialsByDevice]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[CredentialsByDevice]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/CredentialsByDevice" }, "readOnly": true } } }, "PagingInfo[List[CredentialsByDevice]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "CredentialsByDevice": { "description": "Device credentials", "type": "object", "properties": { "device": { "$ref": "#/definitions/DeviceOverview", "description": "Unique device ID" }, "credentials": { "description": "Enumerable list of device credentials", "type": "array", "items": { "$ref": "#/definitions/Credential" } } } }, "PageResult[List[CpuUtilization]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[CpuUtilization]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/CpuUtilization" }, "readOnly": true } } }, "PagingInfo[List[CpuUtilization]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "CpuUtilization": { "description": "This class implements a data-transfer object for the report \"Cpu Utilization Report\"", "type": "object", "properties": { "deviceName": { "description": "Device name", "type": "string" }, "cpu": { "description": "Cpu description", "type": "string" }, "cpuId": { "description": "Cpu identifier", "type": "string" }, "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "timeFromLastPollSeconds": { "format": "int32", "description": "Number of seconds from last poll time", "type": "integer" }, "minPercent": { "format": "double", "description": "Minimum value of Cpu utilization (decimal number)", "type": "number" }, "maxPercent": { "format": "double", "description": "Maximum value of Cpu utilization (decimal number)", "type": "number" }, "avgPercent": { "format": "double", "description": "Average value of Cpu utilization (decimal number)", "type": "number" }, "series": { "description": "Series of polling data", "type": "array", "items": { "$ref": "#/definitions/CpuSeriesItem" } }, "id": { "type": "string" } } }, "CpuSeriesItem": { "description": "Contains series item data for \"Cpu Utilization\" report", "type": "object", "properties": { "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "avgPercent": { "format": "double", "description": "Cpu utilization", "type": "number" }, "maxPercent": { "format": "double", "description": "Max percent of cpu", "type": "number" }, "minPercent": { "format": "double", "description": "Min percent of cpu", "type": "number" } } }, "PageResult[List[DiskFreeSpace]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[DiskFreeSpace]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/DiskFreeSpace" }, "readOnly": true } } }, "PagingInfo[List[DiskFreeSpace]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "DiskFreeSpace": { "description": "This class implements a data-transfer object for a line in \"Disk Free Space\" report", "type": "object", "properties": { "minFree": { "format": "double", "description": "Min Free Disk size", "type": "number" }, "maxFree": { "format": "double", "description": "Max Free Disk size", "type": "number" }, "avgFree": { "format": "double", "description": "Avg Free disk size", "type": "number" }, "series": { "description": "Series of polling data", "type": "array", "items": { "$ref": "#/definitions/DiskFreeSpaceSeriesItem" } }, "deviceName": { "description": "Device name", "type": "string" }, "disk": { "description": "Disk description", "type": "string" }, "diskId": { "description": "Disk identifier", "type": "string" }, "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "timeFromLastPollSeconds": { "format": "int32", "description": "Number of seconds from last poll time", "type": "integer" }, "size": { "format": "double", "description": "Total disk size", "type": "number" }, "id": { "type": "string" } } }, "DiskFreeSpaceSeriesItem": { "description": "Contains series item data for \"Disk Free Space\" report", "type": "object", "properties": { "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "avgFree": { "format": "double", "description": "Disk free space", "type": "number" }, "minFree": { "format": "double", "description": "Min value of disk free space (decimal number)", "type": "number" }, "maxFree": { "format": "double", "description": "Max value of disk free space (decimal number)", "type": "number" } } }, "PageResult[List[DiskUtilization]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[DiskUtilization]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/DiskUtilization" }, "readOnly": true } } }, "PagingInfo[List[DiskUtilization]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "DiskUtilization": { "description": "This class implements a data-transfer object for the report \"Disk Utilization Report\"", "type": "object", "properties": { "minUsed": { "format": "double", "description": "Minimum value of used disk size", "type": "number" }, "maxUsed": { "format": "double", "description": "Maximum value of used disk size", "type": "number" }, "avgUsed": { "format": "double", "description": "Average value of used disk size", "type": "number" }, "avgFree": { "format": "double", "description": "Free disk size", "type": "number" }, "minPercent": { "format": "double", "description": "Minimum value of disk utilization (decimal number)", "type": "number" }, "maxPercent": { "format": "double", "description": "Maximum value of disk utilization (decimal number)", "type": "number" }, "avgPercent": { "format": "double", "description": "Average value of disk utilization (decimal number)", "type": "number" }, "series": { "description": "Series of polling data", "type": "array", "items": { "$ref": "#/definitions/DiskUtilizationSeriesItem" } }, "deviceName": { "description": "Device name", "type": "string" }, "disk": { "description": "Disk description", "type": "string" }, "diskId": { "description": "Disk identifier", "type": "string" }, "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "timeFromLastPollSeconds": { "format": "int32", "description": "Number of seconds from last poll time", "type": "integer" }, "size": { "format": "double", "description": "Total disk size", "type": "number" }, "id": { "type": "string" } } }, "DiskUtilizationSeriesItem": { "description": "Contains series item data for \"Disk Utilization\" report", "type": "object", "properties": { "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "avgPercent": { "format": "double", "description": "Average value of disk utilization (decimal number)", "type": "number" }, "minPercent": { "format": "double", "description": "Min value of disk utilization (decimal number)", "type": "number" }, "maxPercent": { "format": "double", "description": "Max value of disk utilization (decimal number)", "type": "number" } } }, "PageResult[List[InterfaceErrorsDiscards]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[InterfaceErrorsDiscards]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/InterfaceErrorsDiscards" }, "readOnly": true } } }, "PagingInfo[List[InterfaceErrorsDiscards]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "InterfaceErrorsDiscards": { "description": "This class implements a data-transfer object for the reports \"Interface Discards\" and \"Interface Errors\"", "type": "object", "properties": { "deviceName": { "description": "Device name", "type": "string" }, "interfaceName": { "description": "Interface description", "type": "string" }, "interfaceId": { "description": "Interface identifier", "type": "string" }, "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "timeFromLastPollSeconds": { "format": "int32", "description": "Number of seconds from last poll time", "type": "integer" }, "rxMin": { "format": "double", "description": "The minimum number of interface discard/error packets received per minute.", "type": "number" }, "rxMax": { "format": "double", "description": "The maximum number of interface discard/error packets received per minute.", "type": "number" }, "rxAvg": { "format": "double", "description": "The average number of interface discard/error packets received per minute.", "type": "number" }, "rxTotal": { "format": "double", "description": "The total number of interface discard/error packets received", "type": "number" }, "txMin": { "format": "double", "description": "The minimum number of interface discard/error packets transmitted per minute.", "type": "number" }, "txMax": { "format": "double", "description": "The maximum number of interface discard/error packets transmitted per minute.", "type": "number" }, "txAvg": { "format": "double", "description": "The average number of interface discard/error packets transmitted per minute.", "type": "number" }, "txTotal": { "format": "double", "description": "The total number of interface discard/error packets transmitted", "type": "number" }, "totalAvg": { "format": "double", "description": "The total average number of interface discard/error packets transmitted and Received\r\n(used for remote sortering)", "type": "number" }, "series": { "description": "Series of poll data collected for the device", "type": "array", "items": { "$ref": "#/definitions/ErrorsDiscardsSeriesItem" } }, "id": { "type": "string" } } }, "ErrorsDiscardsSeriesItem": { "description": "This class contain values of interface discards/error series item", "type": "object", "properties": { "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "rxAvg": { "format": "double", "description": "The average number of interface discard packets received per minute.", "type": "number" }, "rxMin": { "format": "double", "description": "The min number of interface discard packets received per minute.", "type": "number" }, "rxMax": { "format": "double", "description": "The max number of interface discard packets received per minute.", "type": "number" }, "txAvg": { "format": "double", "description": "The average number of interface discard packets transmitted per minute.", "type": "number" }, "txMin": { "format": "double", "description": "The min number of interface discard packets transmitted per minute.", "type": "number" }, "txMax": { "format": "double", "description": "The max number of interface discard packets transmitted per minute.", "type": "number" } } }, "PageResult[List[InterfaceTraffic]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[InterfaceTraffic]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/InterfaceTraffic" }, "readOnly": true } } }, "PagingInfo[List[InterfaceTraffic]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "InterfaceTraffic": { "description": "This class implements a data-transfer object for the report \"Interface Traffic\"", "type": "object", "properties": { "rxSpeedMin": { "format": "double", "description": "The minimum k/bps received", "type": "number" }, "rxSpeedMax": { "format": "double", "description": "The maximum k/bps received", "type": "number" }, "txSpeedMin": { "format": "double", "description": "The minimum k/bps transmitted", "type": "number" }, "txSpeedMax": { "format": "double", "description": "The maximum k/bps transmitted", "type": "number" }, "rxPercentAvg": { "format": "double", "description": "The average receive utilization", "type": "number" }, "txPercentAvg": { "format": "double", "description": "The average transmit utilization", "type": "number" }, "series": { "description": "Individual poll results", "type": "array", "items": { "$ref": "#/definitions/TrafficSeriesItem" } }, "deviceName": { "description": "Device name", "type": "string" }, "interfaceId": { "description": "Interface identifier", "type": "string" }, "interfaceName": { "description": "Interface description", "type": "string" }, "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "timeFromLastPollSeconds": { "format": "int32", "description": "Number of seconds from last poll time", "type": "integer" }, "ifSpeed": { "format": "int64", "description": "The maximum available interface speed (b/bps)", "type": "integer" }, "ifRxSpeed": { "format": "int64", "description": "The maximum available receive interface speed (b/bps)", "type": "integer" }, "ifTxSpeed": { "format": "int64", "description": "The maximum available transmit interface speed (b/bps)", "type": "integer" }, "totalTraffic": { "format": "double", "description": "The total number of octets processed", "type": "number" }, "rxSpeedAvg": { "format": "float", "description": "The average b/bps received", "type": "number" }, "rxOctetsTotal": { "format": "double", "description": "The total bytes received", "type": "number" }, "txSpeedAvg": { "format": "float", "description": "The average b/bps transmitted", "type": "number" }, "txOctetsTotal": { "format": "double", "description": "The total bytes transmitted", "type": "number" }, "id": { "type": "string" } } }, "TrafficSeriesItem": { "description": "Contains series item data for \"Interface Traffic\" report", "type": "object", "properties": { "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "rxSpeedAvg": { "format": "double", "description": "The average k/bps received", "type": "number" }, "rxSpeedMin": { "format": "double", "description": "The min k/bps received", "type": "number" }, "rxSpeedMax": { "format": "double", "description": "The max k/bps received", "type": "number" }, "txSpeedAvg": { "format": "double", "description": "The average k/bps transmitted", "type": "number" }, "txSpeedMin": { "format": "double", "description": "The min k/bps transmitted", "type": "number" }, "txSpeedMax": { "format": "double", "description": "The max k/bps transmitted", "type": "number" } } }, "PageResult[List[InterfaceUtilization]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[InterfaceUtilization]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/InterfaceUtilization" }, "readOnly": true } } }, "PagingInfo[List[InterfaceUtilization]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "InterfaceUtilization": { "description": "This class implements a data-transfer object for the report \"Interface Utilization\"", "type": "object", "properties": { "totalPercent": { "format": "double", "description": "Average value of utilization", "type": "number" }, "rxPercentAvg": { "format": "double", "description": "The average receive utilization", "type": "number" }, "txPercentAvg": { "format": "double", "description": "The average transmit utilization", "type": "number" }, "rxPercentMin": { "format": "double", "description": "The min receive utilization", "type": "number" }, "txPercentMin": { "format": "double", "description": "The min transmit utilization", "type": "number" }, "rxPercentMax": { "format": "double", "description": "The max receive utilization", "type": "number" }, "txPercentMax": { "format": "double", "description": "The max transmit utilization", "type": "number" }, "rxSpeedMin": { "format": "double", "description": "The min b/bps received", "type": "number" }, "rxSpeedMax": { "format": "double", "description": "The max b/bps received", "type": "number" }, "txSpeedMin": { "format": "double", "description": "The min b/bps transmitted", "type": "number" }, "txSpeedMax": { "format": "double", "description": "The max b/bps transmitted", "type": "number" }, "series": { "description": "Series of polling data", "type": "array", "items": { "$ref": "#/definitions/SeriesItem" } }, "deviceName": { "description": "Device name", "type": "string" }, "interfaceId": { "description": "Interface identifier", "type": "string" }, "interfaceName": { "description": "Interface description", "type": "string" }, "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "timeFromLastPollSeconds": { "format": "int32", "description": "Number of seconds from last poll time", "type": "integer" }, "ifSpeed": { "format": "int64", "description": "The maximum available interface speed (b/bps)", "type": "integer" }, "ifRxSpeed": { "format": "int64", "description": "The maximum available receive interface speed (b/bps)", "type": "integer" }, "ifTxSpeed": { "format": "int64", "description": "The maximum available transmit interface speed (b/bps)", "type": "integer" }, "totalTraffic": { "format": "double", "description": "The total number of octets processed", "type": "number" }, "rxSpeedAvg": { "format": "float", "description": "The average b/bps received", "type": "number" }, "rxOctetsTotal": { "format": "double", "description": "The total bytes received", "type": "number" }, "txSpeedAvg": { "format": "float", "description": "The average b/bps transmitted", "type": "number" }, "txOctetsTotal": { "format": "double", "description": "The total bytes transmitted", "type": "number" }, "id": { "type": "string" } } }, "SeriesItem": { "description": "Contains series item data for \"Interface Utilization\" report", "type": "object", "properties": { "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "rxPercentAvg": { "format": "double", "description": "The average receive utilization", "type": "number" }, "rxPercentMin": { "format": "double", "description": "The minimum receive utilization", "type": "number" }, "rxPercentMax": { "format": "double", "description": "The maximum receive utilization", "type": "number" }, "txPercentAvg": { "format": "double", "description": "The average transmit utilization", "type": "number" }, "txPercentMin": { "format": "double", "description": "The minimum transmit utilization", "type": "number" }, "txPercentMax": { "format": "double", "description": "The maximum transmit utilization", "type": "number" } } }, "PageResult[List[MemoryUtilization]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[MemoryUtilization]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/MemoryUtilization" }, "readOnly": true } } }, "PagingInfo[List[MemoryUtilization]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "MemoryUtilization": { "description": "This class implements a data-transfer object for the report \"Memory utilization\"", "type": "object", "properties": { "deviceName": { "description": "Device name", "type": "string" }, "memory": { "description": "Memory name", "type": "string" }, "memoryId": { "description": "Memory identifier", "type": "string" }, "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "timeFromLastPollSeconds": { "format": "int32", "description": "Number of seconds from last poll time", "type": "integer" }, "size": { "format": "double", "description": "Total memory size.", "type": "number" }, "minUsed": { "format": "double", "description": "Minimum value of used memory size", "type": "number" }, "maxUsed": { "format": "double", "description": "Maximum value of used memory size", "type": "number" }, "avgUsed": { "format": "double", "description": "Average value of used memory size", "type": "number" }, "minPercent": { "format": "double", "description": "Minimum value of memory utilization (decimal number)", "type": "number" }, "maxPercent": { "format": "double", "description": "Maximum value of memory utilization (decimal number)", "type": "number" }, "avgPercent": { "format": "double", "description": "Average value of memory utilization (decimal number)", "type": "number" }, "series": { "description": "Series of polling data", "type": "array", "items": { "$ref": "#/definitions/MemorySeriesItem" } }, "id": { "type": "string" } } }, "MemorySeriesItem": { "description": "This class contains values of memory utilization series item", "type": "object", "properties": { "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "avgPercent": { "format": "double", "description": "Average percentage of memory used.", "type": "number" }, "minPercent": { "format": "double", "description": "Min percentage of memory used.", "type": "number" }, "maxPercent": { "format": "double", "description": "Max percentage of memory used.", "type": "number" } } }, "PageResult[List[PingAvailability]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[PingAvailability]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/PingAvailability" }, "readOnly": true } } }, "PagingInfo[List[PingAvailability]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "PingAvailability": { "description": "This class implements a data-transfer object for the report \"Ping Availability\"", "type": "object", "properties": { "deviceName": { "description": "Device name", "type": "string" }, "interfaceId": { "description": "Interface identifier", "type": "string" }, "interfaceName": { "description": "Interface description", "type": "string" }, "packetsLost": { "format": "int32", "description": "The total number of packets lost throughout the current group during the selected time period.", "type": "integer" }, "packetsSent": { "format": "int32", "description": "The total number of packets sent throughout the current group during the selected time period.", "type": "integer" }, "percentAvailable": { "format": "double", "description": "Gets or sets the percent available.", "type": "number" }, "percentPacketLoss": { "format": "double", "description": "A percentage of packet loss throughout the current group for the selected time period with colorbar.", "type": "number" }, "totalTimeMinutes": { "format": "double", "description": "Amount of total time (in minutes) that passed during the time period selected.", "type": "number" }, "timeUnavailableMinutes": { "format": "double", "description": "Amount of total time (in minutes) that a device was unavailable in the group.", "type": "number" }, "pollTimeUtc": { "format": "date-time", "description": "Displays the last time polled.", "type": "string" }, "timeFromLastPollSeconds": { "format": "int32", "description": "Number of seconds from last poll time", "type": "integer" }, "series": { "description": "Series of polling data", "type": "array", "items": { "$ref": "#/definitions/PingAvailabilitySeriesItem" } }, "id": { "type": "string" } } }, "PingAvailabilitySeriesItem": { "description": "Class PingAvailabilityData.", "type": "object", "properties": { "pollTimeUtc": { "format": "date-time", "description": "Displays the last time polled.", "type": "string" }, "percentAvailable": { "format": "double", "description": "Gets or sets the percent available.", "type": "number" }, "percentPacketLoss": { "format": "double", "description": "Gets or sets the percent packet loss.", "type": "number" } } }, "PageResult[List[PingResponseTime]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[PingResponseTime]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/PingResponseTime" }, "readOnly": true } } }, "PagingInfo[List[PingResponseTime]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "PingResponseTime": { "description": "This class implements a data-transfer object for the report \"Ping Response Time\"", "type": "object", "properties": { "deviceName": { "description": "Device name", "type": "string" }, "interfaceId": { "description": "Interface identifier", "type": "string" }, "interfaceName": { "description": "Interface description", "type": "string" }, "minMilliSec": { "format": "double", "description": "The minimum ping response time (in milliseconds) for the device during the selected time period", "type": "number" }, "maxMilliSec": { "format": "double", "description": "The maximum ping response time (in milliseconds) for the device during the selected time period.", "type": "number" }, "avgMilliSec": { "format": "double", "description": "The average ping response time (in milliseconds) for the device across all sample data for this time period.", "type": "number" }, "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "timeFromLastPollSeconds": { "format": "int32", "description": "Number of seconds from last poll time", "type": "integer" }, "series": { "description": "Series of polling data", "type": "array", "items": { "$ref": "#/definitions/PingResponseTimeSeriesItem" } }, "id": { "type": "string" } } }, "PingResponseTimeSeriesItem": { "description": "This class contain values of interface traffic indicators", "type": "object", "properties": { "pollTimeUtc": { "format": "date-time", "description": "Poll time", "type": "string" }, "avgMilliSec": { "format": "double", "description": "The average ping response time (in milliseconds) for the device across all sample data for this time period.", "type": "number" }, "minMilliSec": { "format": "double", "description": "The min ping response time (in milliseconds) for the device across all sample data for this time period.", "type": "number" }, "maxMilliSec": { "format": "double", "description": "The max ping response time (in milliseconds) for the device across all sample data for this time period.", "type": "number" } } }, "PageResult[List[StateChangeTimeline]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[StateChangeTimeline]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/StateChangeTimeline" }, "readOnly": true } } }, "PagingInfo[List[StateChangeTimeline]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "StateChangeTimeline": { "description": "This class implements a data-transfer object for a line in State Change Timeline Report", "type": "object", "properties": { "deviceName": { "description": "Device name", "type": "string" }, "monitorTypeName": { "description": "Monitor Type name", "type": "string" }, "stateName": { "description": "Monitor Type name", "type": "string" }, "internalMonitorState": { "description": "Internal monitor state identifier", "enum": [ "unknown", "uninitialized", "down", "maintenance", "up", "warning" ], "type": "string" }, "startTimeUtc": { "format": "date-time", "description": "Start time", "type": "string" }, "endTimeUtc": { "format": "date-time", "description": "End time", "type": "string" }, "totalSeconds": { "format": "int32", "description": "Elapsed time in seconds", "type": "integer" }, "result": { "description": "Start time", "type": "string" }, "id": { "type": "string" } } }, "PageResult[List[DeviceMaintenanceMode]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[DeviceMaintenanceMode]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/DeviceMaintenanceMode" }, "readOnly": true } } }, "PagingInfo[List[DeviceMaintenanceMode]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "DeviceMaintenanceMode": { "description": "Device for Maintenance mode report object", "type": "object", "properties": { "maintenanceMode": { "description": "Maintenance Mode", "type": "string" }, "userName": { "description": "The user name who puts device into maintenance", "type": "string" }, "startTimeUtc": { "format": "date-time", "description": "Date when device went to maintenance", "type": "string" }, "durationSeconds": { "format": "int32", "description": "Duration how much device has been in maintenance", "type": "integer" }, "reason": { "description": "The reason string", "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "Result[DeviceRoleSummary]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/DeviceRoleSummary", "description": "The data payload", "readOnly": true } } }, "DeviceRoleSummary": { "description": "Additional information pass basic information for a role", "type": "object", "properties": { "monitors": { "description": "List of monitors.", "type": "array", "items": { "type": "string" } }, "kind": { "description": "Kind (type) of role. Cannot be changed", "enum": [ "all", "role", "brandModel", "os", "subRole", "monitor", "template", "interfaceFilter", "deviceFilter", "monitorCriteria" ], "type": "string" }, "internalName": { "description": "Internal name of the role.", "type": "string" }, "weight": { "format": "int32", "description": "Weight order used to apply role. System weights\r\n0 to 100 - reserved for system roles (user can change wieghts.\r\n101 to 1000 - user defined roles", "type": "integer" }, "parentTemplate": { "$ref": "#/definitions/RoleResource", "description": "The ID of the parent scan template" }, "siblingLoadOrder": { "format": "int32", "description": "order in which siblings should be evalutated when", "type": "integer" }, "isNetworkDevice": { "description": "A device is a network device if it has this role, default is false", "type": "boolean" }, "pollUsingName": { "description": "setup new network interfaces as poll using name. default is false", "type": "boolean" }, "source": { "description": "Source, values are System, System Modified and User Defined", "enum": [ "system", "systemModified", "userDefined", "alternateName" ], "type": "string" }, "isEnabled": { "description": "Is role enabled/disabled.", "type": "boolean" }, "icon": { "$ref": "#/definitions/IconResource", "description": "Device Role Icon" }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "RoleResource": { "description": "Pointer to another role in the system. Only id is required.", "type": "object", "properties": { "name": { "description": "Name of a role", "type": "string" }, "kind": { "description": "Type of role being referred to since names are unique based on kind.", "enum": [ "all", "role", "brandModel", "os", "subRole", "monitor", "template", "interfaceFilter", "deviceFilter", "monitorCriteria" ], "type": "string" }, "internalName": { "description": "A unique name the role is known by. Normally used in OS roles", "type": "string" }, "id": { "type": "string" } } }, "IconResource": { "description": "Pointer to an icon in the system. Only id is required.", "type": "object", "properties": { "name": { "description": "Name of icon", "type": "string" }, "id": { "type": "string" } } }, "Result[DeviceRoleTemplateReadResults]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/DeviceRoleTemplateReadResults", "description": "The data payload", "readOnly": true } } }, "DeviceRoleTemplateReadResults": { "description": "Results returned when calling to read a monitor template", "type": "object", "properties": { "roleCount": { "format": "int32", "description": "Number of device roles used to generate this structure include device roles with only errors.", "type": "integer" }, "errors": { "description": "Set of errors encountered during the read request", "type": "array", "items": { "type": "string" } }, "templates": { "description": "Set of templates matching filter criteria.", "type": "array", "items": { "$ref": "#/definitions/RoleTemplate" } } } }, "RoleTemplate": { "description": "RoleTemplate", "type": "object", "properties": { "templateId": { "description": "Id user can assign for the template.\r\nDefault the system will be assigned by the system.\r\nAll error messages, etc will be contain the template id.", "type": "string" }, "vendor": { "description": "vendor of the base role", "type": "string" }, "version": { "description": "Version of the role information", "type": "string" }, "deviceTypeNamingScheme": { "description": "scheme to name device type if needed. Valid on device roles", "type": "string" }, "isExclusive": { "description": "truncate evaluation on first successful matching criteria. Used as part of OS evaluation", "type": "boolean" }, "doNotRecord": { "description": "do not record this sub-role in the device sub-role list.", "type": "boolean" }, "dynamicRoleOptions": { "description": "remove this sub-role if match criteria fails on next update monitoring request", "type": "array", "items": { "enum": [ "dynamic", "userCanAssign" ], "type": "string" } }, "scanCriteriaGroups": { "description": "List of scanning criteria that define this template.", "type": "array", "items": { "$ref": "#/definitions/ScanCriteriaGroup" } }, "osDetailFinder": { "$ref": "#/definitions/DeviceOsDetailFinder", "description": "class factory to create a OS detail probe for this template (only applies to OS templates)." }, "relatedRoleTemplates": { "description": "List of devicce roles that are associated with this template. Currently\r\nhold the relationship between OS roles -> device roles and sub roles.", "type": "array", "items": { "$ref": "#/definitions/RoleResource" } }, "assignedSubroles": { "description": "List of assigned sub roles.", "type": "array", "items": { "$ref": "#/definitions/RoleResource" } }, "activeMonitors": { "description": "list of active monitors to be examined and applied", "type": "array", "items": { "$ref": "#/definitions/ActiveMonitor" } }, "templateActiveMonitors": { "description": "active monitor templates to be examinded and applied", "type": "array", "items": { "$ref": "#/definitions/TemplateActiveMonitor" } }, "templatePerformanceMonitors": { "description": "DefaultPerformanceMonitors", "type": "array", "items": { "$ref": "#/definitions/TemplatePerformanceMonitor" } }, "customPerformanceMonitors": { "description": "CustomPerformanceMonitors", "type": "array", "items": { "$ref": "#/definitions/CustomPerformanceMonitor" } }, "passiveMonitors": { "description": "PassiveMonitors", "type": "array", "items": { "$ref": "#/definitions/PassiveMonitor" } }, "actionPolicy": { "$ref": "#/definitions/ActionPolicyResource", "description": "Action Policy to be applied to device. Applied only on device roles" }, "customLinks": { "description": "CustomLinks", "type": "array", "items": { "$ref": "#/definitions/CustomLinks" } }, "attributes": { "description": "Attributes applied when role is applied", "type": "array", "items": { "$ref": "#/definitions/DeviceRoleAttribute" } }, "note": { "$ref": "#/definitions/DeviceNote", "description": "Notes, only enforced on device role" }, "filterGroups": { "description": "List of filters that define this template.", "type": "array", "items": { "$ref": "#/definitions/FilterCriteriaGroup" } }, "apmMatch": { "$ref": "#/definitions/DeviceRoleApmMatch", "description": "" }, "apmRules": { "description": "", "type": "array", "items": { "$ref": "#/definitions/DeviceRoleApmRule" } }, "configMgmtMatch": { "$ref": "#/definitions/DeviceRoleConfigMgmtMatch", "description": "" }, "configMgmtRules": { "description": "", "type": "array", "items": { "$ref": "#/definitions/DeviceRoleConfigMgmtRule" } }, "kind": { "description": "Kind (type) of role. Cannot be changed", "enum": [ "all", "role", "brandModel", "os", "subRole", "monitor", "template", "interfaceFilter", "deviceFilter", "monitorCriteria" ], "type": "string" }, "internalName": { "description": "Internal name of the role.", "type": "string" }, "weight": { "format": "int32", "description": "Weight order used to apply role. System weights\r\n0 to 100 - reserved for system roles (user can change wieghts.\r\n101 to 1000 - user defined roles", "type": "integer" }, "parentTemplate": { "$ref": "#/definitions/RoleResource", "description": "The ID of the parent scan template" }, "siblingLoadOrder": { "format": "int32", "description": "order in which siblings should be evalutated when", "type": "integer" }, "isNetworkDevice": { "description": "A device is a network device if it has this role, default is false", "type": "boolean" }, "pollUsingName": { "description": "setup new network interfaces as poll using name. default is false", "type": "boolean" }, "source": { "description": "Source, values are System, System Modified and User Defined", "enum": [ "system", "systemModified", "userDefined", "alternateName" ], "type": "string" }, "isEnabled": { "description": "Is role enabled/disabled.", "type": "boolean" }, "icon": { "$ref": "#/definitions/IconResource", "description": "Device Role Icon" }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "ScanCriteriaGroup": { "description": "ScanCriteriaGroup", "type": "object", "properties": { "upgradeGuid": { "description": "Element GUID", "type": "string" }, "scanCriteria": { "description": "The scanning criteria that define this template.", "type": "array", "items": { "$ref": "#/definitions/ScanCriteria" } }, "relationBetweenCriteria": { "description": "Indicates if a template is a match if any of its multiple criteria is a match (OR), \r\nor if all of its criteria are matches (AND).", "enum": [ "and", "or" ], "type": "string" } } }, "DeviceOsDetailFinder": { "description": "OS Detail Finder", "type": "object", "properties": { "type": { "description": "type of routine for finding os details", "type": "string" }, "groups": { "description": "criteria group for retrieving os version", "type": "array", "items": { "$ref": "#/definitions/CriteriaGroup" } } } }, "ActiveMonitor": { "description": "User defined performance monitors", "type": "object", "properties": { "classId": { "description": "Further qualify monitor name. Empty Guid will match only by name\r\nNon-empty Guid, Guid and name will be used to match.", "type": "string" }, "name": { "description": "Required: Display name of monitor", "type": "string" }, "filter": { "$ref": "#/definitions/RoleResource", "description": "filter for use when applying monitor. Current implementation\r\nonly apply filter to the default \"Interface\" active monitor.\r\nDefault=null" }, "isCritical": { "description": "when adding an active monitor to a device, indicate that the monitor\r\nis critical. Will be added to the end of the polling list.", "type": "boolean" }, "pollingInterval": { "format": "int32", "description": "when adding an active monitor to a device, this will be the polling interval\r\nsetup for the monitor. If not set, the default polling interval will be used.", "type": "integer" }, "autoConfigLevel": { "description": "Test the monitor prior to apply (during discovery/rescan)\r\nor always apply the monitor and do not testing.", "enum": [ "rules", "always" ], "type": "string" }, "id": { "type": "string" } } }, "TemplateActiveMonitor": { "description": "Template for active monitor on a device role\r\nWill be applied if on device or sub roles.", "type": "object", "properties": { "autoConfigLevel": { "description": "Test the monitor prior to apply (during discovery/rescan)\r\nor always apply the monitor and do not testing.", "enum": [ "rules", "always" ], "type": "string" }, "filter": { "$ref": "#/definitions/RoleResource", "description": "filter for use when applying monitor. Current implementation\r\nonly apply filter to the default \"Interface\" active monitor.\r\nDefault=null" }, "isCritical": { "description": "when adding an active monitor to a device, indicate that the monitor\r\nis critical. Will be added to the end of the polling list.", "type": "boolean" }, "pollingInterval": { "format": "int32", "description": "when adding an active monitor to a device, this will be the polling interval\r\nsetup for the monitor. If not set, the default polling interval will be used.", "type": "integer" }, "name": { "description": "Name of the monitor if not a template.\r\nIf this is a template, when a monitor needs to be created, this name will be used\r\nRequired for template", "type": "string" }, "description": { "description": "Description of the monitor if not a template.\r\nIf this is a template, when a monitor needs to be created, this description will be used\r\nRequired for template", "type": "string" }, "classId": { "description": "Type of the active monitor if not a template.\r\nIf this is a template, when a monitor needs to be created, this type of monitor will be created\r\nRequired for template", "type": "string" }, "nameValuePairs": { "description": "Only filled in for templates. List of property bags to be applied when monitor is created.", "type": "array", "items": { "$ref": "#/definitions/NameValuePair" } }, "meaningfulNames": { "description": "Only filled in for templates.\r\nList of property bag names to be compared to nameValuePairs for a match", "type": "array", "items": { "type": "string" } }, "useInRescan": { "description": "Set to true if monitor should be used in rescan.\r\ndefault=true", "type": "boolean" } } }, "TemplatePerformanceMonitor": { "description": "Copied here to not include discovery utilities.", "type": "object", "properties": { "name": { "description": "Suggested name of monitor", "type": "string" }, "description": { "description": "Description for monitor", "type": "string" }, "classId": { "description": "class id for monitor", "type": "string" }, "nameValuePairs": { "description": "property bags for monitor", "type": "array", "items": { "$ref": "#/definitions/NameValuePair" } }, "meaningfulNames": { "description": "property bag values that must match for monitor in db to match template", "type": "array", "items": { "type": "string" } }, "collectionType": { "description": "type of data to collect for interface monitors", "enum": [ "all", "active", "defaultSet", "custom" ], "type": "string" }, "autoConfigLevel": { "description": "policy to test and apply the monitor", "enum": [ "rules", "always" ], "type": "string" }, "guidUnique": { "description": "allow monitor to match on class id only if a better match is not available", "type": "boolean" }, "license": { "description": "license attribute that must be enabled before monitor is created.", "type": "string" }, "pollingInterval": { "format": "int32", "description": "polling interval to setup monitor with", "type": "integer" }, "criteriaGroups": { "description": "addtional match criteria that must be met before monitor is applied", "type": "array", "items": { "$ref": "#/definitions/ScanCriteriaGroup" } } } }, "CustomPerformanceMonitor": { "description": "User defined performance monitors", "type": "object", "properties": { "classId": { "description": "Further qualify monitor name. Empty Guid will match only by name\r\nNon-empty Guid, Guid and name will be used to match.", "type": "string" }, "name": { "description": "Required: Display name of monitor", "type": "string" }, "autoConfigLevel": { "description": "Rule to apply when testing or applying the monitor", "enum": [ "rules", "always" ], "type": "string" }, "id": { "type": "string" } } }, "PassiveMonitor": { "description": "passive monitor selection. Must exist in the db already for\r\nrole template to be valid. Prefers id.", "type": "object", "properties": { "classId": { "description": "Further qualify monitor name. Empty Guid will match only by name\r\nNon-empty Guid, Guid and name will be used to match.", "type": "string" }, "name": { "description": "Required: Display name of monitor", "type": "string" }, "id": { "type": "string" } } }, "ActionPolicyResource": { "description": "Pointer to an icon in the system. Only id is required.", "type": "object", "properties": { "name": { "description": "Name of action policy", "type": "string" }, "id": { "type": "string" } } }, "CustomLinks": { "description": "", "type": "object", "properties": { "name": { "description": "", "type": "string" }, "hyperLink": { "description": "", "type": "string" } } }, "DeviceRoleAttribute": { "description": "Start monitoring attribute definitions if the role is applied.", "type": "object", "properties": { "name": { "description": "Name of attribute", "type": "string" }, "value": { "description": "Value for attribute. Can use discovery percent variables.", "type": "string" }, "doNotRecordIfEmpty": { "description": "do not record attribute if once resolved, the value is an empty string.", "type": "boolean" } } }, "DeviceNote": { "description": "Note configuration, only valid on device role", "type": "object", "properties": { "text": { "description": "note to be added to device. Can use discovery percent variables.", "type": "string" } } }, "FilterCriteriaGroup": { "description": "FilterCriteriaGroup", "type": "object", "properties": { "upgradeGuid": { "description": "Element GUID", "type": "string" }, "filterCriteria": { "description": "The filter criteria that define this template.", "type": "array", "items": { "$ref": "#/definitions/ScanCriteria" } }, "relationBetweenCriteria": { "description": "Indicates wether a template is a match if any of its multiple criteria is a match (OR), \r\nor if all of its criteria are matches (AND).", "enum": [ "and", "or" ], "type": "string" } } }, "DeviceRoleApmMatch": { "description": "Apm Match rules", "type": "object", "properties": { "applyDiscovered": { "description": "Apply no tasks.", "type": "boolean" }, "onComplete": { "description": "What to do after this action is complete", "enum": [ "next", "stop" ], "type": "string" } } }, "DeviceRoleApmRule": { "description": "Custom and template apm policies", "type": "object", "properties": { "upgradeGuid": { "description": "APM update guid.", "type": "string" }, "name": { "description": "Only here for logging, application name cached.", "type": "string" }, "autoConfigLevel": { "description": "Auto Configlevel, should be always for now.", "enum": [ "rules", "always" ], "type": "string" }, "id": { "type": "string" } } }, "DeviceRoleConfigMgmtMatch": { "description": "Config Mgmt Matching rules", "type": "object", "properties": { "applyDiscovered": { "description": "Apply no tasks.", "type": "boolean" }, "onComplete": { "description": "What to do after this action is complete", "enum": [ "next", "stop" ], "type": "string" } } }, "DeviceRoleConfigMgmtRule": { "description": "Custom and template config mgmt tasks", "type": "object", "properties": { "name": { "description": "Name of the task being referred to.\r\nWill be used to match task over id.", "type": "string" }, "autoConfigLevel": { "description": "Auto Configlevel, should be always for now.", "enum": [ "rules", "always" ], "type": "string" }, "id": { "type": "string" } } }, "ScanCriteria": { "description": "List of criteria values for a single scan criteria", "type": "object", "properties": { "options": { "description": "Name and values for criteria to be checked", "type": "array", "items": { "$ref": "#/definitions/CriteriaValue" } } } }, "CriteriaGroup": { "description": "individual bag for a criteria value", "type": "object", "properties": { "options": { "description": "List of options for this criteria", "type": "array", "items": { "$ref": "#/definitions/CriteriaValue" } } } }, "CriteriaValue": { "description": "individual bag for a criteria value", "type": "object", "properties": { "name": { "description": "Name of criteria value", "type": "string" }, "value": { "description": "value for criteria", "type": "string" } } }, "PageResult[List[RoleAssignment]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[RoleAssignment]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/RoleAssignment" }, "readOnly": true } } }, "PagingInfo[List[RoleAssignment]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "RoleAssignment": { "description": "Role Association", "type": "object", "properties": { "kind": { "description": "kind of role association", "enum": [ "all", "role", "brandModel", "os", "subRole", "monitor", "template", "interfaceFilter", "deviceFilter", "monitorCriteria" ], "type": "string" }, "deviceCount": { "format": "int32", "description": "number of devices", "type": "integer", "readOnly": true }, "devices": { "description": "list of associated devices", "type": "array", "items": { "$ref": "#/definitions/DeviceSummary" } }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "DeviceSummary": { "description": "The high level summary information describing a given \r\ndevice. This is mostly intended for grids and quick\r\naccess to basic information about a device.", "type": "object", "properties": { "hostName": { "description": "The hostname for the device", "type": "string" }, "networkAddress": { "description": "The current network address of the device. Usually an IP address.", "type": "string" }, "role": { "description": "The primary role of the device (e.g. router, switch, etc.).", "type": "string" }, "brand": { "description": "The brand for the device (e.g. Cisco)", "type": "string" }, "os": { "description": "The operating system for the device (e.g. windows, linux, etc)", "type": "string" }, "bestState": { "description": "The best state of the device, like Up", "enum": [ "Unknown", "Up", "Down", "Maintenance", "Any" ], "type": "string" }, "worstState": { "description": "The worst state of the device, like Down", "enum": [ "Unknown", "Up", "Down", "Maintenance", "Any" ], "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "PageResult[List[DeviceRoleSummary]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[DeviceRoleSummary]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/DeviceRoleSummary" }, "readOnly": true } } }, "PagingInfo[List[DeviceRoleSummary]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "PageResult[DeviceRoleTemplateReadResults]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[DeviceRoleTemplateReadResults]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "$ref": "#/definitions/DeviceRoleTemplateReadResults", "description": "The data payload", "readOnly": true } } }, "PagingInfo[DeviceRoleTemplateReadResults]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "DeviceRoleTemplateBatch": { "description": "Provide a set of device templates to be applied", "type": "object", "properties": { "options": { "description": "Set of options for applying the template", "type": "array", "items": { "type": "string" } }, "templates": { "description": "Set of templates to be applied. All templates will attempt to create a new device.\r\nNo attempt will be made to match a device", "type": "array", "items": { "$ref": "#/definitions/RoleTemplate" } } } }, "PackageRequest": { "description": "Request parameters for a package", "required": [ "pkg" ], "type": "object", "properties": { "pkg": { "$ref": "#/definitions/PackageRequestInfo", "description": "general package info" }, "keys": { "description": "desired list of key definitions, empty or null all needed keys will be add", "type": "array", "items": { "$ref": "#/definitions/PackageKeyRequest" } }, "roles": { "description": "desired list of roles, if null or empty all items will be added", "type": "array", "items": { "$ref": "#/definitions/PackageRoleId" } }, "monitors": { "description": "desired list of monitors, if null or empty all items will be added", "type": "array", "items": { "$ref": "#/definitions/PackageMonitorExportRequest" } }, "icons": { "description": "desired list of icons, if null or empty all icons will be added", "type": "array", "items": { "$ref": "#/definitions/PackageIconContent" } }, "options": { "description": "list of options allow changing of output of package", "type": "array", "items": { "type": "string" } }, "key_generation": { "description": "generate a set of vendor public and private key pairs.", "type": "array", "items": { "$ref": "#/definitions/PackageGenKeyRequest" } }, "suggested_signers": { "description": "list of suggest signers for the package, if not specified, the default\r\nsigners will be used", "type": "array", "items": { "$ref": "#/definitions/PackageSignerRequest" } } } }, "PackageRequestInfo": { "description": "General request information for a package", "type": "object", "properties": { "name": { "description": "name of package, name or author is required", "type": "string" }, "description": { "description": "description for package", "type": "string" }, "author": { "description": "author of package, name or author is required", "type": "string" }, "okey": { "description": "obfuscation key. Only required for transport and application of sensitive data\r\nWill error during package creation or application if required and key is not provided or incorrect", "type": "string" } } }, "PackageKeyRequest": { "description": "Set of information required for a key request\r\n\r\n+3.+.", "type": "object", "properties": { "public_only": { "description": "When required, only public key will be added to packet. \r\nDefault: true. (optional)\r\nIf false and needed, private key will be added to packet.\r\nWhen private keys are added to packet an obfuscation key will be required.", "type": "boolean" }, "okey": { "description": "obfuscation key to use on the associated private key", "type": "string" }, "name": { "description": "The \"name\" for the key. For use with acceptance dialog shown to the end user. (optional)", "type": "string" }, "kid": { "description": "The \"kid\" (key ID) Header Parameter is a hint indicating which key was used to secure the JWS.This parameter allows originators to explicitly signal a change of key to recipients.The structure of the \"kid\" value is unspecified.Its value MUST be a case-sensitive string. Use of this Header Parameter is REQUIRED.\r\nCurrent suggested implementation is limited to 150 characters. (required)", "type": "string" }, "alg": { "description": "The \"alg\" (algorithm) identifies the cryptographic algorithm used. (required)", "type": "string" }, "kver": { "description": "The \"kver\" (key version) parameter contains the current version of the key. If empty, version will be \"0.0.0\". (Optional)", "type": "string" }, "issue_time": { "format": "date-time", "description": "date at which this key will or became active", "type": "string" } } }, "PackageRoleId": { "description": "provide a list of starting roles to be included in package.", "type": "object", "properties": { "name": { "description": "name of role, \r\n\tloses to id\r\n\tincludes as starting roles, all roles with same name unless kind is provided", "type": "string" }, "kind": { "description": "filter starting roles to a particular kind of role.", "type": "string" }, "id": { "description": "explicit role identifier as a starting role (preferred)", "type": "string" } } }, "PackageMonitorExportRequest": { "description": "infomration about monitor to share", "type": "object", "properties": { "meaningful_names": { "description": "List of property name to be used when comparing or\r\nsigning this monitor. All property names must exist on \r\ntemplate monitor", "type": "array", "items": { "$ref": "#/definitions/PackageTaggedValues" } }, "name": { "description": "name of monitor to share\r\nmust provide name, classId or baseType or any combination thereof.", "type": "string" }, "classId": { "description": "identifer for basic functionality of the system\r\n must provide name, classId or baseType or any combination thereof.", "type": "string" }, "baseType": { "description": "type of monitor\r\n must provide name, classId or baseType or any combination thereof.", "type": "string" } } }, "PackageIconContent": { "description": "infomration about monitor to share", "type": "object", "properties": { "name": { "description": "name of monitor to share", "type": "string" }, "id": { "description": "identifer for basic functionality of the system (Required)", "type": "string" }, "userDefined": { "description": "type of monitor (Required)", "type": "boolean" } } }, "PackageGenKeyRequest": { "description": "Provide data for generation of vendor key request, obfuscation key will be required", "type": "object", "properties": { "kid": { "description": "The \"kid\" (key ID) Header Parameter is a hint indicating which key was used to secure the JWS.This parameter allows originators to explicitly signal a change of key to recipients.The structure of the \"kid\" value is unspecified.Its value MUST be a case-sensitive string. Use of this Header Parameter is REQUIRED.\r\nCurrent suggested implementation is limited to 150 characters. (required)", "type": "string" }, "kver": { "description": "The \"kver\" (key version) parameter contains the current version of the key. If empty, version will be \"0.0.0\". (Optional)", "type": "string" }, "name": { "description": "The \"name\" for the key. For use with acceptance dialog shown to the end user. (optional)", "type": "string" }, "description": { "description": "The \"description\" of the key. May be used with acceptance dialog shown to the end user. (Optional)", "type": "string" }, "allowed": { "description": "list of features the new key will inherit from the signer and is allowed to sign. \r\nThe key up the chain is only allowed to pass on features it is assigned. \r\nThe ability to generate new keys cannot be transfered and is reserved as a \"base key\" ability only.", "type": "array", "items": { "type": "string" } }, "priority": { "format": "int32", "description": "The \"priority\" determine which key is preferred when signing. Priority is used when the kprop of \"private\" is set.\r\nThe parameter consists of an unsigned integer value and should not be included in a normalized key signature\r\nIf empty, will be assumed to be lowest priority. (optional)", "type": "integer" }, "expiration_days": { "format": "int32", "description": "number of days the new key will be allowed to issues related keys\r\nnull or less than 1 defaults to 366 days", "type": "integer" }, "okey": { "description": "when not empty, this key will be used to obfuscate the generated private key,", "type": "string" } } }, "PackageSignerRequest": { "description": "request a set of signers for the package", "type": "object", "properties": { "allowed": { "description": "requesting items to be signed, \r\nat minmum a valid requested signer must be found for each allowed element of the package\r\nIf package is not in allowed list, then a suggested signer will be used", "type": "array", "items": { "type": "string" } }, "signers": { "description": "Request an explicit signers of data. (Optional)\r\nSigner must be a vendor key typle\r\nSigner must have a private key in the key store", "type": "array", "items": { "$ref": "#/definitions/PackageKeyRequest" } } } }, "PackageTaggedValues": { "description": "Provide a tag list combination", "type": "object", "properties": { "tag": { "description": "tag for this list", "type": "string" }, "values": { "description": "list of values to be applied", "type": "array", "items": { "type": "string" } } } }, "PackageContentResult": { "description": "Packaged make-up result", "type": "object", "properties": { "pkg": { "$ref": "#/definitions/PackageContent", "description": "data about a package. What is needed, what makes it up" }, "result": { "$ref": "#/definitions/PackageResult", "description": "operation results" }, "diag": { "$ref": "#/definitions/PackageDiagnostics" } } }, "PackageContent": { "description": "summary of a package or what will be applied", "type": "object", "properties": { "package": { "$ref": "#/definitions/PackageHeader", "description": "general package info" }, "keys": { "description": "set of key definitions", "type": "array", "items": { "$ref": "#/definitions/PackageKeyHeader" } }, "roles": { "description": "set of role definitions", "type": "array", "items": { "$ref": "#/definitions/PackageRoleContent" } }, "monitors": { "description": "set of monitors", "type": "array", "items": { "$ref": "#/definitions/PackageMonitorContent" } }, "icons": { "description": "set of icons", "type": "array", "items": { "$ref": "#/definitions/PackageIconContent" } }, "signers": { "description": "suggested signer for the package", "type": "array", "items": { "$ref": "#/definitions/PackageKeyUsage" } } } }, "PackageResult": { "description": "Result of a package operation", "type": "object", "properties": { "complete": { "description": "returns true if operation was fully applied. False if partial application or errors occured", "type": "boolean" }, "errors": { "description": "list of errors give the request\r\nwill block the creation/application of the package", "type": "array", "items": { "type": "string" } }, "information": { "description": "informational unsupported features, etc.\r\nwill not block the creation of the package", "type": "array", "items": { "type": "string" } } } }, "PackageDiagnostics": { "description": "diagnostics for package operation", "type": "object", "properties": { "keyStore": { "$ref": "#/definitions/PackageDiag", "description": "key store diagnostics" }, "key": { "$ref": "#/definitions/PackageDiag", "description": "key diagnostics" }, "monitor": { "$ref": "#/definitions/PackageDiag", "description": "monitor diagnostics" }, "role": { "$ref": "#/definitions/PackageDiag", "description": "role diagnostics" }, "package": { "$ref": "#/definitions/PackageDiag", "description": "package diagnostics" } } }, "PackageHeader": { "description": "Provide general information about the package and processing", "type": "object", "properties": { "name": { "description": "name of the package provided by creator. (REQUIRED)", "type": "string" }, "description": { "description": "description for the package provided by creator (Optional)", "type": "string" }, "author": { "description": "provider of this package (Optional)", "type": "string" }, "creation_time": { "format": "date-time", "description": "time this package was created (utc)", "type": "string" }, "format_version": { "description": "package format version (Optional)", "type": "string" }, "okey_required": { "description": "true if an obfuscation key was used to create this package. If not present, default value is false", "type": "boolean" }, "scripting_required": { "description": "scripting monitor was detected", "type": "boolean" }, "has_sensitive_data": { "description": "a monitor or others has sensitive data", "type": "boolean" }, "sensitive_data_removed": { "description": "a monitor or others sensitive data was dropped", "type": "boolean" } } }, "PackageKeyHeader": { "description": "Set of information required for a key request.", "type": "object", "properties": { "name": { "description": "The \"name\" for the key. For use with acceptance dialog shown to the end user. (optional)", "type": "string" }, "description": { "description": "The \"description\" parameter holds a description of the key. May be used with acceptance dialog shown to the end user. (Optional)", "type": "string" }, "allowed": { "description": "The \"allowed\" parameter is a list of functions this key is permitted to be used for. (Required)", "type": "array", "items": { "type": "string" } }, "kprop": { "description": "The \"kprop\" (key property)parameter contains a list of properties this key fulfills. (Required)", "type": "array", "items": { "type": "string" } }, "expiration_time": { "format": "date-time", "description": "last time this key can be used to sign new objects", "type": "string" }, "kid": { "description": "The \"kid\" (key ID) Header Parameter is a hint indicating which key was used to secure the JWS.This parameter allows originators to explicitly signal a change of key to recipients.The structure of the \"kid\" value is unspecified.Its value MUST be a case-sensitive string. Use of this Header Parameter is REQUIRED.\r\nCurrent suggested implementation is limited to 150 characters. (required)", "type": "string" }, "alg": { "description": "The \"alg\" (algorithm) identifies the cryptographic algorithm used. (required)", "type": "string" }, "kver": { "description": "The \"kver\" (key version) parameter contains the current version of the key. If empty, version will be \"0.0.0\". (Optional)", "type": "string" }, "issue_time": { "format": "date-time", "description": "date at which this key will or became active", "type": "string" } } }, "PackageRoleContent": { "description": "provide a list of starting roles to be included in package.", "type": "object", "properties": { "internal_name": { "description": "internal name for role", "type": "string" }, "description": { "description": "description of role", "type": "string" }, "name": { "description": "name of role, \r\n\tloses to id\r\n\tincludes as starting roles, all roles with same name unless kind is provided", "type": "string" }, "kind": { "description": "filter starting roles to a particular kind of role.", "type": "string" }, "id": { "description": "explicit role identifier as a starting role (preferred)", "type": "string" } } }, "PackageMonitorContent": { "description": "infomration about monitor to share", "type": "object", "properties": { "description": { "description": "descript for monitor", "type": "string" }, "isScripting": { "description": "monitor is considered to be a scripting monitor", "type": "boolean" }, "hasSensitiveData": { "description": "monitor has sensitive data", "type": "boolean" }, "sensitiveDataRemoved": { "description": "monitor properties has sensitive data removed for it, will need to be configured", "type": "boolean" }, "isSigned": { "description": "true if monitor provides a signature", "type": "boolean" }, "name": { "description": "name of monitor to share\r\nmust provide name, classId or baseType or any combination thereof.", "type": "string" }, "classId": { "description": "identifer for basic functionality of the system\r\n must provide name, classId or baseType or any combination thereof.", "type": "string" }, "baseType": { "description": "type of monitor\r\n must provide name, classId or baseType or any combination thereof.", "type": "string" } } }, "PackageKeyUsage": { "description": "Use of key for package", "type": "object", "properties": { "usage": { "description": "usage for key signing. If empty, key will be used for all items it is capable of.\r\nIf conflicting usage, system will choose which to use", "type": "array", "items": { "type": "string" } }, "key": { "$ref": "#/definitions/PackageSignerId", "description": "key information" } } }, "PackageDiag": { "description": "package diagnostics", "type": "object", "properties": { "norm_json": { "description": "normalized version of signed documents", "type": "array", "items": { "type": "string" } } } }, "PackageSignerId": { "description": "Set of information required for a key request", "type": "object", "properties": { "name": { "description": "The \"name\" for the key. For use with acceptance dialog shown to the end user. (optional)", "type": "string" }, "kid": { "description": "The \"kid\" (key ID) Header Parameter is a hint indicating which key was used to secure the JWS.This parameter allows originators to explicitly signal a change of key to recipients.The structure of the \"kid\" value is unspecified.Its value MUST be a case-sensitive string. Use of this Header Parameter is REQUIRED.\r\nCurrent suggested implementation is limited to 150 characters. (required)", "type": "string" }, "alg": { "description": "The \"alg\" (algorithm) identifies the cryptographic algorithm used. (required)", "type": "string" }, "kver": { "description": "The \"kver\" (key version) parameter contains the current version of the key. If empty, version will be \"0.0.0\". (Optional)", "type": "string" }, "issue_time": { "format": "date-time", "description": "date at which this key will or became active", "type": "string" } } }, "PackageSignedResult": { "description": "a signed package result", "type": "object", "properties": { "pkg": { "$ref": "#/definitions/SignedPackage", "description": "the signed package" }, "result": { "$ref": "#/definitions/PackageResult", "description": "the result package" }, "diag": { "$ref": "#/definitions/PackageDiagnostics" } } }, "SignedPackage": { "description": "Set of signed objects to transfer from one WhatsUp Gold system to another.", "type": "object", "properties": { "package": { "$ref": "#/definitions/PackageHeader", "description": "General information about this package and how it can be used" }, "keys": { "description": "set of keys required by this package or being delivered to the destation system", "type": "array", "items": { "$ref": "#/definitions/PackageKey" } }, "monitors": { "description": "set of monitors being delivered to the destantion system", "type": "array", "items": { "$ref": "#/definitions/PackageMonitor" } }, "roles": { "description": "Defintion of a device role being updated", "type": "array", "items": { "$ref": "#/definitions/PackageRole" } }, "icons": { "description": "icons being provided by package", "type": "array", "items": { "$ref": "#/definitions/PackageIcon" } }, "__cleartext_signature": { "$ref": "#/definitions/PackageSignature", "description": "contains different signers of the package (optional, requires one signer)" } } }, "PackageKey": { "description": "Key used for signing packages", "type": "object", "properties": { "key": { "description": "The \"key\" contains an encoded public or private value represented as a single string. Can be replaced by the appropriate set of header parameters for the chosen algorithm.\r\npriority. (required)", "type": "string" }, "priority": { "format": "int32", "description": "The \"priority\" determine which key is preferred when signing each piece of a package. Is used when the kprop of \"public\". \r\nThe parameter consists of an unsigned integer value and should not be included in key signature\r\nIf empty, will be assumed to be lowest priority. (optional)", "type": "integer" }, "encoded": { "description": "set to true if obfuscation key is required to use the key", "type": "boolean" }, "store_clear": { "description": "save key as cleartext in store", "type": "boolean" }, "__cleartext_signature": { "$ref": "#/definitions/PackageSignature", "description": "signature of the monitor based on the complete definition (Optional)" }, "name": { "description": "The \"name\" for the key. For use with acceptance dialog shown to the end user. (optional)", "type": "string" }, "description": { "description": "The \"description\" parameter holds a description of the key. May be used with acceptance dialog shown to the end user. (Optional)", "type": "string" }, "allowed": { "description": "The \"allowed\" parameter is a list of functions this key is permitted to be used for. (Required)", "type": "array", "items": { "type": "string" } }, "kprop": { "description": "The \"kprop\" (key property)parameter contains a list of properties this key fulfills. (Required)", "type": "array", "items": { "type": "string" } }, "expiration_time": { "format": "date-time", "description": "last time this key can be used to sign new objects", "type": "string" }, "kid": { "description": "The \"kid\" (key ID) Header Parameter is a hint indicating which key was used to secure the JWS.This parameter allows originators to explicitly signal a change of key to recipients.The structure of the \"kid\" value is unspecified.Its value MUST be a case-sensitive string. Use of this Header Parameter is REQUIRED.\r\nCurrent suggested implementation is limited to 150 characters. (required)", "type": "string" }, "alg": { "description": "The \"alg\" (algorithm) identifies the cryptographic algorithm used. (required)", "type": "string" }, "kver": { "description": "The \"kver\" (key version) parameter contains the current version of the key. If empty, version will be \"0.0.0\". (Optional)", "type": "string" }, "issue_time": { "format": "date-time", "description": "date at which this key will or became active", "type": "string" } } }, "PackageMonitor": { "description": "Provide a template for creating library monitors on the destination system", "type": "object", "properties": { "refId": { "description": "package reference", "type": "string" }, "classId": { "description": "identifer for basic functionality of the system (Required)", "type": "string" }, "baseType": { "description": "type of monitor (Required)", "type": "string" }, "name": { "description": "display name of the monitor (Required)", "type": "string" }, "description": { "description": "description of the monitor (Optional)", "type": "string" }, "useInDiscovery": { "description": "determines if this monitor should be used during the rescaning of a device. \r\nonly valid for active monitors and default = false (Optional)", "type": "boolean" }, "hasSensitiveData": { "description": "monitor properties has sensitive data", "type": "boolean" }, "sensitiveDataRemoved": { "description": "monitor properties has sensitive data removed for it, will need to be configured", "type": "boolean" }, "propertyBags": { "description": "configuration data for the monitor (Optional)", "type": "array", "items": { "$ref": "#/definitions/PackagePropertyBag" } } } }, "PackageRole": { "description": "device role", "type": "object", "properties": { "systemId": { "description": "system role identifier, may be empty", "type": "string" }, "id": { "description": "unique identifier", "type": "string" }, "refId": { "description": "package identifier", "type": "string" }, "name": { "description": "name of the role", "type": "string" }, "kind": { "description": "type of role", "type": "string" }, "isNetworkDevice": { "description": "if device has this role, then consider it a network device", "type": "boolean" }, "isEnabled": { "description": "role is enabled, default is true", "type": "boolean" }, "elements": { "description": "list of associated data", "type": "array", "items": { "$ref": "#/definitions/PackageRoleRule" } } } }, "PackageIcon": { "description": "infomration about icon to share", "type": "object", "properties": { "refId": { "description": "package identifier", "type": "string" }, "data": { "description": "content of icon file", "type": "array", "items": { "type": "string" } }, "name": { "description": "name of monitor to share", "type": "string" }, "id": { "description": "identifer for basic functionality of the system (Required)", "type": "string" }, "userDefined": { "description": "type of monitor (Required)", "type": "boolean" } } }, "PackageSignature": { "description": "signature of the normalized json object at this level of the package", "type": "object", "properties": { "signers": { "description": "contains different signers of the package (optional, requires one)", "type": "array", "items": { "$ref": "#/definitions/PackageSigner" } } } }, "PackagePropertyBag": { "description": "Simple name/value pair for storing monitor configuration (optional)", "type": "object", "properties": { "name": { "description": "name of the bag (required)", "type": "string" }, "value": { "description": "configured value, can be empty (required)", "type": "string" }, "sensitive": { "description": "this value was/is considered sensitive", "type": "boolean" }, "blanked": { "description": "sensitive data was blanked", "type": "boolean" } } }, "PackageRoleRule": { "description": "Role rule data", "type": "object", "properties": { "upgradeId": { "description": "upgrade indicator", "type": "string" }, "type": { "description": "type of data held in this rule", "type": "string" }, "isEditable": { "description": "is the user allowed to edit the value", "type": "boolean" }, "isEnabled": { "description": "is this rule enabled for the role", "type": "boolean" }, "value": { "description": "data for the rule", "type": "string" } } }, "PackageSigner": { "description": "an individual signer. Algrothm/Key Id are the unique combination to match up the public or private key", "type": "object", "properties": { "signing_time": { "format": "date-time", "description": "Time the object", "type": "string" }, "signature": { "description": "resulting signature (required)", "type": "string" }, "kid": { "description": "The \"kid\" (key ID) Header Parameter is a hint indicating which key was used to secure the JWS.This parameter allows originators to explicitly signal a change of key to recipients.The structure of the \"kid\" value is unspecified.Its value MUST be a case-sensitive string. Use of this Header Parameter is REQUIRED.\r\nCurrent suggested implementation is limited to 150 characters. (required)", "type": "string" }, "alg": { "description": "The \"alg\" (algorithm) identifies the cryptographic algorithm used. (required)", "type": "string" }, "kver": { "description": "The \"kver\" (key version) parameter contains the current version of the key. If empty, version will be \"0.0.0\". (Optional)", "type": "string" }, "issue_time": { "format": "date-time", "description": "date at which this key will or became active", "type": "string" } } }, "PackageApply": { "description": "Request to apply a package to system", "required": [ "pkg" ], "type": "object", "properties": { "pkg": { "$ref": "#/definitions/SignedPackage", "description": "signed package being applied" }, "apply": { "$ref": "#/definitions/PackageApplyContent", "description": "options for appling the package, can be empty or null" } } }, "PackageApplyContent": { "description": "summary of a package or what will be applied", "type": "object", "properties": { "options": { "description": "set of key definitions", "type": "array", "items": { "type": "string" } }, "package": { "$ref": "#/definitions/PackageHeaderApply", "description": "general package info" }, "keys": { "description": "set of key definitions", "type": "array", "items": { "$ref": "#/definitions/PackageKeyRequest" } }, "roles": { "description": "set of role definitions", "type": "array", "items": { "type": "string" } }, "monitors": { "description": "set of monitors", "type": "array", "items": { "$ref": "#/definitions/PackageMonitorId" } }, "icons": { "description": "set of monitors", "type": "array", "items": { "type": "string" } } } }, "PackageHeaderApply": { "description": "Apply general settings", "type": "object", "properties": { "okey": { "description": "obfuscation key for package", "type": "string" } } }, "PackageMonitorId": { "description": "infomration about monitor to share", "type": "object", "properties": { "name": { "description": "name of monitor to share\r\nmust provide name, classId or baseType or any combination thereof.", "type": "string" }, "classId": { "description": "identifer for basic functionality of the system\r\n must provide name, classId or baseType or any combination thereof.", "type": "string" }, "baseType": { "description": "type of monitor\r\n must provide name, classId or baseType or any combination thereof.", "type": "string" } } }, "PackageContentOpResult": { "description": "Packaged make-up result", "type": "object", "properties": { "pkg": { "$ref": "#/definitions/PackageContentOp", "description": "data about a package. What is needed, what makes it up" }, "result": { "$ref": "#/definitions/PackageResultWithChange", "description": "any issues found with package. Errors and informational" }, "diag": { "$ref": "#/definitions/PackageDiagnostics" } } }, "PackageContentOp": { "description": "summary of a package or what will be applied", "type": "object", "properties": { "package": { "$ref": "#/definitions/PackageHeader", "description": "general package info" }, "keys": { "description": "set of key definitions", "type": "array", "items": { "$ref": "#/definitions/PackageKeyOp" } }, "roles": { "description": "set of role definitions", "type": "array", "items": { "$ref": "#/definitions/PackageRoleOp" } }, "monitors": { "description": "set of monitors", "type": "array", "items": { "$ref": "#/definitions/PackageMonitorOp" } }, "icons": { "description": "set of icons", "type": "array", "items": { "$ref": "#/definitions/PackageIconOp" } }, "signers": { "description": "suggested signer for the package", "type": "array", "items": { "$ref": "#/definitions/PackageKeyUsage" } } } }, "PackageResultWithChange": { "description": "Result of a package operation", "type": "object", "properties": { "has_changes": { "description": "only filled in by verify and apply. True if changes will or was made to the system", "type": "boolean" }, "complete": { "description": "returns true if operation was fully applied. False if partial application or errors occured", "type": "boolean" }, "errors": { "description": "list of errors give the request\r\nwill block the creation/application of the package", "type": "array", "items": { "type": "string" } }, "information": { "description": "informational unsupported features, etc.\r\nwill not block the creation of the package", "type": "array", "items": { "type": "string" } } } }, "PackageKeyOp": { "description": "Operation on the key", "type": "object", "properties": { "op": { "description": "operation being preformed", "enum": [ "unknown", "noop", "add", "modify" ], "type": "string" }, "complete": { "description": "set true if operation was successfully completed", "type": "boolean" }, "signer": { "$ref": "#/definitions/PackageSignerId", "description": "signer of the key" } } }, "PackageRoleOp": { "description": "Package Role Operation", "type": "object", "properties": { "op": { "description": "operation being preformed", "enum": [ "unknown", "noop", "add", "modify" ], "type": "string", "readOnly": true }, "complete": { "description": "set true if operation was applied, if op is noop, value will always be false", "type": "boolean", "readOnly": true }, "system_op": { "description": "Operation on role for system settings", "enum": [ "unknown", "noop", "add", "modify" ], "type": "string" }, "system_complete": { "description": "set true if operation was applied, if op is noop, value will always be false", "type": "boolean" }, "system_signer": { "$ref": "#/definitions/PackageSignerId", "description": "system signer of role" }, "vendor_op": { "description": "Operation on role for user/vendor adjustable settings", "enum": [ "unknown", "noop", "add", "modify" ], "type": "string" }, "vendor_complete": { "description": "set true if operation was applied, if op is noop, value will always be false", "type": "boolean" }, "vendor_signer": { "$ref": "#/definitions/PackageSignerId", "description": "vendor signer of role" }, "internal_name": { "description": "internal name for role", "type": "string" }, "description": { "description": "description of role", "type": "string" }, "name": { "description": "name of role, \r\n\tloses to id\r\n\tincludes as starting roles, all roles with same name unless kind is provided", "type": "string" }, "kind": { "description": "filter starting roles to a particular kind of role.", "type": "string" }, "id": { "description": "explicit role identifier as a starting role (preferred)", "type": "string" } } }, "PackageMonitorOp": { "description": "infomration about monitor to share", "type": "object", "properties": { "op": { "description": "operation being preformed", "enum": [ "unknown", "noop", "add", "modify" ], "type": "string" }, "complete": { "description": "set true if operation was applied, if op is noop, value will always be false", "type": "boolean" }, "signer": { "$ref": "#/definitions/PackageSignerId", "description": "monitor signer" }, "errors": { "description": "signer of monitor", "type": "array", "items": { "type": "string" } }, "description": { "description": "descript for monitor", "type": "string" }, "isScripting": { "description": "monitor is considered to be a scripting monitor", "type": "boolean" }, "hasSensitiveData": { "description": "monitor has sensitive data", "type": "boolean" }, "sensitiveDataRemoved": { "description": "monitor properties has sensitive data removed for it, will need to be configured", "type": "boolean" }, "isSigned": { "description": "true if monitor provides a signature", "type": "boolean" }, "name": { "description": "name of monitor to share\r\nmust provide name, classId or baseType or any combination thereof.", "type": "string" }, "classId": { "description": "identifer for basic functionality of the system\r\n must provide name, classId or baseType or any combination thereof.", "type": "string" }, "baseType": { "description": "type of monitor\r\n must provide name, classId or baseType or any combination thereof.", "type": "string" } } }, "PackageIconOp": { "description": "operation being preformed on the icon", "type": "object", "properties": { "op": { "description": "operation being preformed", "enum": [ "unknown", "noop", "add", "modify" ], "type": "string" }, "complete": { "description": "set true if operation was applied, if op is noop, value will always be false", "type": "boolean" }, "name": { "description": "name of monitor to share", "type": "string" }, "id": { "description": "identifer for basic functionality of the system (Required)", "type": "string" }, "userDefined": { "description": "type of monitor (Required)", "type": "boolean" } } }, "Result[List[String]]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "description": "The data payload", "type": "array", "items": { "type": "string" }, "readOnly": true } } }, "PageResult[ScanDeviceSummaryList]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[ScanDeviceSummaryList]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "$ref": "#/definitions/ScanDeviceSummaryList", "description": "The data payload", "readOnly": true } } }, "PagingInfo[ScanDeviceSummaryList]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "ScanDeviceSummaryList": { "description": "A list of device summary items", "type": "object", "properties": { "devices": { "description": "The set of device summaries", "type": "array", "items": { "$ref": "#/definitions/DeviceOverview" } }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "Result[ActiveScan]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/ActiveScan", "description": "The data payload", "readOnly": true } } }, "ActiveScan": { "description": "Class DiscoveryActiveScanDto.", "type": "object", "properties": { "isExport": { "description": "Gets or sets a value indicating whether this instance is export.", "type": "boolean" }, "progress": { "format": "double", "description": "Overall progress.", "type": "number" }, "scanUtc": { "format": "date-time", "description": "Gets or sets the timestamp.", "type": "string" }, "devicesFound": { "format": "int32", "description": "Gets or sets the devices found.", "type": "integer" }, "devicesComplete": { "format": "int32", "description": "Gets or sets the devices complete.", "type": "integer" }, "addressResponsive": { "format": "int32", "description": "Gets or sets the address responsive.", "type": "integer" }, "addressAttempts": { "format": "int32", "description": "Gets or sets the address attempts.", "type": "integer" }, "addressTotal": { "format": "int32", "description": "Gets or sets the address total.", "type": "integer" }, "model": { "description": "security model enforced on this scan", "enum": [ "all", "standard", "newDevice", "refresh", "staging", "rescan" ], "type": "string" }, "type": { "description": "type of settings for this scan", "enum": [ "unknown", "user", "system", "temporary", "staging", "plugin", "runOnce" ], "type": "string" }, "phaseProgress": { "format": "double", "description": "Progress in this phase", "type": "number" }, "phase": { "description": "Current phase of discovery", "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "PageResult[List[ActiveScan]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[ActiveScan]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/ActiveScan" }, "readOnly": true } } }, "PagingInfo[List[ActiveScan]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "Result[String]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "description": "The data payload", "type": "string", "readOnly": true } } }, "PageResult[List[AssignedMonitorWithDevice]]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[List[AssignedMonitorWithDevice]]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/AssignedMonitorWithDevice" }, "readOnly": true } } }, "PagingInfo[List[AssignedMonitorWithDevice]]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "AssignedMonitorWithDevice": { "description": "Monitor assignment to devices", "type": "object", "properties": { "device": { "$ref": "#/definitions/DeviceOverview", "description": "information about the device the monitor is assigned" }, "id": { "description": "assignment id", "type": "string" }, "description": { "description": "Monitor library description for the monitor", "type": "string" }, "status": { "description": "status of assigned monitor", "type": "string" }, "type": { "description": "Type of monitor (active, performance, passive)", "enum": [ "active", "performance", "passive" ], "type": "string" }, "monitorTypeId": { "description": "The monitor type id as it exists in the library", "type": "string" }, "monitorTypeClassId": { "description": "The monitor type class id", "type": "string" }, "monitorTypeName": { "description": "The monitor type name as it exists in the library", "type": "string" }, "enabled": { "description": "Monitors assignment is enabled if true", "type": "boolean" }, "isGlobal": { "description": "Monitor Assignment is from the global monitor library if true.", "type": "boolean" }, "active": { "$ref": "#/definitions/ActiveMonitorItems", "description": "Setup active monitor assignment overrides" }, "performance": { "$ref": "#/definitions/PerformanceMonitorItems", "description": "Setup performance monitor assignment overrides" }, "passive": { "$ref": "#/definitions/PassiveMonitorItems", "description": "Setup passive monitor assignment overrides" } } }, "Result[MonitorTemplateReadResults]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/MonitorTemplateReadResults", "description": "The data payload", "readOnly": true } } }, "MonitorTemplateReadResults": { "description": "Results returned when calling to read a monitor template", "type": "object", "properties": { "errors": { "description": "Set of errors encountered during the read request", "type": "array", "items": { "type": "string" } }, "activeMonitors": { "description": "Set of active monitor templates.", "type": "array", "items": { "$ref": "#/definitions/ActiveMonitorTemplate" } }, "passiveMonitors": { "description": "Set of Passive monitor templates.", "type": "array", "items": { "$ref": "#/definitions/PassiveMonitorTemplate" } }, "performanceMonitors": { "description": "Set of Performance monitor templates.", "type": "array", "items": { "$ref": "#/definitions/PerformanceMonitorTemplate" } } } }, "ActiveMonitorTemplate": { "description": "Template representing an active monitor.", "type": "object", "properties": { "useInDiscovery": { "description": "Discovery flag for active monitors, when true, this active monitor will be tested during a discovery rescan operation.\r\ndefault=false.", "type": "boolean" }, "hasSensitiveData": { "description": "True if the monitor is a script based monitor and the user\r\ndoes not have rights to see the property bags.", "type": "boolean" }, "templateId": { "description": "Unique identifier for this template", "type": "string" }, "monitorTypeInfo": { "$ref": "#/definitions/MonitorTypeInfo", "description": "Gets or sets the monitor type information." }, "monitorId": { "description": "Monitor Id Field obsoleted 20.0", "type": "string" }, "propertyBags": { "description": "Configuration Data Field", "type": "array", "items": { "$ref": "#/definitions/MonitorPropertyBag" } }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "PassiveMonitorTemplate": { "description": "Template representing an active monitor.", "type": "object", "properties": { "templateId": { "description": "Unique identifier for this template", "type": "string" }, "monitorTypeInfo": { "$ref": "#/definitions/MonitorTypeInfo", "description": "Gets or sets the monitor type information." }, "monitorId": { "description": "Monitor Id Field obsoleted 20.0", "type": "string" }, "propertyBags": { "description": "Configuration Data Field", "type": "array", "items": { "$ref": "#/definitions/MonitorPropertyBag" } }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "PerformanceMonitorTemplate": { "description": "Template representing a Performance monitor.", "type": "object", "properties": { "ownedByDevice": { "$ref": "#/definitions/DeviceTemplateReferenceName", "description": "Device Assignment Field" }, "hasSensitiveData": { "description": "True if the monitor is a script based monitor and the user\r\ndoes not have rights to see the property bags.", "type": "boolean" }, "templateId": { "description": "Unique identifier for this template", "type": "string" }, "monitorTypeInfo": { "$ref": "#/definitions/MonitorTypeInfo", "description": "Gets or sets the monitor type information." }, "monitorId": { "description": "Monitor Id Field obsoleted 20.0", "type": "string" }, "propertyBags": { "description": "Configuration Data Field", "type": "array", "items": { "$ref": "#/definitions/MonitorPropertyBag" } }, "name": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" } } }, "MonitorTypeInfo": { "description": "DTO Object For Monitor Types", "type": "object", "properties": { "name": { "description": "The name of the monitor meta type", "type": "string" }, "classId": { "description": "The COM class identifier (CLSID) for the monitor type", "type": "string" }, "requiredCredentials": { "description": "The mask indicating what type of credentials are required by this meta type", "type": "array", "items": { "type": "string" } }, "baseType": { "description": "Indicates the BaseType of this Monitor type", "type": "string" }, "assemblyName": { "description": "Assembly Name that implements this Type", "type": "string" }, "manufacturer": { "description": "Name of the Manufacturer of the Monitor", "type": "string" }, "plugInName": { "description": "The Plugin Name this Monitor belongs to", "type": "string" } } }, "MonitorPropertyBag": { "description": "List of attributes to be added to the device\r\nAttribute Names should be unique in the list.", "type": "object", "properties": { "name": { "description": "Required: Name of property", "maxLength": 150, "minLength": 0, "type": "string" }, "value": { "description": "Defaults to empty. Value to be used for property.", "type": "string" }, "isSensitive": { "description": "set true if data is sensitive based on sensitivity rules", "type": "boolean" } } }, "MonitorUpdate": { "description": "Update object for Monitors", "type": "object", "properties": { "name": { "description": "monitor description", "type": "string" }, "description": { "description": "monitor description", "type": "string" }, "propertyBags": { "description": "Configuration Data Field", "type": "array", "items": { "$ref": "#/definitions/MonitorPropertyBagAdd" } }, "useInDiscovery": { "description": "Update the \"useInDiscovery\" value on monitor.\r\nIf null, no update will be attempted", "type": "boolean" } } }, "MonitorPropertyBagAdd": { "description": "List of attributes to be added to the device\r\nAttribute Names should be unique in the list.", "type": "object", "properties": { "name": { "description": "Required: Name of property", "maxLength": 150, "minLength": 0, "type": "string" }, "value": { "description": "Defaults to empty. Value to be used for property.", "type": "string" } } }, "PageResult[MonitorTemplateReadResults]": { "description": "A result envelope that carries paged data", "type": "object", "properties": { "paging": { "$ref": "#/definitions/PagingInfo[MonitorTemplateReadResults]", "description": "The paging section of the envelope", "readOnly": true }, "data": { "$ref": "#/definitions/MonitorTemplateReadResults", "description": "The data payload", "readOnly": true } } }, "PagingInfo[MonitorTemplateReadResults]": { "description": "The paging information", "type": "object", "properties": { "pageId": { "description": "The id of the current page being returned", "type": "string" }, "nextPageId": { "description": "The id of the next page, if there is one", "type": "string" }, "size": { "format": "int32", "description": "The number of items in the page being returned", "type": "integer" } } }, "MonitorAdd": { "description": "Update object for Monitors", "type": "object", "properties": { "allowSystemMonitorCreation": { "description": "set true if using the add operation to create a system monitor.\r\neach system monitor has its own creation rules. Default is false.", "type": "boolean" }, "name": { "description": "Name of monitor", "type": "string" }, "description": { "description": "Description of monitor", "type": "string" }, "monitorTypeInfo": { "$ref": "#/definitions/MonitorTypeInfoAdd", "description": "Type of monitor to create and type" }, "propertyBags": { "description": "Configuration Data Field", "type": "array", "items": { "$ref": "#/definitions/MonitorPropertyBagAdd" } }, "useInDiscovery": { "description": "Update the \"useInDiscovery\" value on monitor.\r\nIf null, no update will be attempted", "type": "boolean" }, "ownedByDevice": { "$ref": "#/definitions/DeviceTemplateReferenceName", "description": "Device Assignment Field" } } }, "MonitorTypeInfoAdd": { "description": "Monitor type information", "type": "object", "properties": { "baseType": { "description": "type of monitor", "enum": [ "active", "performance", "passive" ], "type": "string" }, "classId": { "description": "class of monitor", "type": "string" } } }, "MonitorBatch": { "description": "Batch operation against monitors", "type": "object", "properties": { "removeAssignments": { "description": "List of monitor ids to remove from library", "type": "array", "items": { "$ref": "#/definitions/MonitorResource" } }, "removeAssignmentsByQuery": { "description": "remove monitor based on a query", "type": "array", "items": { "$ref": "#/definitions/RemoveMonitorAssignmentQuery" } }, "remove": { "description": "List of monitor ids to remove from library", "type": "array", "items": { "$ref": "#/definitions/RemoveMonitorOp" } }, "removeByQuery": { "description": "remove monitor based on a query", "type": "array", "items": { "$ref": "#/definitions/RemoveMonitorTypeQuery" } }, "changes": { "description": "List of monitor to be change", "type": "array", "items": { "$ref": "#/definitions/MonitorUpdateOp" } }, "adds": { "description": "List of new monitors to add", "type": "array", "items": { "$ref": "#/definitions/MonitorAdd" } } } }, "MonitorResource": { "description": "simplest monitor resource", "type": "object", "properties": { "type": { "description": "Type of monitor being updated", "enum": [ "active", "performance", "passive" ], "type": "string" }, "id": { "type": "string" } } }, "RemoveMonitorAssignmentQuery": { "description": "Monitor Remove Associations by query", "type": "object", "properties": { "includeSystemMonitors": { "description": "include monitors marked as system", "type": "boolean" }, "includeDeviceMonitors": { "description": "remove monitors that are device specific", "type": "boolean" }, "includeCoreMonitors": { "description": "remove monitors that are device specific", "type": "boolean" }, "type": { "description": "Monitor type to query", "enum": [ "all", "active", "performance", "passive" ], "type": "string" }, "search": { "description": "search criteria to test name, description, classid, argument, comment", "type": "string" } } }, "RemoveMonitorOp": { "description": "remove a single monitor from the system", "type": "object", "properties": { "failInUse": { "description": "do not do operation if monitor is in use", "type": "boolean" }, "type": { "description": "Type of monitor being updated", "enum": [ "active", "performance", "passive" ], "type": "string" }, "id": { "type": "string" } } }, "RemoveMonitorTypeQuery": { "description": "Monitor Remove Monitors by query", "type": "object", "properties": { "failInUse": { "description": "do not do operation if monitor is in use", "type": "boolean" }, "includeSystemMonitors": { "description": "include monitors marked as system", "type": "boolean" }, "includeDeviceMonitors": { "description": "remove monitors that are device specific", "type": "boolean" }, "type": { "description": "Monitor type to query", "enum": [ "all", "active", "performance", "passive" ], "type": "string" }, "search": { "description": "search criteria to test name, description, classid, argument, comment", "type": "string" } } }, "MonitorUpdateOp": { "description": "Update monitor operation", "type": "object", "properties": { "id": { "description": "Id to apply changes to, cannot be changed", "type": "string" }, "type": { "description": "Type of monitor to be udpated, cannot be changed", "enum": [ "active", "performance", "passive" ], "type": "string" }, "name": { "description": "monitor description", "type": "string" }, "description": { "description": "monitor description", "type": "string" }, "propertyBags": { "description": "Configuration Data Field", "type": "array", "items": { "$ref": "#/definitions/MonitorPropertyBagAdd" } }, "useInDiscovery": { "description": "Update the \"useInDiscovery\" value on monitor.\r\nIf null, no update will be attempted", "type": "boolean" } } }, "Result[List[MonitorSupportedType]]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/MonitorSupportedType" }, "readOnly": true } } }, "MonitorSupportedType": { "description": "Supported Monitor Type", "type": "object", "properties": { "name": { "description": "The name of the monitor meta type", "type": "string" }, "description": { "description": "The description of the monitor meta type", "type": "string" }, "classId": { "description": "The COM class identifier (CLSID) for the monitor type", "type": "string" }, "requiredCredentialsMask": { "description": "The mask indicating what type of credentials are required by this meta type", "type": "array", "items": { "type": "string" } }, "baseType": { "description": "Indicates the BaseType of this Monitor type", "enum": [ "active", "performance", "passive" ], "type": "string" }, "assemblyName": { "description": "Assembly Name that implements this Type", "type": "string" }, "manufacturer": { "description": "Name of the Manufacturer of the Monitor", "type": "string" }, "plugInName": { "description": "The Plugin Name this Monitor belongs to", "type": "string" } } }, "ApplyMonitorTemplates": { "description": "Request to apply a set of monitor templates", "type": "object", "properties": { "activeMonitors": { "description": "Set of active monitor templates.", "type": "array", "items": { "$ref": "#/definitions/ActiveMonitorTemplate" } }, "passiveMonitors": { "description": "Set of Passive monitor templates.", "type": "array", "items": { "$ref": "#/definitions/PassiveMonitorTemplate" } }, "performanceMonitors": { "description": "Set of Performance monitor templates.", "type": "array", "items": { "$ref": "#/definitions/PerformanceMonitorTemplate" } } } }, "ListResult[ApiPollerConfigWithStatus]": { "description": "A result envelope that carries list data", "type": "object", "properties": { "data": { "description": "The data payload", "type": "array", "items": { "$ref": "#/definitions/ApiPollerConfigWithStatus" }, "readOnly": true } } }, "ApiPollerConfigWithStatus": { "description": "Describes current status of configured poller", "type": "object", "properties": { "isLocal": { "description": "Is this \"Local Poller\"", "type": "boolean" }, "state": { "description": "Current state of the poller", "enum": [ "Offline", "Unknown", "Initial", "Loading", "Ready", "Running", "Stopping", "Error" ], "type": "string" }, "lagTimeSeconds": { "format": "int32", "description": "Size of Poller Lag in seconds", "type": "integer" }, "polledDevicesCount": { "format": "int32", "description": "Number of devices currently polled by this poller", "type": "integer" }, "polledActiveMonitorsCount": { "format": "int32", "description": "Number of Active Monitors polled by this poller", "type": "integer" }, "polledPerformanceMonitorsCount": { "format": "int32", "description": "Number of Performance Monitors polled by this poller", "type": "integer" }, "pollerGuid": { "format": "uuid", "description": "Unique Identifier for the poller", "type": "string", "example": "00000000-0000-0000-0000-000000000000" }, "name": { "description": "Display name and at the same time name of the remote poller used during registration", "type": "string" }, "description": { "description": "Description", "type": "string" }, "isEnabled": { "description": "Is poller enabled", "type": "boolean" }, "useForLoadBalance": { "description": "Should this poller poll devices which has no specific association with any poller", "type": "boolean" }, "assignedDeviceIds": { "description": "Devices associated with this poller\r\nThose devices will be polled by this poller if it is available", "type": "array", "items": { "format": "int32", "type": "integer" } }, "assignedSubnets": { "description": "Subnets associated with this poller\r\nDevices in those subnets will be polled by this poller if it is available", "type": "array", "items": { "type": "string" } } } }, "ApiPollerConfigCreate": { "description": "Poller Create DTO", "type": "object", "properties": { "name": { "description": "Display name and at the same time name of the remote poller used during registration", "type": "string" }, "description": { "description": "Description", "type": "string" }, "isEnabled": { "description": "Is poller enabled", "type": "boolean" }, "useForLoadBalance": { "description": "Should this poller poll devices which has no specific association with any poller", "type": "boolean" }, "assignedDeviceIds": { "description": "Devices associated with this poller\r\nThose devices will be polled by this poller if it is available", "type": "array", "items": { "format": "int32", "type": "integer" } }, "assignedSubnets": { "description": "Subnets associated with this poller\r\nDevices in those subnets will be polled by this poller if it is available", "type": "array", "items": { "type": "string" } } } }, "Result[ApiPollerConfig]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/ApiPollerConfig", "description": "The data payload", "readOnly": true } } }, "ApiPollerConfig": { "description": "Provides information about Poller configured in the system", "type": "object", "properties": { "pollerGuid": { "format": "uuid", "description": "Unique Identifier for the poller", "type": "string", "example": "00000000-0000-0000-0000-000000000000" }, "name": { "description": "Display name and at the same time name of the remote poller used during registration", "type": "string" }, "description": { "description": "Description", "type": "string" }, "isEnabled": { "description": "Is poller enabled", "type": "boolean" }, "useForLoadBalance": { "description": "Should this poller poll devices which has no specific association with any poller", "type": "boolean" }, "assignedDeviceIds": { "description": "Devices associated with this poller\r\nThose devices will be polled by this poller if it is available", "type": "array", "items": { "format": "int32", "type": "integer" } }, "assignedSubnets": { "description": "Subnets associated with this poller\r\nDevices in those subnets will be polled by this poller if it is available", "type": "array", "items": { "type": "string" } } } }, "Result[NameValuePairResults]": { "description": "The standard result envelope for successful data. All results MUST\r\nextend this type eventually.", "type": "object", "properties": { "data": { "$ref": "#/definitions/NameValuePairResults", "description": "The data payload", "readOnly": true } } }, "NameValuePairResults": { "description": "Results from a name value pair list", "type": "object", "properties": { "values": { "description": "Set of name value pairs", "type": "array", "items": { "$ref": "#/definitions/NameValuePair" } } } } }, "securityDefinitions": { "oauth2": { "type": "oauth2", "description": "OAuth2 Password Grant", "flow": "password", "tokenUrl": "http://localhost:8734/api/v1/token", "scopes": {} } } }