Device Service API 1.0
API to manage the configuration for various device.
{
"openapi": "3.0.1",
"info": {
"title": "Device Service Internal API",
"description": "API to manage the configuration for various device.",
"termsOfService": "https://www.genetec.com/legal/cloudtos",
"contact": {
"url": "https://developer.clearance.network/",
"email": "support@genetec.com"
},
"license": {
"name": "Source Code License Agreement",
"url": "https://www.genetec.com/legal/eula"
},
"version": "v1"
},
"servers": [
{
"url": "/api/v1"
}
],
"paths": {
"/tenant/{tenantId}/configuration/negociate": {
"post": {
"tags": [
"Configuration"
],
"summary": "Negociate configuration for the specified device.",
"operationId": "NegociateConfiguration",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
}
],
"requestBody": {
"description": "",
"content": {
"application/json-patch+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/NegociateConfigurationRequestModel"
}
]
}
},
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/NegociateConfigurationRequestModel"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/NegociateConfigurationRequestModel"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/NegociateConfigurationRequestModel"
}
]
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/NegociateConfigurationResponseModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/NegociateConfigurationResponseModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/NegociateConfigurationResponseModel"
}
}
}
},
"304": {
"description": "Not Modified",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
},
"application/json": {
"schema": {
"type": "string"
}
},
"text/json": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/configuration/commit": {
"post": {
"tags": [
"Configuration"
],
"summary": "Notify that the configuration was applied with success.",
"operationId": "CommitConfiguration",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
}
],
"requestBody": {
"description": "",
"content": {
"application/json-patch+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CommitConfigurationModel"
}
],
"description": "The model to notify a configuration was correctly applied."
}
},
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CommitConfigurationModel"
}
],
"description": "The model to notify a configuration was correctly applied."
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CommitConfigurationModel"
}
],
"description": "The model to notify a configuration was correctly applied."
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CommitConfigurationModel"
}
],
"description": "The model to notify a configuration was correctly applied."
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
},
"application/json": {
"schema": {
"type": "string"
}
},
"text/json": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/configuration/reject": {
"post": {
"tags": [
"Configuration"
],
"summary": "Notify that the configuration couldnt be applied and indicate the reason.",
"operationId": "RejectConfiguration",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
}
],
"requestBody": {
"description": "",
"content": {
"application/json-patch+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/RejectConfigurationModel"
}
]
}
},
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/RejectConfigurationModel"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/RejectConfigurationModel"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/RejectConfigurationModel"
}
]
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
},
"application/json": {
"schema": {
"type": "string"
}
},
"text/json": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/credential": {
"post": {
"tags": [
"Credential"
],
"summary": "Retrieve the latest credentials for the specified device.",
"operationId": "GetCredential",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
}
],
"requestBody": {
"description": "",
"content": {
"application/json-patch+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/GetCredentialRequestModel"
}
]
}
},
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/GetCredentialRequestModel"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/GetCredentialRequestModel"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/GetCredentialRequestModel"
}
]
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/GetCredentialResponseModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetCredentialResponseModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/GetCredentialResponseModel"
}
}
}
},
"201": {
"description": "Created",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
},
"application/json": {
"schema": {
"type": "string"
}
},
"text/json": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/credential/failed": {
"post": {
"tags": [
"Credential"
],
"summary": "Notify that the credential were incorrect for the specified device.",
"operationId": "NotifyCredentialFailure",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
}
],
"requestBody": {
"description": "",
"content": {
"application/json-patch+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CredentialFailedNotificationModel"
}
]
}
},
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CredentialFailedNotificationModel"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CredentialFailedNotificationModel"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CredentialFailedNotificationModel"
}
]
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
},
"application/json": {
"schema": {
"type": "string"
}
},
"text/json": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/credential/{manufacturer}/{model}/{serialnumber}/authorize": {
"post": {
"tags": [
"Credential"
],
"summary": "Called to validate if credentials are valid for the device.",
"operationId": "Authorize",
"parameters": [
{
"name": "tenantId",
"in": "path",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "manufacturer",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "model",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "serialnumber",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json-patch+json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"text/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"application/*+json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
}
},
"responses": {
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/device": {
"post": {
"tags": [
"Device"
],
"summary": "Create a device.",
"operationId": "CreateDevice",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
}
],
"requestBody": {
"description": "",
"content": {
"application/json-patch+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateDeviceModel"
}
]
}
},
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateDeviceModel"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateDeviceModel"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateDeviceModel"
}
]
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/DeviceModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/DeviceModel"
}
}
}
},
"201": {
"description": "Created",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
},
"application/json": {
"schema": {
"type": "string"
}
},
"text/json": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/device/{deviceId}": {
"get": {
"tags": [
"Device"
],
"summary": "Retrieve a device by unique ID.",
"operationId": "GetByDeviceId",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "deviceId",
"in": "path",
"description": "Device internal id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/DeviceModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/DeviceModel"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
},
"patch": {
"tags": [
"Device"
],
"summary": "Patch a device.",
"operationId": "PatchDevice",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "deviceId",
"in": "path",
"description": "Device internal id",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "",
"content": {
"application/json-patch+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PatchDeviceModel"
}
]
}
},
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PatchDeviceModel"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PatchDeviceModel"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PatchDeviceModel"
}
]
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/DeviceModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/DeviceModel"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
},
"put": {
"tags": [
"Device"
],
"summary": "Update a device.",
"operationId": "UpdateDevice",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "deviceId",
"in": "path",
"description": "Device internal id",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "",
"content": {
"application/json-patch+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateDeviceModel"
}
]
}
},
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateDeviceModel"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateDeviceModel"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateDeviceModel"
}
]
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/DeviceModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/DeviceModel"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/device/manufacturer/{manufacturer}/serialnumber/{serialNumber}/managementsettings": {
"get": {
"tags": [
"Device"
],
"summary": "Retrieve device management settings.",
"operationId": "GetManagementSettingsByDeviceInformation",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "manufacturer",
"in": "path",
"description": "Manufacturer of the device",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "serialNumber",
"in": "path",
"description": "Serial number of the device",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/DeviceManagementSettingsModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceManagementSettingsModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/DeviceManagementSettingsModel"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/device/manufacturer/{manufacturer}/serialnumber/{serialNumber}": {
"get": {
"tags": [
"Device"
],
"summary": "Retrieve a device by its identification information.",
"operationId": "GetByDeviceInformation",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "manufacturer",
"in": "path",
"description": "Device manufacturer",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "serialNumber",
"in": "path",
"description": "Device serial number",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/DeviceModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/DeviceModel"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/device/canmanage": {
"get": {
"tags": [
"Device"
],
"summary": "Check whether the current user can manage devices.",
"operationId": "CanManageDevices",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/CanManageDevicesModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/CanManageDevicesModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/CanManageDevicesModel"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/device/{deviceId}/activate": {
"post": {
"tags": [
"Device"
],
"summary": "Activate a device.",
"operationId": "ActivateDevice",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "deviceId",
"in": "path",
"description": "Device internal id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/StatusCodeResult"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusCodeResult"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/StatusCodeResult"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/device/{deviceId}/deactivate": {
"post": {
"tags": [
"Device"
],
"summary": "Deactivate a device.",
"operationId": "DeactivateDevice",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "deviceId",
"in": "path",
"description": "Device internal id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/StatusCodeResult"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusCodeResult"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/StatusCodeResult"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/device/{deviceId}/delete": {
"delete": {
"tags": [
"Device"
],
"summary": "Delete a device.",
"operationId": "DeleteDevice",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "deviceId",
"in": "path",
"description": "Device internal id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/OkResult"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/OkResult"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/OkResult"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/device/{deviceId}/group/{deviceGroupId}": {
"delete": {
"tags": [
"Device"
],
"summary": "Remove the Device from its Device Group",
"operationId": "DeleteGroupFromDevice",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "deviceId",
"in": "path",
"description": "Device internal id",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "deviceGroupId",
"in": "path",
"description": "Device group internal id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/DeleteDeviceFromGroupModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteDeviceFromGroupModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/DeleteDeviceFromGroupModel"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
},
"post": {
"tags": [
"Device"
],
"summary": "Add the Device to a Device Group",
"operationId": "AddDeviceToGroup",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "deviceId",
"in": "path",
"description": "Device internal id",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "deviceGroupId",
"in": "path",
"description": "Device group internal id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/OkResult"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/OkResult"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/OkResult"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/device/manufacturer/{manufacturer}/serialnumber/{serialNumber}/limitedinfo": {
"get": {
"tags": [
"Device"
],
"summary": "Get the limited device infos",
"operationId": "GetLimitedDeviceInfo",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "manufacturer",
"in": "path",
"description": "Device manufacturer",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "serialNumber",
"in": "path",
"description": "Device serial number",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/LimitedDeviceInfoModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/LimitedDeviceInfoModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/LimitedDeviceInfoModel"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/devicegroups": {
"post": {
"tags": [
"DeviceGroup"
],
"summary": "Create a device group.",
"operationId": "CreateDeviceGroup",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
}
],
"requestBody": {
"description": "",
"content": {
"application/json-patch+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateDeviceGroupModel"
}
]
}
},
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateDeviceGroupModel"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateDeviceGroupModel"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateDeviceGroupModel"
}
]
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/DeviceGroupModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceGroupModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/DeviceGroupModel"
}
}
}
},
"201": {
"description": "Created",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
},
"application/json": {
"schema": {
"type": "string"
}
},
"text/json": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
},
"get": {
"tags": [
"DeviceGroup"
],
"summary": "List device groups for tenant.",
"operationId": "GetDeviceGroups",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "model",
"in": "query",
"description": "",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/DeviceGroupListModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceGroupListModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/DeviceGroupListModel"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant/{tenantId}/devicegroups/{deviceGroupId}": {
"get": {
"tags": [
"DeviceGroup"
],
"summary": "Retrieve a device group by unique ID.",
"operationId": "GetByDeviceGroupId",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "deviceGroupId",
"in": "path",
"description": "Device group internal id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/DeviceGroupModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceGroupModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/DeviceGroupModel"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
},
"put": {
"tags": [
"DeviceGroup"
],
"summary": "Update a device group.",
"operationId": "UpdateDeviceGroup",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "deviceGroupId",
"in": "path",
"description": "Device group internal id",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "",
"content": {
"application/json-patch+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateDeviceGroupModel"
}
]
}
},
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateDeviceGroupModel"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateDeviceGroupModel"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateDeviceGroupModel"
}
]
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/DeviceGroupModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceGroupModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/DeviceGroupModel"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
},
"delete": {
"tags": [
"DeviceGroup"
],
"summary": "Delete a device group.",
"operationId": "DeleteDeviceGroup",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "deviceGroupId",
"in": "path",
"description": "Device group internal id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/OkResult"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/OkResult"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/OkResult"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/discovery": {
"post": {
"tags": [
"Provisioning"
],
"summary": "Dispatch a ServiceDiscovery event to TenantManager",
"operationId": "DispatchDiscoveryRequest",
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ServiceDiscoveryEvent"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceDiscoveryEvent"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ServiceDiscoveryEvent"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
}
}
},
"/tenant/{tenantId}/securitypolicies": {
"put": {
"tags": [
"SecurityPolicies"
],
"summary": "Update security policies.",
"operationId": "UpdateSecurityPolicies",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
}
],
"requestBody": {
"description": "Update security policies",
"content": {
"application/json-patch+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SecurityPoliciesModel"
}
]
}
},
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SecurityPoliciesModel"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SecurityPoliciesModel"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SecurityPoliciesModel"
}
]
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/SecurityPoliciesModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/SecurityPoliciesModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/SecurityPoliciesModel"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
},
"get": {
"tags": [
"SecurityPolicies"
],
"summary": "Retrieve security policies.",
"operationId": "GetSecurityPolicies",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
},
{
"name": "concurrencyId",
"in": "query",
"description": "Concurrency id corresponding to a specific security policies version to retrieve",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/SecurityPoliciesModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/SecurityPoliciesModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/SecurityPoliciesModel"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
},
"/tenant": {
"post": {
"tags": [
"Tenant"
],
"summary": "Create a new tenant.",
"operationId": "CreateTenant",
"requestBody": {
"content": {
"application/json-patch+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateTenantModel"
}
]
}
},
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateTenantModel"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateTenantModel"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateTenantModel"
}
]
}
}
}
},
"responses": {
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/TenantModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/TenantModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/TenantModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
}
}
},
"/tenant/{tenantId}": {
"put": {
"tags": [
"Tenant"
],
"summary": "Update a tenant.",
"operationId": "UpdateTenant",
"parameters": [
{
"name": "tenantId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json-patch+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateTenantModel"
}
]
}
},
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateTenantModel"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateTenantModel"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateTenantModel"
}
]
}
}
}
},
"responses": {
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/TenantModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/TenantModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/TenantModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
}
},
"get": {
"tags": [
"Tenant"
],
"summary": "Get an existing tenant.",
"operationId": "GetTenant",
"parameters": [
{
"name": "tenantId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/TenantModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/TenantModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/TenantModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
}
}
},
"/tenant/{tenantId}/licensinginfo": {
"get": {
"tags": [
"TenantInfo"
],
"summary": "Gets the licensing info.",
"operationId": "GetLicensingInfo",
"parameters": [
{
"name": "tenantId",
"in": "path",
"description": "Tenant internal id.",
"required": true,
"schema": {
"pattern": "^[a-z0-9]{1,20}$",
"type": "string"
}
}
],
"responses": {
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExceptionModel"
}
}
}
},
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/LicensingInfoModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/LicensingInfoModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/LicensingInfoModel"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"clearance-oauth2": [ ]
}
]
}
}
},
"components": {
"schemas": {
"CanManageDevicesModel": {
"type": "object",
"properties": {
"CanManageDevices": {
"type": "boolean"
}
},
"additionalProperties": false
},
"CommitConfigurationModel": {
"required": [
"DeviceId",
"TransactionId"
],
"type": "object",
"properties": {
"DeviceId": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceIdentificationModel"
}
],
"description": "The device identification."
},
"TransactionId": {
"minLength": 1,
"type": "string",
"description": "The transaction Id of the configuration that was applied."
}
},
"additionalProperties": false,
"description": "The model to notify a configuration was correctly applied."
},
"CreateDeviceGroupModel": {
"required": [
"DeviceGroupName",
"DeviceType",
"Manufacturer",
"Model"
],
"type": "object",
"properties": {
"DeviceGroupName": {
"maxLength": 256,
"minLength": 1,
"type": "string",
"description": "The device group name."
},
"DeviceType": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceType"
}
],
"description": "Type of assigned devices"
},
"Manufacturer": {
"maxLength": 256,
"minLength": 1,
"type": "string",
"description": "The manufacturer of assigned devices."
},
"Model": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceModelType"
}
],
"description": "The model of assigned devices."
}
},
"additionalProperties": false
},
"CreateDeviceModel": {
"required": [
"DeviceIdentification",
"DeviceType"
],
"type": "object",
"properties": {
"DeviceIdentification": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceIdentificationModel"
}
],
"description": "The device identification."
},
"DeviceType": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceType"
}
],
"description": "Type of device."
},
"AuthenticationInfo": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Authentication information used to validate a device's indentity.\r\nValid for I-Pro: \r\n <c>\r\n {\r\n \"username\": \"required\",\r\n \"password\": \"required\"\r\n }\r\n </c>",
"nullable": true
}
},
"additionalProperties": false
},
"CreateTenantModel": {
"required": [
"JsonWebKeys",
"MainStorageConnectionString",
"SubscriptionQuotas",
"TenantId"
],
"type": "object",
"properties": {
"TenantId": {
"minLength": 1,
"type": "string"
},
"MainStorageConnectionString": {
"minLength": 1,
"type": "string",
"description": "Storage connection string to use for this tenant on this service."
},
"JsonWebKeys": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/components/schemas/JsonWebKey"
},
"description": "JSON Web Key used to encrypt entities"
},
"ManageDevicesSecurityPolicy": {
"maxItems": 256,
"type": "array",
"items": {
"$ref": "#/components/schemas/PrincipalModel"
},
"nullable": true
},
"SubscriptionQuotas": {
"allOf": [
{
"$ref": "#/components/schemas/SubscriptionQuotasModel"
}
],
"description": "Limit usage resource of a tenant"
}
},
"additionalProperties": false
},
"CredentialFailedNotificationModel": {
"required": [
"Credentials",
"DeviceId"
],
"type": "object",
"properties": {
"DeviceId": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceIdentificationModel"
}
],
"description": "The device identification."
},
"Credentials": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CredentialModel"
},
"description": "The crendial list that was tried."
}
},
"additionalProperties": false
},
"CredentialModel": {
"required": [
"DeviceCredential"
],
"type": "object",
"properties": {
"DeviceCredential": {
"type": "string",
"description": "The credential used to unlock the device for communication."
}
},
"additionalProperties": false
},
"DeleteDeviceFromGroupModel": {
"type": "object",
"properties": {
"ConcurrencyId": {
"type": "string",
"description": "The most recent concurrencyId after the removing the device from the group",
"nullable": true
}
},
"additionalProperties": false
},
"DeviceConnectionStatus": {
"enum": [
"None",
"Connected",
"Disconnected",
"Uploading"
],
"type": "string"
},
"DeviceGroupListModel": {
"type": "object",
"properties": {
"NumResults": {
"type": "integer",
"description": "Number of found device groups",
"format": "int32"
},
"Results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DeviceGroupModel"
},
"description": "List of the device groups",
"nullable": true
}
},
"additionalProperties": false
},
"DeviceGroupModel": {
"required": [
"ConcurrencyId",
"DeviceGroupId",
"DeviceGroupName",
"DeviceIds",
"DeviceType",
"Manufacturer",
"Model"
],
"type": "object",
"properties": {
"DeviceGroupId": {
"minLength": 1,
"type": "string",
"description": "The device group identifier."
},
"DeviceGroupName": {
"maxLength": 256,
"minLength": 1,
"type": "string",
"description": "The device group name."
},
"DeviceIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of assigned devices."
},
"DeviceType": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceType"
}
],
"description": "Type of assigned devices"
},
"Manufacturer": {
"maxLength": 256,
"minLength": 1,
"type": "string",
"description": "The manufacturer of assigned devices."
},
"Model": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceModelType"
}
],
"description": "The model of assigned devices."
},
"LastChangedUtc": {
"type": "string",
"description": "Last time the group was changed",
"format": "date-time",
"nullable": true
},
"FirmwareSettings": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FirmwareGroupSettingsModel"
},
"description": "Firmware information about the device.",
"nullable": true
},
"Settings": {
"allOf": [
{
"$ref": "#/components/schemas/SettingsModel"
}
],
"description": "Settings information about the device",
"nullable": true
},
"ConcurrencyId": {
"minLength": 1,
"type": "string",
"description": "Used for version control. Needed to update an entity or to retrieve one of its a previous versions"
}
},
"additionalProperties": false
},
"DeviceIdentificationModel": {
"required": [
"Manufacturer",
"Model",
"SerialNumber"
],
"type": "object",
"properties": {
"SerialNumber": {
"maxLength": 50,
"minLength": 1,
"type": "string",
"description": "The device serial number."
},
"Manufacturer": {
"maxLength": 256,
"minLength": 1,
"type": "string",
"description": "The name of the device manufacturer."
},
"Model": {
"maxLength": 256,
"minLength": 1,
"type": "string",
"description": "The device model name."
},
"CommonName": {
"maxLength": 256,
"type": "string",
"description": "The device common name in the application.",
"nullable": true
}
},
"additionalProperties": false
},
"DeviceManagementSettingsModel": {
"type": "object",
"properties": {
"DeviceId": {
"type": "string",
"description": "The device identifier.",
"nullable": true
},
"FirmwareSettings": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FirmwareInfoModel"
},
"description": "Firmware information about the device.",
"nullable": true
},
"DeviceSettings": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceSettingsInfoModel"
}
],
"description": "Device settings information",
"nullable": true
}
},
"additionalProperties": false
},
"DeviceModel": {
"required": [
"ConcurrencyId"
],
"type": "object",
"properties": {
"DeviceId": {
"type": "string",
"description": "The device identifier.",
"nullable": true
},
"DeviceIdentification": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceIdentificationModel"
}
],
"description": "The device identification.",
"nullable": true
},
"State": {
"allOf": [
{
"$ref": "#/components/schemas/State"
}
],
"description": "Device activity status."
},
"DeviceType": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceType"
}
],
"description": "Type of device."
},
"ConnectionStatus": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceConnectionStatus"
}
],
"description": "Connection status of device."
},
"LastConnectionStatusDateTime": {
"type": "string",
"description": "Last modified date of device.",
"format": "date-time",
"nullable": true
},
"AuthenticationInfo": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Authentication information used to validate a device's indentity.",
"nullable": true
},
"DeviceGroupId": {
"type": "string",
"description": "Id of the device group the device belongs to if any",
"nullable": true
},
"FirmwareSettings": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FirmwareDeviceSettingsModel"
},
"description": "Firmware information about the device.",
"nullable": true
},
"DeviceSettings": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceSettingsModel"
}
],
"description": "Device settings info",
"nullable": true
},
"ConcurrencyId": {
"minLength": 1,
"type": "string",
"description": "Used for version control. Needed to update an entity or to retrieve one of its a previous versions"
}
},
"additionalProperties": false
},
"DeviceModelType": {
"enum": [
"None",
"BWCmk3",
"BWCmk4",
"LegacyIF",
"VPUmk3",
"VPUmk4"
],
"type": "string"
},
"DeviceSettingsInfoModel": {
"type": "object",
"properties": {
"TargetVersion": {
"type": "string",
"description": "Device settings version that need to be updated.",
"nullable": true
},
"LastTargetSettingsUpdateUtc": {
"type": "string",
"description": "Last time target settings was changed.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"DeviceSettingsModel": {
"type": "object",
"properties": {
"LastUpdateUtc": {
"type": "string",
"description": "Last time status was changed.",
"format": "date-time",
"nullable": true
},
"LastSuccessfulUpdateUtc": {
"type": "string",
"description": "Last time current settings was changed successfully.",
"format": "date-time",
"nullable": true
},
"Status": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateStatus"
}
],
"description": "Status of the settings update."
},
"TargetVersion": {
"type": "string",
"description": "Device settings version that need to be updated.",
"nullable": true
},
"LastTargetSettingsUpdateUtc": {
"type": "string",
"description": "Last time target settings was changed.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"DeviceType": {
"enum": [
"None",
"BodyWornCamera",
"LegacyGateway",
"InCarSystem"
],
"type": "string"
},
"ExceptionModel": {
"type": "object",
"properties": {
"Type": {
"allOf": [
{
"$ref": "#/components/schemas/ExceptionType"
}
],
"description": "Provides the type of exception"
},
"Code": {
"type": "string",
"nullable": true
},
"Data": {
"nullable": true
},
"Message": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false,
"description": "Data class for the Exception model"
},
"ExceptionType": {
"enum": [
"BusinessException",
"ModelValidatorException"
],
"type": "string",
"description": "Provides the type of exception"
},
"FirmwareDeviceSettingsModel": {
"type": "object",
"properties": {
"CurrentVersion": {
"type": "string",
"description": "Actual firmware version.",
"nullable": true
},
"LastSuccessfulUpdateUtc": {
"type": "string",
"description": "Last time current firmware was changed successfully.",
"format": "date-time",
"nullable": true
},
"Status": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateStatus"
}
],
"description": "Status of the firmware update."
},
"LastUpdateUtc": {
"type": "string",
"description": "Last time status was changed.",
"format": "date-time",
"nullable": true
},
"TargetVersion": {
"type": "string",
"description": "Firmware version that need to be updated.",
"nullable": true
},
"LastTargetFirmwareUpdateUtc": {
"type": "string",
"description": "Last time target firmware was changed.",
"format": "date-time",
"nullable": true
},
"Model": {
"type": "string",
"description": "Device Model.",
"nullable": true
},
"DeviceType": {
"allOf": [
{
"$ref": "#/components/schemas/FirmwareDeviceType"
}
],
"description": "Device Type."
},
"FirmwareType": {
"type": "string",
"description": "Firmware Type.",
"nullable": true
}
},
"additionalProperties": false
},
"FirmwareDeviceType": {
"enum": [
"None",
"BodyWornCamera",
"InCarSystem",
"InCarCamera"
],
"type": "string"
},
"FirmwareGroupSettingsModel": {
"type": "object",
"properties": {
"TargetVersion": {
"type": "string",
"description": "Firmware version that need to be updated.",
"nullable": true
},
"LastTargetFirmwareUpdateUtc": {
"type": "string",
"description": "Last time target firmware was changed.",
"format": "date-time",
"nullable": true
},
"Model": {
"type": "string",
"description": "Device Model.",
"nullable": true
},
"DeviceType": {
"allOf": [
{
"$ref": "#/components/schemas/FirmwareDeviceType"
}
],
"description": "Device Type."
},
"FirmwareType": {
"type": "string",
"description": "Firmware Type.",
"nullable": true
}
},
"additionalProperties": false
},
"FirmwareInfoModel": {
"type": "object",
"properties": {
"TargetVersion": {
"type": "string",
"description": "Firmware version that need to be updated.",
"nullable": true
},
"LastTargetFirmwareUpdateUtc": {
"type": "string",
"description": "Last time target firmware was changed.",
"format": "date-time",
"nullable": true
},
"Model": {
"type": "string",
"description": "Camera Model.",
"nullable": true
},
"DeviceType": {
"allOf": [
{
"$ref": "#/components/schemas/FirmwareDeviceType"
}
],
"description": "Device Type."
},
"FirmwareType": {
"type": "string",
"description": "Firmware Type.",
"nullable": true
}
},
"additionalProperties": false
},
"GetCredentialRequestModel": {
"required": [
"DeviceId"
],
"type": "object",
"properties": {
"DeviceId": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceIdentificationModel"
}
],
"description": "The device identification."
},
"DeviceType": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceType"
}
],
"description": "Type of device."
}
},
"additionalProperties": false
},
"GetCredentialResponseModel": {
"required": [
"Credentials"
],
"type": "object",
"properties": {
"Credentials": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OrderedCredentialModel"
},
"description": "The list of credential that should be tried on the device. Multiple item will be provided in this list when pending configuration transaction exist."
}
},
"additionalProperties": false
},
"JsonWebKey": {
"type": "object",
"properties": {
"k": {
"type": "string",
"format": "byte",
"nullable": true
},
"kid": {
"type": "string",
"nullable": true
},
"kty": {
"allOf": [
{
"$ref": "#/components/schemas/JsonWebKeyType"
}
],
"nullable": true
},
"use": {
"allOf": [
{
"$ref": "#/components/schemas/JsonWebKeyUse"
}
],
"nullable": true
},
"n": {
"type": "string",
"format": "byte",
"nullable": true
},
"e": {
"type": "string",
"format": "byte",
"nullable": true
},
"x5t": {
"type": "string",
"nullable": true
},
"d": {
"type": "string",
"format": "byte",
"nullable": true
},
"p": {
"type": "string",
"format": "byte",
"nullable": true
},
"q": {
"type": "string",
"format": "byte",
"nullable": true
},
"dp": {
"type": "string",
"format": "byte",
"nullable": true
},
"dq": {
"type": "string",
"format": "byte",
"nullable": true
},
"qi": {
"type": "string",
"format": "byte",
"nullable": true
},
"nbf": {
"type": "string",
"format": "date-time"
},
"exp": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"JsonWebKeyType": {
"enum": [
"None",
"OctetSequence",
"EllipticCurve",
"RSA"
],
"type": "string"
},
"JsonWebKeyUse": {
"enum": [
"None",
"Signature",
"Encryption"
],
"type": "string"
},
"LicensingInfoModel": {
"type": "object",
"properties": {
"TenantId": {
"type": "string",
"nullable": true
},
"NumberOfActiveDevices": {
"type": "integer",
"format": "int32"
},
"SubscriptionQuotas": {
"allOf": [
{
"$ref": "#/components/schemas/SubscriptionQuotasModel"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"LimitedDeviceInfoModel": {
"type": "object",
"properties": {
"DeviceId": {
"type": "string",
"nullable": true
},
"Manufacturer": {
"type": "string",
"nullable": true
},
"SerialNumber": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"NegociateConfigurationRequestModel": {
"required": [
"Credential",
"DeviceId"
],
"type": "object",
"properties": {
"DeviceId": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceIdentificationModel"
}
],
"description": "The device identification."
},
"DeviceType": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceType"
}
],
"description": "Type of device."
},
"Capabilities": {
"description": "A complex object used as a key value for each capability.",
"nullable": true
},
"Configuration": {
"description": "A complex object used as a key value for each configuration currently on the device.",
"nullable": true
},
"Credential": {
"allOf": [
{
"$ref": "#/components/schemas/CredentialModel"
}
],
"description": "The device credential information currently used on the device."
}
},
"additionalProperties": false
},
"NegociateConfigurationResponseModel": {
"required": [
"TransactionId"
],
"type": "object",
"properties": {
"TransactionId": {
"minLength": 1,
"type": "string",
"description": "The transaction Id for the configuration to be commited."
},
"Configuration": {
"description": "A complex object used as a key value for each configuration that should be commited to the device.",
"nullable": true
},
"Credential": {
"allOf": [
{
"$ref": "#/components/schemas/CredentialModel"
}
],
"description": "The device credential information that should be commited to the device.",
"nullable": true
}
},
"additionalProperties": false
},
"OkResult": {
"type": "object",
"properties": {
"StatusCode": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
},
"OrderedCredentialModel": {
"required": [
"DeviceCredential",
"Order"
],
"type": "object",
"properties": {
"Order": {
"type": "integer",
"description": "The order in which the credential should be tried.",
"format": "int32"
},
"DeviceCredential": {
"type": "string",
"description": "The credential used to unlock the device for communication."
}
},
"additionalProperties": false
},
"PatchDeviceModel": {
"required": [
"ConcurrencyId"
],
"type": "object",
"properties": {
"CommonName": {
"maxLength": 256,
"type": "string",
"description": "The device common name in the application.",
"nullable": true
},
"AuthenticationInfo": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Authentication information used to validate a device's identity.\r\nValid for I-Pro: \r\n <c>\r\n {\r\n \"username\": \"required\",\r\n \"password\": \"required\"\r\n }\r\n </c>",
"nullable": true
},
"DeviceGroupId": {
"type": "string",
"description": "",
"nullable": true
},
"TargetFirmwareUpdate": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/components/schemas/UpdateFirmwareSettingsModel"
},
"description": "Firmware information to be updated",
"nullable": true
},
"TargetDeviceSettings": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateDeviceSettingsModel"
}
],
"description": "Device Settings info to be updated",
"nullable": true
},
"ConcurrencyId": {
"minLength": 1,
"type": "string",
"description": "Used for version control. Needed to update an entity or to retrieve one of its a previous versions"
}
},
"additionalProperties": false
},
"PrincipalModel": {
"required": [
"KId",
"PrincipalId",
"PrincipalType"
],
"type": "object",
"properties": {
"KId": {
"maxLength": 1024,
"minLength": 1,
"type": "string",
"description": "Principal's KId"
},
"Username": {
"maxLength": 512,
"type": "string",
"description": "Principal's username, if applicable",
"nullable": true
},
"PrincipalId": {
"minLength": 1,
"type": "string",
"description": "Principal's internal id"
},
"PrincipalType": {
"maxLength": 256,
"minLength": 1,
"type": "string",
"description": "Principal's internal type"
}
},
"additionalProperties": false
},
"RejectConfigurationModel": {
"required": [
"DeviceId",
"ReasonCode",
"TransactionId"
],
"type": "object",
"properties": {
"DeviceId": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceIdentificationModel"
}
],
"description": "The device identification."
},
"TransactionId": {
"minLength": 1,
"type": "string",
"description": "The transaction Id of the configuration that was not applied. Obtained during the configuration negociation."
},
"ReasonCode": {
"maxLength": 50,
"minLength": 1,
"type": "string",
"description": "A code to identify the source of the error while applying the configuration transaction."
},
"ReasonMessage": {
"maxLength": 512,
"type": "string",
"description": "A message that describe in english the source of the error while applying the configuration transaction. This is optional.",
"nullable": true
}
},
"additionalProperties": false
},
"SecurityPoliciesModel": {
"required": [
"ConcurrencyId"
],
"type": "object",
"properties": {
"ManageDevicesSecurityPolicy": {
"maxItems": 256,
"type": "array",
"items": {
"$ref": "#/components/schemas/PrincipalModel"
},
"nullable": true
},
"ConcurrencyId": {
"minLength": 1,
"type": "string",
"description": "Used for version control. Needed to update an entity or to retrieve one of its a previous versions"
}
},
"additionalProperties": false
},
"ServiceDiscoveryEvent": {
"type": "object",
"properties": {
"ServiceFeatures": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceFeatureObject"
},
"nullable": true
}
},
"additionalProperties": false
},
"ServiceFeatureDependencyObject": {
"type": "object",
"properties": {
"ServiceId": {
"type": "string",
"nullable": true
},
"FeatureId": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"ServiceFeatureObject": {
"type": "object",
"properties": {
"ServiceId": {
"type": "string",
"nullable": true
},
"FeatureId": {
"type": "string",
"nullable": true
},
"Dependencies": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceFeatureDependencyObject"
},
"nullable": true
}
},
"additionalProperties": false
},
"SettingsModel": {
"type": "object",
"properties": {
"TargetVersion": {
"type": "string",
"description": "Device settings version that need to be updated.",
"nullable": true
},
"LastTargetSettingsUpdateUtc": {
"type": "string",
"description": "Last time target settings was changed.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"State": {
"enum": [
"None",
"New",
"Active",
"Inactive",
"Available"
],
"type": "string"
},
"StatusCodeResult": {
"type": "object",
"properties": {
"StatusCode": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
},
"SubscriptionQuotasModel": {
"required": [
"AllowOverageCamera",
"NumberOfCameras"
],
"type": "object",
"properties": {
"NumberOfCameras": {
"maximum": 2147483647,
"minimum": 0,
"type": "integer",
"description": "Maximum number of cameras that a tenant can have on his system. Minimum is 0 and Maximum is int.MaxValue.",
"format": "int32"
},
"AllowOverageCamera": {
"type": "boolean",
"description": "Allow to exceed the limit of cameras."
}
},
"additionalProperties": false
},
"TenantModel": {
"required": [
"ConcurrencyId"
],
"type": "object",
"properties": {
"TenantId": {
"type": "string",
"nullable": true
},
"NumberOfActiveDevices": {
"type": "integer",
"format": "int32"
},
"SubscriptionQuotas": {
"allOf": [
{
"$ref": "#/components/schemas/SubscriptionQuotasModel"
}
],
"nullable": true
},
"ConcurrencyId": {
"minLength": 1,
"type": "string",
"description": "Used for version control. Needed to update an entity or to retrieve one of its a previous versions"
}
},
"additionalProperties": false
},
"UpdateDeviceGroupModel": {
"required": [
"ConcurrencyId"
],
"type": "object",
"properties": {
"DeviceIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of assigned devices.",
"nullable": true
},
"DeviceGroupName": {
"maxLength": 256,
"minLength": 1,
"type": "string",
"description": "Name of device group",
"nullable": true
},
"FirmwareSettings": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/components/schemas/FirmwareGroupSettingsModel"
},
"description": "firmware for the assigned devices",
"nullable": true
},
"Settings": {
"allOf": [
{
"$ref": "#/components/schemas/SettingsModel"
}
],
"description": "Settings for the assigned devices",
"nullable": true
},
"ConcurrencyId": {
"minLength": 1,
"type": "string",
"description": "Used for version control. Needed to update an entity or to retrieve one of its a previous versions"
}
},
"additionalProperties": false
},
"UpdateDeviceModel": {
"required": [
"ConcurrencyId"
],
"type": "object",
"properties": {
"CommonName": {
"maxLength": 256,
"type": "string",
"description": "The device common name in the application.",
"nullable": true
},
"AuthenticationInfo": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Authentication information used to validate a device's indentity.\r\nValid for I-Pro: \r\n <c>\r\n {\r\n \"username\": \"required\",\r\n \"password\": \"required\"\r\n }\r\n </c>",
"nullable": true
},
"ConcurrencyId": {
"minLength": 1,
"type": "string",
"description": "Used for version control. Needed to update an entity or to retrieve one of its a previous versions"
}
},
"additionalProperties": false
},
"UpdateDeviceSettingsModel": {
"type": "object",
"properties": {
"TargetVersion": {
"maxLength": 256,
"minLength": 1,
"type": "string",
"description": "Device settings version that needs to be updated",
"nullable": true
}
},
"additionalProperties": false
},
"UpdateFirmwareSettingsModel": {
"required": [
"DeviceType",
"Model"
],
"type": "object",
"properties": {
"TargetVersion": {
"maxLength": 256,
"minLength": 1,
"type": "string",
"description": "Firmware version that need to be updated.",
"nullable": true
},
"Model": {
"maxLength": 256,
"minLength": 1,
"type": "string",
"description": "Camera Model."
},
"FirmwareType": {
"type": "string",
"description": "Firmware Type.",
"nullable": true
},
"DeviceType": {
"allOf": [
{
"$ref": "#/components/schemas/FirmwareDeviceType"
}
],
"description": "Device Type."
}
},
"additionalProperties": false
},
"UpdateStatus": {
"enum": [
"None",
"Pending",
"Updating",
"Success",
"Error",
"CameraNotFound",
"Dispatched",
"Received"
],
"type": "string"
},
"UpdateTenantModel": {
"required": [
"ConcurrencyId",
"SubscriptionQuotas"
],
"type": "object",
"properties": {
"SubscriptionQuotas": {
"allOf": [
{
"$ref": "#/components/schemas/SubscriptionQuotasModel"
}
],
"description": "Limit usage resource of a tenant."
},
"ConcurrencyId": {
"minLength": 1,
"type": "string",
"description": "Used for version control. Needed to update an entity or to retrieve one of its a previous versions"
}
},
"additionalProperties": false
}
},
"securitySchemes": {
"clearance-oauth2": {
"type": "oauth2",
"flows": {
"implicit": {
"authorizationUrl": "https://clearance-a-sts.geneteccloud.com/connect/authorize",
"scopes": {
"api": "api"
}
}
}
}
}
},
"security": [
{
"clearance-oauth2": [
"api"
]
}
]
}