{"openapi":"3.1.0","info":{"contact":{"email":"support@domotz.com","name":"API Support","url":"https://www.domotz.com/"},"description":"# Introduction\nTo begin using the Domotz Public API, first obtain your `API key` and `server` reference from the <a href=\"https://portal.domotz.com/portal/settings/services?selected_menu=api_keys\">Domotz Portal</a>.\n\nThe Domotz Public API follows standard REST principles. It uses conventional HTTP response codes, authentication mechanisms, and HTTP verbs. All requests accept JSON bodies, and all responses are returned in JSON format. Date-time values must follow the `yyyy-mm-ddThh:mm:ss` format and must always be expressed in UTC. Other time zones are not supported.\n\n# Webhooks\nYou can subscribe to events occurring on the Domotz platform by using Webhooks. Subscriptions are available for both Collector-level events and Device-level events.\n\nRefer to the [user-guide](https://help.domotz.com/user-guide/shared-alerts-webhooks-ticketing-systems/) for detailed instructions on how to configure Webhooks as a notification channel and how to create a Shared Alert Profile. You can also consult the sections on [Alert profiles list](#tag/alerts/get/alert-profile), [Alert profile collector binding](#tag/alerts/post/alert-profile/{alert_profile_id}/binding/agent/{agent_id}), and [Alert profile device binding](#tag/alerts/post/alert-profile/{alert_profile_id}/binding/agent/{agent_id}/device/{device_id}) to retrieve all Shared Alert Profiles and to bind them to specific Collectors or Devices. These sections also contain the complete list of available Webhook events and provide links to their corresponding schemas.\n","termsOfService":"https://www.domotz.com/terms-and-conditions/","title":"Domotz Public API","version":"1"},"paths":{"/custom-tag":{"get":{"tags":["Custom Tags"],"summary":"Tags list","description":"Retrieves all the custom tags defined by the user","operationId":"getCustomTags","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserTagListResponseModel"}}}}}},"post":{"tags":["Custom Tags"],"summary":"Tag creation","description":"Creates a custom tag defined by the user","operationId":"createCustomTag","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTagModel"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/custom-tag/{custom_tag_id}":{"put":{"tags":["Custom Tags"],"summary":"Tag update","description":"Edits a custom tag defined by the user","operationId":"editCustomTag","parameters":[{"name":"custom_tag_id","in":"path","required":true,"schema":{"type":"integer","title":"Custom Tag Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTagModel"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Custom Tags"],"summary":"Tag deletion","description":"Deletes a custom tag defined by the user","operationId":"deleteCustomTag","parameters":[{"name":"custom_tag_id","in":"path","required":true,"schema":{"type":"integer","title":"Custom Tag Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/member":{"get":{"tags":["Access Management"],"summary":"User list","description":"List all RBAC Users with their details.","operationId":"getUsers","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadUsersResponse"}}}}}},"post":{"tags":["Access Management"],"summary":"User creation","description":"Create a new RBAC User.","operationId":"createUser","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserRequestBackend"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/member/{member_id}":{"get":{"tags":["Access Management"],"summary":"User","description":"Retrieve RBAC User details by User ID.","operationId":"getUser","parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"integer","title":"Member Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/UserWithDetails"},{"type":"null"}],"title":"Response Getuser"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Access Management"],"summary":"User edit","description":"Update an RBAC User by user ID. Note: User groups are replaced by those provided in the request; omit required_authentication_type to reset the User's required authentication type.","operationId":"editUser","parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"integer","title":"Member Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRequestBackend"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Access Management"],"summary":"User deletion","description":"Delete an RBAC User by user ID.","operationId":"deleteUser","parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"integer","title":"Member Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/user-group":{"get":{"tags":["Access Management"],"summary":"User group list","description":"List all RBAC User groups with their details.","operationId":"getUserGroups","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadUserGroupsResponse"}}}}}},"post":{"tags":["Access Management"],"summary":"User group creation","description":"Create a new RBAC User group.","operationId":"createUserGroup","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserGroupRequest"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/user-group/{user_group_id}":{"get":{"tags":["Access Management"],"summary":"User group","description":"Retrieve RBAC User group details by user group ID.","operationId":"getUserGroup","parameters":[{"name":"user_group_id","in":"path","required":true,"schema":{"type":"integer","title":"User Group Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ReadUserGroupDataResponseBackend"},{"type":"null"}],"title":"Response Getusergroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Access Management"],"summary":"User group edit","description":"Update an RBAC User group by user group ID. Note: Users and roles are replaced by those provided in the request.","operationId":"editUserGroup","parameters":[{"name":"user_group_id","in":"path","required":true,"schema":{"type":"integer","title":"User Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserGroupRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Access Management"],"summary":"User group deletion","description":"Delete an RBAC User group by user group ID.","operationId":"deleteUserGroup","parameters":[{"name":"user_group_id","in":"path","required":true,"schema":{"type":"integer","title":"User Group Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/role":{"get":{"tags":["Access Management"],"summary":"Role list","description":"List all RBAC roles and associated user groups.","operationId":"getRoles","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadRolesResponseBackend"}}}}}}},"/rbac/role/{role_id}":{"get":{"tags":["Access Management"],"summary":"Role","description":"Retrieve a Role and its Permissions. Note: When 'is_applied_to_all_entities' is true, 'entity_ids' is omitted.","operationId":"getRole","parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"integer","title":"Role Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ReadRoleDataResponseBackend"},{"type":"null"}],"title":"Response Getrole"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/{agent_id}/network/interfaces":{"get":{"tags":["Network Configuration"],"summary":"Monitored networks","description":"Returns the networks monitored by the collector.","operationId":"getAgentInterfaces","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"integer","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInterfacesResponseModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/{agent_id}/device/{device_id}/custom-tag/binding":{"get":{"tags":["Custom Tags"],"summary":"Tag device bindings list","description":"Retrieves all the user's custom tags associated to a device","operationId":"getDeviceCustomTagBindings","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"integer","title":"Agent Id"}},{"name":"device_id","in":"path","required":true,"schema":{"type":"integer","title":"Device Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceTagResponseModel"},"title":"Response Getdevicecustomtagbindings"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/{agent_id}/device/{device_id}/custom-tag/{custom_tag_id}/binding":{"post":{"tags":["Custom Tags"],"summary":"Tag device binding","description":"Associates a custom tag to a device","operationId":"createDeviceCustomTagBinding","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"integer","title":"Agent Id"}},{"name":"device_id","in":"path","required":true,"schema":{"type":"integer","title":"Device Id"}},{"name":"custom_tag_id","in":"path","required":true,"schema":{"type":"integer","title":"Custom Tag Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Custom Tags"],"summary":"Tag device unbinding","description":"Disassociates a custom tag to a device","operationId":"deleteDeviceCustomTagBinding","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"integer","title":"Agent Id"}},{"name":"device_id","in":"path","required":true,"schema":{"type":"integer","title":"Device Id"}},{"name":"custom_tag_id","in":"path","required":true,"schema":{"type":"integer","title":"Custom Tag Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent":{"get":{"summary":"Collectors list","description":"Returns the collectors list.","tags":["Collector"],"parameters":[{"name":"page_size","required":false,"in":"query","description":"The maximum number of items to return. Min value is 1. Max value is 100. Default value is 10","schema":{"type":"integer","format":"int32","maximum":100,"minimum":1,"default":10}},{"name":"page_number","required":false,"in":"query","description":"The requested page number, 0-indexed. Default value is 0","schema":{"type":"integer","format":"int32","minimum":0,"default":0}},{"name":"display_name","required":false,"in":"query","description":"Consider only collectors with `display_name` containing the string (case insensitive)","schema":{"type":"string"}},{"name":"team_name","required":false,"in":"query","description":"Filters by team name (companies only)","schema":{"type":"string"}}],"operationId":"listAgents","responses":{"200":{"description":"The collector list","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentBase"}}}}}}},"head":{"summary":"Collectors count","description":"Counts the collectors.","tags":["Collector"],"parameters":[{"name":"display_name","required":false,"in":"query","description":"Consider only collectors with `display_name` containing the string (case insensitive)","schema":{"type":"string"}},{"name":"team_name","required":false,"in":"query","description":"Filters by team name (companies only)","schema":{"type":"string"}}],"operationId":"countAgents","responses":{"204":{"description":"The number of collectors matching the filtering criteria","headers":{"X-Entities-Count":{"schema":{"type":"integer","format":"int32"},"description":"The number of collectors matching the filtering criteria"}}}}}},"/agent/{agent_id}":{"get":{"summary":"Collector details","description":"Returns the details of a collector.","tags":["Collector"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getAgent","responses":{"200":{"description":"The collector","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentDetail"}}}}}},"delete":{"summary":"Collector deletion","description":"Deletes a collector.","tags":["Collector"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"deleteAgent","responses":{"204":{"description":""}}}},"/agent/{agent_id}/activity-log":{"get":{"summary":"Activity log","description":"Returns the activity log of a collector.","tags":["Collector"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"from","required":false,"in":"query","description":"The start time of the time series. Default value is one week","schema":{"type":"string","format":"date-time"}},{"name":"to","required":false,"in":"query","description":"The end time of the time series. Default value is now","schema":{"type":"string","format":"date-time"}},{"name":"type","required":false,"in":"query","description":"If present, only the specified type(s) will be fetched.","schema":{"type":"string","enum":["note","agent_alert_level_set","agent_alert_resume","rtd_session_start","cresnet_node_reboot","device_reboot","firmware_update_start","applications_terminate","configuration_restore","factory_reset","network_configuration_change","custom_driver_execute","remote_session_start","remote_session_terminate","remote_session_limit_reached","vpn_session_start","vpn_session_terminate","chat_started","chat_resolved","operator_joined","operator_left","power_on","power_off","power_cycle","camera_snapshot","camera_streaming_start","configuration_management_status_change"]}}],"operationId":"getAgentActivityLog","responses":{"200":{"description":"List of activity log entries","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ActivityLog"}}}}}}}},"/agent/{agent_id}/connection/consumption":{"get":{"summary":"Remote connections consumption","description":"Returns the remote connection consumption on the given collector.","tags":["Remote Connection"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getConnectionConsumption","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionConsumption"}}}}}}},"/agent/{agent_id}/connection/vpn-session":{"get":{"summary":"Active VPN connections list","description":"Returns the active VPN connections for the collector.","tags":["Remote Connection"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getAgentVPNActiveConnections","responses":{"200":{"description":"Collector VPN Connection information","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentVPNActiveConnection"}}}}}}},"post":{"summary":"VPN connection creation","description":"Creates a temporary VPN server on the collector and returns the vpn configuration file content. Current consumption and consumption limits can be retrieved with a call to <a href='#getconnectionconsumption'> getConnectionConsumption</a> endpoint.","tags":["Remote Connection"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"createAgentVPNConnection","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentVPNConnection"}}}},"responses":{"201":{"description":"OpenVPN Configuration file content","content":{"text/plain":{"schema":{"type":"string","format":"binary"}}}}}}},"/agent/{agent_id}/connection/vpn-session/{vpn_session_id}":{"delete":{"summary":"Active VPN connection closure","description":"Closes an active VPN connection session for the collector.","tags":["Remote Connection"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"vpn_session_id","required":true,"in":"path","description":"Session ID","schema":{"type":"integer","format":"int32"}}],"operationId":"deleteAgentVPNConnection","responses":{"204":{"description":""}}}},"/agent/{agent_id}/device":{"get":{"summary":"Collector devices list","description":"Returns all the devices of a collector. On per-device licensing collectors, only the managed devices are included.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"show_hidden","required":false,"in":"query","description":"Whether to include hidden devices in the returned list","schema":{"type":"boolean"}},{"name":"show_excluded","required":false,"in":"query","description":"Whether to include excluded devices in the returned list. Default is True","schema":{"type":"boolean"}}],"operationId":"listDevices","responses":{"200":{"description":"The list of all devices in the collector's monitored networks","content":{"application/json":{"schema":{"type":"array","items":{"discriminator":{"propertyName":"protocol","mapping":{"DUMMY":"#/components/schemas/DummyDevice","IP":"#/components/schemas/LocalIpDevice","IP_EXTERNAL":"#/components/schemas/ExternalIpDevice","IP_SUBNET":"#/components/schemas/SubnetIpDevice"}},"oneOf":[{"$ref":"#/components/schemas/DummyDevice"},{"$ref":"#/components/schemas/LocalIpDevice"},{"$ref":"#/components/schemas/ExternalIpDevice"},{"$ref":"#/components/schemas/SubnetIpDevice"}]}}}}}}},"delete":{"summary":"Bulk offline devices deletion","description":"Deletes all the DOWN devices of *IP* protocol.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"deleteDownDevices","responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/{device_id}":{"get":{"summary":"Device details","description":"Returns the details of a device.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getDevice","responses":{"200":{"description":"An object containing the device details","content":{"application/json":{"schema":{"discriminator":{"propertyName":"protocol","mapping":{"DUMMY":"#/components/schemas/DummyDevice","IP":"#/components/schemas/LocalIpDevice","IP_EXTERNAL":"#/components/schemas/ExternalIpDevice","IP_SUBNET":"#/components/schemas/SubnetIpDevice"}},"oneOf":[{"$ref":"#/components/schemas/DummyDevice"},{"$ref":"#/components/schemas/LocalIpDevice"},{"$ref":"#/components/schemas/ExternalIpDevice"},{"$ref":"#/components/schemas/SubnetIpDevice"}]}}}}}},"delete":{"summary":"Device deletion","description":"Deletes a device, whether ONLINE, OFFLINE or DOWN. If a device is deleted while online, it may reappear when rediscovered automatically.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"deleteDevice","responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/{field}":{"put":{"summary":"Device property change","description":"Changes a proprety of the device.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"field","required":true,"in":"path","description":"The field to update - for the type and valid values see the description of the corresponding output parameter <a href=\"#tocSabstractdevice\">here</a>","schema":{"type":"string","enum":["importance","user_data/model","user_data/type","user_data/name","user_data/vendor","details/room","details/zone","details/serial","details/notes"]}}],"operationId":"editDevice","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"string"}}},"description":"The value that the field will change to"},"responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/action/power":{"get":{"summary":"Device power management actions","description":"Returns the power management actions available on the device at the current moment. See <a href='#schemadevicepoweraction'> DevicePowerAction </a> schema for further details.","tags":["Power Management"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getDevicePowerActions","responses":{"200":{"description":"Returns a JSON object indicating the current availability of each power action on the device ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DevicePowerAction"}}}}}}},"/agent/{agent_id}/device/{device_id}/action/power/{field}":{"post":{"summary":"Device power action operation","description":"Performs the action on the device, according to the specified {<b> field </b>} value. The availability of such operations can be determined with a call to <a href='#getdevicepoweractions'> getDevicePowerActions </a>  operation.","tags":["Power Management"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"field","required":true,"in":"path","description":"Specifies the power action to perform","schema":{"type":"string","enum":["on","off","cycle","software-reboot"]}}],"operationId":"powerActionOnDevice","responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/application":{"get":{"summary":"Device applications list","description":"Returns the list of applications of the device. The feature is only available on collectors under the Enterprise Plan.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"page_size","required":false,"in":"query","description":"The maximum number of items to return. Min value is 1. Max value is 1000. Default value is 100","schema":{"type":"integer","format":"int32","maximum":1000,"minimum":1,"default":100}},{"name":"page_number","required":false,"in":"query","description":"The requested page number, 0-indexed. Default value is 0","schema":{"type":"integer","format":"int32","minimum":0,"default":0}},{"name":"name","required":false,"in":"query","description":"Allows filtering by `name`","schema":{"type":"string"}},{"name":"device_ids","required":false,"in":"query","description":"Allows filtering by `device_ids`","schema":{"type":"string"}}],"operationId":"listDeviceApplications","responses":{"200":{"description":"The list of applications of the device","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceApplication"}}}}}}},"head":{"summary":"Device applications count","description":"Counts the applications. The feature is only available on collectors under the Enterprise Plan.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"name","required":false,"in":"query","description":"Allows filtering by `name`","schema":{"type":"string"}},{"name":"device_ids","required":false,"in":"query","description":"Allows filtering by `device_ids`","schema":{"type":"string"}}],"operationId":"countDeviceApplications","responses":{"204":{"description":"Returns the application count","headers":{"X-Entities-Count":{"schema":{"type":"integer","format":"int32"},"description":"Returns the application count"}}}}}},"/agent/{agent_id}/device/{device_id}/configuration-management/backup":{"post":{"summary":"Device configuration backup execution","description":"Sends a command to backup a device configuration.","tags":["Configuration Management"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"backupDeviceConfiguration","responses":{"202":{"description":"Command has been sent"}}}},"/agent/{agent_id}/device/{device_id}/configuration-management/history":{"get":{"summary":"Device configurations list","description":"Returns the list of available device configurations.","tags":["Configuration Management"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"deviceConfigurationHistoryList","responses":{"200":{"description":"The list of saved device configurations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceConfigurationMetadata"}}}}}}},"post":{"summary":"Device configuration creation","description":"Creates a device configuration backup in the configuration history.","tags":["Configuration Management"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"createDeviceConfiguration","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceConfigurationCreate"}}}},"responses":{"202":{"description":"Configuration backup has been created"}}}},"/agent/{agent_id}/device/{device_id}/configuration-management/history/{configuration_timestamp}?)":{"get":{"summary":"Device configuration detail","description":"Returns the details of a device configuration entry.","tags":["Configuration Management"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"configuration_timestamp","required":true,"in":"path","description":"Configuration timestamp (\"latest\" or YYYY-MM-DDTHH:MM:SS+00:00)","schema":{"type":"string","pattern":"latest|\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\+00:00)?"}}],"operationId":"getDeviceConfiguration","responses":{"200":{"description":"The device's configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceConfiguration"}}}}}}},"/agent/{agent_id}/device/{device_id}/connection":{"post":{"summary":"Device secure connection creation","description":"Establishes a direct secure connection to the `device`. Current consumption and consumption limits can be retrieved with a call to <a href='#getconnectionconsumption'> getConnectionConsumption</a> endpoint.","tags":["Remote Connection"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"connectToDevice","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceConnection"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionSession"}}}}}}},"/agent/{agent_id}/device/{device_id}/credentials":{"put":{"summary":"Device credentials update","description":"Sets the device credentials to perform extended discovery. This operation will affect the <b> authentication_status </b> of the device.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"setCredentials","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceCredentials"}}},"description":"device credentials payload"},"responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/eye/snmp":{"get":{"summary":"SNMP sensors list","description":"Returns the list of configured SNMP sensors.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"listEyesSNMP","responses":{"200":{"description":"The list of configured SNMP sensors for the device and their latest values","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SNMPDomotzEye"}}}}}}},"post":{"summary":"SNMP sensor creation","description":"Creates a new SNMP sensors.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"createEyeSNMP","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SNMPDomotzEyeCreation"}}}},"responses":{"201":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/eye/snmp/{sensor_id}":{"delete":{"summary":"SNMP sensor deletion","description":"Deletes the SNMP sensor.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"sensor_id","required":true,"in":"path","description":"SNMP Sensor ID","schema":{"type":"integer","format":"int32"}}],"operationId":"deleteEyeSNMP","responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/eye/snmp/{sensor_id}/function":{"get":{"summary":"SNMP sensor trigger functions list","description":"Returns the list of functions for the SNMP sensor trigger.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"sensor_id","required":true,"in":"path","description":"SNMP Sensor ID","schema":{"type":"integer","format":"int32"}}],"operationId":"listEyesSNMPTriggerFunction","responses":{"200":{"description":"The list of functions that can be used by the trigger","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SNMPDomotzEyeTriggerFunction"}}}}}}}},"/agent/{agent_id}/device/{device_id}/eye/snmp/{sensor_id}/history":{"get":{"summary":"SNMP sensor time series","description":"Returns the time series of the SNMP sensor collected samples.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"sensor_id","required":true,"in":"path","description":"SNMP Sensor ID","schema":{"type":"integer","format":"int32"}},{"name":"from","required":false,"in":"query","description":"The start time of the time series. Default value is one week","schema":{"type":"string","format":"date-time"}},{"name":"to","required":false,"in":"query","description":"The end time of the time series. Default value is now","schema":{"type":"string","format":"date-time"}}],"operationId":"getEyesSNMPHistory","responses":{"200":{"description":"The list of SNMP sensor samples","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceEyeSNMPHistorySample"}}}}}}}},"/agent/{agent_id}/device/{device_id}/eye/snmp/{sensor_id}/trigger":{"get":{"summary":"SNMP sensor triggers list","description":"Returns the list of triggers for the SNMP Sensor.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"sensor_id","required":true,"in":"path","description":"SNMP Sensor ID","schema":{"type":"integer","format":"int32"}}],"operationId":"listEyesSNMPTrigger","responses":{"200":{"description":"The list of triggers associated to the sensor","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SNMPDomotzEyeTrigger"}}}}}}},"post":{"summary":"SNMP sensor trigger creation","description":"Creates a new SNMP Trigger for the sensor. \n\nFor instance, to receive a notification when the value of the sensor is above a threshold x, it is required to add a trigger specifying the function_id = 2 (is greater than) and the operand value equals to [x]. \nThe function_id value can be retrieved with the listEyesSNMPTriggerFunction call. \nTo activate the alert, it is required to call createEyeSNMPTriggerAlert after the trigger creation.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"sensor_id","required":true,"in":"path","description":"SNMP Sensor ID","schema":{"type":"integer","format":"int32"}}],"operationId":"createEyeSNMPTrigger","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SNMPDomotzSnmpTriggerCreation"}}}},"responses":{"201":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/eye/snmp/{sensor_id}/trigger/{trigger_id}":{"delete":{"summary":"SNMP sensor trigger deletion","description":"Deletes the SNMP Trigger for the sensor.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"sensor_id","required":true,"in":"path","description":"SNMP Sensor ID","schema":{"type":"integer","format":"int32"}},{"name":"trigger_id","required":true,"in":"path","description":"SNMP Sensor Trigger ID","schema":{"type":"integer","format":"int32"}}],"operationId":"deleteEyeSNMPTrigger","responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/eye/snmp/{sensor_id}/trigger/{trigger_id}/alert/{medium_name}":{"post":{"summary":"SNMP sensor trigger alert creation","description":"Add an alert to a SNMP Trigger.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"sensor_id","required":true,"in":"path","description":"SNMP Sensor ID","schema":{"type":"integer","format":"int32"}},{"name":"trigger_id","required":true,"in":"path","description":"SNMP Sensor Trigger ID","schema":{"type":"integer","format":"int32"}},{"name":"medium_name","required":true,"in":"path","description":"the name of the medium","schema":{"type":"string","enum":["email","mobile"]}}],"operationId":"createEyeSNMPTriggerAlert","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SNMPDomotzSnmpTriggerAlertCreation"}}}},"responses":{"201":{"description":""}}},"delete":{"summary":"SNMP sensor trigger alert deletion","description":"Deletes the alert for thee SNMP Trigger.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"sensor_id","required":true,"in":"path","description":"SNMP Sensor ID","schema":{"type":"integer","format":"int32"}},{"name":"trigger_id","required":true,"in":"path","description":"SNMP Sensor Trigger ID","schema":{"type":"integer","format":"int32"}},{"name":"medium_name","required":true,"in":"path","description":"the name of the medium","schema":{"type":"string","enum":["email","mobile"]}}],"operationId":"deleteEyeSNMPTriggerAlert","responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/eye/tcp":{"get":{"summary":"TCP sensors list","description":"Returns the list of configured TCP sensors.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"listEyesTCP","responses":{"200":{"description":"The list of configured TCP sensors for the device and their latest values","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TCPDomotzEye"}}}}}}},"post":{"summary":"TCP sensor creation","description":"Creates a new TCP sensors.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"createEyeTCP","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TCPDomotzEyeCreation"}}}},"responses":{"201":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/eye/tcp/{service_id}":{"delete":{"summary":"TCP sensor deletion","description":"Deletes the TCP sensor.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"service_id","required":true,"in":"path","description":"TCP Sensor ID","schema":{"type":"integer","format":"int32"}}],"operationId":"deleteEyeTCP","responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/history/network/event":{"get":{"summary":"Device state change history","description":"Returns the time series of the state changes of the device.","tags":["Metrics"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"from","required":false,"in":"query","description":"The start time of the time series. Default value is one week","schema":{"type":"string","format":"date-time"}},{"name":"to","required":false,"in":"query","description":"The end time of the time series. Default value is now","schema":{"type":"string","format":"date-time"}}],"operationId":"getDeviceStatusHistory","responses":{"200":{"description":"A time series","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceHistory"}}}}}}}},"/agent/{agent_id}/device/{device_id}/history/rtd":{"get":{"summary":"Round Trip Delay statistics history","description":"Returns the Round Trip Delay history for the device. Each item represents the statistical aggregate of a set of Round Trip Delay measurements.","tags":["Metrics"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"from","required":false,"in":"query","description":"The start time of the time series. Default value is one week","schema":{"type":"string","format":"date-time"}},{"name":"to","required":false,"in":"query","description":"The end time of the time series. Default value is now","schema":{"type":"string","format":"date-time"}}],"operationId":"getDeviceRTDHistory","responses":{"200":{"description":"Device RTD History","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceRTDHistorySample"}}}}}}}},"/agent/{agent_id}/device/{device_id}/inventory":{"get":{"summary":"Device inventory fields list","description":"Returns the device's inventory data.","tags":["Inventory Fields"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getDeviceInventory","responses":{"200":{"description":"The device's inventory, with the fields sorted alphabetically. Not set fields will be null","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceInventoryField"}}}}}}}},"/agent/{agent_id}/device/{device_id}/inventory/{inventory_field}":{"put":{"summary":"Device inventory field update","description":"Sets the value of an Inventory field for the device, a value can't be set to `null`.","tags":["Inventory Fields"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"inventory_field","required":true,"in":"path","description":"Field identifier, unique within the Inventory","schema":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,24}$"}}],"operationId":"setDeviceInventoryFieldValue","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"string","maxLength":255}}}},"responses":{"204":{"description":""}}},"delete":{"summary":"Device inventory field deletion","description":"Deletes the Inventory field for the device.","tags":["Inventory Fields"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"inventory_field","required":true,"in":"path","description":"Field identifier, unique within the Inventory","schema":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,24}$"}}],"operationId":"deleteDeviceInventoryField","responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/monitoring-state":{"put":{"summary":"Device monitoring state update","description":"Sets the monitoring state of a device to either managed or unmanaged. This endpoint is available only for agents using per-device licensing.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"updateDeviceMonitoringState","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceMonitoringState"}}},"description":"The value that the device monitoring state will assume"},"responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/multimedia/camera/snapshot":{"get":{"summary":"Take camera snapshot","description":"Take a snapshot of the camera. Internally, a device connection is established. Current consumption and consumption limits can be retrieved with a call to <a href='#getconnectionconsumption'> getConnectionConsumption</a> endpoint.","tags":["Multimedia"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"onvifSnapshot","responses":{"200":{"description":"A binary image","content":{"image/*":{"schema":{"type":"string","format":"binary"}}}}}}},"/agent/{agent_id}/device/{device_id}/power-outlet":{"get":{"summary":"Device power outlets list","description":"Returns a list of the power outlets discovered on the device.","tags":["Power Management"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getDeviceOutlets","responses":{"200":{"description":"A list of outlet objects","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceOutlet"}}}}}}}},"/agent/{agent_id}/device/{device_id}/power-outlet/{power_outlet_id}":{"put":{"summary":"Power outlet name update","description":"Update the power outlet with the specified custom name.","tags":["Power Management"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"power_outlet_id","required":true,"in":"path","description":"Outlet ID","schema":{"type":"string"}}],"operationId":"updateDeviceOutlet","requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceOutletUpdate"}}}},"responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/power-outlet/{power_outlet_id}/action/{action}":{"post":{"summary":"Power outlet action operation","description":"Trigger an action on a power outlet.","tags":["Power Management"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"power_outlet_id","required":true,"in":"path","description":"Outlet ID","schema":{"type":"string"}},{"name":"action","required":true,"in":"path","description":"Action to perform on the outlet","schema":{"type":"string","enum":["on","off","cycle"]}}],"operationId":"triggerOutletAction","responses":{"202":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/power-outlet/{power_outlet_id}/attach/{attached_device_id}":{"post":{"summary":"Power outlet device attachment","description":"Attach a device to a power outlet.","tags":["Power Management"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"power_outlet_id","required":true,"in":"path","description":"Outlet ID","schema":{"type":"string"}},{"name":"attached_device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"attachDeviceToOutlet","responses":{"204":{"description":""}}},"delete":{"summary":"Power outlet device detachment","description":"Detach a device from a power outlet.","tags":["Power Management"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"power_outlet_id","required":true,"in":"path","description":"Outlet ID","schema":{"type":"string"}},{"name":"attached_device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"detachDeviceFromOutlet","responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/snmp-authentication":{"get":{"summary":"Device SNMP authentication details","description":"Returns the SNMP authentication info.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getSNMPAuthentication","responses":{"200":{"description":"The SNMP authentication info for the device","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SNMPDomotzAuthentication"}}}}}},"put":{"summary":"Device SNMP authentication update","description":"Sets the SNMP authentication info. <ul><li>_snmp_read_community_ and _snmp_write_community_ are  relevant only for _V1_ and _V2_. </li><li>_V3_NO_AUTH_ requires a valid _username_. </li><li>_V3_AUTH_NO_PRIV_ requires _username_, _authentication_protocol_ and _authentication_key_. </li><li>_V3_AUTH_PRIV_ requires _username_, _authentication_protocol_, _authentication_key_, _encryption_protocol_ and _encryption_key_.</li></ul>","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"setSNMPAuthentication","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SNMPDomotzAuthentication"}}}},"responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/snmp-community":{"put":{"summary":"Device SNMP community update","description":"Saves a snmp community (read, optionally write) on device. _Deprecated_, please use <a href='#setsnmpauthentication'> setSNMPAuthentication </a>.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"setSnmpCommunity","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceSnmpCommunity"}}},"description":"The value that the snmp community entries will change to"},"responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/{device_id}/uptime":{"get":{"summary":"Device uptime","description":"Returns the uptime of the device.","tags":["Metrics"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"from","required":false,"in":"query","description":"The start time of the time series. Default value is one week","schema":{"type":"string","format":"date-time"}},{"name":"to","required":false,"in":"query","description":"The end time of the time series. Default value is now","schema":{"type":"string","format":"date-time"}}],"operationId":"getDeviceUptime","responses":{"200":{"description":"The uptime of the device","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceUptime"}}}}}}},"/agent/{agent_id}/device/{device_id}/variable":{"get":{"summary":"Device variables list","description":"Returns the list of device variables.","tags":["Metrics"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"page_size","required":false,"in":"query","description":"The maximum number of items to return. Min value is 1. Max value is 1000. Default value is 100","schema":{"type":"integer","format":"int32","maximum":1000,"minimum":1,"default":100}},{"name":"page_number","required":false,"in":"query","description":"The requested page number, 0-indexed. Default value is 0","schema":{"type":"integer","format":"int32","minimum":0,"default":0}},{"name":"value","required":false,"in":"query","description":"Allows filtering by `value`","schema":{"type":"string"}},{"name":"path","required":false,"in":"query","description":"Allows filtering by `path`","schema":{"type":"string"}},{"name":"sort_by","required":false,"in":"query","description":"Allows ordering by `path`, `id`, `value`, `label`, `value_update_time`, `creation_time`","schema":{"type":"string","enum":["path","id","value","label","value_update_time","creation_time"]}},{"name":"sorting_direction","required":false,"in":"query","description":"The default is `asc`","schema":{"type":"string","enum":["asc","desc"]}},{"name":"has_history","required":false,"in":"query","description":"Allows filtering by `has_history` field","schema":{"type":"boolean"}},{"name":"metric","required":false,"in":"query","description":"Allows filtering by `metric`","schema":{"type":"string"}}],"operationId":"listDeviceVariables","responses":{"200":{"description":"The list of device variables","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceVariable"}}}}}}},"head":{"summary":"Device variables count","description":"Returns device variables count.","tags":["Metrics"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"value","required":false,"in":"query","description":"Allows filtering by `value`","schema":{"type":"string"}},{"name":"path","required":false,"in":"query","description":"Allows filtering by `path`","schema":{"type":"string"}},{"name":"has_history","required":false,"in":"query","description":"Allows filtering by `has_history` field","schema":{"type":"boolean"}},{"name":"metric","required":false,"in":"query","description":"Allows filtering by `metric`","schema":{"type":"string"}}],"operationId":"countDeviceVariables","responses":{"204":{"description":"The device variables count","headers":{"X-Entities-Count":{"schema":{"type":"integer","format":"int32"},"description":"The device variables count"}}}}}},"/agent/{agent_id}/device/{device_id}/variable/{variable_id}/history":{"get":{"summary":"Device variable history","description":"Returns the device variable history.","tags":["Metrics"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"variable_id","required":true,"in":"path","description":"Variable ID","schema":{"type":"integer","format":"int32"}},{"name":"from","required":false,"in":"query","description":"The start time of the time series. Default value is one week","schema":{"type":"string","format":"date-time"}},{"name":"to","required":false,"in":"query","description":"The end time of the time series. Default value is now","schema":{"type":"string","format":"date-time"}}],"operationId":"getVariableHistory","responses":{"200":{"description":"The device variable's history, a list of dictionaries, each composed by the timestamp (a datetime) and the value (a string)","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VariableHistorySample"}}}}}}}},"/agent/{agent_id}/device/{device_id}/visibility":{"delete":{"summary":"Hide a device","description":"Hides a device (available only on DOWN devices).","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"hideDevice","responses":{"204":{"description":""}}}},"/agent/{agent_id}/device/application":{"get":{"summary":"Collector device applications list","description":"Returns the list of applications of all the devices belonging to the collector. The feature is only available on collectors under the Enterprise Plan.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"page_size","required":false,"in":"query","description":"The maximum number of items to return. Min value is 1. Max value is 1000. Default value is 100","schema":{"type":"integer","format":"int32","maximum":1000,"minimum":1,"default":100}},{"name":"page_number","required":false,"in":"query","description":"The requested page number, 0-indexed. Default value is 0","schema":{"type":"integer","format":"int32","minimum":0,"default":0}},{"name":"name","required":false,"in":"query","description":"Allows filtering by `name`","schema":{"type":"string"}},{"name":"device_ids","required":false,"in":"query","description":"Allows filtering by `device_ids`","schema":{"type":"string"}}],"operationId":"listAgentDeviceApplications","responses":{"200":{"description":"The list of applications of all the devices belonging to the collector","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentDeviceApplication"}}}}}}},"head":{"summary":"Collector device applications count","description":"Counts the applications of all devices belonging to the collector. The feature is only available on collectors under the Enterprise Plan.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"name","required":false,"in":"query","description":"Allows filtering by `name`","schema":{"type":"string"}},{"name":"device_ids","required":false,"in":"query","description":"Allows filtering by `device_ids`","schema":{"type":"string"}}],"operationId":"countAgentDeviceApplications","responses":{"204":{"description":"Returns the application count","headers":{"X-Entities-Count":{"schema":{"type":"integer","format":"int32"},"description":"Returns the application count"}}}}}},"/agent/{agent_id}/device/external-host":{"post":{"summary":"External host creation","description":"Creates an external host.","tags":["Network Configuration"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"createExternalHost","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalHost"}}}},"responses":{"201":{"description":""}}}},"/agent/{agent_id}/device/eye/snmp":{"get":{"summary":"Collector SNMP sensors list","description":"Returns the list of configured SNMP sensors on the collector.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"listAgentEyesSNMP","responses":{"200":{"description":"The list of configured SNMP sensors on the collector","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SNMPDomotzAgentEye"}}}}}}}},"/agent/{agent_id}/device/eye/tcp":{"get":{"summary":"Collector TCP sensors list","description":"Returns the list of configured TCP sensors on the collector.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"listAgentEyesTCP","responses":{"200":{"description":"The list of configured TCP sensors on the collector and their latest values","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TCPDomotzEye"}}}}}}}},"/agent/{agent_id}/device/monitoring-state/unmanaged":{"get":{"summary":"Unmanaged devices list","description":"Returns the list of unmanaged devices for a specific collector. This endpoint returns a limited set of data to support per-device licensing flows. The list of managed devices can be retrieved using the listDevices API.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"listUnmanagedDevices","responses":{"200":{"description":"The list of all unmanaged devices in the collector's monitored networks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MinimalDevice"}}}}}}}},"/agent/{agent_id}/device/rtd":{"get":{"summary":"Round Trip Delay statistics","description":"Returns the Round Trip Delay statistics for all devices monitored by the collector. The aggregate values of _avg_min_, _avg_max_, _avg_median_ help to understand the baseline response time of a device in a weekly time frame, while _latest_median_ helps detecting a possible deviation from the baseline.","tags":["Metrics"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getAgentRTDStats","responses":{"200":{"description":"Devices RTD Statistics","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceRTDStatistics"}}}}}}}},"/agent/{agent_id}/device/variable":{"get":{"summary":"Collector device variables list","description":"Returns the list of all device variables of the collector.","tags":["Metrics"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"page_size","required":false,"in":"query","description":"The maximum number of items to return. Min value is 1. Max value is 1000. Default value is 100","schema":{"type":"integer","format":"int32","maximum":1000,"minimum":1,"default":100}},{"name":"page_number","required":false,"in":"query","description":"The requested page number, 0-indexed. Default value is 0","schema":{"type":"integer","format":"int32","minimum":0,"default":0}},{"name":"value","required":false,"in":"query","description":"Allows filtering by `value`","schema":{"type":"string"}},{"name":"path","required":false,"in":"query","description":"Allows filtering by `path`","schema":{"type":"string"}},{"name":"sort_by","required":false,"in":"query","description":"Allows ordering by `path`, `id`, `value`, `label`, `value_update_time`, `creation_time`, `device_id`","schema":{"type":"string","enum":["path","id","value","label","value_update_time","creation_time","device_id"]}},{"name":"sorting_direction","required":false,"in":"query","description":"The default is `asc`","schema":{"type":"string","enum":["asc","desc"]}},{"name":"has_history","required":false,"in":"query","description":"Allows filtering by `has_history` field","schema":{"type":"boolean"}},{"name":"metric","required":false,"in":"query","description":"Allows filtering by `metric`","schema":{"type":"string"}}],"operationId":"listAgentDeviceVariables","responses":{"200":{"description":"The list of all device variables of a collector","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentDeviceVariable"}}}}}}},"head":{"summary":"Collector device variables count","description":"Returns the device variables count of the collector.","tags":["Metrics"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"value","required":false,"in":"query","description":"Allows filtering by `value`","schema":{"type":"string"}},{"name":"path","required":false,"in":"query","description":"Allows filtering by `path`","schema":{"type":"string"}},{"name":"has_history","required":false,"in":"query","description":"Allows filtering by `has_history` field","schema":{"type":"boolean"}},{"name":"metric","required":false,"in":"query","description":"Allows filtering by `metric`","schema":{"type":"string"}}],"operationId":"countAgentDeviceVariables","responses":{"204":{"description":"The device variables count","headers":{"X-Entities-Count":{"schema":{"type":"integer","format":"int32"},"description":"The device variables count"}}}}}},"/agent/{agent_id}/eye-statistics":{"get":{"summary":"Sensors usage and limits","description":"Returns information about Domotz Sensors usage and limits.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"eyesUsageInfo","responses":{"200":{"description":"A data structure containing information about current Domotz Sensors usage and limits","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomotzEyesUsageInformation"}}}}}}},"/agent/{agent_id}/history/network/event":{"get":{"summary":"Collector state change history","description":"Returns the time series of the state changes of the collector.","tags":["Metrics"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"from","required":false,"in":"query","description":"The start time of the time series. Default value is one week","schema":{"type":"string","format":"date-time"}},{"name":"to","required":false,"in":"query","description":"The end time of the time series. Default value is now","schema":{"type":"string","format":"date-time"}}],"operationId":"getAgentStatusHistory","responses":{"200":{"description":"A time series","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentHistory"}}}}}}}},"/agent/{agent_id}/history/network/speed":{"get":{"summary":"Internet Speed Test time series","description":"Returns the time series of the Internet Speed measurements taken from the collector, both in\ndownload and in upload.","tags":["Metrics"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"from","required":false,"in":"query","description":"The start time of the time series. Default value is one week","schema":{"type":"string","format":"date-time"}},{"name":"to","required":false,"in":"query","description":"The end time of the time series. Default value is now","schema":{"type":"string","format":"date-time"}}],"operationId":"getSpeedTestHistory","responses":{"200":{"description":"A time series","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NetworkSpeedSample"}}}}}}}},"/agent/{agent_id}/ip-conflict":{"get":{"summary":"Active IP conflicts","description":"Returns the list of active IP conflicts on a collector.","tags":["Collector"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getAgentIPConflicts","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentIpConflict"}}}}}}}},"/agent/{agent_id}/metric-statistics":{"get":{"summary":"Metrics usage and limits","description":"Returns Domotz Sensors usage and limits.","tags":["Sensor"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"MetricUsageInfo","responses":{"200":{"description":"Current Domotz Sensors usage and limits","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomotzMetricUsageInformation"}}}}}}},"/agent/{agent_id}/network/dhcp-device-discovery":{"put":{"summary":"DHCP device discovery setting","description":"Enable/disable the collector DHCP Device Discovery.","tags":["Network Configuration"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"setDHCPDeviceDiscovery","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DHCPDeviceDiscoverySetting"}}},"description":"Enable/disable the DHCP Device Discovery on the collector"},"responses":{"204":{"description":""}}}},"/agent/{agent_id}/network/excluded-device":{"get":{"summary":"Excluded devices list","description":"Returns all the excluded devices of a collector, i.e., devices present in Device Blacklist section.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"listExcludedDevices","responses":{"200":{"description":"The list of all devices excluded from collector monitoring","content":{"application/json":{"schema":{"type":"array","items":{"discriminator":{"propertyName":"protocol","mapping":{"DUMMY":"#/components/schemas/DummyDevice","IP":"#/components/schemas/LocalIpDevice","IP_EXTERNAL":"#/components/schemas/ExternalIpDevice","IP_SUBNET":"#/components/schemas/SubnetIpDevice"}},"oneOf":[{"$ref":"#/components/schemas/DummyDevice"},{"$ref":"#/components/schemas/LocalIpDevice"},{"$ref":"#/components/schemas/ExternalIpDevice"},{"$ref":"#/components/schemas/SubnetIpDevice"}]}}}}}}}},"/agent/{agent_id}/network/excluded-device/{device_id}":{"post":{"summary":"Device exclusion","description":"Excludes a device from collector monitoring.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"addExcludedDevice","responses":{"204":{"description":""}}},"delete":{"summary":"Device exclusion removal","description":"Removes a device from the excluded devices list.","tags":["Device"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"deleteExcludedDevice","responses":{"204":{"description":""}}}},"/agent/{agent_id}/network/external-host-scan-policy":{"put":{"summary":"External host scan policy update","description":"Updates the current external host scan policy. It is possible to enable/disable each one of the three available methods (ICMP, TCP-SYN, TCP-ACK). For TCP-SYN and TCP-ACK is mandatory to specify a set of TCP ports. If a method is not specified in the payload of the request, it will be configured as disabled.","tags":["Network Configuration"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"setAgentExternalHostScanPolicy","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentExternalHostScanPolicy"}}},"description":"The external host scan policy to be applied"},"responses":{"204":{"description":""}}},"get":{"summary":"External host scan policy","description":"Returns the current external host scan policy.","tags":["Network Configuration"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getAgentExternalHostScanPolicy","responses":{"200":{"description":"The external host scan policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentExternalHostScanPolicy"}}}}}},"delete":{"summary":"External host scan policy reset","description":"Restore the external host scan policy to default.","tags":["Network Configuration"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"deleteAgentExternalHostScanPolicy","responses":{"204":{"description":""}}}},"/agent/{agent_id}/network/interfaces-policy":{"put":{"summary":"Network interface filtering policy update","description":"Updates the current network interface filtering policy.","tags":["Network Configuration"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"setAgentInterfacesPolicy","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInterfacesPolicy"}}},"description":"the filtering policy to be applied"},"responses":{"204":{"description":""}}},"get":{"summary":"Network interface filtering policy","description":"Returns the current network interface filtering policy. The interfaces policy defines the set of interfaces which will be ignored (`deny`) or scanned (`allow`) by the collector. The default behavior is to scan all available interfaces.","tags":["Network Configuration"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getAgentInterfacesPolicy","responses":{"200":{"description":"The current network interface filtering policy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInterfacesPolicy"}}}}}},"delete":{"summary":"Network interface policy reset","description":"Resets the network interface filtering policy to the default value.","tags":["Network Configuration"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"deleteAgentInterfacesPolicy","responses":{"204":{"description":""}}}},"/agent/{agent_id}/network/ip-scan-policy":{"put":{"summary":"IP address scan policy update","description":"Updates the current IP address scan policy. The list of IP addresses provided in `forced_ip_addresses` and the list of IP address ranges provided in `forced_ip_ranges` will be scanned regardless of the automatic discovery settings of the collector.","tags":["Network Configuration"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"setAgentIPScanPolicy","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentIPScanPolicy"}}},"description":"the IP scan policy to be applied"},"responses":{"204":{"description":""}}},"get":{"summary":"IP address scan policy","description":"Returns the current IP addresses management policy. It is possible to specify a set of IP addresses in the `forced_ip_addresses` field array or a set of IP address ranges in the `forced_ip_ranges` field array to be always scanned.","tags":["Network Configuration"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getAgentIPScanPolicy","responses":{"200":{"description":"The IP scan policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentIPScanPolicy"}}}}}},"delete":{"summary":"IP address scan policy reset","description":"Resets the IP scan policy to the default value.","tags":["Network Configuration"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"deleteAgentIPScanPolicy","responses":{"204":{"description":""}}}},"/agent/{agent_id}/network/routed":{"post":{"summary":"Routed network creation","description":"Creates a routed network.","tags":["Network Configuration"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"createRoutedNetwork","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutedNetwork"}}}},"responses":{"201":{"description":""}}}},"/agent/{agent_id}/network-topology":{"get":{"summary":"Network topology","description":"Returns the collector's network topology.","tags":["Topology"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getNetworkTopology","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkTopology"}}}}}}},"/agent/{agent_id}/ownership/team/{team_id}":{"put":{"summary":"Collector team reassignment","description":"Moves a collector under the control of a different team. Note: This API is restricted to users on the Enterprise Plan. Please contact <a href=\"mailto:sales@domotz.com\">sales@domotz.com</a> to learn more.","tags":["Enterprise"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"team_id","required":true,"in":"path","description":"Team ID","schema":{"type":"integer","format":"int32"}}],"operationId":"moveAgent","responses":{"204":{"description":""}}}},"/agent/{agent_id}/uptime":{"get":{"summary":"Collector uptime","description":"Returns the uptime of the collector.","tags":["Metrics"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"from","required":false,"in":"query","description":"The start time of the time series. Default value is one week","schema":{"type":"string","format":"date-time"}},{"name":"to","required":false,"in":"query","description":"The end time of the time series. Default value is now","schema":{"type":"string","format":"date-time"}}],"operationId":"getAgentUptime","responses":{"200":{"description":"The uptime of the collector","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentUptime"}}}}}}},"/agent/{agent_id}/variable":{"get":{"summary":"Collector variables list","description":"Returns the list of all collector variables of the collector.","tags":["Metrics"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"page_size","required":false,"in":"query","description":"The maximum number of items to return. Min value is 1. Max value is 1000. Default value is 100","schema":{"type":"integer","format":"int32","maximum":1000,"minimum":1,"default":100}},{"name":"page_number","required":false,"in":"query","description":"The requested page number, 0-indexed. Default value is 0","schema":{"type":"integer","format":"int32","minimum":0,"default":0}},{"name":"value","required":false,"in":"query","description":"Allows filtering by `value`","schema":{"type":"string"}},{"name":"path","required":false,"in":"query","description":"Allows filtering by `path`","schema":{"type":"string"}},{"name":"sort_by","required":false,"in":"query","description":"Allows ordering by `path`, `id`, `value`, `label`, `value_update_time`, `creation_time`","schema":{"type":"string","enum":["path","id","value","label","value_update_time","creation_time"]}},{"name":"sorting_direction","required":false,"in":"query","description":"The default is `asc`","schema":{"type":"string","enum":["asc","desc"]}},{"name":"has_history","required":false,"in":"query","description":"Allows filtering by `has_history` field","schema":{"type":"boolean"}},{"name":"metric","required":false,"in":"query","description":"Allows filtering by `metric`","schema":{"type":"string"}}],"operationId":"listAgentVariables","responses":{"200":{"description":"The list of all collector variables of the collector","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentVariable"}}}}}}},"head":{"summary":"Collector variables count","description":"Returns the collector variables count of the collector.","tags":["Metrics"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"value","required":false,"in":"query","description":"Allows filtering by `value`","schema":{"type":"string"}},{"name":"path","required":false,"in":"query","description":"Allows filtering by `path`","schema":{"type":"string"}},{"name":"has_history","required":false,"in":"query","description":"Allows filtering by `has_history` field","schema":{"type":"boolean"}},{"name":"metric","required":false,"in":"query","description":"Allows filtering by `metric`","schema":{"type":"string"}}],"operationId":"countAgentVariables","responses":{"204":{"description":"The collector variables count","headers":{"X-Entities-Count":{"schema":{"type":"integer","format":"int32"},"description":"The collector variables count"}}}}}},"/agent/{agent_id}/variable/{variable_id}/history":{"get":{"summary":"Collector variable history","description":"Returns the collector variable history.","tags":["Metrics"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"variable_id","required":true,"in":"path","description":"Variable ID","schema":{"type":"integer","format":"int32"}},{"name":"from","required":false,"in":"query","description":"The start time of the time series. Default value is one week","schema":{"type":"string","format":"date-time"}},{"name":"to","required":false,"in":"query","description":"The end time of the time series. Default value is now","schema":{"type":"string","format":"date-time"}}],"operationId":"getAgentVariableHistory","responses":{"200":{"description":"The collector variable's history, a list of dictionaries, each composed by the timestamp (a datetime) and the value (a string)","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VariableHistorySample"}}}}}}}},"/agent/uptime":{"get":{"summary":"All collectors uptime","description":"Returns the uptime of all collectors.","tags":["Metrics"],"parameters":[{"name":"from","required":false,"in":"query","description":"The start time of the time series. Default value is one week","schema":{"type":"string","format":"date-time"}},{"name":"to","required":false,"in":"query","description":"The end time of the time series. Default value is now","schema":{"type":"string","format":"date-time"}}],"operationId":"getAgentListUptime","responses":{"200":{"description":"The uptime of the collectors","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentUptime"}}}}}}}},"/alert-profile":{"get":{"summary":"Alert profiles list","description":"Returns the list of configured alert profiles. You can configure alert profiles on the Domotz Portal. Alert profiles define the association between a list of events and a notification channel (email, webhook or slack).","tags":["Alerts"],"operationId":"getAlertProfiles2","responses":{"200":{"description":"The list of configured alert profiles","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlertProfile"}}}}}}}},"/alert-profile/{alert_profile_id}/binding/agent/{agent_id}":{"post":{"summary":"Alert profile collector binding","description":"Bind an alert profile to a collector. After binding, a webhook will be sent to the configured service when one of the events associated to the profile occurs. You can configure the profile and the webhook endpoint on the Domotz Portal","tags":["Alerts"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"alert_profile_id","required":true,"in":"path","description":"Profile ID","schema":{"type":"integer","format":"int32"}}],"operationId":"bindAlertProfileToAgent","callbacks":{"agent_status_up":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentStatusEvent"}}}},"responses":{"201":{"description":""}}}}},"agent_status_down":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentStatusEvent"}}}},"responses":{"201":{"description":""}}}}},"agent_speed_test":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSpeedTestEvent"}}}},"responses":{"201":{"description":""}}}}},"agent_security_issue":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSecurityIssueEvent"}}}},"responses":{"201":{"description":""}}}}},"agent_device_discovery":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceDiscoveryEvent"}}}},"responses":{"201":{"description":""}}}}},"agent_wan_change":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentWANChangeEvent"}}}},"responses":{"201":{"description":""}}}}},"agent_lan_change":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentLANChangeEvent"}}}},"responses":{"201":{"description":""}}}}},"agent_feature_discovery":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureDiscoveryEvent"}}}},"responses":{"201":{"description":""}}}}},"agent_feature_discovery_mib":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MibDiscoveryEvent"}}}},"responses":{"201":{"description":""}}}}}},"responses":{"204":{"description":""}}},"delete":{"summary":"Alert profile collector unbinding","description":"Unbind an alert profile from a collector.","tags":["Alerts"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"alert_profile_id","required":true,"in":"path","description":"Profile ID","schema":{"type":"integer","format":"int32"}}],"operationId":"unbindAlertProfileFromAgent","responses":{"204":{"description":""}}}},"/alert-profile/{alert_profile_id}/binding/agent/{agent_id}/device/{device_id}":{"post":{"summary":"Alert profile device binding","description":"Bind an alert profile to a device. After binding, a webhook will be sent to the configured service when one of the events associated to the profile occurs. You can configure the profile and the webhook endpoint on the Domotz Portal","tags":["Alerts"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"alert_profile_id","required":true,"in":"path","description":"Profile ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"bindAlertProfileToDevice","callbacks":{"device_heartbeat_lost":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceHeartbeatLostEvent"}}}},"responses":{"201":{"description":""}}}}},"device_ip_change":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceIPChangeEvent"}}}},"responses":{"201":{"description":""}}}}},"device_snmp":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceSNMPEvent"}}}},"responses":{"201":{"description":""}}}}},"device_rtd":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceRTDIssueEvent"}}}},"responses":{"201":{"description":""}}}}},"device_status_up":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceStatusChangeEvent"}}}},"responses":{"201":{"description":""}}}}},"device_status_down":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceStatusChangeEvent"}}}},"responses":{"201":{"description":""}}}}},"device_tcp":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceTCPEvent"}}}},"responses":{"201":{"description":""}}}}},"device_configuration_change":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceConfigurationChangeEvent"}}}},"responses":{"201":{"description":""}}}}},"device_configuration_misalignment":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceConfigurationMisalignmentEvent"}}}},"responses":{"201":{"description":""}}}}},"monitoring_profile_state_changed":{"":{"post":{"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitoringProfileStateChanged"}}}},"responses":{"201":{"description":""}}}}}},"responses":{"204":{"description":""}}},"delete":{"summary":"Alert profile device unbinding","description":"Unbind an alert profile from a device.","tags":["Alerts"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"alert_profile_id","required":true,"in":"path","description":"Profile ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"unbindAlertProfileFromDevice","responses":{"204":{"description":""}}}},"/alert-profile/binding/agent/{agent_id}":{"get":{"summary":"Collector alert profile bindings","description":"Returns the alert profile bindings of a collector.","tags":["Alerts"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getAgentAlertProfile","responses":{"200":{"description":"The alert profile bindings of an collector","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlertProfileAgentBinding"}}}}}}}},"/alert-profile/binding/agent/{agent_id}/device":{"get":{"summary":"Device alert profile bindings","description":"Returns the alert profile bindings of the devices of a collector.","tags":["Alerts"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getDevicesAlertProfile","responses":{"200":{"description":"The alert profile bindings for all devices of the collector","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlertProfileDeviceBinding"}}}}}}}},"/area":{"get":{"summary":"Company areas list","description":"Returns all the areas of a Company. Note: This API is restricted to users on the Enterprise Plan. Please contact <a href=\"mailto:sales@domotz.com\">sales@domotz.com</a> to learn more.","tags":["Enterprise"],"operationId":"listAreas","responses":{"200":{"description":"The list of all the areas in the User's Company","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Area"}}}}}}}},"/area/{area_id}/team":{"get":{"summary":"Return all the teams of an Area","description":"Returns all the teams of an Area. Note: This API is restricted to users on the Enterprise Plan. Please contact <a href=\"mailto:sales@domotz.com\">sales@domotz.com</a> to learn more.","tags":["Enterprise"],"parameters":[{"name":"area_id","required":true,"in":"path","description":"Area ID","schema":{"type":"integer","format":"int32"}}],"operationId":"listTeams","responses":{"200":{"description":"The list of all the teams in a Company Area's","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Team"}}}}}}},"post":{"summary":"Create a new Team","description":"Creates a new Team. Note: This API is restricted to users on the Enterprise Plan. Please contact <a href=\"mailto:sales@domotz.com\">sales@domotz.com</a> to learn more.","tags":["Enterprise"],"parameters":[{"name":"area_id","required":true,"in":"path","description":"Area ID","schema":{"type":"integer","format":"int32"}}],"operationId":"createTeam","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamCreation"}}}},"responses":{"201":{"description":""}}}},"/custom-driver":{"get":{"summary":"Custom Drivers list","description":"Retrieves the list of available Custom Drivers.","tags":["Custom Drivers"],"operationId":"listCustomDrivers","responses":{"200":{"description":"The list of available Custom Drivers","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CustomDriver"}}}}}}}},"/custom-driver/{custom_driver_id}":{"get":{"summary":"Custom Driver details","description":"Returns details of a Custom Driver.","tags":["Custom Drivers"],"parameters":[{"name":"custom_driver_id","required":true,"in":"path","description":"Custom Driver ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getCustomDriver","responses":{"200":{"description":"Custom Driver details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDriverDetails"}}}}}}},"/custom-driver/{custom_driver_id}/agent/{agent_id}/device/{device_id}/association":{"post":{"summary":"Custom Driver device binding","description":"Apply a Custom Driver to a device.","tags":["Custom Drivers"],"parameters":[{"name":"custom_driver_id","required":true,"in":"path","description":"Custom Driver ID","schema":{"type":"integer","format":"int32"}},{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}}],"operationId":"createCustomDriverAssociation","requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDriverAssociationCreation"}}}},"responses":{"201":{"description":"The outcome of the association","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDriverAssociationCreationResult"}}}}}}},"/custom-driver/{custom_driver_id}/agent/{agent_id}/device/{device_id}/execute/{action_id}":{"post":{"summary":"Custom Driver action trigger","description":"Execute a Custom Driver action on an associated device. The collector variables limit for Custom Drivers must not be exceeded.","tags":["Custom Drivers"],"parameters":[{"name":"custom_driver_id","required":true,"in":"path","description":"Custom Driver ID","schema":{"type":"integer","format":"int32"}},{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}},{"name":"device_id","required":true,"in":"path","description":"Device ID","schema":{"type":"integer","format":"int32"}},{"name":"action_id","required":true,"in":"path","description":"Custom Driver Action id. Valid range 1-30 or get-status","schema":{"type":"string","pattern":"^([1-9]|[1-2][0-9]|30)|get-status$"}}],"operationId":"executeCustomDriverAction","requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDriverExecutionOptions"}}}},"responses":{"200":{"description":"The outcome of the custom action execution","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDriverExecutionResult"}}}}}}},"/custom-driver/{custom_driver_id}/association/{association_id}":{"delete":{"summary":"Custom Driver device unbinding","description":"Remove a Custom Driver from a device. This irreversibly deletes all variables created by the driver for that device.","tags":["Custom Drivers"],"parameters":[{"name":"custom_driver_id","required":true,"in":"path","description":"Custom Driver ID","schema":{"type":"integer","format":"int32"}},{"name":"association_id","required":true,"in":"path","description":"Custom Driver Association ID","schema":{"type":"integer","format":"int32"}}],"operationId":"deleteCustomDriverAssociation","responses":{"204":{"description":""}}},"put":{"summary":"Custom Driver device binding paramaters update","description":"Update the parameters for a Custom Driver association.","tags":["Custom Drivers"],"parameters":[{"name":"custom_driver_id","required":true,"in":"path","description":"Custom Driver ID","schema":{"type":"integer","format":"int32"}},{"name":"association_id","required":true,"in":"path","description":"Custom Driver Association ID","schema":{"type":"integer","format":"int32"}}],"operationId":"updateCustomDriverAssociationParameters","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDriverAssociationParameterCreation"}}},"description":"A list of parameters to update"},"responses":{"204":{"description":""}}}},"/custom-driver/agent/{agent_id}/association":{"get":{"summary":"Custom Driver device bindings list","description":"Retrieves a list of all Custom Driver associations for a collector.","tags":["Custom Drivers"],"parameters":[{"name":"agent_id","required":true,"in":"path","description":"Agent ID","schema":{"type":"integer","format":"int32"}}],"operationId":"listCustomDriverAssociations","responses":{"200":{"description":"The list of Custom Driver associations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CustomDriverAssociation"}}}}}}}},"/custom-driver/association/re-enable":{"post":{"summary":"Disabled Custom Drivers reactivation","description":"Re-enable all disabled Custom Drivers for the current user.","tags":["Custom Drivers"],"parameters":[{"name":"include_unrecoverable","required":false,"in":"query","description":"If true, will also re-enable associations that the system has determined unable to recover (e.g. due to missing credentials). Defaults to false.","schema":{"type":"boolean"}}],"operationId":"reEnableCustomDriverAssociations","responses":{"204":{"description":""}}}},"/device-profile":{"get":{"summary":"Device profiles list","description":"Returns the list of the available device profiles.","tags":["Device"],"operationId":"listDeviceProfiles","responses":{"200":{"description":"The list of the available device profiles","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceProfile"}}}}}}}},"/device-profile/{device_profile_id}/apply":{"post":{"summary":"Device profile application","description":"Applies a device profile to a set of devices.","tags":["Device"],"parameters":[{"name":"device_profile_id","required":true,"in":"path","description":"Device Profile ID","schema":{"type":"integer","format":"int32"}}],"operationId":"applyDeviceProfile","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceProfileApplyRequest"}}}},"responses":{"204":{"description":""}}}},"/inventory":{"get":{"summary":"Inventory fields list","description":"Enumerates all the Inventory fields.","tags":["Inventory Fields"],"operationId":"getInventory","responses":{"200":{"description":"The inventory fields, sorted by creation time","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InventoryField"}}}}}}},"delete":{"summary":"Inventory deletion","description":"Clears the inventory.","tags":["Inventory Fields"],"operationId":"deleteInventory","responses":{"204":{"description":""}}}},"/inventory/{inventory_field}":{"post":{"summary":"Inventory field creation","description":"Creates a new Inventory Field - the user will be able to set key-values pairs on every device.","tags":["Inventory Fields"],"parameters":[{"name":"inventory_field","required":true,"in":"path","description":"Field identifier, unique within the Inventory","schema":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,24}$"}}],"operationId":"createInventoryField","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WriteInventoryField"}}}},"responses":{"201":{"description":"The inventory field will be referenced to with its name"}}},"delete":{"summary":"Inventory field deletion","description":"Deletes the Inventory Field.","tags":["Inventory Fields"],"parameters":[{"name":"inventory_field","required":true,"in":"path","description":"Field identifier, unique within the Inventory","schema":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,24}$"}}],"operationId":"deleteInventoryField","responses":{"204":{"description":""}}},"put":{"summary":"Inventory field update","description":"Updates the Inventory Field.","tags":["Inventory Fields"],"parameters":[{"name":"inventory_field","required":true,"in":"path","description":"Field identifier, unique within the Inventory","schema":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,24}$"}}],"operationId":"updateInventoryField","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WriteInventoryField"}}}},"responses":{"204":{"description":""}}}},"/meta/usage":{"get":{"summary":"API usage and limits","description":"Returns information about API usage and limits.","tags":["Metadata"],"operationId":"apiUsageInfo","responses":{"200":{"description":"A data structure containing information about current API usage and usage limits","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIUsageInformation"}}}}}}},"/type/device/base":{"get":{"summary":"Device types list","description":"Returns the device types list.","tags":["Metadata"],"operationId":"listDeviceBaseTypes","responses":{"200":{"description":"The types list","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceBaseType"}}}}}}}},"/type/device/detected":{"get":{"summary":"Detected device types list","description":"Returns the detected device types list.","tags":["Metadata"],"operationId":"listDeviceDetectedTypes","responses":{"200":{"description":"The types list","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DetectedDeviceType"}}}}}}}},"/user":{"get":{"summary":"Account details","description":"Returns the account information.","tags":["Account"],"operationId":"getUser","responses":{"200":{"description":"The user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}}}},"/user/{user_id}/alert-profile":{"get":{"summary":"Alert profiles list","description":"Returns the list of configured alert profiles. You can configure alert profiles on the Domotz Portal. Alert profiles define the association between a list of events and a notification channel (email, webhook or slack).","tags":["Alerts"],"parameters":[{"name":"user_id","required":true,"in":"path","description":"User ID","schema":{"type":"integer","format":"int32"}}],"operationId":"getAlertProfiles _Deprecated_ (please use getAlertProfiles2)","responses":{"200":{"description":"The list of configured alert profiles","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlertProfile"}}}}}}}}},"components":{"schemas":{"AgentInterfacesResponseModel":{"properties":{"attached":{"items":{"$ref":"#/components/schemas/AttachedInterfaceModel"},"type":"array","title":"Attached","description":"Attached network interfaces"},"routed":{"items":{"$ref":"#/components/schemas/RoutedInterfaceModel"},"type":"array","title":"Routed","description":"Routed network interfaces"}},"type":"object","title":"AgentInterfacesResponseModel","description":"Response model for agent interfaces API."},"CreateTagModel":{"properties":{"name":{"type":"string","title":"Name"},"color":{"type":"string","title":"Color","description":"<b>Possible values:</b> gray, light-blue, dark-green, yellow, red, purple, blue, orange, pink, green"}},"type":"object","required":["name","color"],"title":"CreateTagModel"},"CreateUserGroupRequest":{"properties":{"name":{"type":"string","title":"Name"},"user_ids":{"items":{"type":"integer"},"type":"array","title":"User Ids"},"role_ids":{"items":{"type":"integer"},"type":"array","title":"Role Ids"}},"type":"object","required":["name","user_ids","role_ids"],"title":"CreateUserGroupRequest"},"CreateUserRequestBackend":{"properties":{"email":{"type":"string","title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"required_authentication_type":{"anyOf":[{"$ref":"#/components/schemas/RequiredAuthenticationType"},{"type":"null"}]},"is_external":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is External","default":false},"user_group_ids":{"items":{"type":"integer"},"type":"array","title":"User Group Ids"}},"type":"object","required":["email","user_group_ids"],"title":"CreateUserRequestBackend"},"DeviceTagResponseModel":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"color":{"type":"string","title":"Color"}},"type":"object","required":["id","name","color"],"title":"DeviceTagResponseModel"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ReadRoleDataResponseBackend":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"user_groups":{"items":{"$ref":"#/components/schemas/UserGroupBackend"},"type":"array","title":"User Groups"},"permissions":{"items":{"$ref":"#/components/schemas/PermissionBackend"},"type":"array","title":"Permissions"}},"type":"object","required":["id","name","user_groups","permissions"],"title":"ReadRoleDataResponseBackend"},"ReadRolesResponseBackend":{"properties":{"roles":{"items":{"$ref":"#/components/schemas/RoleEnrichedBackend"},"type":"array","title":"Roles"}},"type":"object","required":["roles"],"title":"ReadRolesResponseBackend"},"ReadUserGroupDataResponseBackend":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"roles":{"items":{"$ref":"#/components/schemas/Role"},"type":"array","title":"Roles"},"users":{"items":{"type":"integer"},"type":"array","title":"Users"}},"type":"object","required":["id","name","roles","users"],"title":"ReadUserGroupDataResponseBackend"},"ReadUserGroupsResponse":{"properties":{"user_groups":{"items":{"$ref":"#/components/schemas/UserGroupEnriched"},"type":"array","title":"User Groups"}},"type":"object","required":["user_groups"],"title":"ReadUserGroupsResponse"},"ReadUsersResponse":{"properties":{"users":{"items":{"$ref":"#/components/schemas/UserWithDetails"},"type":"array","title":"Users"}},"type":"object","required":["users"],"title":"ReadUsersResponse"},"UpdateUserGroupRequest":{"properties":{"user_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"User Ids"},"role_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Role Ids"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"type":"object","title":"UpdateUserGroupRequest"},"UpdateUserRequestBackend":{"properties":{"user_group_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"User Group Ids"},"required_authentication_type":{"anyOf":[{"$ref":"#/components/schemas/RequiredAuthenticationType"},{"type":"null"}]},"is_external":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is External","default":false},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"}},"type":"object","title":"UpdateUserRequestBackend"},"UserTagListResponseModel":{"properties":{"tags":{"items":{"$ref":"#/components/schemas/TagResponseModel"},"type":"array","title":"Tags"}},"type":"object","required":["tags"],"title":"UserTagListResponseModel"},"UserWithDetails":{"properties":{"id":{"type":"integer","title":"Id"},"email":{"type":"string","title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"is_external":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is External"},"required_authentication_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Required Authentication Type"},"authentication_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authentication Type"},"user_groups":{"items":{"$ref":"#/components/schemas/UserWithDetailsUserGroup"},"type":"array","title":"User Groups"}},"type":"object","required":["id","email","user_groups"],"title":"UserWithDetails"},"AttachedInterfaceModel":{"properties":{"name":{"type":"string","title":"Name","description":"Interface name"},"mac_address":{"type":"string","title":"Mac Address","description":"MAC address of the interface"},"address":{"type":"string","title":"Address","description":"IP address of the interface"},"netmask":{"type":"integer","title":"Netmask","description":"Network mask"},"vlan_id":{"anyOf":[{"type":"integer","maximum":4095.0,"minimum":0.0},{"type":"null"}],"title":"Vlan Id","description":"VLAN ID if available"}},"type":"object","required":["name","mac_address","address","netmask"],"title":"AttachedInterfaceModel","description":"Model representing an attached network interface on the collector."},"PermissionBackend":{"properties":{"permission_name":{"type":"string","title":"Permission Name"},"entity_type":{"type":"string","title":"Entity Type"},"is_applied_to_all_entities":{"type":"boolean","title":"Is Applied To All Entities","default":false},"entity_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Entity Ids"}},"type":"object","required":["permission_name","entity_type"],"title":"PermissionBackend"},"RequiredAuthenticationType":{"type":"string","enum":["2FA","SAML"],"title":"RequiredAuthenticationType"},"Role":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["id","name"],"title":"Role"},"RoleEnrichedBackend":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"user_groups":{"items":{"$ref":"#/components/schemas/UserGroupBackend"},"type":"array","title":"User Groups"}},"type":"object","required":["id","name","user_groups"],"title":"RoleEnrichedBackend"},"RoutedInterfaceModel":{"properties":{"name":{"type":"string","title":"Name","description":"Interface name"},"address":{"type":"string","title":"Address","description":"IP address of the interface"},"netmask":{"type":"integer","title":"Netmask","description":"Network mask"}},"type":"object","required":["name","address","netmask"],"title":"RoutedInterfaceModel","description":"Model representing a routed network interface on the collector."},"TagResponseModel":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"color":{"type":"string","title":"Color"},"device_count":{"type":"integer","title":"Device Count"}},"type":"object","required":["id","name","color","device_count"],"title":"TagResponseModel"},"UserGroupBackend":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"UserGroupBackend"},"UserGroupEnriched":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"user_count":{"type":"integer","title":"User Count"},"roles":{"items":{"$ref":"#/components/schemas/Role"},"type":"array","title":"Roles"}},"type":"object","required":["id","name","user_count","roles"],"title":"UserGroupEnriched"},"UserWithDetailsUserGroup":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"UserWithDetailsUserGroup"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"AgentBase":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"display_name":{"type":"string"},"access_right":{"type":"object","properties":{"status":{"type":"string","enum":["OWNED","GRANTED","PROPOSED","ASSIGNED"],"description":"<ul><li>\n*OWNED*: you own this collector\n</li><li>\n*PROPOSED*: the owner proposed you to access the collector, you can accept or reject the offer\n</li><li>\n*GRANTED*: you accepted the collaboration request for this collector\n</li><li>\n*ASSIGNED*: your team leader has given you access to the collector\n</li></ul>"},"api_enabled":{"type":"boolean","description":"If `false` the collector plan doesn't allow for API access: you only can see this collector in the list"},"granting_user":{"type":"object","properties":{"name":{"type":"string","format":"email"}}}}},"creation_time":{"type":"string","format":"date-time"},"status":{"type":"object","properties":{"value":{"type":"string","enum":["ONLINE","OFFLINE"]},"last_change":{"type":"string","format":"date-time"}}},"licence":{"type":"object","properties":{"bound_mac_address":{"type":"string","description":"The MAC address of the primary interface of the device the software collector runs on"},"code":{"type":"string"},"id":{"type":"integer","format":"int32"},"activation_time":{"type":"string","format":"date-time"},"expiration_time":{"type":"string","format":"date-time"}}},"timezone":{"type":"string"},"version":{"type":"object","properties":{"agent":{"type":"string"},"package":{"type":"string"}}},"team":{"type":"object","description":"The Team and Company Area information, only available for companies","properties":{"area":{"type":"object","properties":{"id":{"type":"integer","format":"int32"}}},"id":{"type":"integer","format":"int32"},"leader_id":{"type":"integer","format":"int32"},"name":{"type":"string"}}},"location":{"type":"object","properties":{"latitude":{"type":"string","pattern":"^-?\\d+(\\.\\d{8})?$"},"longitude":{"type":"string","pattern":"^-?\\d+(\\.\\d{8})?$"}}},"organization":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"}}},"installation_info":{"type":"object","properties":{"customer_id":{"type":"string"},"contract_id":{"type":"string"}}},"wan_info":{"type":"object","properties":{"ip":{"type":"string"},"hostname":{"type":"string"}}}},"required":["display_name","id"]},"AgentDetail":{"allOf":[{"$ref":"#/components/schemas/AgentBase"},{"type":"object","properties":{"listen_on":{"type":"string","description":"The local IP and port the Domotz Agent software is listening on if online - the last known value otherwise"},"location":{"type":"object","properties":{"latitude":{"type":"string","pattern":"^-?\\d+(\\.\\d{8})?$"},"longitude":{"type":"string","pattern":"^-?\\d+(\\.\\d{8})?$"}}},"wan_info":{"type":"object","properties":{"ip":{"type":"string"},"hostname":{"type":"string"}}}}}]},"ActivityLog":{"type":"object","properties":{"device_id":{"type":"integer","format":"int32","description":"Device that triggered the event (if applicable)"},"type":{"type":"string","enum":["note","agent_alert_level_set","agent_alert_resume","rtd_session_start","cresnet_node_reboot","device_reboot","firmware_update_start","applications_terminate","configuration_restore","factory_reset","network_configuration_change","custom_driver_execute","remote_session_start","remote_session_terminate","remote_session_limit_reached","vpn_session_start","vpn_session_terminate","chat_started","chat_resolved","operator_joined","operator_left","power_on","power_off","power_cycle","camera_snapshot","camera_streaming_start","configuration_management_status_change"],"description":"Type of the event"},"description":{"type":"string","description":"Description of the event"},"user":{"type":"string","description":"User who triggered the event"},"timestamp":{"type":"string","format":"date-time","description":"Timestamp of the event"},"details":{"type":"object","additionalProperties":true,"description":"Additional details of the event"}},"required":["description","timestamp","type","user"],"description":"An activity log item"},"ConnectionConsumption":{"type":"object","properties":{"limit":{"type":"integer","format":"int32","description":"Maximum connection consumption (bytes) "},"current":{"type":"integer","format":"int32","description":"Current connection consumption (bytes) "}},"required":["current","limit"]},"AgentVPNActiveConnection":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"The ID of the VPN connection"},"status":{"type":"string","enum":["ACTIVE","INACTIVE","EXPIRED"],"description":"The status of the vpn connection"},"name":{"type":"string","description":"The user that started the VPN connection"},"bytes":{"type":"integer","format":"int32","description":"Current VPN connection consumption (bytes) "},"creation_time":{"type":"string","format":"date-time"},"expiration_time":{"type":"string","format":"date-time"}},"required":["bytes","creation_time","expiration_time","id","name","status"]},"AgentVPNConnection":{"type":"object","properties":{"allowed_ip":{"type":"string","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$","description":"The only public IP address allowed to access the connection.\n        It will be impossible to use the connection from other IP addresses. You should use your public IP address. \n"},"routing_policy":{"type":"string","enum":["global","local"],"description":"The traffic routing policy for the VPN connection: \n</br>- *global*: All the traffic is routed through the VPN On Demand. More consumption on the Domotz Cloud\n</br>- *local*: Only LAN traffic passes through the VPN On Demand. Less consumption on the Domotz Cloud\n"},"ttl_hours":{"type":"integer","format":"int32","maximum":24,"minimum":1,"default":1,"description":"The duration in hours of the connection."}},"required":["allowed_ip","routing_policy"]},"IpDevice":{"allOf":[{"$ref":"#/components/schemas/AbstractDevice"},{"type":"object","properties":{"ip_addresses":{"type":"array","items":{"type":"string","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"}},"last_status_change":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["ONLINE","OFFLINE","DOWN","HIDDEN"]},"vendor":{"type":"string","maxLength":100},"grace_period":{"type":"integer","format":"int32","description":"The number of seconds a device must be unreachable before being declared DOWN"},"model":{"type":"string","maxLength":255},"agent_reachable":{"type":"boolean","description":"When `true` the device is reachable by the collector over an IP network.\nWhen `false` Domotz knows about the status of the device by the means of another source e.g. a third party controller.\n\nThis field is significant only when the status of the device is `ONLINE` and its value is `false` because it means\nthat even if the IP device is up and running, many features aren't allowed, such as the direct connection or the TCP\nservices monitoring."},"open_ports":{"type":"object","properties":{"tcp":{"type":"array","items":{"type":"integer","format":"int32"}},"udp":{"type":"array","items":{"type":"integer","format":"int32"}}},"description":"The list of TCP and UDP open ports. Domotz scans a subset of all the ports, visit the <a href='https://help.domotz.com/user-guide/device-tcp-udp-ports-services-discovery/'>user guide</a> for more details."}},"description":"Base abstract class for all IP devices"}]},"ExternalIpDevice":{"allOf":[{"$ref":"#/components/schemas/IpDevice"},{"type":"object","properties":{"names":{"type":"object","properties":{"host":{"type":"string"},"inspection":{"type":"string"}}}},"description":"A device added by the means of 'Advanced Monitoring': it is an IP device manually added by\nthe user, no discoveries are done over it, just periodical ping to see whether it is reachable"}]},"AbstractDevice":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"main_id":{"type":"integer","format":"int32","description":"In a clustered configuration, the main device id"},"display_name":{"type":"string"},"protocol":{"type":"string","enum":["IP","DUMMY","IP_EXTERNAL"]},"authentication_status":{"type":"string","enum":["NO_AUTHENTICATION","AUTHENTICATED","PENDING","REQUIRED","WRONG_CREDENTIALS"],"description":"When defined the device requires authentication info to perform extended discovery <ul>\n<li>\n*REQUIRED*: the device requires authentication, extended discovery is locked\n</li><li>\n*PENDING*: credentials have been submitted but not verified yet\n</li><li>\n*WRONG_CREDENTIALS*: device authentication failed\n</li><li>\n*AUTHENTICATED*: device authentication succeeded\n</li></ul>\n"},"snmp_status":{"type":"string","enum":["CHECKING","NOT_FOUND","NOT_AUTHENTICATED","AUTHENTICATED"],"description":"Get the status of SNMP service for the device <ul>\n<li>\n*CHECKING*:  Indicates that Domotz is currently verifying the SNMP status on the device. This is a transient state.\n</li><li>\n*NOT_FOUND*: This status indicates that the SNMP service could not be found on the device.\n</li><li>\n*NOT_AUTHENTICATED*: This status occurs when the SNMP service is detected as active, but Domotz is unable to retrieve data\nfrom it. This is most likely due to incorrect community strings or credentials.\n</li><li>\n*AUTHENTICATED*:  This status indicates that Domotz is successfully reading SNMP data from the device.\n</li></ul>\n"},"user_data":{"type":"object","properties":{"model":{"type":"string","maxLength":100},"name":{"type":"string","maxLength":64},"type":{"type":"integer","format":"int32"},"vendor":{"type":"string","maxLength":100}}},"first_seen_on":{"type":"string","format":"date-time"},"importance":{"type":"string","enum":["VITAL","FLOATING"]},"type":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"detected_id":{"type":"integer","format":"int32"},"label":{"type":"string"}},"description":"The device type, if recognised by domotz"},"details":{"type":"object","properties":{"zone":{"type":"string","maxLength":256},"room":{"type":"string","maxLength":256},"firmware_version":{"type":"string"},"snmp_read_community":{"type":"string","description":"Deprecated. Please use <a href='#getsnmpauthentication'> getSNMPAuthentication </a>"},"snmp_write_community":{"type":"string","description":"Deprecated. Please use <a href='#getsnmpauthentication'> getSNMPAuthentication </a>"},"serial":{"type":"string","maxLength":32,"description":"Set to null to reset and allow the automatically discovered serial number to be used for device"},"notes":{"type":"string","maxLength":256}},"description":"DeviceDetails"},"organization":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"}}},"os":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"build":{"type":"string"}},"description":"DeviceOS"},"is_excluded":{"type":"boolean","description":"When true, the Domotz Collector is ignoring the device for all the automatic operations. The Domotz Collector will scan one time the device after its IP address change. An excluded device is listed on Device Blacklist section on webapp."}},"required":["display_name","id","protocol"],"description":"Base abstract class for all devices"},"SubnetIpDevice":{"allOf":[{"$ref":"#/components/schemas/IpDevice"},{"type":"object","properties":{"names":{"type":"object","properties":{"host":{"type":"string"},"bonjour":{"type":"string"},"upnp":{"type":"string"},"snmp":{"type":"string"},"inspection":{"type":"string"}}}},"description":"A device automatically discovered by the collector that exists in an IP subnet defined by the user.\n The collector reaches the device through a Level 3 switch or similar device, so it cannot get the MAC address or other\nlevel 2 information, such as DHCP lease data\n    "}]},"DummyDevice":{"allOf":[{"$ref":"#/components/schemas/AbstractDevice"},{"type":"object","properties":{},"description":"A device that has no network access whatsoever and cannot be discovered or interacted with by\n     the collector.\n\n A user can create a Dummy Device to attach it to a power outlet so that it is easier to remember which port controls\nthe device"}]},"LocalIpDevice":{"allOf":[{"$ref":"#/components/schemas/IpDevice"},{"type":"object","properties":{"hw_address":{"type":"string","description":"MAC Address"},"names":{"type":"object","properties":{"host":{"type":"string"},"bonjour":{"type":"string"},"upnp":{"type":"string"},"snmp":{"type":"string"},"dhcp":{"type":"string"},"inspection":{"type":"string"},"netbios":{"type":"string"},"zeroconf":{"type":"string"}}},"is_jammed":{"type":"boolean","description":"When true, the Domotz Agent is blocking the device to access the Internet. The device can still reach every other device in the local network"}},"description":"Standard device, automatically discovered in the local IP network of the collector."}]},"DevicePowerAction":{"type":"object","properties":{"on":{"type":"boolean","description":"Indicates that the device can be powered on. Available if the device is connected to one or more PDU. <br><br> In the latter case the operation will be performed on all available PDUs.<br><br> If there is no PDU but there is one POE connection, the operation will still available through that connection."},"off":{"type":"boolean","description":"Indicates that the device can be powered off. Available if the device is connected to one or more PDU. <br><br> In the latter case the operation will be performed on all available PDUs.<br><br> If there no PDU but there is one POE connection, the operation will still be available through that connection.<br><br>"},"cycle":{"type":"boolean","description":"Indicates that a power cycle on the device is possible. Available if the device is connected to just one PDU."},"software_reboot":{"type":"boolean","description":"Indicates that software reboot on the device is possible.<br><br> The operation availability depends on the device."}}},"DeviceApplication":{"type":"object","properties":{"application_id":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"},"first_time_seen":{"type":"string","format":"date-time"},"last_update":{"type":"string","format":"date-time"},"publisher":{"type":"string"},"install_location":{"type":"string"},"info":{"type":"string"},"install_date":{"type":"string","format":"date-time"},"last_modified":{"type":"string","format":"date-time"}},"required":["application_id","first_time_seen"],"description":"The list of applications of a device"},"DeviceConfigurationMetadata":{"type":"object","properties":{"label":{"type":"string","description":"Human readable configuration label"},"timestamp":{"type":"string","description":"Timestamp of when the backup was made in ISO format (%Y-%m-%dT%H:%M:%S%z)"},"running_md5":{"type":"string","description":"MD5 hash of the running configuration"},"startup_md5":{"type":"string","description":"MD5 hash of the startup configuration"}},"required":["label","running_md5","timestamp"],"description":"A backed up device configuration metadata"},"DeviceConfigurationCreate":{"type":"object","properties":{"label":{"type":"string","description":"Human readable configuration label"},"running":{"type":"string","description":"Base64 encoded running configuration"},"startup":{"type":"string","description":"Optional base64 encoded startup configuration"}},"required":["label","running"],"description":"Device configuration data to create a backup"},"DeviceConfiguration":{"allOf":[{"$ref":"#/components/schemas/DeviceConfigurationMetadata"},{"type":"object","properties":{"running":{"type":"string","description":"The running configuration"},"startup":{"type":"string","description":"The startup configuration, skipped if not saved or if it is the same as the running configuration"}},"required":["running"],"description":"A device configuration"}]},"DeviceConnection":{"type":"object","properties":{"protocol":{"type":"string","enum":["http","https","tcp","ssh","rdp"],"description":"The protocol wrapped by the connection:\n\n</br>- *http/https*: the `link` field in the reply will contain an `https` URL. A browser or a similar user agent must be used:\nthe client must have cookies enabled and the capability of following 302 redirects. If the protocol is `https` the\ndevice's certificate will be accepted without checks and its information ignored (our server will act as a proxy).\n</br>- *tcp*: the `link` field will be in the form `tcp://{host}:{port}`. Any connection established (e.g. with `telnet`\n or `ssh`) on these coordinates will be securely forwarded to the requested `port` of the device.\n </br>- *ssh*: the `link` field will  contain an `https` URL. A browser or a similar user agent must be used:\nthe client must have cookies enabled and the capability of following 302 redirects.\n</br>- *rdp*: the `link` field will  contain an `https` URL. A browser or a similar user agent must be used:\nthe client must have cookies enabled and the capability of following 302 redirects.\n "},"port":{"type":"integer","format":"int32","maximum":65535,"minimum":0},"allowed_ip":{"type":"string","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$","description":"The only public IP address allowed to access the connection.\n        It will be impossible to use the connection from other IP addresses. You should use your public IP address. \n"},"ttl_hours":{"type":"integer","format":"int32","maximum":24,"minimum":1,"default":1,"description":"The duration in hours of the connection."}},"required":["allowed_ip","port","protocol"]},"ConnectionSession":{"type":"object","properties":{"protocol":{"type":"string","enum":["http","https","tcp","ssh","rdp"],"description":"The protocol wrapped by the connection:\n\n</br>- *http/https*: the `link` field in the reply will contain an `https` URL. A browser or a similar user agent must be used:\nthe client must have cookies enabled and the capability of following 302 redirects. If the protocol is `https` the\ndevice's certificate will be accepted without checks and its information ignored (our server will act as a proxy).\n</br>- *tcp*: the `link` field will be in the form `tcp://{host}:{port}`. Any connection established (e.g. with `telnet`\n or `ssh`) on these coordinates will be securely forwarded to the requested `port` of the device.\n </br>- *ssh*: the `link` field will  contain an `https` URL. A browser or a similar user agent must be used:\nthe client must have cookies enabled and the capability of following 302 redirects.\n</br>- *rdp*: the `link` field will  contain an `https` URL. A browser or a similar user agent must be used:\nthe client must have cookies enabled and the capability of following 302 redirects.\n "},"port":{"type":"integer","format":"int32","maximum":65535,"minimum":0},"allowed_ip":{"type":"string","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$","description":"The only public IP address allowed to access the connection.\n        It will be impossible to use the connection from other IP addresses. You should use your public IP address. \n"},"id":{"type":"integer","format":"int32","description":"The unique identifier of the `connection`"},"link":{"type":"string","description":"Either the link to access the device's HTTP(s) interface in the browser or the host/port coordinates of the proxied TCP port, depending on the protocol (see protocol description in the request)"},"expiration":{"type":"string","format":"date-time","description":"The time after which the connection will be closed"}},"required":["allowed_ip","id","port","protocol"]},"DeviceCredentials":{"type":"object","properties":{"username":{"type":"string","description":"username"},"password":{"type":"string","description":"password"},"scope":{"type":"string","enum":["CUSTOM_DRIVER_MANAGEMENT","CONFIGURATION_MANAGEMENT","DEVICE_MANAGEMENT","OS_MANAGEMENT"],"default":"DEVICE_MANAGEMENT","description":"The Scope for the Credentials. Default is 'DEVICE_MANAGEMENT' used for device integrations"}},"required":["password","username"]},"SNMPDomotzEye":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"The ID of the SNMP Domotz Sensor"},"category":{"type":"string","enum":["OTHER","CONSUMABLE","CPU","DISK_SPACE","MEMORY","NETWORK_TRAFFIC","TEMPERATURE"],"description":"The category of the OID"},"value_type":{"type":"string","enum":["STRING","NUMERIC","ENUM"],"description":"The type of the OID"},"oid":{"type":"string","description":"The OID string"},"name":{"type":"string","description":"The name of the Domotz Sensors"},"latest_value":{"type":"string","description":"The value retrieved on the OID"},"latest_enum_value":{"type":"string","description":"The enum value retrieved on the OID"},"last_update":{"type":"string","format":"date-time","description":"The timestamp of the latest update"},"device_id":{"type":"integer","format":"int32","description":"The unique identifier of the device"}},"required":["category","id","last_update","latest_value","name","oid","value_type"],"description":"Information about a configured SNMP Domotz Sensor"},"SNMPDomotzEyeCreation":{"type":"object","properties":{"oid":{"type":"string","description":"The OID string"},"name":{"type":"string","description":"The name of the Domotz Sensors"},"category":{"type":"string","enum":["OTHER","CONSUMABLE","CPU","DISK_SPACE","MEMORY","NETWORK_TRAFFIC","TEMPERATURE"],"description":"The category of the OID"},"value_type":{"type":"string","enum":["STRING","NUMERIC","ENUM"],"description":"The type of the OID"}},"required":["category","name","oid","value_type"],"description":"SNMP Domotz Sensor Data"},"SNMPDomotzEyeTriggerFunction":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"The unique identifier of the SNMP Trigger function"},"name":{"type":"string","description":"The name of the function"},"cardinality":{"type":"integer","format":"int32","description":"The number of arguments of the function"},"value_types":{"type":"string","enum":["STRING","NUMERIC","ENUM"],"description":"The type of the operands"}},"required":["cardinality","id","name","value_types"],"description":"Information about a trigger function"},"DeviceEyeSNMPHistorySample":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"The time the sample was reported to Domotz"},"value":{"type":"string"},"enum_value":{"type":"string"}},"required":["timestamp","value"]},"SNMPDomotzEyeTrigger":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"The unique identifier of the SNMP Trigger"},"name":{"type":"string","description":"The name of the trigger"},"function_id":{"type":"integer","format":"int32","description":"The unique identifier of the function assigned to the trigger"},"operands":{"type":"array","items":{"type":"string"},"description":"The operands for the function"},"creation_time":{"type":"string","format":"date-time"},"alert":{"type":"object","description":"The alerts details","properties":{"email":{"type":"boolean","description":"True if the email alert is active"},"mobile":{"type":"boolean","description":"True if the mobile alert is active"}}}},"required":["function_id","id","name","operands"],"description":"Information about a trigger"},"SNMPDomotzSnmpTriggerCreation":{"type":"object","properties":{"function_id":{"type":"integer","format":"int32","description":"The unique identifier of the sensor function"},"name":{"type":"string","description":"The name of the trigger"},"operands":{"type":"array","items":{"type":"string"},"description":"The operands for the function"}},"required":["function_id","name","operands"],"description":"SNMP Trigger"},"SNMPDomotzSnmpTriggerAlertCreation":{"type":"object","properties":{},"description":"SNMP Trigger Alert"},"TCPDomotzEye":{"type":"object","properties":{"port":{"type":"integer","format":"int32","description":"The port number"},"id":{"type":"integer","format":"int32","description":"The ID of the TCP sensor"},"status":{"type":"string","enum":["UP","DOWN"],"description":"The status of the TCP service"},"last_update":{"type":"string","format":"date-time","description":"The timestamp of the latest update"},"device_id":{"type":"integer","format":"int32","description":"The unique identifier of the device"}},"required":["id","last_update","port","status"],"description":"Information about a configured TCP sensor"},"TCPDomotzEyeCreation":{"type":"object","properties":{"port":{"type":"integer","format":"int32","description":"The port number"}},"required":["port"],"description":"TCP sensor Data"},"DeviceHistory":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"The time the sample was reported to Domotz"},"type":{"type":"string","enum":["IP_CHANGE","CREATED","UP","DOWN"],"description":"The device event type"},"details":{"type":"object","properties":{"new_ip":{"type":"array","items":{"type":"string"},"description":"The new IP addresses"},"old_ip":{"type":"array","items":{"type":"string"},"description":"The old IP addresses"}}}},"required":["timestamp","type"]},"DeviceRTDHistorySample":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"The time the sample was reported to Domotz"},"min":{"type":"string","pattern":"^-?\\d+(\\.\\d{1})?$"},"median":{"type":"string","pattern":"^-?\\d+(\\.\\d{1})?$"},"max":{"type":"string","pattern":"^-?\\d+(\\.\\d{1})?$"},"lost_packet_count":{"type":"integer","format":"int32"},"sent_packet_count":{"type":"integer","format":"int32"}},"required":["timestamp"]},"DeviceInventoryField":{"type":"object","properties":{"key":{"type":"string","maxLength":25,"minLength":1,"pattern":"/^[a-z][a-z0-9_-]{0,24}]$/","description":"The name of the field, unique in the Inventory"},"value":{"type":"string","maxLength":255},"creation_time":{"type":"string","format":"date-time"}},"required":["key","value"],"description":"A device inventory field"},"DeviceMonitoringState":{"type":"object","properties":{"monitoring_state":{"type":"string","enum":["MANAGED","UNMANAGED"],"description":"The value that the device monitoring state will assume"}},"required":["monitoring_state"]},"DeviceOutlet":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the outlet"},"device_id":{"type":"integer","format":"int32","description":"Unique identifier of the device the outlet belongs to"},"name":{"type":"string","description":"Name of the outlet discovered automatically"},"custom_name":{"type":"string","description":"Name of the outlet assigned by the user"},"power":{"type":"string","enum":["ON","OFF","unknown"],"description":"The current power state of the outlet"},"can_write":{"type":"boolean","description":"True if power actions can be executed on the outlet"},"links":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of device ids attached to the outlet"}},"required":["can_write","device_id","id","links","name","power"],"description":"Power outlet of a device"},"DeviceOutletUpdate":{"type":"object","properties":{"custom_name":{"type":"string","description":"Custom name to assign to the outlet"}},"description":"Outlet update data"},"SNMPDomotzAuthentication":{"type":"object","properties":{"version":{"type":"string","enum":["V2","V1","V3_AUTH_PRIV","V3_NO_AUTH","V3_AUTH_NO_PRIV"],"description":"The configured SNMP version"},"snmp_read_community":{"type":"string"},"snmp_write_community":{"type":"string"},"username":{"type":"string"},"authentication_protocol":{"type":"string","enum":["MD5","SHA","SHA-224","SHA-256","SHA-384","SHA-512"],"description":"The SNMP authentication protocol"},"authentication_key":{"type":"string"},"encryption_protocol":{"type":"string","enum":["DES","AES","AES-256B","AES-256R"],"description":"The SNMP encryption protocol"},"encryption_key":{"type":"string"}},"required":["version"],"description":"The SNMP authentication setting of a device"},"DeviceSnmpCommunity":{"type":"object","properties":{"read":{"type":"string","description":"Defines new read snmp community"},"write":{"type":"string","description":"Defines new write snmp community (defaults to read community if not used)"}},"required":["read"]},"DeviceUptime":{"type":"object","properties":{"uptime":{"type":"string","description":"The uptime percentage of the device"},"online_seconds":{"type":"integer","format":"int32"},"total_seconds":{"type":"integer","format":"int32"},"agent_uptime":{"type":"string","description":"The uptime percentage of the collector"},"downtime_intervals":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time"}}}}},"required":["agent_uptime","online_seconds","total_seconds","uptime"]},"DeviceVariable":{"type":"object","properties":{"path":{"type":"string","description":"The variable path"},"id":{"type":"integer","format":"int32","description":"The ID of the variable"},"has_history":{"type":"boolean","description":"If true the history of the variable can be retrieved with <a href='#getvariablehistory'> getVariableHistory</a>"},"value":{"type":"string","description":"The variable value"},"previous_value":{"type":"string","description":"The previous value of the variable"},"unit":{"type":"string","description":"The unit of measurement"},"label":{"type":"string","description":"The label"},"metric":{"type":"string","description":"The metric"},"value_update_time":{"type":"string","format":"date-time","description":"The update time of the variable value"},"creation_time":{"type":"string","format":"date-time","description":"The creation time of the variable"}},"required":["has_history","id","path"],"description":"The representation of a device variable"},"VariableHistorySample":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"The time the sample was reported to Domotz"},"value":{"type":"string","description":"The sample value"}},"required":["timestamp","value"]},"AgentDeviceApplication":{"type":"object","properties":{"application_id":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"},"first_time_seen":{"type":"string","format":"date-time"},"last_update":{"type":"string","format":"date-time"},"publisher":{"type":"string"},"install_location":{"type":"string"},"info":{"type":"string"},"install_date":{"type":"string","format":"date-time"},"last_modified":{"type":"string","format":"date-time"},"device_id":{"type":"string"}},"required":["application_id","device_id","first_time_seen"],"description":"The list of applications of all devices belonging to the collector"},"ExternalHost":{"type":"object","properties":{"host":{"type":"string","description":"Hostname or IP Address"},"name":{"type":"string","description":"Device Name"}},"required":["host","name"]},"SNMPDomotzAgentEye":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"The ID of the SNMP Domotz Sensor"},"category":{"type":"string","enum":["OTHER","CONSUMABLE","CPU","DISK_SPACE","MEMORY","NETWORK_TRAFFIC","TEMPERATURE"],"description":"The category of the OID"},"value_type":{"type":"string","enum":["STRING","NUMERIC","ENUM"],"description":"The type of the OID"},"oid":{"type":"string","description":"The OID string"},"name":{"type":"string","description":"The name of the Domotz Sensors"},"device_id":{"type":"integer","format":"int32","description":"The unique identifier of the device"}},"required":["category","id","name","oid","value_type"],"description":"Information about a configured SNMP Domotz Sensor"},"MinimalDevice":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"display_name":{"type":"string"},"first_seen_on":{"type":"string","format":"date-time"},"protocol":{"type":"string","enum":["IP","DUMMY","IP_EXTERNAL"]},"ip_addresses":{"type":"array","items":{"type":"string","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"}},"vendor":{"type":"string","maxLength":100},"type":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"detected_id":{"type":"integer","format":"int32"},"label":{"type":"string"}},"description":"The device type, if recognised by domotz"},"model":{"type":"string","maxLength":100},"mac":{"type":"string"}},"required":["display_name","id","protocol"],"description":"A minimal representation of a device, containing only the most essential fields."},"DeviceRTDStatistics":{"type":"object","properties":{"device_id":{"type":"integer","format":"int32"},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the latest update"},"avg_max":{"type":"string","pattern":"^-?\\d+(\\.\\d{1})?$"},"avg_median":{"type":"string","pattern":"^-?\\d+(\\.\\d{1})?$"},"avg_min":{"type":"string","pattern":"^-?\\d+(\\.\\d{1})?$"},"latest_median":{"type":"string","pattern":"^-?\\d+(\\.\\d{1})?$","description":"The median value of the latest collection sample"},"latest_lost_packet_count":{"type":"integer","format":"int32","description":"The number of lost packets of the latest collection sample"},"latest_sent_packet_count":{"type":"integer","format":"int32","description":"The number of sent packets of the latest collection sample"}},"required":["device_id","timestamp"]},"AgentDeviceVariable":{"type":"object","properties":{"path":{"type":"string","description":"The variable path"},"id":{"type":"integer","format":"int32","description":"The ID of the variable"},"has_history":{"type":"boolean","description":"If true the history of the variable can be retrieved with <a href='#getvariablehistory'> getVariableHistory</a>"},"value":{"type":"string","description":"The variable value"},"previous_value":{"type":"string","description":"The previous value of the variable"},"unit":{"type":"string","description":"The unit of measurement"},"label":{"type":"string","description":"The label"},"metric":{"type":"string","description":"The metric"},"value_update_time":{"type":"string","format":"date-time","description":"The update time of the variable value"},"creation_time":{"type":"string","format":"date-time","description":"The creation time of the variable"},"device_id":{"type":"integer","format":"int32","description":"The ID of the device"}},"required":["device_id","has_history","id","path"],"description":"The representation of a device variable"},"DomotzEyesUsageInformation":{"type":"object","properties":{"limit":{"type":"integer","format":"int32","description":"Number of allowed Domotz Sensors for the collector"},"usage":{"type":"object","properties":{"total":{"type":"integer","format":"int32","description":"Number of configured Domotz Sensors on the collector."},"tcp":{"type":"integer","format":"int32","description":"Number of configured Domotz Sensors of type `tcp` on the collector."},"snmp":{"type":"integer","format":"int32","description":"Number of configured Domotz Sensors of type `snmp` on the collector."}}}},"description":"Information about Domotz Sensors current usage and limits"},"AgentHistory":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"The time the sample was reported to Domotz"},"type":{"type":"string","enum":["CONNECTION_RECOVERED","CONNECTION_LOST","UP","DOWN"],"description":"The collector event type"}},"required":["timestamp","type"]},"NetworkSpeedSample":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"The time the sample was reported to Domotz"},"values":{"type":"array","items":{"type":"integer","format":"int32"},"description":"A pair of values: the download and upload speed, in Bit Per Seconds (bps), as measured by the Agent"}},"description":"A Network Speed Sample is the result of the measurement of the Internet download and upload\n     speed, in bits per second, taken by the Agent"},"AgentIpConflict":{"type":"object","properties":{"ip":{"type":"string"},"conflicting_devices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"mac":{"type":"string"}}}}}},"DomotzMetricUsageInformation":{"type":"object","properties":{"limit":{"type":"integer","format":"int32","description":"Number of allowed Domotz Sensors for the collector"},"usage":{"type":"object","properties":{"total":{"type":"integer","format":"int32","description":"Number of configured Domotz Sensors on the collector."},"custom_driver":{"type":"integer","format":"int32","description":"Number of configured Domotz Sensors of type `custom driver` on the collector."},"tcp":{"type":"integer","format":"int32","description":"Number of configured Domotz Sensors of type `tcp` on the collector."},"snmp":{"type":"integer","format":"int32","description":"Number of configured Domotz Sensors of type `snmp` on the collector."}}}},"description":"Information about Domotz Sensors current usage and limits"},"DHCPDeviceDiscoverySetting":{"type":"object","properties":{"dhcp_device_discovery":{"type":"boolean","description":"When set to 'true', the collector will create devices that initiate DHCP requests even if they fail to obtain an IP address"}},"required":["dhcp_device_discovery"]},"AgentExternalHostScanPolicy":{"type":"object","properties":{"icmp":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Enable/disable this scan method"}},"required":["enabled"]},"tcp_syn":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Enable or disable this scan method. The collector sends a SYN packet to the target host and waits for a response. If the target responds with a SYN/ACK packet or an RST packet, the host is considered up."},"ports":{"type":"array","items":{"type":"integer","format":"int32"},"description":"The list of TCP port to be scanned with this method. The list cannot be empty if this method is enabled"}},"required":["enabled","ports"]},"tcp_ack":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Enable/disable this scan method. The collector sends a TCP packet with only the acknowledgement (ACK) flag set, and a responding reset (RST) packet from the host reveals its presence."},"ports":{"type":"array","items":{"type":"integer","format":"int32"},"description":"The list of TCP port to be scanned with this method. The list cannot be empty if this method is enabled"}},"required":["enabled","ports"]}}},"AgentInterfacesPolicy":{"type":"object","properties":{"policy":{"type":"string","enum":["allow","deny"]},"rules":{"type":"array","items":{"type":"string"},"description":"Rules can be expressed as lists of case-insensitive strings representing the names of the interfaces to be matched. The `*` wildcard can be used to match variable parts of the interface name. Example: `[\"eth*\", \"tun0\"]`"}},"required":["policy","rules"]},"AgentIPScanPolicy":{"type":"object","properties":{"forced_ip_addresses":{"type":"array","items":{"type":"string"},"description":"The list of IP addresses always checked by the collector. By default the list is empty and the collector performs hosts discovery automatically. The addresses must be expressed in dotted decimal notation and must belong to private networks (see <a href='https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml/'>iana-ipv4-special-registry</a>)"},"forced_ip_ranges":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string","description":"192.168.1.1"},"end":{"type":"string","description":"192.168.1.10"}},"required":["end","start"]},"description":"The list of IP address ranges always checked by the collector. By default the list is empty and the collector performs hosts discovery automatically. The addresses must be expressed in dotted decimal notation and must belong to private networks (see <a href='https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml/'>iana-ipv4-special-registry</a>)"}},"required":["forced_ip_addresses","forced_ip_ranges"]},"RoutedNetwork":{"type":"object","properties":{"address":{"type":"string"},"netmask":{"type":"integer","format":"int32"},"name":{"type":"string"}},"required":["address","name","netmask"]},"NetworkTopology":{"type":"object","properties":{"edges":{"type":"array","items":{"type":"object","properties":{"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"}},"required":["from","to"]},"description":"The list of edges. Each item contains the IDs of the connected devices."}},"required":["edges"]},"AgentUptime":{"type":"object","properties":{"uptime":{"type":"string","description":"The uptime percentage of the collector"},"online_seconds":{"type":"integer","format":"int32"},"total_seconds":{"type":"integer","format":"int32"},"agent_id":{"type":"integer","format":"int32"},"downtime_intervals":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time"}}}}},"required":["agent_id","online_seconds","total_seconds","uptime"]},"AgentVariable":{"type":"object","properties":{"path":{"type":"string","description":"The variable path"},"id":{"type":"integer","format":"int32","description":"The ID of the variable"},"has_history":{"type":"boolean","description":"If true the history of the variable can be retrieved with <a href='#getvariablehistory'> getVariableHistory</a>"},"value":{"type":"string","description":"The variable value"},"previous_value":{"type":"string","description":"The previous value of the variable"},"unit":{"type":"string","description":"The unit of measurement"},"label":{"type":"string","description":"The label"},"metric":{"type":"string","description":"The metric"},"value_update_time":{"type":"string","format":"date-time","description":"The update time of the variable value"},"creation_time":{"type":"string","format":"date-time","description":"The creation time of the variable"}},"required":["has_history","id","path"],"description":"The representation of a collector variable"},"AlertProfile":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"The id of the event profile"},"name":{"type":"string","description":"The symbolic name associated to the profile"},"is_enabled":{"type":"boolean","description":"true if the event profile is enabled, false otherwise"},"description":{"type":"string","description":"The description of the alert profile"},"tag":{"type":"string","description":"A label associated to the profile"},"events":{"type":"array","items":{"type":"string","enum":["device_status_up","device_status_down","device_heartbeat_lost","device_ip_change","device_snmp","device_tcp","device_rtd","device_configuration_change","device_configuration_misalignment","agent_feature_discovery","agent_status_up","agent_status_down","agent_speed_test","agent_device_discovery","agent_security_issue","agent_wan_change","agent_lan_change"]},"description":"The list of events associated to the profile"}},"required":["id"]},"AgentSecurityIssueEvent":{"type":"object","properties":{"name":{"type":"string","enum":["agent_security_issue"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"agent_id":{"type":"integer","format":"int32","description":"The `id` of the `collector`"},"value":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["TCP_OPEN_PORT","UPNP_IGD_FORWARD","UPNP_IGD_SERVICE"]},"port":{"type":"integer","format":"int32"}}}},"agent":{"$ref":"#/components/schemas/AgentBase"}}}},"required":["name","timestamp"],"description":"Triggered when Domotz detects a security issue"},"AgentStatusEvent":{"type":"object","properties":{"name":{"type":"string","enum":["agent_status"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"agent_id":{"type":"integer","format":"int32","description":"The `id` of the `collector`"},"value":{"type":"string","enum":["UP","DOWN"]},"agent":{"$ref":"#/components/schemas/AgentBase"}}}},"required":["name","timestamp"],"description":"Triggered when the collector connectivity status changes"},"MibDiscoveryEvent":{"allOf":[{"$ref":"#/components/schemas/FeatureDiscoveryEvent"},{"type":"object","properties":{"data":{"type":"object","properties":{"value":{"type":"object","properties":{"data":{"type":"object","properties":{"mib":{"type":"array","items":{"type":"string"},"description":"The discovered MIB"}}}}},"agent":{"$ref":"#/components/schemas/AgentBase"},"device":{"$ref":"#/components/schemas/AbstractDevice"}}}},"description":"Triggered when a new feature MIB is discovered on a device"}]},"DeviceDiscoveryEvent":{"type":"object","properties":{"name":{"type":"string","enum":["agent_device_discovery"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"device_id":{"type":"integer","format":"int32","description":"The `id` of the `device`"},"agent_id":{"type":"integer","format":"int32","description":"The `id` of the `collector`"},"agent":{"$ref":"#/components/schemas/AgentBase"},"device":{"$ref":"#/components/schemas/AbstractDevice"}}}},"required":["name","timestamp"],"description":"Triggered when a new device appears on the network"},"AgentLANChangeEvent":{"type":"object","properties":{"name":{"type":"string","enum":["agent_lan_change"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"gateway":{"type":"object","properties":{"old":{"type":"string"},"new":{"type":"string"}}},"dns":{"type":"object","properties":{"old":{"type":"array","items":{"type":"string"}},"new":{"type":"array","items":{"type":"string"}}}},"dhcp":{"type":"object","properties":{"old":{"type":"array","items":{"type":"string"}},"new":{"type":"array","items":{"type":"string"}}}},"agent":{"$ref":"#/components/schemas/AgentBase"},"agent_id":{"type":"integer","format":"int32","description":"The `id` of the `collector`"}},"required":["agent_id"]}},"required":["name","timestamp"],"description":"Triggered when gateway, DNS servers, DHCP servers change"},"AgentWANChangeEvent":{"type":"object","properties":{"name":{"type":"string","enum":["agent_wan_change"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"ip":{"type":"object","properties":{"old":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"}}},"new":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"}}}}},"provider":{"type":"object","properties":{"old":{"type":"object","properties":{"country":{"type":"string"},"descr":{"type":"string"},"inetnum":{"type":"string"},"netname":{"type":"string"}}},"new":{"type":"object","properties":{"country":{"type":"string"},"descr":{"type":"string"},"inetnum":{"type":"string"},"netname":{"type":"string"}}}}},"agent":{"$ref":"#/components/schemas/AgentBase"},"agent_id":{"type":"integer","format":"int32","description":"The `id` of the `collector`"}},"required":["agent_id"]}},"required":["name","timestamp"],"description":"Triggered when ISP or Public IP address changes"},"AgentSpeedTestEvent":{"type":"object","properties":{"name":{"type":"string","enum":["agent_speed_test"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"agent_id":{"type":"integer","format":"int32","description":"The `id` of the `collector`"},"threshold":{"type":"object","properties":{"upload":{"type":"integer","format":"int32","description":"The configured upload threshold"},"download":{"type":"integer","format":"int32","description":"The configured download threshold"}}},"value":{"type":"object","properties":{"upload":{"type":"integer","format":"int32","description":"The measured upload value"},"download":{"type":"integer","format":"int32","description":"The measured download value"}}},"status":{"type":"string","enum":["SPEED_TEST_ISSUE_DETECTED","SPEED_TEST_ISSUE_RESOLVED"]},"agent":{"$ref":"#/components/schemas/AgentBase"}}}},"required":["name","timestamp"],"description":"Triggered when the measured Internet speed goes below the defined threshold"},"FeatureDiscoveryEvent":{"type":"object","properties":{"name":{"type":"string","enum":["agent_feature_discovery"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"agent_id":{"type":"integer","format":"int32","description":"The `id` of the `collector`"},"device_id":{"type":"integer","format":"int32","description":"The `id` of the `device`"},"feature":{"type":"string","enum":["mib_discovery"],"description":"The discovered feature"},"value":{"type":"object","properties":{"data":{"type":"object","additionalProperties":true}}},"agent":{"$ref":"#/components/schemas/AgentBase"},"device":{"$ref":"#/components/schemas/AbstractDevice"}}}},"required":["name","timestamp"],"description":"Triggered when a new feature is discovered on a device"},"MonitoringProfileStateChanged":{"type":"object","properties":{"name":{"type":"string","enum":["monitoring_profile_state_changed"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"value":{"type":"object","properties":{"current":{"type":"object","additionalProperties":true},"previous":{"type":"object","additionalProperties":true}}},"agent":{"$ref":"#/components/schemas/AgentBase"},"device":{"$ref":"#/components/schemas/AbstractDevice"},"variable":{"$ref":"#/components/schemas/DeviceVariable"},"monitoring_profile":{"type":"object","properties":{"severity":{"type":"string"},"name":{"type":"string"}},"required":["name"]},"state":{"type":"object","properties":{"current":{"type":"string"},"previous":{"type":"string"}}},"details":{"type":"object","additionalProperties":true},"metric":{"type":"string"}},"required":["metric"]}},"required":["name","timestamp"],"description":"Triggered when a monitoring profile state changes"},"DeviceTCPEvent":{"type":"object","properties":{"name":{"type":"string","enum":["device_tcp"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"agent_id":{"type":"integer","format":"int32","description":"The `id` of the `collector`"},"value":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","enum":["UP","DOWN"]},"port":{"type":"integer","format":"int32"}}}},"agent":{"$ref":"#/components/schemas/AgentBase"},"device":{"$ref":"#/components/schemas/AbstractDevice"},"device_id":{"type":"integer","format":"int32","description":"The `id` of the `device`"}},"required":["device_id"]}},"required":["name","timestamp"],"description":"Triggered when the status of a monitored TCP service changes"},"DeviceConfigurationMisalignmentEvent":{"type":"object","properties":{"name":{"type":"string","enum":["device_configuration_misalignment"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"agent_id":{"type":"integer","format":"int32","description":"The `id` of the `collector`"},"agent":{"$ref":"#/components/schemas/AgentBase"},"device":{"$ref":"#/components/schemas/AbstractDevice"},"device_id":{"type":"integer","format":"int32","description":"The `id` of the `device`"}},"required":["device_id"]}},"required":["name","timestamp"],"description":"Triggered when the device configuration becomes different from the startup one"},"DeviceSNMPEvent":{"type":"object","properties":{"name":{"type":"string","enum":["device_snmp"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"agent_id":{"type":"integer","format":"int32","description":"The `id` of the `collector`"},"trigger_name":{"type":"string"},"value":{"type":"string","description":"The current value of the SNMP sensor"},"enum_value":{"type":"string","description":"The current enum value of the SNMP sensor if the OID is of type enum"},"agent":{"$ref":"#/components/schemas/AgentBase"},"device":{"$ref":"#/components/schemas/AbstractDevice"},"device_id":{"type":"integer","format":"int32","description":"The `id` of the `device`"}},"required":["device_id"]}},"required":["name","timestamp"],"description":"Triggered when the status of an SNMP value changes"},"DeviceConfigurationChangeEvent":{"type":"object","properties":{"name":{"type":"string","enum":["device_configuration_change"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"agent_id":{"type":"integer","format":"int32","description":"The `id` of the `collector`"},"agent":{"$ref":"#/components/schemas/AgentBase"},"device":{"$ref":"#/components/schemas/AbstractDevice"},"device_id":{"type":"integer","format":"int32","description":"The `id` of the `device`"}},"required":["device_id"]}},"required":["name","timestamp"],"description":"Triggered when the device configuration changes"},"DeviceIPChangeEvent":{"type":"object","properties":{"name":{"type":"string","enum":["device_ip_change"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"agent_id":{"type":"integer","format":"int32","description":"The `id` of the `collector`"},"old_ip_addresses":{"type":"array","items":{"type":"string"},"description":"The list of previous IP addresses"},"value":{"type":"array","items":{"type":"string"},"description":"The list of new IP addresses"},"agent":{"$ref":"#/components/schemas/AgentBase"},"device":{"$ref":"#/components/schemas/AbstractDevice"},"device_id":{"type":"integer","format":"int32","description":"The `id` of the `device`"}},"required":["device_id"]}},"required":["name","timestamp"],"description":"Triggered when the device IP address changes"},"DeviceRTDIssueEvent":{"type":"object","properties":{"name":{"type":"string","enum":["device_rtd"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"agent_id":{"type":"integer","format":"int32","description":"The `id` of the `collector`"},"threshold":{"type":"object","properties":{"latency":{"type":"integer","format":"int32","description":"The configured latency threshold"},"packet_loss_percentage":{"type":"integer","format":"int32","description":"The configured packet loss percentage threshold"}}},"value":{"type":"object","properties":{"latency":{"type":"integer","format":"int32","description":"The current latency value"},"packet_loss_percentage":{"type":"integer","format":"int32","description":"The current packet loss percentage  value"}}},"status":{"type":"string","enum":["RTD_ISSUE_DETECTED","RTD_ISSUE_RESOLVED"]},"agent":{"$ref":"#/components/schemas/AgentBase"},"device":{"$ref":"#/components/schemas/AbstractDevice"},"device_id":{"type":"integer","format":"int32","description":"The `id` of the `device`"}},"required":["device_id"]}},"required":["name","timestamp"],"description":"Triggered when the Round-Trip-Delay values of a device exceeds the defined thresholds"},"DeviceHeartbeatLostEvent":{"type":"object","properties":{"name":{"type":"string","enum":["device_heartbeat_lost"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"agent_id":{"type":"integer","format":"int32","description":"The `id` of the `collector`"},"agent":{"$ref":"#/components/schemas/AgentBase"},"device":{"$ref":"#/components/schemas/AbstractDevice"},"device_id":{"type":"integer","format":"int32","description":"The `id` of the `device`"}},"required":["device_id"]}},"required":["name","timestamp"],"description":"Triggered when a device does not respond to a ping"},"DeviceStatusChangeEvent":{"type":"object","properties":{"name":{"type":"string","enum":["device_status"]},"timestamp":{"type":"string","format":"date-time","description":"The timestamp of the event"},"data":{"type":"object","properties":{"agent_id":{"type":"integer","format":"int32","description":"The `id` of the `collector`"},"value":{"type":"string","enum":["UP","DOWN"]},"agent":{"$ref":"#/components/schemas/AgentBase"},"device":{"$ref":"#/components/schemas/AbstractDevice"},"device_id":{"type":"integer","format":"int32","description":"The `id` of the `device`"}},"required":["device_id"]}},"required":["name","timestamp"],"description":"Triggered when the status of a device changes"},"AlertProfileAgentBinding":{"type":"object","properties":{"alert_profile_id":{"type":"integer","format":"int32","description":"The id of the alert profile"}},"required":["alert_profile_id"]},"AlertProfileDeviceBinding":{"type":"object","properties":{"alert_profile_id":{"type":"integer","format":"int32","description":"The id of the alert profile"},"device_id":{"type":"integer","format":"int32"}},"required":["alert_profile_id","device_id"]},"Area":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"The identifier of the Area"},"name":{"type":"string","description":"The name of the Area"}},"required":["id","name"],"description":"Represents an area of the Company"},"Team":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"The identifier of the Team"},"name":{"type":"string","description":"The name of the Team"}},"required":["id","name"],"description":"Represents a team of the Company"},"TeamCreation":{"type":"object","properties":{"name":{"type":"string","description":"The Team's name"},"leader":{"type":"object","description":"The Team Leader","properties":{"name":{"type":"string","description":"The Team Leader's name"},"password":{"type":"string","description":"The Team Leader's password"},"details":{"type":"object","description":"The Team Leader's details","properties":{"display_name":{"type":"string","description":"The Team Leader's display name"}},"required":["display_name"]}},"required":["details","name","password"]}},"required":["leader","name"],"description":"Team Creation under specified Area"},"CustomDriver":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"The identifier of the Custom Driver"},"name":{"type":"string","description":"Name of the Custom Driver"},"type":{"type":"string","enum":["GENERIC","CONFIGURATION_MANAGEMENT"],"description":"The Custom Driver type.\n Driver usage differs between types such as data collection and/or available actions"},"description":{"type":"string","description":"Description of the Custom Driver"},"minimal_sample_period":{"type":"integer","format":"int32","description":"The minimal sampling interval of the Custom Driver (in seconds)"},"is_valid":{"type":"boolean","description":"True if the Custom Driver has valid code, False otherwise"},"requires_credentials":{"type":"boolean","description":"True if the Custom Driver requires credentials to run, False otherwise"},"code_inspection":{"type":"object","description":"Result of the Custom Driver code analysis","properties":{"has_independent_variables":{"type":"boolean","description":"True if the Custom Driver creates independent variables on execution"},"has_table":{"type":"boolean","description":"True if the Custom Driver creates a variable table on execution"},"has_parameters":{"type":"boolean","description":"True if the Custom Driver uses parameters during execution"},"data_saving_functions":{"type":"array","items":{"type":"string"},"description":"A list of functions of the {CUSTOM_DRIVER} that save data. Only a one of these can be executed on the same device at a time."}},"required":["data_saving_functions","has_independent_variables","has_parameters","has_table"]},"device_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of the device IDs the Custom Driver is applied on"}},"required":["code_inspection","device_ids","id","is_valid","minimal_sample_period","name","requires_credentials","type"],"description":"A Custom Driver that can be applied on devices"},"CustomDriverDetails":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"The identifier of the Custom Driver"},"name":{"type":"string","description":"Name of the Custom Driver"},"type":{"type":"string","enum":["GENERIC","CONFIGURATION_MANAGEMENT"],"description":"The Custom Driver type.\n Driver usage differs between types such as data collection and/or available actions"},"description":{"type":"string","description":"Description of the Custom Driver"},"minimal_sample_period":{"type":"integer","format":"int32","description":"The minimal sampling interval of the Custom Driver (in seconds)"},"is_valid":{"type":"boolean","description":"True if the Custom Driver has valid code, False otherwise"},"requires_credentials":{"type":"boolean","description":"True if the Custom Driver requires credentials to run, False otherwise"},"code_inspection":{"type":"object","description":"Result of the Custom Driver code analysis","properties":{"has_independent_variables":{"type":"boolean","description":"True if the Custom Driver creates independent variables on execution"},"has_table":{"type":"boolean","description":"True if the Custom Driver creates a variable table on execution"},"has_parameters":{"type":"boolean","description":"True if the Custom Driver uses parameters during execution"},"data_saving_functions":{"type":"array","items":{"type":"string"},"description":"A list of functions of the {CUSTOM_DRIVER} that save data. Only a one of these can be executed on the same device at a time."}},"required":["data_saving_functions","has_independent_variables","has_parameters","has_table"]},"code":{"type":"string","description":"The source code of the driver"},"actions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"Identifier of the custom driver action. Used in execution API Values range 1-30 depending on defined actions in the driver code"},"line":{"type":"integer","format":"int32","description":"Line number of the function declaration for the action"},"label":{"type":"string","description":"The label of the action, shown as the button label in the ui when the driver is applied to a device"},"documentation":{"type":"string","description":"Detailed description of the custom driver action"}},"required":["documentation","id","label","line"]},"description":"A list of the custom actions that can be executed by this Custom Driver (empty if none exist)"},"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","description":"Error message"},"line":{"type":"integer","format":"int32","description":"The line number in the code that raised the error."},"type":{"type":"string","description":"Type of the error"}},"required":["type"]},"description":"A list of errors in this driver's code. Only returned if the driver's code is invalid and cannot be executed"},"parameters":{"type":"array","items":{"type":"object","properties":{"default_value":{"description":"Default value of the parameter.\nIts type can be either a float, a string or a list based on its value_type."},"description":{"type":"string","description":"Description of the parameter"},"id":{"type":"integer","format":"int32","description":"Unique id"},"value_type":{"type":"string","enum":["STRING","NUMBER","LIST"],"description":"Value type of the parameter.\nNumbers are treated as floats, list items are treated as strings"},"name":{"type":"string","description":"The identifier by which the parameter is called in the driver script"}},"required":["id","name","value_type"]},"description":"A list of parameters used by this Custom Driver. Only returned if the driver has parameters defined"}},"required":["actions","code","code_inspection","id","is_valid","minimal_sample_period","name","requires_credentials","type"],"description":"Detailed information for a Custom Driver that can be applied on devices"},"CustomDriverAssociationCreation":{"type":"object","properties":{"sample_period":{"type":"integer","format":"int32","description":"The sampling interval of the Custom Driver (in seconds). Must be one of [300, 600, 900, 1800, 3600, 7200, 21600, 43200, 86400] and equal to or greater than the minimal_sample_period of the Custom Driver. \nDefault value is the minimal_sample_period of the Custom Driver"},"credentials":{"type":"object","description":"The credentials for the Custom Driver (with scope CUSTOM_DRIVER_MANAGEMENT).\nOnly required if the driver requires credentials, and there are none saved for the device","properties":{"username":{"type":"string","description":"username"},"password":{"type":"string","description":"password"}},"required":["password","username"]},"parameters":{"type":"array","items":{"type":"object","properties":{"value":{"description":"Value of the parameter for the association.\nIts type can be either a float, a string or a list based on its value_type.\nThe following restrictions apply based on the value type: \n<ul><li>STRING: maximum 100 characters</li><li>LIST: maximum 50 items, maximum 100 characters each</li></ul>"},"custom_driver_parameter_id":{"type":"integer","format":"int32","description":"The id of the parameter on the driver level"}},"required":["custom_driver_parameter_id"]},"description":"A list of parameters to be used for the association. Only required if the Custom Driver uses parameters. Parameters with default values at the driver level can be skipped."}},"description":"Properties for associating a Custom Driver and a device"},"CustomDriverAssociationCreationResult":{"type":"object","properties":{"result":{"type":"integer","format":"int32","description":"The id of the newly created association. Returned in case of success."},"error":{"type":"string","description":"Description of the error that occurred. Returned in case of failure."}},"description":"The outcome of applying a Custom Driver to a device"},"CustomDriverExecutionResult":{"type":"object","properties":{"outcome":{"type":"string","enum":["success","failure","undefined"],"default":"undefined","description":"Outcome from the Custom Driver Execution"},"elapsed":{"type":"integer","format":"int32","description":"The time it took to Execute the Custom Driver Action (in milliseconds)"},"log":{"type":"array","items":{"type":"string"},"description":"List of log messages generated during the Custom Driver Execution"},"errorType":{"type":"string","description":"Short name of the error returned with a failed outcome of the Custom Driver Execution"},"errorMessage":{"type":"string","description":"Expanded description of the errorType returned in a failed Custom Driver Execution"}},"required":["outcome"],"description":"The result of a Custom Driver execution command"},"CustomDriverExecutionOptions":{"type":"object","properties":{"test":{"type":"boolean","description":"If false, the Custom Driver variables will be persisted in history. Defaults to true"}},"description":"Options provided to a Custom Driver execution command"},"CustomDriverAssociationParameterCreation":{"type":"object","properties":{"parameters":{"type":"array","items":{"type":"object","properties":{"value":{"description":"Value of the parameter for the association.\nIts type can be either a float, a string or a list based on its value_type.\nThe following restrictions apply based on the value type: \n<ul><li>STRING: maximum 100 characters</li><li>LIST: maximum 50 items, maximum 100 characters each</li></ul>"},"custom_driver_parameter_id":{"type":"integer","format":"int32","description":"The id of the parameter on the driver level"}},"required":["custom_driver_parameter_id"]}}},"required":["parameters"],"description":"Creation data for multiple association parameters"},"CustomDriverAssociation":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"The id of the association"},"custom_driver_id":{"type":"integer","format":"int32","description":"The id of the Custom Driver"},"device_id":{"type":"integer","format":"int32","description":"The id of the device the Custom Driver is applied to"},"last_inspection_time":{"type":"string","format":"date-time","description":"The last time (datetime) the device inspection was executed"},"sample_period":{"type":"integer","format":"int32","description":"The sampling interval of the Custom Driver (in seconds)"},"status":{"type":"string","enum":["ENABLED","DISABLED"],"description":"<ul><li>\n*ENABLED*: The association is enabled and running\n</li><li>\n*DISABLED*: The association is disabled due to failure\n</li></ul>"},"used_variables":{"type":"integer","format":"int32","description":"The number of variables used by this Custom Driver association"},"parameters":{"type":"array","items":{"type":"object","properties":{"value":{"description":"Value of the parameter used for the association.\nIn case it is not set on the association level, the Custom Driver default is shown.\nEmpty if the parameter was added to the Custom Driver without a default value after the association was created"},"description":{"type":"string","description":"Description of the parameter"},"custom_driver_parameter_id":{"type":"integer","format":"int32","description":"The id of the parameter on the driver level"},"value_type":{"type":"string","enum":["STRING","NUMBER","LIST"],"description":"Value type of the parameter.\nNumbers are treated as floats, list items are treated as strings"},"name":{"type":"string","description":"The identifier by which the parameter is called in the driver script"}},"required":["custom_driver_parameter_id","name","value_type"]},"description":"Parameters used in the association"}},"required":["custom_driver_id","device_id","id","last_inspection_time","sample_period","status","used_variables"],"description":"An association between a Custom Driver and a device"},"DeviceProfile":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"Device profile id"},"name":{"type":"string","description":"Device profile name"},"description":{"type":"string","description":"Device profile description"},"last_modified":{"type":"string","format":"date-time","description":"The last time the device profile was edited"},"creation_time":{"type":"string","format":"date-time","description":"The time the device profile was created"},"modified_by":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"User id"},"name":{"type":"string","description":"Username"}},"description":"The user that edited the device profile"},"modules":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"Module id"},"module_type":{"type":"string","enum":["INFO","SHARED_ALERT","SNMP_CUSTOM_OID","SNMP_PRECONFIGURED_SENSOR","TCP_SENSOR"],"description":"Module type"},"is_active":{"type":"boolean","description":"Module status"},"last_modified":{"type":"string","format":"date-time","description":"The last time the device profile module was edited"},"creation_time":{"type":"string","format":"date-time","description":"The time the device profile module was added"},"apply_mode":{"type":"string","enum":["REPLACE","ADDITIVE"],"description":"the mode used to apply the module configuration"}},"required":["apply_mode","creation_time","id","is_active","last_modified","module_type"]},"description":"The list of modules associated to the device profile"}},"required":["creation_time","description","id","last_modified","modified_by","modules","name"]},"DeviceProfileApplyRequest":{"type":"object","properties":{"device_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"The list of device ids on which to apply the device profile"}},"required":["device_ids"]},"InventoryField":{"allOf":[{"$ref":"#/components/schemas/WriteInventoryField"},{"type":"object","properties":{"key":{"type":"string","maxLength":25,"minLength":1,"pattern":"/^[a-z][a-z0-9_-]{0,24}]$/","description":"The name of the field, unique in the Inventory"},"defined_by_user":{"type":"integer","format":"int32","description":"The `id` of the user that defined the inventory field - if different from your id, this field can't be deleted or changed"},"creation_time":{"type":"string","format":"date-time"}},"required":["key"],"description":"DTO Returned by the API describing an Inventory Field"}]},"WriteInventoryField":{"type":"object","properties":{"label":{"type":"string","maxLength":100,"description":"A detailed description of the field, for documentation"}},"required":["label"],"description":"DTO Used for creating/updating Inventory fields"},"APIUsageInformation":{"type":"object","properties":{"daily_limit":{"type":"integer","format":"int32","description":"Number of allowed calls to the API in a 24 hours span."},"concurrent_allowed":{"type":"integer","format":"int32","description":"Number of allowed calls to the API in a minute."},"daily_usage":{"type":"integer","format":"int32","description":"Number of API call performed in the last 24 hours. "},"by_key":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The mnemonic API key name"},"count":{"type":"integer","format":"int32","description":"The number of calls done using this key in the last 24 hours"},"id":{"type":"integer","format":"int32","description":"The ID of the API key"}}}},"by_ip":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The IP address"},"count":{"type":"integer","format":"int32","description":"The number of calls originated from that IP address"}}}},"by_resource":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The base resource name"},"count":{"type":"integer","format":"int32","description":"The number of calls for the resource"}}}}},"description":"Information about Domotz API current usage and usage limits"},"DeviceBaseType":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"An unique identifier of the type, referred in the `Device` entity"},"identifier":{"type":"string","description":"The name of the type"},"label":{"type":"string","description":"A human-readable short description of the type   "},"vital":{"type":"boolean","description":"Whether a device of this type will be marked as `VITAL` as soon as recognised"}},"description":"A device type, either set by the user or as identified by the Domotz system"},"DetectedDeviceType":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"An unique identifier of the type, referred in the `Device` entity"},"identifier":{"type":"string","description":"The name of the type"},"label":{"type":"string","description":"A human-readable short description of the type"},"type_id":{"type":"integer","format":"int32","description":"The corresponding `device type` "},"capabilities":{"type":"array","items":{"type":"string"},"description":"The features of the device"}},"description":"A device type, detected by the Domotz device identification feature"},"User":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"}}}},"securitySchemes":{"api_key":{"type":"apiKey","name":"X-Api-Key","in":"header","description":"Create your API Key from the <a href=\"https://portal.domotz.com/portal/settings/services?selected_menu=api_keys\">Domotz Portal</a> or contact us"}}},"servers":[[{"url":"https://api-us-east-1-cell-1.domotz.com/public-api/v1/"}]],"security":[{"api_key":[]}]}