{"openapi":"3.0.2","info":{"title":"IQRF Gateway Webapp API specification","contact":{"name":"Roman Ondráček","email":"roman.ondracek@iqrf.com"},"license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"},"version":"0.0.1"},"servers":[{"url":"{protocol}://{server}/api/v0/","variables":{"protocol":{"enum":["http","https"],"default":"http"},"server":{"default":"localhost:8080"}}}],"paths":{"/account/password/recovery/{uuid}":{"post":{"tags":["Account"],"summary":"Recovers the forgotten password","parameters":[{"name":"uuid","in":"path","description":"Password recovery request UUID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordRecovery"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserToken"}}}},"403":{"description":"Account is blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"$ref":"#/components/responses/NotFound"},"410":{"description":"Password recovery request is expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{}]}},"/account/password/recovery":{"post":{"tags":["Account"],"summary":"Requests the password recovery","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordRecoveryRequest"}}},"required":true},"responses":{"200":{"description":"Success"},"403":{"description":"E-mail address is not verified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"$ref":"#/components/responses/MailerError"}},"security":[{}]}},"/account/password/set/{uuid}":{"post":{"tags":["Account"],"summary":"Sets the password for invited user","parameters":[{"name":"uuid","in":"path","description":"Password set UUID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordSet"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSignedIn"}}}},"403":{"description":"User is blocked"},"404":{"description":"Password set not found"},"410":{"description":"Password set request is expired"}},"security":[{}]}},"/account/password":{"put":{"tags":["Account"],"summary":"Updates user's password","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordChange"}}},"required":true},"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/ForbiddenApiKey"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/account/preferences":{"get":{"tags":["Account"],"summary":"Returns user preferences","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPreferences"}}}},"403":{"description":"Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Account"],"summary":"Edit user preferences","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPreferences"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"description":"Invalid time format or theme"},"403":{"description":"Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/account/signIn":{"post":{"tags":["Account"],"summary":"Signs in the user","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSignIn"}}},"required":true},"security":[{}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserToken"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"description":"Account is blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/account/tokenRefresh":{"post":{"tags":["Account"],"summary":"Refreshes user access token","responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserToken"}}}},"403":{"$ref":"#/components/responses/ForbiddenApiKey"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/account/verification/resend":{"post":{"tags":["Account"],"summary":"Resends the verification e-mail","responses":{"200":{"description":"Success"},"400":{"description":"User is already verified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"$ref":"#/components/responses/MailerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/account/verification/{uuid}":{"get":{"tags":["Account"],"summary":"Verifies the user","parameters":[{"name":"uuid","in":"path","description":"User verification UUID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserToken"}}}},"403":{"description":"Account is blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"$ref":"#/components/responses/NotFound"}},"security":[{}]}},"/account":{"get":{"tags":["Account"],"summary":"Returns information about the user account","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDetail"}}}},"403":{"$ref":"#/components/responses/ForbiddenApiKey"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Account"],"summary":"Updates the user account information","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountEdit"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/ForbiddenApiKey"},"409":{"description":"Username or e-mail address is already used","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/apiKeys/{id}":{"get":{"deprecated":true,"tags":["Security - API key management"],"summary":"Returns API key by ID","description":"Deprecated in favor of the new API keys controller, use `GET` `/security/apiKeys/{id}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"id","in":"path","description":"API key ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyDetail"}}}},"404":{"$ref":"#/components/responses/NotFound"},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"deprecated":true,"tags":["Security - API key management"],"summary":"Updates the API key","description":"Deprecated in favor of the new API keys controller, use `PUT` `/security/apiKeys/{id}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"id","in":"path","description":"API key ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyModify"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"deprecated":true,"tags":["Security - API key management"],"summary":"Deletes a API key","description":"Deprecated in favor of the new API keys controller, use `DELETE` `/security/apiKeys/{id}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"id","in":"path","description":"API key ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/apiKeys":{"get":{"deprecated":true,"tags":["Security - API key management"],"summary":"Lists all API keys","description":"Deprecated in favor of the new API keys controller, use `GET` `/security/apiKeys` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApiKeyDetail"}}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"deprecated":true,"tags":["Security - API key management"],"summary":"Creates a new API key","description":"Deprecated in favor of the new API keys controller, use `POST` `/security/apiKeys` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyModify"}}},"required":true},"responses":{"201":{"description":"Created","headers":{"Location":{"description":"Location of information about the created API key","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreated"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/certificate":{"get":{"deprecated":true,"tags":["Security - Certificate management"],"summary":"Returns information about TLS certificate","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CertificateDetail"}}}},"400":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/clouds/aws":{"post":{"tags":["Cloud manager"],"summary":"Creates a new MQTT connection into Amazon AWS IoT","requestBody":{"description":"Amazon AWS IoT connection configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudAws"}},"multipart/form-data":{"schema":{"type":"object","properties":{"endpoint":{"type":"string"},"certificate":{"type":"string","format":"binary"},"privateKey":{"type":"string","format":"binary"}}}}},"required":true},"responses":{"201":{"description":"Created"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/clouds/azure":{"post":{"tags":["Cloud manager"],"summary":"Creates a new MQTT connection into Microsoft Azure IoT Hub","requestBody":{"description":"Microsoft Azure IoT Hub connection configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudAzure"}}},"required":true},"responses":{"201":{"description":"Created"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/clouds/ibmCloud":{"post":{"tags":["Cloud manager"],"summary":"Creates a new MQTT connection into IBM Cloud","requestBody":{"description":"IBM Cloud connection configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudIbm"}}},"required":true},"responses":{"201":{"description":"Created"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/apt":{"get":{"tags":["Configuration - APT package manager"],"summary":"Returns APT configuration","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AptConfiguration"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Configuration - APT package manager"],"summary":"Updates APT configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AptConfiguration"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/bridge":{"get":{"tags":["Configuration - IQRF Gateway InfluxDB Bridge"],"summary":"Returns the current configuration of IQRF Gateway InfluxDB Bridge","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BridgeConfig"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Configuration - IQRF Gateway InfluxDB Bridge"],"summary":"Updates the configuration of IQRF Gateway InfluxDB Bridge","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BridgeConfig"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/controller/pins/{id}":{"get":{"tags":["Configuration - IQRF Gateway Controller"],"summary":"Returns the pin configuration profile","parameters":[{"name":"id","in":"path","description":"Controller pin configuration profile ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControllerPinConfig"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Configuration - IQRF Gateway Controller"],"summary":"Updates the pin configuration profile","parameters":[{"name":"id","in":"path","description":"Controller pin configuration profile ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControllerPinConfig"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"tags":["Configuration - IQRF Gateway Controller"],"summary":"Deletes the pin configuration profile","parameters":[{"name":"id","in":"path","description":"Controller pin configuration profile ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/controller/pins":{"get":{"tags":["Configuration - IQRF Gateway Controller"],"summary":"Lists all pin configurations","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControllerPinConfigList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"tags":["Configuration - IQRF Gateway Controller"],"summary":"Creates a new pin configuration profile","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControllerPinConfig"}}},"required":true},"responses":{"201":{"description":"Created","headers":{"Location":{"description":"Location of information about created pin configuration profile","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControllerPinConfig"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/controller":{"get":{"tags":["Configuration - IQRF Gateway Controller"],"summary":"Returns the current configuration of IQRF Gateway Controller","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControllerConfig"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Configuration - IQRF Gateway Controller"],"summary":"Updates the configuration of IQRF Gateway Controller","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControllerConfig"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/daemon/components":{"patch":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Updates enabled state of component(s)","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DaemonComponentEnabled"}}},"required":true},"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/daemon/mappings/{id}":{"get":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Returns mapping by ID","parameters":[{"name":"id","in":"path","description":"Mapping ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MappingDetail"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Updates a mapping","parameters":[{"name":"id","in":"path","description":"Mapping ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mapping"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Removes a mapping","parameters":[{"name":"id","in":"path","description":"Mapping ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/daemon/mappings":{"get":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Lists all mappings","parameters":[{"name":"interface","in":"query","description":"Interface type","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MappingList"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Creates a new mapping","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mapping"}}},"required":true},"responses":{"201":{"description":"Created","headers":{"Location":{"description":"Location of information about the created mapping","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MappingDetail"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/daemon/messagings":{"get":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Returns all messaging instances","responses":{"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/daemon/scheduler/export":{"get":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Exports scheduler configuration","responses":{"200":{"description":"Success","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"No tasks to export","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/daemon/scheduler/import":{"post":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Imports scheduler configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}},"application/zip":{"schema":{"type":"string","format":"binary"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"415":{"$ref":"#/components/responses/InvalidContentType"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/daemon/scheduler/messagings":{"get":{"deprecated":true,"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Returns all messagings suitable for scheduler tasks","description":"Deprecated, use `GET` `/config/daemon/messagings` instead. Will be removed in the version 3.1.0.","responses":{"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/daemon/scheduler/{taskId}":{"get":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Returns task configuration","parameters":[{"name":"taskId","in":"path","description":"Task ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Edits a task","parameters":[{"name":"taskId","in":"path","description":"Task ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Deletes a task","parameters":[{"name":"taskId","in":"path","description":"Task ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/daemon/scheduler":{"get":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Lists tasks","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Creates a new task","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}},"required":true},"responses":{"201":{"description":"Created"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"Task already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Deletes all tasks","responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/daemon/{component}/{instance}":{"get":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Returns instance configuration by name","parameters":[{"name":"component","in":"path","description":"Component name","required":true,"schema":{"type":"string"}},{"name":"instance","in":"path","description":"Instance name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DaemonConfiguration"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Updates instance configuration by name","parameters":[{"name":"component","in":"path","description":"Component name","required":true,"schema":{"type":"string"}},{"name":"instance","in":"path","description":"Instance name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DaemonConfiguration"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Deletes instance configuration by name","parameters":[{"name":"component","in":"path","description":"Component name","required":true,"schema":{"type":"string"}},{"name":"instance","in":"path","description":"Instance name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/daemon/{component}":{"get":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Returns the component configuration and instances of the component","parameters":[{"name":"component","in":"path","description":"Component name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DaemonComponentDetail"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Updates the component","parameters":[{"name":"component","in":"path","description":"Component name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DaemonComponent"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Creates instance configuration","parameters":[{"name":"component","in":"path","description":"Component name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DaemonConfiguration"}}},"required":true},"responses":{"201":{"description":"Created"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Instance already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Deletes the component","parameters":[{"name":"component","in":"path","description":"Component name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/daemon":{"get":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Returns main configuration","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MainConfiguration"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Updates main configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MainConfiguration"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Creates component configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DaemonComponent"}}},"required":true},"responses":{"201":{"description":"Created"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/iqrf-repository":{"get":{"deprecated":true,"tags":["Configuration - IQRF Repository"],"summary":"Returns the current configuration of IQRF Repository","description":"Deprecated in favor of the new IQRF Repository controller, use `GET` `/config/iqrfRepository` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IqrfRepositoryConfig"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"deprecated":true,"tags":["Configuration - IQRF Repository"],"summary":"Updates IQRF repository extension configuration","description":"Deprecated in favor of the new IQRF Repository controller, use `PUT` `/config/iqrfRepository` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IqrfRepositoryConfig"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/iqrfRepository":{"get":{"tags":["Configuration - IQRF Repository"],"summary":"Returns the current configuration of IQRF Repository","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IqrfRepositoryConfig"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Configuration - IQRF Repository"],"summary":"Updates IQRF repository extension configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IqrfRepositoryConfig"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/journal":{"get":{"tags":["Configuration - Logs"],"summary":"Returns journal configuration","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Journal"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Configuration - Logs"],"summary":"Updates journal configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Journal"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/mailer/test":{"post":{"tags":["Configuration - Mailer"],"summary":"Sends a test e-mail to verify configuration of the mailer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailerConfiguration"}}},"required":true},"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"description":"Unable to send the e-mail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/mailer":{"get":{"tags":["Configuration - Mailer"],"summary":"Returns the current configuration of the mailer","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailerConfiguration"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Configuration - Mailer"],"summary":"Updates the configuration of the mailer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailerConfiguration"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/mender/cert":{"post":{"tags":["Configuration - Mender"],"summary":"Uploads and stores a Mender server certificate","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"certificate":{"type":"string","format":"binary"}}}}},"required":true},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"type":"string","description":"Path to the stored certificate"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/mender":{"get":{"tags":["Configuration - Mender"],"summary":"Returns current configuration of Mender client","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MenderConfig"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"501":{"description":"Unsupported Mender client version"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Configuration - Mender"],"summary":"Saves new Mender client configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MenderConfig"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"501":{"description":"Unsupported Mender client version"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/monit/checks/{name}/disable":{"post":{"tags":["Configuration - Monit"],"summary":"Disables Monit check","parameters":[{"name":"name","in":"path","description":"Check name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/monit/checks/{name}/enable":{"post":{"tags":["Configuration - Monit"],"summary":"Enables Monit check","parameters":[{"name":"name","in":"path","description":"Check name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/monit/checks/{name}":{"get":{"tags":["Configuration - Monit"],"summary":"Returns the Monit check configuration","parameters":[{"name":"name","in":"path","description":"Check name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitCheckConfig"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/monit":{"get":{"tags":["Configuration - Monit"],"summary":"Returns the current Monit configuration","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitConfig"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Configuration - Monit"],"summary":"Updates the Monit configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitConfig"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/config/ws-proxy":{"get":{"tags":["Configuration - WebSocket Proxy Server"],"summary":"Returns the current configuration of WebSocket Proxy Server","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebSocketProxyConfig"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Configuration - WebSocket Proxy Server"],"summary":"Updates the configuration of WebSocket Proxy Server","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebSocketProxyConfig"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/diagnostics":{"get":{"deprecated":true,"tags":["Gateway - Information"],"summary":"Returns archive with diagnostics","description":"Deprecated in favor of the new Diagnostics controller, use `GET` `/gateway/diagnostics` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/features/{feature}":{"get":{"tags":["Optional feature manager"],"summary":"Returns optional feature configuration","parameters":[{"name":"feature","in":"path","description":"Feature name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feature"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Optional feature manager"],"summary":"Edits optional feature configuration","parameters":[{"name":"feature","in":"path","description":"Feature name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feature"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/features":{"get":{"tags":["Optional feature manager"],"summary":"Returns optional features configuration","security":[{}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureList"}}}},"500":{"$ref":"#/components/responses/ServerError"}}}},"/gateway/diagnostics":{"get":{"tags":["Gateway - Information"],"summary":"Returns archive with diagnostics","responses":{"200":{"description":"Success","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/hostname":{"post":{"tags":["Gateway - Hostname"],"summary":"Sets gateway hostname","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hostname"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/info/brief":{"get":{"tags":["Gateway - Information"],"summary":"Returns brief information about the gateway","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayBriefInfo"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/info":{"get":{"tags":["Gateway - Information"],"summary":"Returns information about the gateway","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayInfo"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/journal/config":{"get":{"deprecated":true,"tags":["Configuration - Logs"],"summary":"Returns journal configuration","description":"Deprecated in favor of the new Journal config controller, use `GET` `/config/journal` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Journal"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"deprecated":true,"tags":["Configuration - Logs"],"summary":"Updates journal configuration","description":"Deprecated in favor of the new Journal config controller, use `PUT` `/config/journal` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Journal"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"deprecated":true,"tags":["Configuration - Logs"],"summary":"Updates journal configuration","description":"Deprecated in favor of the new Journal config controller, use `PUT` `/config/journal` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Journal"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/journal":{"get":{"tags":["Gateway - Logs"],"summary":"Returns journal records","parameters":[{"name":"count","in":"query","description":"Number of last records to retrieve","required":false,"schema":{"type":"integer","minimum":1,"maximum":1000,"default":500}},{"name":"cursor","in":"query","description":"Specifies a record cursor to start from","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalRecords"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/logs/export":{"get":{"tags":["Gateway - Logs"],"summary":"Returns archive with IQRF Gateway logs","responses":{"200":{"description":"Success","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/logs/{service}":{"get":{"tags":["Gateway - Logs"],"summary":"Returns latest log of a service","parameters":[{"name":"service","in":"path","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"text/plain":{"schema":{"type":"string"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Service not found or log not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/logs":{"get":{"tags":["Gateway - Logs"],"summary":"Returns list of services with available logs","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogServices"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/password":{"put":{"deprecated":true,"tags":["Security - Shell user password"],"summary":"Updates default gateway user password","description":"Deprecated in favor of the new shell user controller, use `PUT` `/security/shellUser/password` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayPassword"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/power/poweroff":{"post":{"tags":["Gateway - Power management"],"summary":"Powers off the gateway","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PowerControl"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/power/reboot":{"post":{"tags":["Gateway - Power management"],"summary":"Reboots the gateway","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PowerControl"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/power/stats":{"get":{"tags":["Gateway - Power management"],"summary":"Returns power statistics","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TuptimeStats"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"424":{"description":"tuptime not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/ssh/keyTypes":{"get":{"deprecated":true,"tags":["Security - SSH keys"],"summary":"Lists SSH key types","description":"Deprecated in favor of the new SSH keys controller, use `GET` `/security/sshKeys/types` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKeyTypes"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/ssh/keys/{id}":{"get":{"deprecated":true,"tags":["Security - SSH keys"],"summary":"Returns authorized SSH public key","description":"Deprecated in favor of the new SSH keys controller, use `GET` `/security/sshKeys/{id}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"id","in":"path","description":"SSH public key ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKeyDetail"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"deprecated":true,"tags":["Security - SSH keys"],"summary":"Removes an authorized SSH public key","description":"Deprecated in favor of the new SSH keys controller, use `DELETE` `/security/sshKeys/{id}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"id","in":"path","description":"SSH public key ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/ssh/keys":{"get":{"deprecated":true,"tags":["Security - SSH keys"],"summary":"List authorized SSH public keys","description":"Deprecated in favor of the new SSH keys controller, use `GET` `/security/sshKeys` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKeyList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"deprecated":true,"tags":["Security - SSH keys"],"summary":"Adds SSH keys for key-based authentication","description":"Deprecated in favor of the new SSH keys controller, use `POST` `/security/sshKeys` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKeysAdd"}}},"required":true},"responses":{"200":{"description":"Partial success, duplicate keys in body (ignored)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKeyCreated"}}}},"201":{"description":"Created"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"SSH public key already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/time/timezones":{"get":{"tags":["Gateway - Date & time"],"summary":"Returns available timezones","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimezoneList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/gateway/time":{"get":{"tags":["Gateway - Date & time"],"summary":"Returns current gateway date, time, timezone and NTP configuration","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeGet"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"tags":["Gateway - Date & time"],"summary":"Sets timezone and NTP configuration","responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/installation/user":{"post":{"tags":["Installation manager"],"summary":"Creates initial user for installation wizard","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstallUserCreate"}}},"required":true},"responses":{"201":{"description":"Created","headers":{"Location":{"description":"Location of information about the created user","schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"description":"Unable to verify access"}}}},"/installation":{"get":{"tags":["Installation manager"],"summary":"Checks the installation","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstallationCheck"}}}}},"security":[{}]}},"/iqrf/dpaFile":{"post":{"tags":["IQRF network"],"summary":"Returns DPA file","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DpaFile"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DpaFileName"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/iqrf/interfaces":{"get":{"tags":["IQRF network"],"summary":"Returns IQRF interfaces","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IqrfInterfaces"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/iqrf/macros":{"get":{"tags":["IQRF network"],"summary":"Returns IQRF IDE macros","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IqrfIdeMacros"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/iqrf/osPatches":{"get":{"tags":["IQRF network"],"summary":"Lists all IQRF OS patches","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IqrfOsPatchDetail"}}}}},"403":{"$ref":"#/components/responses/Forbidden"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/iqrf/osUpgrades":{"post":{"tags":["IQRF network"],"summary":"Lists all IQRF OS upgrades","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IqrfOsPatchUpgrade"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IqrfOsUpgradeList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/iqrf/upgradeOs":{"post":{"tags":["IQRF network"],"summary":"Upgrades OS and DPA","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IqrfOsDpaUpgrade"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/iqrf/upload":{"post":{"tags":["IQRF network"],"summary":"Uploads file","requestBody":{"description":"Uploads file","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"format":{"enum":["hex","iqrf","trcnfg",""],"type":"string"},"file":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IqrfUploadedFile"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"415":{"$ref":"#/components/responses/InvalidContentType"},"500":{"$ref":"#/components/responses/ServerError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/iqrf/uploader":{"post":{"tags":["IQRF network"],"summary":"Executes upload using the IQRF Gateway Uploader","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploaderFile"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/maintenance/backup":{"post":{"tags":["Maintenance - Backup & Restore"],"summary":"Backup gateway","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayBackup"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/maintenance/mender/commit":{"post":{"tags":["Maintenance - Mender"],"summary":"Commits installed mender artifact","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"string","description":"Mender action log"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/maintenance/mender/install":{"post":{"tags":["Maintenance - Mender"],"summary":"Installs mender artifact","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"string","description":"Mender action log"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"415":{"$ref":"#/components/responses/InvalidContentType"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/maintenance/mender/remount":{"post":{"tags":["Maintenance - Mender"],"summary":"Remounts root filesystem","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Remount"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"string","description":"Mender action log"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/maintenance/mender/rollback":{"post":{"tags":["Maintenance - Mender"],"summary":"Rolls installed mender artifact back","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"string","description":"Mender action log"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/maintenance/restore":{"post":{"tags":["Maintenance - Backup & Restore"],"summary":"Restore gateway from backup","requestBody":{"content":{"application/zip":{"schema":{"type":"string","format":"binary"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PowerControl"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"415":{"description":"Unsupported media type"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/mappings/{id}":{"get":{"deprecated":true,"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Finds mapping by ID","description":"Deprecated in favor of the new IQRF Gateway Daemon mapping controller, use `GET` `/config/daemon/mappings/{id}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"id","in":"path","description":"Mapping ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MappingDetail"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"deprecated":true,"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Updates a mapping","description":"Deprecated in favor of the new IQRF Gateway Daemon mapping controller, use `PUT` `/config/daemon/mappings/{id}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"id","in":"path","description":"Mapping ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mapping"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"deprecated":true,"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Removes a mapping","description":"Deprecated in favor of the new IQRF Gateway Daemon mapping controller, use `DELETE` `/config/daemon/mappings/{id}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"id","in":"path","description":"Mapping ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/mappings":{"get":{"deprecated":true,"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Lists all mappings","description":"Deprecated in favor of the new IQRF Gateway Daemon mapping controller, use `GET` `/config/daemon/mappings` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"interface","in":"query","description":"Interface type","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MappingList"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"deprecated":true,"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Creates a new mapping","description":"Deprecated in favor of the new IQRF Gateway Daemon mapping controller, use `POST` `/config/daemon/mappings` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mapping"}}},"required":true},"responses":{"201":{"description":"Created","headers":{"Location":{"description":"Location of information about the created mapping","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MappingDetail"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/mender/commit":{"post":{"deprecated":true,"tags":["Maintenance - Mender"],"summary":"Commits installed mender artifact","description":"Deprecated in favor of the new Mender controller, use `POST` `/maintenance/mender/commit` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"string","description":"Mender action log"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/mender/install":{"post":{"deprecated":true,"tags":["Maintenance - Mender"],"summary":"Installs mender artifact","description":"Deprecated in favor of the new Mender controller, use `POST` `/maintenance/mender/install` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"string","description":"Mender action log"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"415":{"$ref":"#/components/responses/InvalidContentType"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/mender/remount":{"post":{"deprecated":true,"tags":["Maintenance - Mender"],"summary":"Remounts root filesystem","description":"Deprecated in favor of the new Mender controller, use `POST` `/maintenance/mender/remount` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Remount"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"string","description":"Mender action log"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/mender/rollback":{"post":{"deprecated":true,"tags":["Maintenance - Mender"],"summary":"Rolls installed mender artifact back","description":"Deprecated in favor of the new Mender controller, use `POST` `/maintenance/mender/rollback` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"string","description":"Mender action log"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/cellular/modems/scan":{"post":{"tags":["IP network - Cellular"],"summary":"Scans for modems","responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/cellular/modems":{"get":{"tags":["IP network - Cellular"],"summary":"Lists available modems","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModemList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/cellular/operators/{id}":{"get":{"tags":["IP network - Cellular operators"],"summary":"Returns a network operator configuration","parameters":[{"name":"id","in":"path","description":"Operator ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkOperator"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["IP network - Cellular operators"],"summary":"Edits a network operator","parameters":[{"name":"id","in":"path","description":"Operator ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkOperator"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"tags":["IP network - Cellular operators"],"summary":"Removes a network operator","parameters":[{"name":"id","in":"path","description":"Operator ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/cellular/operators":{"get":{"tags":["IP network - Cellular operators"],"summary":"Lists all network operators","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkOperatorList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"tags":["IP network - Cellular operators"],"summary":"Creates a new network operator","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkOperator"}}},"required":true},"responses":{"201":{"description":"Created","headers":{"Location":{"description":"Location of information about network operator","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkOperator"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/connections/{uuid}/connect":{"post":{"tags":["IP network - Network connections"],"summary":"Connects network connection","parameters":[{"name":"uuid","in":"path","description":"Connection UUID","required":true,"schema":{"type":"string"}},{"name":"interface","in":"query","description":"Network interface name","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/connections/{uuid}/disconnect":{"post":{"tags":["IP network - Network connections"],"summary":"Disconnects network connection","parameters":[{"name":"uuid","in":"path","description":"Connection UUID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/connections/{uuid}":{"get":{"tags":["IP network - Network connections"],"summary":"Returns network connection by its UUID","parameters":[{"name":"uuid","in":"path","description":"Connection UUID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkConnection"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["IP network - Network connections"],"summary":"Edits network connection by its UUID","parameters":[{"name":"uuid","in":"path","description":"Connection UUID","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Network connection configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkConnection"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"tags":["IP network - Network connections"],"summary":"Deletes network connection by its UUID","parameters":[{"name":"uuid","in":"path","description":"Connection UUID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/connections":{"get":{"tags":["IP network - Network connections"],"summary":"Returns network connections","parameters":[{"name":"type","in":"query","description":"Connection type","required":false,"schema":{"type":"string","enum":["bluetooth","bridge","dummy","802-3-ethernet","gsm","infiniband","ip-tunnel","loopback","tun","vlan","vpn","802-11-wireless","wimax","wireguard","wpan"]}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkConnections"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"tags":["IP network - Network connections"],"summary":"Creates new network connection","requestBody":{"description":"Network connection configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkConnection"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkConnectionCreated"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/connectivity":{"get":{"tags":["IP network - Network connectivity"],"summary":"Checks network connectivity","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkConnectivityState"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/gsm/modems/scan":{"post":{"deprecated":true,"tags":["IP network - Cellular"],"summary":"Scans for modems","description":"Deprecated in favor of the new Cellular controller, use `POST` `/network/cellular/modems/scan` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/gsm/modems":{"get":{"deprecated":true,"tags":["IP network - Cellular"],"summary":"Lists available modems","description":"Deprecated in favor of the new Cellular controller, use `GET` `/network/cellular/modems` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModemList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/interfaces/{name}/connect":{"post":{"tags":["IP network - Network interfaces"],"summary":"Connects network interface","parameters":[{"name":"name","in":"path","description":"Network interface name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/interfaces/{name}/disconnect":{"post":{"tags":["IP network - Network interfaces"],"summary":"Disconnects network interface","parameters":[{"name":"name","in":"path","description":"Network interface name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/interfaces":{"get":{"tags":["IP network - Network interfaces"],"summary":"Returns network interfaces","parameters":[{"name":"type","in":"query","description":"Connection type","required":false,"schema":{"type":"string","enum":["bond","bt","bridge","dummy","ethernet","gsm","iptunnel","loopback","ppp","tun","vlan","wifi","wifi-p2p","wireguard"]}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkInterfaces"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/operators/{id}":{"get":{"deprecated":true,"tags":["IP network - Cellular operators"],"summary":"Returns a network operator configuration","description":"Deprecated in favor of the new Cellular operators controller, use `GET` `/network/cellular/operators/{id}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"id","in":"path","description":"Operator ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkOperator"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"deprecated":true,"tags":["IP network - Cellular operators"],"summary":"Edits a network operator","description":"Deprecated in favor of the new Cellular operators controller, use `PUT` `/network/cellular/operators/{id}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"id","in":"path","description":"Operator ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkOperator"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"deprecated":true,"tags":["IP network - Cellular operators"],"summary":"Removes a network operator","description":"Deprecated in favor of the new Cellular operators controller, use `DELETE` `/network/cellular/operators/{id}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"id","in":"path","description":"Operator ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/operators":{"get":{"deprecated":true,"tags":["IP network - Cellular operators"],"summary":"Lists all network operators","description":"Deprecated in favor of the new Cellular operators controller, use `GET` `/network/cellular/operators` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkOperatorList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"deprecated":true,"tags":["IP network - Cellular operators"],"summary":"Creates a new network operator","description":"Deprecated in favor of the new Cellular operators controller, use `POST` `/network/cellular/operators` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkOperator"}}},"required":true},"responses":{"201":{"description":"Created","headers":{"Location":{"description":"Location of information about network operator","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkOperator"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/wifi/list":{"get":{"tags":["IP network - WiFi"],"summary":"Lists available WiFi access points","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkWifiList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/wireguard/keypair":{"post":{"tags":["IP network - WireGuard"],"summary":"Generates a new WireGuard key pair","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkWireGuardKeys"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/wireguard/{id}/activate":{"post":{"tags":["IP network - WireGuard"],"summary":"Activates WireGuard VPN tunnel","parameters":[{"name":"id","in":"path","description":"WireGuard tunnel ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/wireguard/{id}/deactivate":{"post":{"tags":["IP network - WireGuard"],"summary":"Deactivates WireGuard VPN tunnel","parameters":[{"name":"id","in":"path","description":"WireGuard tunnel ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/wireguard/{id}/disable":{"post":{"tags":["IP network - WireGuard"],"summary":"Disables WireGuard VPN tunnel activation on startup","parameters":[{"name":"id","in":"path","description":"WireGuard tunnel ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/wireguard/{id}/enable":{"post":{"tags":["IP network - WireGuard"],"summary":"Enables WireGuard VPN tunnel activation on startup","parameters":[{"name":"id","in":"path","description":"WireGuard tunnel ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/wireguard/{id}":{"get":{"tags":["IP network - WireGuard"],"summary":"Returns configuration of WireGuard tunnel","parameters":[{"name":"id","in":"path","description":"WireGuard tunnel ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkWireGuardTunnel"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["IP network - WireGuard"],"summary":"Updates the existing WireGuard VPN tunnel","parameters":[{"name":"id","in":"path","description":"WireGuard tunnel ID","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"WireGuard tunnel configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkWireGuardTunnel"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"tags":["IP network - WireGuard"],"summary":"Removes the existing WireGuard VPN tunnel","parameters":[{"name":"id","in":"path","description":"WireGuard tunnel ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/network/wireguard":{"get":{"tags":["IP network - WireGuard"],"summary":"Lists all existing WireGuard VPN tunnels","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkWireGuardTunnels"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"tags":["IP network - WireGuard"],"summary":"Creates a new WireGuard VPN tunnel","requestBody":{"description":"WireGuard tunnel configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkWireGuardTunnel"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/openapi/schemas/{name}":{"get":{"tags":["OpenAPI"],"summary":"Returns JSON schema","parameters":[{"name":"name","in":"path","description":"Name of schema","required":true,"schema":{"type":"string"}}],"security":[{}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonSchema"}}}},"404":{"description":"Not found"}}}},"/openapi":{"get":{"tags":["OpenAPI"],"summary":"Returns OpenAPI schema","security":[{}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenApiSpecification"}}}}}}},"/scheduler/export":{"get":{"deprecated":true,"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Exports scheduler configuration","description":"Deprecated in favor of the new IQRF Gateway Daemon scheduler controller, use `POST` `/config/daemon/scheduler/export` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"No tasks to export","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/scheduler/import":{"post":{"deprecated":true,"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Imports scheduler configuration","description":"Deprecated in favor of the new IQRF Gateway Daemon scheduler controller, use `POST` `/config/daemon/scheduler/import` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}},"application/zip":{"schema":{"type":"string","format":"binary"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"415":{"$ref":"#/components/responses/InvalidContentType"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/scheduler/messagings":{"get":{"deprecated":true,"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Returns all messagings suitable for scheduler tasks","description":"Deprecated in favor of the new IQRF Gateway Daemon scheduler controller, use `GET` `/config/daemon/scheduler/messagings` instead. Will be removed in the version 3.1.0.","responses":{"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/scheduler/{taskId}":{"get":{"deprecated":true,"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Returns task configuration","description":"Deprecated in favor of the new IQRF Gateway Daemon scheduler controller, use `GET` `/config/daemon/scheduler/{taskId}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"taskId","in":"path","description":"Task ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"deprecated":true,"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Updates a task","description":"Deprecated in favor of the new IQRF Gateway Daemon scheduler controller, use `PUT` `/config/daemon/scheduler/{taskId}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"taskId","in":"path","description":"Task ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"deprecated":true,"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Deletes a task","description":"Deprecated in favor of the new IQRF Gateway Daemon scheduler controller, use `DELETE` `/config/daemon/scheduler/{taskId}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"taskId","in":"path","description":"Task ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/scheduler":{"get":{"deprecated":true,"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Lists tasks","description":"Deprecated in favor of the new IQRF Gateway Daemon scheduler controller, use `GET` `/config/daemon/scheduler` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"deprecated":true,"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Creates a new task","description":"Deprecated in favor of the new IQRF Gateway Daemon scheduler controller, use `POST` `/config/daemon/scheduler` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}},"required":true},"responses":{"201":{"description":"Created"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"Task already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"deprecated":true,"tags":["Configuration - IQRF Gateway Daemon"],"summary":"Deletes all tasks","description":"Deprecated in favor of the new IQRF Gateway Daemon scheduler controller, use `DELETE` `/config/daemon/scheduler` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/apiKeys/{id}":{"get":{"tags":["Security - API key management"],"summary":"Returns API key by ID","parameters":[{"name":"id","in":"path","description":"API key ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyDetail"}}}},"404":{"$ref":"#/components/responses/NotFound"},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Security - API key management"],"summary":"Updates the API key","parameters":[{"name":"id","in":"path","description":"API key ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyModify"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"tags":["Security - API key management"],"summary":"Deletes a API key","parameters":[{"name":"id","in":"path","description":"API key ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/apiKeys":{"get":{"tags":["Security - API key management"],"summary":"Lists all API keys","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"tags":["Security - API key management"],"summary":"Creates a new API key","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyModify"}}},"required":true},"responses":{"201":{"description":"Created","headers":{"Location":{"description":"Location of information about the created API key","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreated"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/daemon-access-tokens/{id}/revoke":{"post":{"tags":["Security - Daemon API access tokens"],"summary":"Revokes Daemon API access token","parameters":[{"name":"id","in":"path","description":"Daemon API access token ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/daemon-access-tokens/{id}/rotate":{"post":{"tags":["Security - Daemon API access tokens"],"summary":"Rotates Daemon API access token","parameters":[{"name":"id","in":"path","description":"Daemon API access token ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DaemonApiTokenCreated"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/daemon-access-tokens/{id}":{"get":{"tags":["Security - Daemon API access tokens"],"summary":"Returns Daemon API access token","parameters":[{"name":"id","in":"path","description":"Daemon API access token ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DaemonApiToken"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/daemon-access-tokens":{"get":{"tags":["Security - Daemon API access tokens"],"summary":"Lists Daemon API access tokens","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DaemonApiTokenList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"tags":["Security - Daemon API access tokens"],"summary":"Creates a new Daemon API access token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DaemonApiTokenCreate"}}},"required":true},"responses":{"201":{"description":"Created","headers":{"Location":{"description":"Location of information about the created Daemon API access token","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DaemonApiTokenCreated"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/mosquitto-users/{id}/block":{"post":{"tags":["Security - Mosquitto users API controller"],"summary":"Blocks mosquitto user","parameters":[{"name":"id","in":"path","description":"Mosquitto user ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/mosquitto-users/{id}":{"get":{"tags":["Security - Mosquitto users API controller"],"summary":"Returns mosquitto user","parameters":[{"name":"id","in":"path","description":"Mosquitto user ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MosquittoUser"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/mosquitto-users":{"get":{"tags":["Security - Mosquitto users API controller"],"summary":"Lists mosquitto users","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MosquittoUserList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"tags":["Security - Mosquitto users API controller"],"summary":"Creates a new mosquitto user","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MosquittoUserCreate"}}},"required":true},"responses":{"201":{"description":"Created","headers":{"Location":{"description":"Location of information about the created Mosquitto user","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MosquittoUser"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"Username is already used","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/shellUser/password":{"put":{"tags":["Security - Shell user password"],"summary":"Updates default gateway user password","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayPassword"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/sshKeys/types":{"get":{"tags":["Security - SSH keys"],"summary":"Lists SSH key types","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKeyTypes"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/sshKeys/{id}":{"get":{"tags":["Security - SSH keys"],"summary":"Returns authorized SSH public key","parameters":[{"name":"id","in":"path","description":"SSH public key ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKeyDetail"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"tags":["Security - SSH keys"],"summary":"Removes an authorized SSH public key","parameters":[{"name":"id","in":"path","description":"SSH public key ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/sshKeys":{"get":{"tags":["Security - SSH keys"],"summary":"List authorized SSH public keys","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKeyList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"tags":["Security - SSH keys"],"summary":"Adds SSH keys for key-based authentication","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKeysAdd"}}},"required":true},"responses":{"200":{"description":"Partial success, duplicate keys in body (ignored)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKeyCreated"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKeyCreated"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"SSH public key already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/users/{id}/block":{"post":{"tags":["Security - User management"],"summary":"Blocks a user","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Not found"},"409":{"description":"User is already blocked"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/users/{id}/resendVerification":{"post":{"tags":["Security - User management"],"summary":"Resends the verification e-mail","parameters":[{"name":"id","in":"path","description":"User ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"400":{"description":"User is already verified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/MailerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/users/{id}/unblock":{"post":{"tags":["Security - User management"],"summary":"Unblocks a user","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Not found"},"409":{"description":"User is not blocked"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/users/{id}":{"get":{"tags":["Security - User management"],"summary":"Returns user by ID","parameters":[{"name":"id","in":"path","description":"User ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDetail"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"tags":["Security - User management"],"summary":"Updates the user","parameters":[{"name":"id","in":"path","description":"User ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEdit"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Username is already used","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"tags":["Security - User management"],"summary":"Deletes a user","parameters":[{"name":"id","in":"path","description":"User ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/security/users":{"get":{"tags":["Security - User management"],"summary":"Lists all users","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserList"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"tags":["Security - User management"],"summary":"Creates a new user","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"201":{"description":"Created","headers":{"Location":{"description":"Location of information about the created user","schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"E-mail address or username is already used","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/services/{name}/disable":{"post":{"tags":["Service manager"],"summary":"Disables the service","parameters":[{"name":"name","in":"path","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceDisable"}}}},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/UnsupportedInitSystem"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/services/{name}/enable":{"post":{"tags":["Service manager"],"summary":"Enables the service","parameters":[{"name":"name","in":"path","description":"Service name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceEnable"}}}},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/UnsupportedInitSystem"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/services/{name}/restart":{"post":{"tags":["Service manager"],"summary":"Restarts the service","parameters":[{"name":"name","in":"path","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/UnsupportedInitSystem"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/services/{name}/start":{"post":{"tags":["Service manager"],"summary":"Starts the service","parameters":[{"name":"name","in":"path","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/UnsupportedInitSystem"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/services/{name}/stop":{"post":{"tags":["Service manager"],"summary":"Stops the service","parameters":[{"name":"name","in":"path","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/UnsupportedInitSystem"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/services/{name}":{"get":{"tags":["Service manager"],"summary":"Returns the service status","parameters":[{"name":"name","in":"path","description":"Service name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceStatus"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/UnsupportedInitSystem"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/services":{"get":{"tags":["Service manager"],"summary":"Returns the supported services","parameters":[{"name":"withStatus","in":"query","description":"Include service status","required":true,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceList"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/user/password/recovery/{uuid}":{"post":{"deprecated":true,"tags":["Account"],"summary":"Recovers the forgotten password","description":"Deprecated in favor of the new account controller, use `POST` `/account/password/recovery/{uuid}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"uuid","in":"path","description":"Password recovery request UUID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordRecovery"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserToken"}}}},"404":{"$ref":"#/components/responses/NotFound"},"410":{"description":"Password recovery request is expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{}]}},"/user/password/recovery":{"post":{"deprecated":true,"tags":["Account"],"summary":"Requests the password recovery","description":"Deprecated in favor of the new account controller, use `POST` `/account/password/recovery` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordRecoveryRequest"}}},"required":true},"responses":{"200":{"description":"Success"},"403":{"description":"E-mail address is not verified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"$ref":"#/components/responses/MailerError"}},"security":[{}]}},"/user/password":{"put":{"deprecated":true,"tags":["Account"],"summary":"Updates user's password","description":"Deprecated in favor of the new account controller, use `PUT` `/account/password` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordChange"}}},"required":true},"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/ForbiddenApiKey"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/user/refreshToken":{"post":{"deprecated":true,"tags":["Account"],"summary":"Refreshes user access token","description":"Deprecated in favor of the new account controller, use `POST` `/account/tokenRefresh` instead. Will be removed in the version 3.1.0.","responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserToken"}}}},"403":{"$ref":"#/components/responses/ForbiddenApiKey"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/user/resendVerification":{"post":{"deprecated":true,"tags":["Account"],"summary":"Resends the verification e-mail","description":"Deprecated in favor of the new account controller, use `POST` `/account/verification/resend` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success"},"400":{"description":"User is already verified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"$ref":"#/components/responses/MailerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/user/signIn":{"post":{"deprecated":true,"tags":["Account"],"summary":"Signs in the user","description":"Deprecated in favor of the new account controller, use `POST` `/account/signIn` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSignIn"}}},"required":true},"security":[{}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserToken"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/user/verify/{uuid}":{"get":{"deprecated":true,"tags":["Account"],"summary":"Verifies the user","description":"Deprecated in favor of the new account controller, use `GET` `/account/verification/{uuid}` instead. Will be removed in the version 3.1.0.","parameters":[{"name":"uuid","in":"path","description":"User verification UUID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserToken"}}}},"404":{"$ref":"#/components/responses/NotFound"}},"security":[{}]}},"/user":{"get":{"deprecated":true,"tags":["Account"],"summary":"Returns information about logged in user","description":"Deprecated in favor of the new account controller, use `GET` `/account` instead. Will be removed in the version 3.1.0.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDetail"}}}},"403":{"$ref":"#/components/responses/ForbiddenApiKey"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"deprecated":true,"tags":["Account"],"summary":"Updates the user account information","description":"Deprecated in favor of the new account controller, use `PUT` `/account` instead. Will be removed in the version 3.1.0.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEdit"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/ForbiddenApiKey"},"409":{"description":"Username or e-mail address is already used","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/users/{id}/resendVerification":{"post":{"deprecated":true,"tags":["Security - User management"],"summary":"Resends the verification e-mail","parameters":[{"name":"id","in":"path","description":"User ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"400":{"description":"User is already verified","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/MailerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/users/{id}":{"get":{"deprecated":true,"tags":["Security - User management"],"summary":"Returns user by ID","parameters":[{"name":"id","in":"path","description":"User ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDetail"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"put":{"deprecated":true,"tags":["Security - User management"],"summary":"Updates the user","parameters":[{"name":"id","in":"path","description":"User ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEdit"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Username is already used","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"delete":{"deprecated":true,"tags":["Security - User management"],"summary":"Deletes the user","parameters":[{"name":"id","in":"path","description":"User ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/users":{"get":{"deprecated":true,"tags":["Security - User management"],"summary":"Lists all users","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserDetail"}}}}},"403":{"$ref":"#/components/responses/Forbidden"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}},"post":{"deprecated":true,"tags":["Security - User management"],"summary":"Creates a new user","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"201":{"description":"Created","headers":{"Location":{"description":"Location of information about the created user","schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"E-mail address or username is already used","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/version/daemon":{"get":{"tags":["Version"],"summary":"Returns IQRF Gateway Daemon version","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionDaemon"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/version/webapp":{"get":{"tags":["Version"],"summary":"Returns IQRF Gateway Webapp version","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionWebapp"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}},"/version":{"get":{"tags":["Version"],"summary":"Returns IQRF Gateway software versions","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Versions"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/ServerError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}}},"components":{"schemas":{"AccountEdit":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/accountEdit.json","title":"Account - Update user information"},"ApiKeyCreated":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/apiKeyCreated.json","title":"Security - Created API key"},"ApiKeyDetail":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/apiKeyDetail.json","title":"Security - API key detail"},"ApiKeyList":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/apiKeyList.json","title":"Security - API key list"},"ApiKeyModify":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/apiKeyModify.json","title":"Security - Modify API key"},"AptConfiguration":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/aptConfiguration.json","title":"Configuration - APT package manager"},"BridgeConfig":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/bridgeConfig.json","title":"Configuration - IQRF Gateway InfluxDB bridge"},"CertificateDetail":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/certificate.json","title":"Security - Certificate detail"},"CloudAws":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/cloudAws.json","title":"Cloud services - AWS IoT configuration"},"CloudAzure":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/cloudAzure.json","title":"Cloud services - Azure IoT Hub configuration"},"CloudIbm":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/cloudIbm.json","title":"Cloud services - IBM Cloud IoT configuration"},"ControllerConfig":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/controllerConfig.json","title":"Configuration - IQRF Gateway Controller"},"ControllerPinConfig":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/controllerPinConfig.json","title":"Configuration - IQRF Gateway Controller - pin configuration"},"ControllerPinConfigList":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/controllerPinConfigList.json","title":"Configuration - IQRF Gateway Controller - pin configuration list"},"DaemonApiToken":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/DaemonApiToken.json","title":"Security - Daemon API access tokens - token information"},"DaemonApiTokenCreate":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/DaemonApiTokenCreate.json","title":"Security - Daemon API access tokens - create token"},"DaemonApiTokenCreated":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/DaemonApiTokenCreated.json","title":"Security - Daemon API access tokens - token created"},"DaemonApiTokenList":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/DaemonApiTokenList.json","title":"Security - Daemon API access tokens - token list"},"DaemonComponent":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/daemonComponent.json","title":"Configuration - IQRF Gateway Daemon - component"},"DaemonComponentDetail":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/daemonComponentDetail.json","title":"Configuration - IQRF Gateway Daemon - component detail"},"DaemonComponentEnabled":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/daemonComponentEnabled.json","title":"Configuration - IQRF Gateway Daemon - component enabled"},"DaemonConfiguration":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/daemonConfiguration.json","title":"Configuration - IQRF Gateway Daemon - configuration"},"DpaFile":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/dpaFile.json"},"DpaFileName":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/dpaFileName.json"},"Error":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/error.json"},"Feature":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/feature.json"},"FeatureList":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/featureList.json"},"GatewayBackup":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/gatewayBackup.json"},"GatewayBriefInfo":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/gatewayBriefInfo.json","title":"Gateway - Information - brief"},"GatewayInfo":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/gatewayInfo.json","title":"Gateway - Information"},"GatewayPassword":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/gatewayPassword.json"},"Hostname":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/hostname.json","title":"Gateway - Hostname"},"IqrfIdeMacros":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/iqrfIdeMacros.json"},"IqrfInterfaces":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/iqrfInterfaces.json"},"IqrfOsDpaUpgrade":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/iqrfOsDpaUpgrade.json"},"IqrfOsPatchDetail":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/iqrfOsPatchDetail.json"},"IqrfOsPatchUpgrade":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/iqrfOsPatchUpgrade.json"},"IqrfOsUpgradeList":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/iqrfOsUpgradeList.json"},"IqrfRepositoryConfig":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/iqrfRepositoryConfig.json"},"IqrfUploadedFile":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/iqrfUploadedFile.json"},"InstallationCheck":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/installationCheck.json"},"InstallUserCreate":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/installUserCreate.json"},"Journal":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/journal.json"},"JournalRecords":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/journalRecords.json"},"JsonSchema":{"$ref":"https://json-schema.org/draft-07/schema"},"LogServices":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/logServices.json"},"MailerConfiguration":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/mailer.json","title":"Confuguration - Mailer"},"MainConfiguration":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/mainConfiguration.json"},"Mapping":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/mapping.json"},"MappingDetail":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/mappingDetail.json"},"MappingList":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/mappingList.json"},"MenderConfig":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/menderConfig.json"},"MessagingInstances":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/messagingInstances.json"},"ModemList":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/modemList.json","title":"Network - Cellular modem list"},"MonitConfig":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/monitConfig.json","title":"Configuration - Monit"},"MonitCheckConfig":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/monitCheckConfig.json","title":"Configuration - Monit - check"},"MosquittoUser":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/mosquittoUser.json","title":"Security - Mosquitto user details"},"MosquittoUserCreate":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/mosquittoUserCreate.json","title":"Security - Mosquitto user create"},"MosquittoUserList":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/mosquittoUserList.json","title":"Security - Mosquitto user list"},"NetworkConnection":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/networkConnection.json","title":"Network - Connection"},"NetworkConnectionCreated":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/networkConnectionCreated.json","title":"Network - Connection - created"},"NetworkConnections":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/networkConnections.json","title":"Network - Connections"},"NetworkInterfaces":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/networkInterfaces.json","title":"Network - Interfaces"},"NetworkConnectivityState":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/networkConnectivityState.json","title":"Network - Connectivity state"},"NetworkOperator":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/networkOperator.json","title":"Network - Cellular operator"},"NetworkOperatorList":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/networkOperatorList.json","title":"Network - Cellular operator list"},"NetworkWifiList":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/networkWifiList.json","title":"Network - Wi-Fi list"},"NetworkWireGuardKeys":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/networkWireGuardKeys.json","title":"Network - WireGuard - key pair"},"NetworkWireGuardTunnel":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/wireguardTunnel.json","title":"Network - WireGuard - tunnel configuration"},"NetworkWireGuardTunnels":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/networkWireGuardTunnels.json","title":"Network - WireGuard - tunnels"},"OpenApiSpecification":{"$ref":"https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v3.1/schema.json","title":"OpenAPI 3.1 Specification"},"PasswordChange":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/passwordChange.json"},"PasswordRecovery":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/passwordRecovery.json"},"PasswordRecoveryRequest":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/passwordRecoveryRequest.json"},"PasswordSet":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/passwordSet.json"},"PowerControl":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/powerControl.json"},"Remount":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/remount.json"},"ServiceDisable":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/serviceDisable.json"},"ServiceEnable":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/serviceEnable.json"},"ServiceList":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/serviceList.json","title":"Services - list"},"ServiceStatus":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/serviceStatus.json","title":"Services - status"},"SshKeyCreated":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/sshKeyCreated.json","title":"Security - SSH key - created"},"SshKeyDetail":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/sshKeyDetail.json","title":"Security - SSH key - detail"},"SshKeyList":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/sshKeyList.json","title":"Security - SSH key - list"},"SshKeysAdd":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/sshKeysAdd.json","title":"Security - SSH key - add"},"SshKeyTypes":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/sshKeyTypes.json","title":"Security - SSH key - types"},"Task":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/task.json","title":"Configuration - IQRF Gateway Daemon - scheduled task"},"TaskList":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/taskList.json","title":"Configuration - IQRF Gateway Daemon - scheduled task list"},"TimeGet":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/timeGet.json"},"TimeSet":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/timeSet.json"},"TimezoneList":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/timezoneList.json"},"TimezoneSet":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/timezoneSet.json"},"TuptimeStats":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/tuptimeStats.json"},"UploaderFile":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/uploaderFile.json"},"UserCreate":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/userCreate.json"},"UserDetail":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/userDetail.json"},"UserEdit":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/userEdit.json"},"UserList":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/userList.json"},"UserPreferences":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/userPreferences.json"},"UserSignIn":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/userSignIn.json"},"UserToken":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/userToken.json"},"WebSocketProxyConfig":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/WebSocketProxyConfig.json","title":"Configuration - WebSocket Proxy Server"},"Versions":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/versions.json","title":"Versions - IQRF Gateway software"},"VersionDaemon":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/versionDaemon.json","title":"Version - IQRF Gateway Daemon"},"VersionWebapp":{"$ref":"https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/versionWebapp.json","title":"Version - IQRF Gateway Webapp"}},"responses":{"BadRequest":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Forbidden":{"description":"Do not have appropriate permissions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ForbiddenApiKey":{"description":"Forbidden - API key is used","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InvalidContentType":{"description":"Invalid content type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Requested resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"MailerError":{"description":"Unable to send the e-mail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServerError":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"Service is currently not available","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnauthorizedError":{"description":"API key or user token is missing or invalid","headers":{"WWW-Authenticate":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnsupportedInitSystem":{"description":"Unsupported init system","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"bearerAuth":[]}]}
