diff --git a/.gitignore b/.gitignore
index f4ad3507..a0989c52 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ build/
.gradle/
.kotlin/
.idea/
+.planning/
diff --git a/core/src/test/kotlin/com/avsystem/justworks/core/gen/IntegrationTest.kt b/core/src/test/kotlin/com/avsystem/justworks/core/gen/IntegrationTest.kt
new file mode 100644
index 00000000..7d7c7f51
--- /dev/null
+++ b/core/src/test/kotlin/com/avsystem/justworks/core/gen/IntegrationTest.kt
@@ -0,0 +1,118 @@
+package com.avsystem.justworks.core.gen
+
+import com.avsystem.justworks.core.parser.ParseResult
+import com.avsystem.justworks.core.parser.SpecParser
+import java.io.File
+import kotlin.test.Test
+import kotlin.test.assertFalse
+import kotlin.test.assertNotNull
+import kotlin.test.assertTrue
+import kotlin.test.fail
+
+/**
+ * Integration test that validates the full generation pipeline against real-world
+ * OpenAPI specs. This ensures that enum generation, ApiClientBase, and client code
+ * work correctly with production-grade specs.
+ */
+class IntegrationTest {
+ private val modelPackage = "com.example.model"
+ private val apiPackage = "com.example.api"
+
+ companion object {
+ private val SPEC_FIXTURES = listOf(
+ "/fixtures/platform-api.json",
+ "/fixtures/analytics-api.json",
+ )
+ }
+
+ private fun parseSpec(resourcePath: String): ParseResult.Success {
+ val specUrl = javaClass.getResource(resourcePath)
+ ?: fail("Spec fixture not found: $resourcePath")
+ val specFile = File(specUrl.toURI())
+ return when (val result = SpecParser.parse(specFile)) {
+ is ParseResult.Success -> result
+ is ParseResult.Failure -> fail("Failed to parse $resourcePath: ${result.errors}")
+ }
+ }
+
+ @Test
+ fun `real-world specs generate compilable enum code without class body conflicts`() {
+ for (fixture in SPEC_FIXTURES) {
+ val spec = parseSpec(fixture).apiSpec
+ if (spec.enums.isEmpty()) continue
+
+ val generator = ModelGenerator(modelPackage)
+ val files = generator.generate(spec)
+ assertTrue(files.isNotEmpty(), "$fixture: ModelGenerator should produce output files")
+
+ val enumSources = files
+ .map { it.toString() }
+ .filter { it.contains("enum class") }
+
+ assertTrue(enumSources.isNotEmpty(), "$fixture: Should generate at least one enum class")
+
+ for (source in enumSources) {
+ assertFalse(
+ source.contains(Regex("""[A-Z_]+\(\) \{""")),
+ "$fixture: Enum constants should not have anonymous class body",
+ )
+ assertFalse(
+ source.contains(Regex("""\b[A-Z][A-Z_0-9]+ \{""")),
+ "$fixture: Enum constants should not have class body",
+ )
+ assertTrue(
+ source.contains("@SerialName"),
+ "$fixture: Enum source should contain @SerialName annotations",
+ )
+ assertTrue(
+ source.contains("@Serializable"),
+ "$fixture: Enum source should contain @Serializable annotation",
+ )
+ }
+ }
+ }
+
+ @Test
+ fun `real-world specs generate ApiClientBase when endpoints exist`() {
+ for (fixture in SPEC_FIXTURES) {
+ val spec = parseSpec(fixture).apiSpec
+ if (spec.endpoints.isEmpty()) continue
+
+ val apiClientBaseFile = ApiClientBaseGenerator.generate()
+ assertNotNull(apiClientBaseFile, "$fixture: ApiClientBaseGenerator should produce output")
+
+ val source = apiClientBaseFile.toString()
+ assertTrue(
+ source.contains("ApiClientBase"),
+ "$fixture: Generated output should contain ApiClientBase class",
+ )
+ assertTrue(
+ source.contains("abstract class ApiClientBase"),
+ "$fixture: ApiClientBase should be an abstract class",
+ )
+ }
+ }
+
+ @Test
+ fun `real-world specs full pipeline generates client code without exceptions`() {
+ for (fixture in SPEC_FIXTURES) {
+ val spec = parseSpec(fixture).apiSpec
+
+ val modelGenerator = ModelGenerator(modelPackage)
+ val modelFiles = modelGenerator.generate(spec)
+ assertTrue(modelFiles.isNotEmpty(), "$fixture: ModelGenerator should produce files")
+
+ if (spec.endpoints.isNotEmpty()) {
+ val clientGenerator = ClientGenerator(apiPackage, modelPackage)
+ val clientFiles = clientGenerator.generate(spec)
+ assertTrue(
+ clientFiles.isNotEmpty(),
+ "$fixture: ClientGenerator should produce files for a spec with endpoints",
+ )
+ }
+
+ val apiClientBaseFile = ApiClientBaseGenerator.generate()
+ assertNotNull(apiClientBaseFile, "$fixture: ApiClientBaseGenerator should produce output")
+ }
+ }
+}
diff --git a/core/src/test/kotlin/com/avsystem/justworks/core/gen/ModelGeneratorTest.kt b/core/src/test/kotlin/com/avsystem/justworks/core/gen/ModelGeneratorTest.kt
index e616a390..061e3718 100644
--- a/core/src/test/kotlin/com/avsystem/justworks/core/gen/ModelGeneratorTest.kt
+++ b/core/src/test/kotlin/com/avsystem/justworks/core/gen/ModelGeneratorTest.kt
@@ -10,6 +10,7 @@ import com.avsystem.justworks.core.model.TypeRef
import com.squareup.kotlinpoet.KModifier
import kotlin.test.Test
import kotlin.test.assertEquals
+import kotlin.test.assertFalse
import kotlin.test.assertNotNull
import kotlin.test.assertTrue
@@ -269,6 +270,27 @@ class ModelGeneratorTest {
assertEquals(listOf("AVAILABLE", "PENDING", "SOLD"), names)
}
+ @Test
+ fun `enum constants do not produce anonymous class body`() {
+ val files = generator.generate(spec(enums = listOf(statusEnum)))
+ val source = files.first().toString()
+ // Assert no class body braces on enum constants
+ assertFalse(
+ source.contains(Regex("""[A-Z_]+\(\) \{""")),
+ "Enum constants should not have anonymous class body: $source",
+ )
+ assertFalse(
+ source.contains(Regex("""[A-Z_]+ \{""")),
+ "Enum constants should not have class body: $source",
+ )
+ // Assert @SerialName present
+ assertTrue(source.contains("""@SerialName("available")"""), "Missing @SerialName for available: $source")
+ assertTrue(source.contains("""@SerialName("pending")"""), "Missing @SerialName for pending: $source")
+ assertTrue(source.contains("""@SerialName("sold")"""), "Missing @SerialName for sold: $source")
+ // Assert @Serializable on enum class
+ assertTrue(source.contains("@Serializable"), "Missing @Serializable on enum class: $source")
+ }
+
@Test
fun `integer enum values have SerialName with numeric string`() {
val intEnum =
diff --git a/core/src/test/kotlin/com/avsystem/justworks/core/gen/TypeMappingTest.kt b/core/src/test/kotlin/com/avsystem/justworks/core/gen/TypeMappingTest.kt
index fa1a2449..fa74b18e 100644
--- a/core/src/test/kotlin/com/avsystem/justworks/core/gen/TypeMappingTest.kt
+++ b/core/src/test/kotlin/com/avsystem/justworks/core/gen/TypeMappingTest.kt
@@ -114,6 +114,14 @@ class TypeMappingTest {
assertEquals("com.example.model.Pet_Address", result.toString())
}
+ // -- SCHM-07: Instant mapping verification --
+
+ @Test
+ fun `Instant maps to kotlin-time package`() {
+ assertEquals("kotlin.time", INSTANT.packageName)
+ assertEquals("Instant", INSTANT.simpleName)
+ }
+
// -- Unknown --
@Test
diff --git a/core/src/test/resources/fixtures/analytics-api.json b/core/src/test/resources/fixtures/analytics-api.json
new file mode 100644
index 00000000..c84044b8
--- /dev/null
+++ b/core/src/test/resources/fixtures/analytics-api.json
@@ -0,0 +1,2298 @@
+{
+ "openapi": "3.0.2",
+ "info": {
+ "title": "Network Analytics API",
+ "version": "1.0.0"
+ },
+ "paths": {
+ "/fullstatus/{nodeId}": {
+ "get": {
+ "description": "\nReturns general node information including node online status and parameters like serial number,\nmanufacturer, nodeName, MAC, IP and Radio signal strength.\n\nAs because of TR-069 encryption considerations actual passphrase cannot be sent, returned\npassphrase value is always \"******\".\n\n",
+ "operationId": "fullstatus",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "in": "path",
+ "description": "Node identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/NodeIdDTO"
+ }
+ },
+ {
+ "name": "waitTimeSeconds",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "integer",
+ "format": "int32",
+ "default": 30
+ }
+ },
+ {
+ "name": "runRadioScanDiagnostic",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact node identifier even when there are nodes with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/NodeInfo"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gatewayWirelessDetails/{nodeId}": {
+ "get": {
+ "description": "Get gateway wireless details",
+ "operationId": "gatewayWirelessDetails",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "in": "path",
+ "description": "Node identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/NodeIdDTO"
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact node identifier even when there are nodes with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GatewayDetails"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/networkMesh/{nodeId}": {
+ "get": {
+ "description": "Get network grid structure containing all nodes in network as json object",
+ "operationId": "networkMesh",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "in": "path",
+ "description": "Node identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/NodeIdDTO"
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact node identifier even when there are nodes with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/NetworkMeshTopology"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/externalBenchmarkResult/{nodeId}": {
+ "post": {
+ "description": "Add External speed test results",
+ "operationId": "externalBenchmarkResult",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "in": "path",
+ "description": "Node identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/NodeIdDTO"
+ }
+ },
+ {
+ "name": "waitTimeSeconds",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "integer",
+ "format": "int32",
+ "default": 30
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact node identifier even when there are nodes with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BenchmarkResultBody"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/restart/{nodeId}": {
+ "post": {
+ "description": "Performs restart on node",
+ "operationId": "restart",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "in": "path",
+ "description": "Node identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/NodeIdDTO"
+ }
+ },
+ {
+ "name": "waitTimeSeconds",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "integer",
+ "format": "int32",
+ "default": 30
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact node identifier even when there are nodes with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/radio/{nodeId}/{interfaceSuffix}": {
+ "put": {
+ "description": "Update Radio parameters",
+ "operationId": "radio",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "in": "path",
+ "description": "Node identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/NodeIdDTO"
+ }
+ },
+ {
+ "name": "interfaceSuffix",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ {
+ "name": "waitTimeSeconds",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "integer",
+ "format": "int32",
+ "default": 30
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact node identifier even when there are nodes with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/EditRadio"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/radioClientNode/{nodeId}/blocklist": {
+ "put": {
+ "tags": [
+ "RadioClientNode"
+ ],
+ "description": "Sets a blocklist for each Radio access point.\nNo specific format of input MAC address required, i.e. 01:23:45:47:89:AB, 0123.4567.89ab and 0123456789AB are supported.\nThis endpoint disables QUICKCONNECT ensuring coherent behavior on all node vendors.\nAPI client is responsible to always pass an array of blocklisted MAC addresses, next blocklist will always override the previous one.\n",
+ "operationId": "radioClientNode_blocklist",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/NodeIdDTO"
+ }
+ },
+ {
+ "name": "waitTimeSeconds",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "integer",
+ "format": "int32",
+ "default": 30
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact node identifier even when there are nodes with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/radioClientNode/{nodeId}/allowlist": {
+ "put": {
+ "tags": [
+ "RadioClientNode"
+ ],
+ "description": "Sets a allowlist of MAC addresses for each Radio access point.\nNo specific format of input MAC address required, i.e. 01:23:45:47:89:AB, 0123.4567.89ab and 0123456789AB are supported.\nThis endpoint disables QUICKCONNECT ensuring coherent behavior on all node vendors.\nIn order to allow new node to connect, you need to remove allowlist first and re-enable it later.\n",
+ "operationId": "radioClientNode_allowlist",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/NodeIdDTO"
+ }
+ },
+ {
+ "name": "waitTimeSeconds",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "integer",
+ "format": "int32",
+ "default": 30
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact node identifier even when there are nodes with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "RadioClientNode"
+ ],
+ "description": "Removes configured allowlist.\nThis method does not modify QUICKCONNECT settings.\n",
+ "operationId": "radioClientNode_deleteAllowlist",
+ "parameters": [
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/NodeIdDTO"
+ }
+ },
+ {
+ "name": "waitTimeSeconds",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "integer",
+ "format": "int32",
+ "default": 30
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact node identifier even when there are nodes with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one node with the same serial number in the system. The query is used to select one node from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **blocklisted** (boolean): eq\n - **provisioningEnabled** (boolean): eq\n - **lastSessionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastBootstrapTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRestartTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **oui** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **modelName** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **hardwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **softwareVersion** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **productClass** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **manufacturer** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directGroups** ([string]): contains, notcontains, containsany\n - **groups** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "servers": [
+ {
+ "url": "https://platform-master-cluster.avsystem.in:8087/api/platform/analytics/v1"
+ }
+ ],
+ "components": {
+ "schemas": {
+ "CapacityClassification": {
+ "type": "object",
+ "properties": {
+ "lastWeekGBDownloaded": {
+ "type": "number",
+ "format": "double"
+ },
+ "lastDayGBDownloaded": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "required": [
+ "lastWeekGBDownloaded",
+ "lastDayGBDownloaded"
+ ]
+ },
+ "ConnectedNode": {
+ "type": "object",
+ "properties": {
+ "nodeName": {
+ "type": "string"
+ },
+ "hardwareId": {
+ "type": "string"
+ },
+ "networkAddress": {
+ "type": "string"
+ },
+ "linkQuality": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "required": [
+ "hardwareId",
+ "networkAddress"
+ ]
+ },
+ "ConnectedNodes": {
+ "type": "object",
+ "properties": {
+ "radioClientNode": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RadioConnectedNodes"
+ }
+ },
+ "ethernetUserEquipment": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ConnectedNode"
+ }
+ }
+ },
+ "required": [
+ "radioClientNode",
+ "ethernetUserEquipment"
+ ]
+ },
+ "GatewayDetails": {
+ "type": "object",
+ "properties": {
+ "radios": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RadioDetails"
+ }
+ }
+ },
+ "required": [
+ "radios"
+ ]
+ },
+ "NodeActivityRatios": {
+ "type": "object",
+ "properties": {
+ "nodeName": {
+ "type": "string"
+ },
+ "macAddress": {
+ "type": "string"
+ },
+ "activityRatios": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ActivityRatio"
+ }
+ }
+ },
+ "required": [
+ "nodeName",
+ "macAddress",
+ "activityRatios"
+ ]
+ },
+ "NodeIdDTO": {
+ "type": "string",
+ "title": "NodeId"
+ },
+ "NodeInfo": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/NodeStatus"
+ },
+ "registrationCode": {
+ "type": "string"
+ },
+ "alerts": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "clientRef": {
+ "type": "string"
+ },
+ "clientLabel": {
+ "type": "string"
+ },
+ "connectedNodes": {
+ "$ref": "#/components/schemas/ConnectedNodes"
+ },
+ "radioClientNode": {
+ "$ref": "#/components/schemas/RadioClientNodeStats"
+ },
+ "userEquipmentAllowlist": {
+ "$ref": "#/components/schemas/UserEquipmentAllowlist"
+ },
+ "diagnostics": {
+ "type": "array",
+ "items": {
+ "example": "string"
+ }
+ },
+ "radioInstances": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RadioInstance"
+ }
+ },
+ "hardwarePerformanceKpi": {
+ "$ref": "#/components/schemas/HardwarePerformanceKpi"
+ },
+ "capacityClassification": {
+ "$ref": "#/components/schemas/CapacityClassification"
+ },
+ "custom": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "status",
+ "registrationCode",
+ "radioInstances"
+ ]
+ },
+ "NodeStatus": {
+ "type": "object",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/true"
+ },
+ {
+ "$ref": "#/components/schemas/false"
+ }
+ ],
+ "discriminator": {
+ "propertyName": "online",
+ "mapping": {
+ "true": "#/components/schemas/true",
+ "false": "#/components/schemas/false"
+ }
+ }
+ },
+ "ActivityRatio": {
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "nullable": true
+ },
+ "endTime": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "startTime",
+ "endTime"
+ ],
+ "example": {
+ "startTime": "2023-09-07T17:00:00.000Z",
+ "endTime": "2023-09-14T17:00:00.000Z"
+ }
+ },
+ "EditRadio": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "networkId": {
+ "type": "string"
+ },
+ "frequency": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "autoFrequencyEnabled": {
+ "type": "boolean"
+ },
+ "wpsEnabled": {
+ "type": "boolean"
+ },
+ "outputLevel": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "protocol": {
+ "type": "string"
+ },
+ "encryption": {
+ "type": "string"
+ },
+ "passphrase": {
+ "type": "string"
+ }
+ }
+ },
+ "HardwarePerformanceKpi": {
+ "type": "object",
+ "properties": {
+ "rxPowerDbm": {
+ "type": "number",
+ "format": "double"
+ },
+ "rxPowerKpi": {
+ "type": "string"
+ },
+ "txPowerDbm": {
+ "type": "number",
+ "format": "double"
+ },
+ "txPowerKpi": {
+ "type": "string"
+ },
+ "temperatureCelsius": {
+ "type": "number",
+ "format": "double"
+ },
+ "temperatureKpi": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "rxPowerKpi",
+ "txPowerKpi",
+ "temperatureKpi"
+ ]
+ },
+ "NetworkMeshNode": {
+ "type": "object",
+ "oneOf": [
+ {
+ "type": "object",
+ "properties": {
+ "ExtenderNode": {
+ "type": "object",
+ "properties": {
+ "hardwareId": {
+ "type": "string"
+ },
+ "backhaulMac": {
+ "type": "string",
+ "nullable": true
+ },
+ "name": {
+ "type": "string"
+ },
+ "active": {
+ "type": "boolean"
+ },
+ "ipv4": {
+ "type": "string",
+ "nullable": true
+ },
+ "connectionType": {
+ "type": "string",
+ "enum": [
+ "RADIO",
+ "ETH",
+ "USB",
+ "OTHER"
+ ]
+ },
+ "connectedNodes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/NetworkMeshNode"
+ }
+ },
+ "networkId": {
+ "type": "string",
+ "nullable": true
+ },
+ "spectrum": {
+ "type": "string",
+ "nullable": true
+ },
+ "linkQuality": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "frequency": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ }
+ },
+ "required": [
+ "hardwareId",
+ "backhaulMac",
+ "name",
+ "active",
+ "ipv4",
+ "connectionType",
+ "connectedNodes",
+ "networkId",
+ "spectrum",
+ "linkQuality",
+ "frequency"
+ ]
+ }
+ },
+ "required": [
+ "ExtenderNode"
+ ]
+ },
+ {
+ "type": "object",
+ "properties": {
+ "EthernetNode": {
+ "type": "object",
+ "properties": {
+ "hardwareId": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "active": {
+ "type": "boolean"
+ },
+ "ipv4": {
+ "type": "string",
+ "nullable": true
+ },
+ "connectionType": {
+ "type": "string",
+ "enum": [
+ "RADIO",
+ "ETH",
+ "USB",
+ "OTHER"
+ ],
+ "default": "ETH"
+ }
+ },
+ "required": [
+ "hardwareId",
+ "name",
+ "active",
+ "ipv4"
+ ]
+ }
+ },
+ "required": [
+ "EthernetNode"
+ ]
+ },
+ {
+ "type": "object",
+ "properties": {
+ "WanNode": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "nullable": true
+ },
+ "ipsv4": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "ipsv4"
+ ]
+ }
+ },
+ "required": [
+ "WanNode"
+ ]
+ },
+ {
+ "type": "object",
+ "properties": {
+ "USBNode": {
+ "type": "object",
+ "properties": {
+ "hardwareId": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "active": {
+ "type": "boolean"
+ },
+ "connectionType": {
+ "type": "string",
+ "enum": [
+ "RADIO",
+ "ETH",
+ "USB",
+ "OTHER"
+ ],
+ "default": "USB"
+ },
+ "port": {
+ "type": "string",
+ "nullable": true
+ },
+ "registrationCode": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "hardwareId",
+ "name",
+ "active",
+ "port",
+ "registrationCode"
+ ]
+ }
+ },
+ "required": [
+ "USBNode"
+ ]
+ },
+ {
+ "type": "object",
+ "properties": {
+ "RadioNode": {
+ "type": "object",
+ "properties": {
+ "hardwareId": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "active": {
+ "type": "boolean"
+ },
+ "ipv4": {
+ "type": "string",
+ "nullable": true
+ },
+ "connectionType": {
+ "type": "string",
+ "enum": [
+ "RADIO",
+ "ETH",
+ "USB",
+ "OTHER"
+ ],
+ "default": "RADIO"
+ },
+ "networkId": {
+ "type": "string",
+ "nullable": true
+ },
+ "spectrum": {
+ "type": "string",
+ "nullable": true
+ },
+ "linkQuality": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "frequency": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ }
+ },
+ "required": [
+ "hardwareId",
+ "name",
+ "active",
+ "ipv4",
+ "networkId",
+ "spectrum",
+ "linkQuality",
+ "frequency"
+ ]
+ }
+ },
+ "required": [
+ "RadioNode"
+ ]
+ },
+ {
+ "type": "object",
+ "properties": {
+ "OtherNode": {
+ "type": "object",
+ "properties": {
+ "hardwareId": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "active": {
+ "type": "boolean"
+ },
+ "ipv4": {
+ "type": "string",
+ "nullable": true
+ },
+ "connectionType": {
+ "type": "string",
+ "enum": [
+ "RADIO",
+ "ETH",
+ "USB",
+ "OTHER"
+ ],
+ "default": "OTHER"
+ }
+ },
+ "required": [
+ "hardwareId",
+ "name",
+ "active",
+ "ipv4"
+ ]
+ }
+ },
+ "required": [
+ "OtherNode"
+ ]
+ }
+ ]
+ },
+ "NetworkMeshTopology": {
+ "type": "object",
+ "properties": {
+ "rootNodeIdentity": {
+ "type": "string"
+ },
+ "rootNodeMac": {
+ "type": "string",
+ "nullable": true
+ },
+ "rootNodeSerial": {
+ "type": "string",
+ "nullable": true
+ },
+ "rootNodeModel": {
+ "type": "string",
+ "nullable": true
+ },
+ "nodeIpv4": {
+ "type": "string",
+ "nullable": true
+ },
+ "connectedNodes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/NetworkMeshNode"
+ }
+ }
+ },
+ "required": [
+ "rootNodeIdentity",
+ "rootNodeMac",
+ "rootNodeSerial",
+ "rootNodeModel",
+ "nodeIpv4",
+ "connectedNodes"
+ ]
+ },
+ "Speed": {
+ "type": "number",
+ "format": "double"
+ },
+ "BenchmarkResultBody": {
+ "type": "object",
+ "properties": {
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "downloadSpeed": {
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Speed"
+ }
+ ],
+ "default": null
+ },
+ "uploadSpeed": {
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Speed"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "timestamp"
+ ]
+ },
+ "Successful": {
+ "type": "object",
+ "properties": {
+ "result": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "result"
+ ]
+ },
+ "UserEquipmentAllowlist": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "allowlist": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "enabled",
+ "allowlist"
+ ]
+ },
+ "RadioInstance": {
+ "type": "object",
+ "properties": {
+ "instanceNumber": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "networkId": {
+ "type": "string"
+ },
+ "spectrum": {
+ "type": "string"
+ },
+ "frequency": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "autoFrequencyEnabled": {
+ "type": "boolean"
+ },
+ "wpsEnabled": {
+ "type": "boolean"
+ },
+ "outputLevel": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "protocol": {
+ "type": "string"
+ },
+ "encryption": {
+ "type": "string"
+ },
+ "passphrase": {
+ "type": "string"
+ }
+ }
+ },
+ "RadioConnectedNodes": {
+ "type": "object",
+ "properties": {
+ "radioNetworkId": {
+ "type": "string"
+ },
+ "radioAccessPointId": {
+ "type": "string"
+ },
+ "connectedNodes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ConnectedNode"
+ }
+ }
+ },
+ "required": [
+ "radioNetworkId",
+ "connectedNodes"
+ ]
+ },
+ "RadioDetails": {
+ "type": "object",
+ "properties": {
+ "accessPointId": {
+ "type": "string",
+ "nullable": true
+ },
+ "networkId": {
+ "type": "string",
+ "nullable": true
+ },
+ "spectrum": {
+ "type": "string",
+ "nullable": true
+ },
+ "frequency": {
+ "type": "string",
+ "nullable": true
+ },
+ "encryption": {
+ "type": "string",
+ "nullable": true
+ },
+ "protocol": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "accessPointId",
+ "networkId",
+ "spectrum",
+ "frequency",
+ "encryption",
+ "protocol"
+ ]
+ },
+ "RadioClientNode": {
+ "type": "object",
+ "properties": {
+ "radioNetworkId": {
+ "type": "string"
+ },
+ "radioAccessPointId": {
+ "type": "string"
+ },
+ "nodesActivityRatios": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/NodeActivityRatios"
+ }
+ }
+ },
+ "required": [
+ "radioNetworkId",
+ "radioAccessPointId",
+ "nodesActivityRatios"
+ ]
+ },
+ "RadioClientNodeStats": {
+ "type": "object",
+ "properties": {
+ "spectrum24Ghz": {
+ "$ref": "#/components/schemas/RadioClientNode"
+ },
+ "spectrum5Ghz": {
+ "$ref": "#/components/schemas/RadioClientNode"
+ }
+ }
+ },
+ "false": {
+ "type": "object",
+ "properties": {
+ "online": {
+ "type": "string",
+ "enum": [
+ "false"
+ ]
+ },
+ "error": {
+ "type": "string"
+ },
+ "lastVisitTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ }
+ },
+ "required": [
+ "online",
+ "error",
+ "lastVisitTime"
+ ]
+ },
+ "true": {
+ "type": "object",
+ "properties": {
+ "online": {
+ "type": "string",
+ "enum": [
+ "true"
+ ]
+ }
+ },
+ "required": [
+ "online"
+ ]
+ }
+ },
+ "encryptionSchemes": {
+ "Bearer": {
+ "type": "http",
+ "scheme": "bearer"
+ },
+ "auth": {
+ "type": "oauth2",
+ "flows": {
+ "passphrase": {
+ "scopes": {},
+ "tokenUrl": "https://platform-master-cluster.avsystem.in:8087/api/auth/oauth_passphrase"
+ }
+ }
+ }
+ }
+ },
+ "encryption": [
+ {
+ "Bearer": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/core/src/test/resources/fixtures/platform-api.json b/core/src/test/resources/fixtures/platform-api.json
new file mode 100644
index 00000000..9215220b
--- /dev/null
+++ b/core/src/test/resources/fixtures/platform-api.json
@@ -0,0 +1,11913 @@
+{
+ "openapi": "3.0.2",
+ "info": {
+ "title": "Platform Management API",
+ "version": "3.1.0"
+ },
+ "paths": {
+ "/cachedSchemas/{assetId}": {
+ "get": {
+ "tags": [
+ "CachedSchemas"
+ ],
+ "description": "Get values for asset data model parameters given in query parameter.\n ",
+ "operationId": "cachedSchemas_getParameters",
+ "parameters": [
+ {
+ "name": "assetId",
+ "in": "path",
+ "description": "Asset identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "parameters",
+ "in": "query",
+ "description": "List of data model parameters to retrieve.\nIf parameters list is empty then complete data model is returned.\nData model path parts should be dot-separated.\nParameter name should not contain the root object, for example use *AssetSummary* instead *InternetGatewayAsset.AssetSummary*.\nQuery for all sub-parameters of given object should end with dot \".\", for example: parameters=Location.\n ",
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SchemaParameter"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/assets": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "description": "Find asset entities using search criteria. List of asset identities is returned.",
+ "operationId": "assets_find",
+ "parameters": [
+ {
+ "name": "searchCriteria",
+ "in": "query",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Assets"
+ ],
+ "description": "Create new asset entity.",
+ "operationId": "assets_create",
+ "parameters": [
+ {
+ "name": "updateIfExisting",
+ "in": "query",
+ "description": "Parameter indicating whether the endpoint should update asset with passed data.",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateOrUpdateAssetDTO"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Created",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/assets/updateIp": {
+ "post": {
+ "tags": [
+ "Assets"
+ ],
+ "description": "Update IP address and joinRequestUrl attribute. Asset with given MAC is updated.\nNo specific format of input MAC address required, i.e. 01:23:45:67:89:AB or 0123.4567.89ab will both be matched to 0123456789AB MAC.\nIt's important to ensure that MAC addresses used in Platform are in uppercase format.",
+ "operationId": "assets_updateIp",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/IpUpdate"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/assets/{id}": {
+ "get": {
+ "tags": [
+ "Assets"
+ ],
+ "description": "Get asset entity by identity.",
+ "operationId": "assets_get",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Asset identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AssetDTO"
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Assets"
+ ],
+ "description": "Update asset entity.",
+ "operationId": "assets_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Asset identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AssetUpdate"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Assets"
+ ],
+ "description": "Delete asset entity.",
+ "operationId": "assets_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Asset identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/assetsAuth/checkSecrets": {
+ "post": {
+ "tags": [
+ "AssetsAuth"
+ ],
+ "operationId": "assetsAuth_checkSecrets",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ },
+ "networkAddress": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "username",
+ "password",
+ "networkAddress"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AuthenticationResult"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/assetsAuth/verifyExists/{username}": {
+ "get": {
+ "tags": [
+ "AssetsAuth"
+ ],
+ "operationId": "assetsAuth_verifyExists",
+ "parameters": [
+ {
+ "name": "username",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExistenceResult"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/workspaces": {
+ "get": {
+ "tags": [
+ "Workspaces"
+ ],
+ "description": "Find workspace entities using search criteria. List of workspace identities is returned.",
+ "operationId": "workspaces_find",
+ "parameters": [
+ {
+ "name": "searchCriteria",
+ "in": "query",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Workspaces"
+ ],
+ "description": "\nCreate or update existing workspace entity.\n\nWorkspace identity consist of the root workspace name `/` followed by any number of sub-workspace names.\nA sub-workspace name consists of any number of alphanumeric or '_' characters followed by '/'.\n\nFor example workspace identity: `/workspace/sub_workspace/` consists of 3 workspace names:\n `/` which is parent of `workspace/` which is parent of `sub_workspace/`.\n\nIf posted workspace identity contains nonexistent ancestor then ancestor hierarchy will be created automatically.\nWhenever a new workspace is created, a cluster will be automatically created and linked to it.\n ",
+ "operationId": "workspaces_create",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WorkspaceDTO"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Created",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/workspaces/onlineAssetsCount/{id}": {
+ "get": {
+ "tags": [
+ "Workspaces"
+ ],
+ "description": "Get online assets in workspace count.",
+ "operationId": "workspaces_getOnlineAssetsCount",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ }
+ },
+ {
+ "name": "includeSubworkspaces",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ },
+ {
+ "name": "periodInHours",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "integer",
+ "format": "int32",
+ "default": 24
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/workspaces/statistics/{id}": {
+ "get": {
+ "tags": [
+ "Workspaces"
+ ],
+ "description": "Get workspace statistics by identity.",
+ "operationId": "workspaces_getStatistics",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ }
+ },
+ {
+ "name": "includeSubworkspaces",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WorkspaceStatisticsDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/workspaces/{id}": {
+ "get": {
+ "tags": [
+ "Workspaces"
+ ],
+ "description": "Get workspace by identity.",
+ "operationId": "workspaces_get",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WorkspaceDTO"
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Workspaces"
+ ],
+ "description": "Update existing workspace entity.",
+ "operationId": "workspaces_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "newDescription": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "newDescription"
+ ]
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Workspaces"
+ ],
+ "description": "Delete workspace entity.\nThis operation will fail if the workspace has sub-workspaces unless recursively is set to true.\nIn that case the workspace will be deleted together with all its sub-workspaces.\nClusters and dependencies should be deleted first before deleting workspaces.\n ",
+ "operationId": "workspaces_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ }
+ },
+ {
+ "name": "recursively",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/clusterJoinRequests": {
+ "get": {
+ "tags": [
+ "ClusterJoinRequests"
+ ],
+ "description": "Find cluster connection request entities using search criteria.",
+ "operationId": "clusterJoinRequests_find",
+ "parameters": [
+ {
+ "name": "searchCriteria",
+ "in": "query",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **clusterId** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **active** (boolean): eq\n - **minimumInterval** (integer($int32)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **speed** (integer($int32)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **startTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **endTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **appliesToSubclusters** (boolean): eq\n - **continuous** (boolean): eq\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **clusterId** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **active** (boolean): eq\n - **minimumInterval** (integer($int32)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **speed** (integer($int32)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **startTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **endTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **appliesToSubclusters** (boolean): eq\n - **continuous** (boolean): eq\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClusterJoinRequestDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "ClusterJoinRequests"
+ ],
+ "description": "Create cluster connection request.",
+ "operationId": "clusterJoinRequests_create",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClusterJoinRequestDTO"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Created",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/clusterJoinRequests/getForCluster/{clusterId}": {
+ "get": {
+ "tags": [
+ "ClusterJoinRequests"
+ ],
+ "description": "Get cluster connection request entity by cluster.",
+ "operationId": "clusterJoinRequests_getForCluster",
+ "parameters": [
+ {
+ "name": "clusterId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/ClusterId"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClusterJoinRequestDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/clusterJoinRequests/{clusterId}/{name}": {
+ "put": {
+ "tags": [
+ "ClusterJoinRequests"
+ ],
+ "description": "Update cluster connection request.",
+ "operationId": "clusterJoinRequests_update",
+ "parameters": [
+ {
+ "name": "clusterId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/ClusterId"
+ }
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClusterJoinRequestUpdate"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ClusterJoinRequests"
+ ],
+ "description": "Delete cluster connection request entity.",
+ "operationId": "clusterJoinRequests_delete",
+ "parameters": [
+ {
+ "name": "clusterId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/ClusterId"
+ }
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Find cluster entities using search criteria. List of cluster identities is returned.",
+ "operationId": "clusters_find",
+ "parameters": [
+ {
+ "name": "searchCriteria",
+ "in": "query",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClusterId"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Create cluster entity.\nCluster identity consists of dot-separated all parent clusters names and the cluster name, staring form root cluster.\nWorkspace name consists of slash-separated all parent workspace names and the workspace name, starting from / workspace\nWorkspace field is optional, and if not given, account's workspace is used
\nExample request body:\n{\n \"id\": \"root.parent1.parent2.clusterName\",\n \"workspace\": \"/parentWorkspace/yourWorkspace/\",\n \"description\": \"cluster description\"\n}\nWhen cluster id with not existing parent cluster names is given then\nparent clusters are created automatically.",
+ "operationId": "clusters_create",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClusterDTO"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Created",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/clusters/{id}": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Get cluster entity by identity.",
+ "operationId": "clusters_get",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/ClusterId"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClusterDTO"
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Update existing cluster entity.",
+ "operationId": "clusters_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/ClusterId"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "workspace": {
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ }
+ ]
+ },
+ "isRemovalDisabled": {
+ "type": "boolean",
+ "nullable": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Delete cluster entity.",
+ "operationId": "clusters_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/ClusterId"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/tracking": {
+ "get": {
+ "tags": [
+ "TrackingConfiguration"
+ ],
+ "description": "Search existing tracking instances.",
+ "operationId": "tracking_getTrackingConfigurations",
+ "parameters": [
+ {
+ "name": "searchCriteria",
+ "in": "query",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **name** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **cluster** ([string]): contains, notcontains, containsany\n - **collectionInterval** (integer($int32)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **active** (boolean): eq\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **condition** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **name** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **cluster** ([string]): contains, notcontains, containsany\n - **collectionInterval** (integer($int32)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **active** (boolean): eq\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **condition** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "TrackingConfiguration"
+ ],
+ "description": "Create new tracking instance.",
+ "operationId": "tracking_createTracking",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TrackingConfigurationDTO"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Created",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/tracking/{trackingName}": {
+ "get": {
+ "tags": [
+ "TrackingConfiguration"
+ ],
+ "description": "Get tracking configuration.",
+ "operationId": "tracking_getTrackingConfiguration",
+ "parameters": [
+ {
+ "name": "trackingName",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TrackingConfigurationDTO"
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "TrackingConfiguration"
+ ],
+ "description": "Update tracking configuration.",
+ "operationId": "tracking_updateTracking",
+ "parameters": [
+ {
+ "name": "trackingName",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TrackingConfigurationUpdate"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "TrackingConfiguration"
+ ],
+ "description": "Remove tracking instance.",
+ "operationId": "tracking_removeTracking",
+ "parameters": [
+ {
+ "name": "trackingName",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/trackingData/summarys/numerical/{trackingName}/{clusterId}/{artifactName}": {
+ "get": {
+ "tags": [
+ "TrackingData"
+ ],
+ "description": "Get summaryd numerical artifact data.\nThe time span of single returned summary depends on requested time range (fromDate, toDate):\nless than one day - minute summarys, less than one month - hour summarys, otherwise - day summarys.\nDefault fromDate value is one day before toDate.\nDefault toDate value is current time.\n \n ",
+ "operationId": "trackingData_summarys_getNumericalSummarys",
+ "parameters": [
+ {
+ "name": "trackingName",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "clusterId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/ClusterId"
+ }
+ },
+ {
+ "name": "artifactName",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "fromDate",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "toDate",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/NumericalSummary"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/trackingData/summarys/textual/{trackingName}/{clusterId}/{artifactName}": {
+ "get": {
+ "tags": [
+ "TrackingData"
+ ],
+ "description": "Get summaryd textual artifact data.\nThe time span of single returned summary depends on requested time range (fromDate, toDate):\nless than one day - minute summarys, less than one month - hour summarys, otherwise - day summarys.\nDefault fromDate value is one day before toDate.\nDefault toDate value is current time.\n \n ",
+ "operationId": "trackingData_summarys_getTextualSummarys",
+ "parameters": [
+ {
+ "name": "trackingName",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "clusterId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/ClusterId"
+ }
+ },
+ {
+ "name": "artifactName",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "fromDate",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "toDate",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TextualSummary"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/trackingData/moreMetrics": {
+ "get": {
+ "tags": [
+ "TrackingData"
+ ],
+ "description": "Get next metric batch for cursor value obtained from GET on /metrics or previous GET on /moreMetrics",
+ "operationId": "trackingData_getMoreMetrics",
+ "parameters": [
+ {
+ "name": "cursor",
+ "in": "query",
+ "required": true,
+ "explode": false,
+ "schema": {
+ "$ref": "#/components/schemas/MetricCursor"
+ }
+ },
+ {
+ "name": "count",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "integer",
+ "format": "int32",
+ "default": 512
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MetricBatch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/trackingData/metrics/{trackingName}/{assetId}": {
+ "get": {
+ "tags": [
+ "TrackingData"
+ ],
+ "description": "Get cursor for all metrics for given tracking within given time period.\nDefault fromDate value is one day before toDate.\nDefault toDate value is current time.\n \n ",
+ "operationId": "trackingData_metricCursor",
+ "parameters": [
+ {
+ "name": "trackingName",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "assetId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "fromDate",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "toDate",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MetricCursor"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/entitlements/{id}": {
+ "get": {
+ "tags": [
+ "Entitlements"
+ ],
+ "description": "Get account entitlement IDs.",
+ "operationId": "entitlements_get",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/UserId"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/attributeServices": {
+ "get": {
+ "tags": [
+ "AttributeServices"
+ ],
+ "description": "Get information about existing AttributeServices and configuration.",
+ "operationId": "attributeServices_getAllowedKeys",
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/attributeServices/{id}": {
+ "get": {
+ "tags": [
+ "AttributeServices"
+ ],
+ "description": "Get Information about AttributeService instance.",
+ "operationId": "attributeServices_getServiceById",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "workspace",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ }
+ ]
+ }
+ },
+ {
+ "name": "returnMatchedAsset",
+ "in": "query",
+ "description": "Parameter indicating whether the endpoint should find and return a matched asset. Disclaimer: if it is set to true, a query to a asset collection will be made to the properties.key field, which may cause performance issues. Also, if it is frequently used, consider contacting AVSystem to ensure that an additional index is added to optimize this query.",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AttributeServiceDTO"
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AttributeServices"
+ ],
+ "description": "\nCreate or Edit AttributeService. \nIf a AttributeService already exists, any matching properties will be updated with the provided values.\nAny properties that exist in service, but are not included in the request will be set to null. \nIf a AttributeService does not exist, a new one will be created. \nInclude the workspace name within slashes (example: /workspace/) when making the request.\n",
+ "operationId": "attributeServices_put_createOrUpdate",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AttributeServiceConfig"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AttributeServices"
+ ],
+ "description": "Delete AttributeService.",
+ "operationId": "attributeServices_deleteServiceById",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "workspace",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ }
+ ]
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AttributeServices"
+ ],
+ "description": "Modify ProperyService. One can modify only existing services.",
+ "operationId": "attributeServices_patch_partialUpdate",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AttributeServiceUpdate"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/attributeServices/{key}/{value}": {
+ "get": {
+ "tags": [
+ "AttributeServices"
+ ],
+ "description": "Get Information about AttributeService instance.",
+ "operationId": "attributeServices_getService",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "value",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "workspace",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ }
+ ]
+ }
+ },
+ {
+ "name": "returnMatchedAsset",
+ "in": "query",
+ "description": "Parameter indicating whether the endpoint should find and return a matched asset. Disclaimer: if it is set to true, a query to a asset collection will be made to the properties.key field, which may cause performance issues. Also, if it is frequently used, consider contacting AVSystem to ensure that an additional index is added to optimize this query.",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AttributeServiceDTO"
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AttributeServices"
+ ],
+ "description": "\nCreate or Edit AttributeService. \nIf a AttributeService already exists, any matching properties will be updated with the provided values.\nAny properties that exist in service, but are not included in the request will be set to null. \nIf a AttributeService does not exist, a new one will be created. \nInclude the workspace name within slashes (example: /workspace/) when making the request.\n",
+ "operationId": "attributeServices_createOrUpdate",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "value",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AttributeServiceConfig"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AttributeServices"
+ ],
+ "description": "Delete AttributeService for given workspace",
+ "operationId": "attributeServices_deleteService",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "value",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "workspace",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ }
+ ]
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AttributeServices"
+ ],
+ "description": "Modify ProperyService. One can modify only existing services.",
+ "operationId": "attributeServices_partialUpdate",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "value",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AttributeServiceUpdate"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/artifacts": {
+ "get": {
+ "tags": [
+ "Artifacts"
+ ],
+ "description": "Find artifacts using search criteria. List of artifact identities is returned.",
+ "operationId": "artifacts_find",
+ "parameters": [
+ {
+ "name": "searchCriteria",
+ "in": "query",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **name** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **filename** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **asset** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **fileSize** (integer($int64)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **location** (string): eq\n - **addDate** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **workspace** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **expires** (boolean): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **name** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **filename** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **asset** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **fileSize** (integer($int64)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **location** (string): eq\n - **addDate** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **workspace** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **expires** (boolean): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ArtifactId"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Artifacts"
+ ],
+ "description": "\nCreate new artifact entity. If id is set, artifact entity with given id must not exists.\"\n\nIf file location is INTERNAL, entity will be created with empty file placeholder.\n\nIf file location is EXTERNAL, pass file url to filename attribute.\n",
+ "operationId": "artifacts_create",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ArtifactDTO"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Created",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ArtifactId"
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/artifacts/file/{artifactId}": {
+ "get": {
+ "tags": [
+ "Artifacts"
+ ],
+ "description": "Get artifact file by id.",
+ "operationId": "artifacts_getFile",
+ "parameters": [
+ {
+ "name": "artifactId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/ArtifactId"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 127,
+ "minimum": -128
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Artifacts"
+ ],
+ "description": "Update artifact file.",
+ "operationId": "artifacts_updateFile",
+ "parameters": [
+ {
+ "name": "artifactId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/ArtifactId"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/octet-stream": {
+ "schema": {
+ "type": "string",
+ "format": "binary"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/artifacts/{artifactId}": {
+ "get": {
+ "tags": [
+ "Artifacts"
+ ],
+ "description": "\nGet artifact entity by id.\n",
+ "operationId": "artifacts_get",
+ "parameters": [
+ {
+ "name": "artifactId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/ArtifactId"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ArtifactDTO"
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Artifacts"
+ ],
+ "description": "Update artifact entity.",
+ "operationId": "artifacts_update",
+ "parameters": [
+ {
+ "name": "artifactId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/ArtifactId"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ArtifactDTO"
+ }
+ ],
+ "example": "{\n \"name\": \"name\",\n \"description\": \"description\",\n \"category\": \"UNKNOWN\",\n \"filename\": \"filename\",\n \"fileSize\": 0,\n \"asset\": \"assetId\",\n \"fileType\": \"fileType\",\n \"username\": \"username\",\n \"password\": \"password\",\n \"location\": \"INTERNAL\",\n \"workspace\": \"/\",\n \"dataId\": \"dataId\",\n \"properties\": {\n \"additionalProp1\": \"value1\",\n \"additionalProp2\": \"value2\",\n \"additionalProp3\": \"value3\"\n },\n \"directClusters\": [\n \"cluster\"\n ],\n \"isStaticContent\": false,\n \"expressionAlias\": \"expressionAlias\",\n \"expires\": false\n}"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Artifacts"
+ ],
+ "description": "Delete artifact entity.",
+ "operationId": "artifacts_delete",
+ "parameters": [
+ {
+ "name": "artifactId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/ArtifactId"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/links/blocking/{assetId}": {
+ "post": {
+ "tags": [
+ "Links"
+ ],
+ "description": "Start new provisioning link with asset. API returns when the link finishes or when it fails.",
+ "operationId": "links_startNewLinkSynchronous",
+ "parameters": [
+ {
+ "name": "assetId",
+ "in": "path",
+ "description": "Asset identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ },
+ {
+ "name": "waitTimeSeconds",
+ "in": "query",
+ "description": "Timeout in seconds, by default 30 seconds, maximum 600 seconds (10 minutes). Defines how long the server waits for the asset link process to finish before returning timeout error response.",
+ "explode": false,
+ "schema": {
+ "type": "integer",
+ "format": "int32",
+ "default": 30
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CRLinkResult"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/links/blockingCr/{assetId}": {
+ "post": {
+ "tags": [
+ "Links"
+ ],
+ "description": "Requests new provisioning link with asset. API returns when the connection request finishes or link starts, depending on parameters",
+ "operationId": "links_requestConnection",
+ "parameters": [
+ {
+ "name": "assetId",
+ "in": "path",
+ "description": "Asset identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ },
+ {
+ "name": "waitTimeSeconds",
+ "in": "query",
+ "description": "Timeout in seconds, by default 30 seconds, maximum 600 seconds (10 minutes). Defines how long the server waits for the asset link process to finish before returning timeout error response.",
+ "explode": false,
+ "schema": {
+ "type": "integer",
+ "format": "int32",
+ "default": 30
+ }
+ },
+ {
+ "name": "waitForLinkStart",
+ "in": "query",
+ "description": "Specifies whether method should wait for provisioning links start. If true method waits for link start, if false method finishes on connection request finish",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CRLinkResult"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/links/{assetId}": {
+ "post": {
+ "tags": [
+ "Links"
+ ],
+ "description": "Start new provisioning link with asset",
+ "operationId": "links_startNewLink",
+ "parameters": [
+ {
+ "name": "assetId",
+ "in": "path",
+ "description": "Asset identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/preferenceValues": {
+ "get": {
+ "tags": [
+ "PreferenceValues"
+ ],
+ "description": "Find Preference values using search criteria. List of Preference values is returned.",
+ "operationId": "preferenceValues_find",
+ "parameters": [
+ {
+ "name": "searchCriteria",
+ "in": "query",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **clusterId** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **name** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **value** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **locked** (boolean): eq\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **clusterId** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **name** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **value** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **locked** (boolean): eq\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PreferenceValueDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PreferenceValues"
+ ],
+ "description": "Create or update Preference Value.",
+ "operationId": "preferenceValues_createOrUpdate",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PreferenceValueDTO"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/preferenceValues/assetProfile/{assetId}": {
+ "get": {
+ "tags": [
+ "PreferenceValues"
+ ],
+ "description": "Get Preference Values profile for given asset.\nThe profile consists of preference values inherited from all clusters asset belongs to.\nIf withAssetProperties parameter is true then additionally all asset properties are returned.",
+ "operationId": "preferenceValues_getForAsset",
+ "parameters": [
+ {
+ "name": "assetId",
+ "in": "path",
+ "description": "Asset identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "withAssetProperties",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PreferenceValueDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/preferenceValues/clusterProfile/{clusterId}": {
+ "get": {
+ "tags": [
+ "PreferenceValues"
+ ],
+ "description": "Get Preference Values profile for given cluster.\nThe profile consists of Preference values inherited from all parent clusters.",
+ "operationId": "preferenceValues_getForCluster",
+ "parameters": [
+ {
+ "name": "clusterId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/ClusterId"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/PreferenceValueDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/taskOutcomes": {
+ "get": {
+ "tags": [
+ "TaskOutcomes"
+ ],
+ "description": "Find Job Outcomes using search criteria. List of Job Outcomes identities is returned.",
+ "operationId": "taskOutcomes_find",
+ "parameters": [
+ {
+ "name": "searchCriteria",
+ "in": "query",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **taskId** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **assetId** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **startTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **finishTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastUpdateTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **status** (#/components/schemas/TaskStatus): in, notexists, exists, eq, ne, nin\n - **summary** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **taskId** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **assetId** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **startTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **finishTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastUpdateTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **status** (#/components/schemas/TaskStatus): in, notexists, exists, eq, ne, nin\n - **summary** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TaskOutcomeId"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/taskOutcomes/{taskId}/{assetId}": {
+ "get": {
+ "tags": [
+ "TaskOutcomes"
+ ],
+ "description": "Get Job Outcome for given job and asset. Job outcome is created after job is executed on asset.\nIf job was not executed yet, it returns NOT FOUND.",
+ "operationId": "taskOutcomes_get_get",
+ "parameters": [
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/TaskId"
+ }
+ },
+ {
+ "name": "assetId",
+ "in": "path",
+ "description": "Asset identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskOutcomeDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/taskOutcomes/{taskOutcomeId}": {
+ "get": {
+ "tags": [
+ "TaskOutcomes"
+ ],
+ "description": "Get Job Outcome for given job outcome ID. Job outcome is created after job is executed on asset.\nIf job was not executed yet, it returns NOT FOUND.",
+ "operationId": "taskOutcomes_get",
+ "parameters": [
+ {
+ "name": "taskOutcomeId",
+ "in": "path",
+ "description": "TaskId and assetId separated by a colon",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/RawTaskOutcomeId"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskOutcomeDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/tasks": {
+ "get": {
+ "tags": [
+ "Tasks"
+ ],
+ "description": "Find job entities using search criteria. List of job identities is returned.",
+ "operationId": "tasks_find",
+ "parameters": [
+ {
+ "name": "searchCriteria",
+ "in": "query",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **cluster** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **asset** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **name** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **active** (boolean): eq\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **parameters.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **cluster** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **asset** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **name** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **active** (boolean): eq\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **parameters.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TaskId"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/tasks/webhook/{taskId}/{webhookName}": {
+ "delete": {
+ "tags": [
+ "Tasks"
+ ],
+ "description": "Delete webhook registered on given job identity.",
+ "operationId": "tasks_deleteWebhook",
+ "parameters": [
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/TaskId"
+ }
+ },
+ {
+ "name": "webhookName",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/tasks/{id}": {
+ "get": {
+ "tags": [
+ "Tasks"
+ ],
+ "description": "Get job entity by identity.",
+ "operationId": "tasks_get",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/TaskId"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskDTO"
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Tasks"
+ ],
+ "description": "Update job entity.",
+ "operationId": "tasks_update",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/TaskId"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskConfig"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Tasks"
+ ],
+ "description": "Delete job entity.",
+ "operationId": "tasks_delete",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/TaskId"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/tasksFromBlueprints/asset/{assetId}": {
+ "post": {
+ "tags": [
+ "TasksFromBlueprints"
+ ],
+ "description": "Create job that will be executed on asset with given identity.\nTask definition will be copied from job blueprint with given name.\nSome values from blueprint fields can be overwritten in given TaskConfig.\nIf webhook is registered, the TaskOutcomeDTO will be sent to it using HTTP POST each time job finishes execution.\nThe result of this method is created Job identity.",
+ "operationId": "tasksFromBlueprints_addForAsset",
+ "parameters": [
+ {
+ "name": "assetId",
+ "in": "path",
+ "description": "Asset identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskBlueprintInvocation"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Created",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskId"
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/tasksFromBlueprints/assetBlocking/{assetId}": {
+ "post": {
+ "tags": [
+ "TasksFromBlueprints"
+ ],
+ "description": "Create job that will be executed on asset with given identity.\nLink will be triggered to execute the job.\nTask definition will be copied from job blueprint with given name.\nSome values from blueprint fields can be overwritten in given TaskConfig.\nThis method will wait up to waitTimeSeconds for job execution and returns TaskOutcome.\nIf job will not execute in given time period the TaskOutcome with NotStarted status will be returned.\nOptionally job can wait up to joinRequestWaitTimeSeconds for connection request to be executed.\nIf the connect request is not completed within this time, this method will exit immediately.\nIn case of connection request failed, or job time limit exceeded, the created job can be deleted when the parameter deleteTaskOnTimeout is true\nIf webhook is registered, the TaskOutcomeDTO will be sent to it using HTTP POST each time job finishes execution.",
+ "operationId": "tasksFromBlueprints_addForAssetBlocking",
+ "parameters": [
+ {
+ "name": "assetId",
+ "in": "path",
+ "description": "Asset identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "waitTimeSeconds",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "integer",
+ "format": "int32",
+ "default": 30
+ }
+ },
+ {
+ "name": "joinRequestWaitTimeSeconds",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deleteTaskOnTimeout",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ },
+ {
+ "name": "ignoreJoinRequestFail",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskBlueprintInvocation"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskOutcomeDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/tasksFromBlueprints/cluster/{clusterId}": {
+ "post": {
+ "tags": [
+ "TasksFromBlueprints"
+ ],
+ "description": "Create job that will be executed on all assets in given cluster.\nTask definition will be copied from job blueprint with given name.\nSome values from blueprint fields can be overwritten in given TaskConfig.\nIf webhook is registered, the TaskOutcomeDTO will be sent to it using HTTP POST each time job finishes execution on each asset.\nThe result of this method is created Job identity.",
+ "operationId": "tasksFromBlueprints_addForCluster",
+ "parameters": [
+ {
+ "name": "clusterId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/ClusterId"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskBlueprintInvocation"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "Created",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskId"
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/tasksUtils/restart/{taskId}": {
+ "post": {
+ "tags": [
+ "TasksUtils"
+ ],
+ "description": "Schedules job restart globally. Job will be executed on next asset's link if tasks execution condition allows it to run. No new job is created",
+ "operationId": "tasksUtils_restart",
+ "parameters": [
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/TaskId"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/tasksUtils/restart/{taskId}/{assetId}": {
+ "post": {
+ "tags": [
+ "TasksUtils"
+ ],
+ "description": "Schedules job restart on specified asset. Job will be executed on next asset's link if tasks execution condition allows it to run. No new job is created",
+ "operationId": "tasksUtils_post_restart",
+ "parameters": [
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/TaskId"
+ }
+ },
+ {
+ "name": "assetId",
+ "in": "path",
+ "description": "Asset identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/tasksUtils/restartBlocking/{taskId}/{assetId}": {
+ "post": {
+ "tags": [
+ "TasksUtils"
+ ],
+ "description": "\nSchedules job restart on specified asset.\nLink will be triggered to execute the job.\nThis method will wait up to waitTimeSeconds for job execution and returns TaskOutcome.\nIf job will not execute in given time period the TaskOutcome with NotStarted status will be returned.\nOptionally job can wait up to joinRequestWaitTimeSeconds for connection request to be executed.\nIf the connect request is not completed within this time, this method will exit immediately.\nNo new job is created.\n",
+ "operationId": "tasksUtils_restartForAssetBlocking",
+ "parameters": [
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/TaskId"
+ }
+ },
+ {
+ "name": "assetId",
+ "in": "path",
+ "description": "Asset identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "waitTimeSeconds",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "integer",
+ "format": "int32",
+ "default": 30
+ }
+ },
+ {
+ "name": "joinRequestWaitTimeSeconds",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "ignoreJoinRequestFail",
+ "in": "query",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskOutcomeDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/account": {
+ "get": {
+ "tags": [
+ "Account"
+ ],
+ "description": "Get data for currently logged account",
+ "operationId": "account_get",
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users": {
+ "get": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Find users by condition.",
+ "operationId": "users_find",
+ "parameters": [
+ {
+ "name": "searchCriteria",
+ "in": "query",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **username** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **fullname** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **active** (boolean): eq\n - **administrator** (boolean): eq\n - **operator** (boolean): eq\n - **activityLogging** (boolean): eq\n - **workspace** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **accessSchedule** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **accessPolicy** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **email** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **phoneNumber** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **department** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **expirationDate** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **roles** ([string]): contains, notcontains, containsany\n - **entitlements** ([string]): contains, notcontains, containsany\n - **preferences.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **username** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **fullname** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **active** (boolean): eq\n - **administrator** (boolean): eq\n - **operator** (boolean): eq\n - **activityLogging** (boolean): eq\n - **workspace** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **accessSchedule** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **accessPolicy** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **email** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **phoneNumber** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **department** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **expirationDate** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **roles** ([string]): contains, notcontains, containsany\n - **entitlements** ([string]): contains, notcontains, containsany\n - **preferences.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserId"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/username/{username}": {
+ "get": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Get account data by username.",
+ "operationId": "users_getByUsername",
+ "parameters": [
+ {
+ "name": "username",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/{id}": {
+ "get": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Get account data by ID.",
+ "operationId": "users_get",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/UserId"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UserDto"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Remove account by ID.",
+ "operationId": "users_remove",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/UserId"
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Successful"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pipelineServices/{assetId}": {
+ "get": {
+ "tags": [
+ "PipelineServices"
+ ],
+ "description": "Get information about available pipelines at a specific asset.",
+ "operationId": "pipelineServices_getPipelineNames",
+ "parameters": [
+ {
+ "name": "assetId",
+ "in": "path",
+ "description": "Asset identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pipelineServices/{assetId}/{pipelineId}": {
+ "post": {
+ "tags": [
+ "PipelineServices"
+ ],
+ "description": "Synchronously executes a pipeline on a specific asset with given parameters",
+ "operationId": "pipelineServices_executePipeline",
+ "parameters": [
+ {
+ "name": "assetId",
+ "in": "path",
+ "description": "Asset identity",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ {
+ "name": "pipelineId",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "exactId",
+ "in": "query",
+ "description": "\nParameter indicating whether provided id is used as an exact asset identifier even when there are assets with the same serial number in the system.\n",
+ "explode": false,
+ "schema": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ {
+ "name": "deduplicationQuery",
+ "in": "query",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "format": "csv",
+ "description": "Query used only when there is more than one asset with the same serial number in the system. The query is used to select one asset from a pool of duplicates.\n\n\n Comma separated list of conditions. Conditions are concatenated using *AND* logical operator.\n Condition has form: *fieldName operator value*\n ## Available fields and operators:\n - **id** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **restricted** (boolean): eq\n - **onboardingActive** (boolean): eq\n - **lastLinkTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastProvisionTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **lastRebootTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **creationTime** (string($date-time)): in, gte, notexists, exists, lte, gt, eq, ne, nin, lt\n - **networkAddress** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **registrationCode** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendorPrefix** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **variant** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **firmwareRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **appRevision** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **category** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **vendor** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **description** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n - **directClusters** ([string]): contains, notcontains, containsany\n - **clusters** ([string]): contains, notcontains, containsany\n - **properties.*** (string): in, gte, startswith, endswith, exists, lte, matches, gt, eq, notexists, strcontains, ne, nin, lt\n\n ## Value types:\n - *string* - surround with single quotes: '. Escape single quotes in queries with another single quote: ''. E.g. 'Cite: ''cited text''.'.\n - *boolean* - true or false\n - *string($date-time)* - string in the ISO8601 format\n - *string($byte)* - base64 encoded string\n - *numeric* - for example: 0.123, 123, 12.123\n - *[Value type]* - array of value types. Array has the form of: [item1, item2, ...]\n - *object* - JSON object wrapped in backtick: \\`. Escape backtick inside JSON string with another backtick: \\`\\`. E.g. \\`{\"backtick\": \"\\`\\`\"}\\`\n\n ## Operators:\n - **eq** - Field value is equal to condition value. Condition Value Type = Field Type\n - **ne** - Field value is different than condition value. Condition Value Type = Field Type\n - **in** - Field value is equal to one of the given values. Condition Value Type = [Field Type]\n - **nin** - Field value is different than all given values. Condition Value Type = [Field Type]\n - **exists** - Field does exists. Condition does not have value and has form *fieldName operator*\n - **notexists** - Field does not exists. Condition does not have value and has form *fieldName operator*\n - **gt** - Field value is greater than given value. Condition Value Type = Field Type\n - **gte** - Field value is greater or equal to given value. Condition Value Type = Field Type\n - **lt** - Field value is lower than given value. Condition Value Type = Field Type\n - **lte** - Field value is lower or equal to given value. Condition Value Type = Field Type\n - **contains** - Field value contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **notcontains** - Field value not contains the given value. Applicable only to collection fields. Condition Value Type = Field Item Type\n - **containsany** - Field value contains any of the given values. Applicable only to collection fields. Condition Value Type = Field Type\n - **strcontains** - Field value contains given substring. Applicable only to string fields. Condition Value Type = string\n - **matches** - Field value matches given regular expression. Applicable only to string fields. Condition Value Type = string\n - **startswith** - Field value starts with given string. Applicable only to string fields. Condition Value Type = string\n - **endswith** - Field value ends with given string. Applicable only to string fields. Condition Value Type = string\n\n ## Examples:\n - *someStringField eq 'string'*\n - *someDateCollection containsany ['2012-09-01T08:51:23.180Z', '2012-09-02T08:51:23.180Z']*\n - *someMapField.keyName eq 'value'*\n - *someBooleanField eq true*\n ",
+ "default": ""
+ }
+ }
+ ],
+ "requestBody": {
+ "description": "\nPipeline request body can contain an arbitrary JSON object, i.e.\n
\n{\n \"stringKey\": \"stringValue\",\n \"booleanKey\": true,\n \"numberKey\": 1,\n \"arrayKey\": [1, 2, 3],\n \"objectKey\": {\n \"nestedStringKey\": \"nestedStringValue\",\n \"nestedNumber\": 2\n }\n}\n\nThe pipeline author decides on request body schema, required fields and their meaning.\n",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "example": "string"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "408": {
+ "description": "Request Timeout",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "entity not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "request forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "413": {
+ "description": "Payload Too Large",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PipelineResultDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "servers": [
+ {
+ "url": "https://platform-master-cluster.avsystem.in:8087/api/platform/v3"
+ }
+ ],
+ "components": {
+ "schemas": {
+ "AuthenticationResult": {
+ "type": "object",
+ "properties": {
+ "authenticated": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "authenticated"
+ ]
+ },
+ "CRLinkResult": {
+ "type": "object",
+ "properties": {
+ "stage": {
+ "type": "string",
+ "enum": [
+ "InputValidation",
+ "JoinRequestStarted",
+ "JoinRequestFinished",
+ "JoinRequestFailed",
+ "LinkStarted",
+ "LinkInitializing",
+ "LinkWaitingForConnector",
+ "LinkConfiguring",
+ "LinkProvisioning",
+ "LinkFinished",
+ "LinkFailed",
+ "LinkDisposed"
+ ]
+ },
+ "error": {
+ "type": "string"
+ },
+ "joinRequestError": {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "IncorrectSmsConfiguration",
+ "WapPushRejected",
+ "PipelineExecutionFailed",
+ "PipelineError",
+ "PipelineNotExists",
+ "UspNoResponse",
+ "SnmpResponseFail",
+ "StunCannotSend",
+ "XmppTimeout",
+ "XmppError",
+ "XmppDisabled",
+ "XmppErrorResponse",
+ "XmppNotConnected",
+ "XmppUserNotFound",
+ "XmppUnauthorized",
+ "HttpUnauthorized",
+ "HttpResponseError",
+ "HttpConnectionError",
+ "HttpOtherError",
+ "HttpTimeout",
+ "CwmpEmptySecrets",
+ "UdpErrorOther",
+ "UdpBrokenAddress",
+ "UdpAddressNotPresent",
+ "UdpStunSetupFailure",
+ "UdpStunSetupNotExecuted",
+ "SshError",
+ "UdpNoApplicableNode"
+ ]
+ }
+ },
+ "required": [
+ "stage"
+ ]
+ },
+ "CreateOrUpdateAssetDTO": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ },
+ "directClusters": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true,
+ "default": []
+ },
+ "addClusters": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "removeClusters": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "addProperties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {}
+ },
+ "removeProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "properties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {}
+ },
+ "restricted": {
+ "type": "boolean",
+ "default": false
+ },
+ "onboardingActive": {
+ "type": "boolean",
+ "default": true
+ },
+ "lastLinkTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "lastEmptyLinkTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "lastProvisionTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "lastRebootTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "networkAddress": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "registrationCode": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "vendorPrefix": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "variant": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "firmwareRevision": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "appRevision": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "category": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "vendor": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "description": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "SchemaParameter": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "updateTime": {
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "name",
+ "value",
+ "type",
+ "updateTime"
+ ]
+ },
+ "AssetDTO": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ },
+ "directClusters": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true,
+ "default": []
+ },
+ "properties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {}
+ },
+ "restricted": {
+ "type": "boolean",
+ "default": false
+ },
+ "onboardingActive": {
+ "type": "boolean",
+ "default": true
+ },
+ "lastLinkTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "lastEmptyLinkTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "lastProvisionTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "lastRebootTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "lastUnauthorizedTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "networkAddress": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "registrationCode": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "vendorPrefix": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "variant": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "firmwareRevision": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "appRevision": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "category": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "vendor": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "description": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "AssetIdDTO": {
+ "type": "string",
+ "title": "AssetId"
+ },
+ "AssetUpdate": {
+ "type": "object",
+ "properties": {
+ "addProperties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {}
+ },
+ "removeProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "addClusters": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "removeClusters": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "restricted": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ },
+ "onboardingActive": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ },
+ "lastLinkTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "lastProvisionTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "lastRebootTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "networkAddress": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "registrationCode": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "vendorPrefix": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "variant": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "firmwareRevision": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "appRevision": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "category": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "vendor": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "description": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ }
+ }
+ },
+ "WorkspaceDTO": {
+ "type": "object",
+ "title": "Workspace",
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "id",
+ "description"
+ ]
+ },
+ "WorkspaceIdDTO": {
+ "type": "string",
+ "title": "WorkspaceId"
+ },
+ "WorkspaceStatisticsDTO": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ },
+ "assets": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "users": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "lastGuiActivityTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ }
+ },
+ "required": [
+ "id",
+ "assets",
+ "users",
+ "lastGuiActivityTime"
+ ]
+ },
+ "ExistenceResult": {
+ "type": "object",
+ "properties": {
+ "assetExists": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "assetExists"
+ ]
+ },
+ "ClusterJoinRequestDTO": {
+ "type": "object",
+ "properties": {
+ "clusterId": {
+ "$ref": "#/components/schemas/ClusterId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "minimumInterval": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "speed": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true
+ },
+ "active": {
+ "type": "boolean"
+ },
+ "appliesToSubclusters": {
+ "type": "boolean"
+ },
+ "continuous": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "workspace": {
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "clusterId",
+ "name",
+ "minimumInterval",
+ "speed",
+ "startTime",
+ "endTime",
+ "active",
+ "appliesToSubclusters",
+ "continuous"
+ ]
+ },
+ "ClusterJoinRequestUpdate": {
+ "type": "object",
+ "properties": {
+ "minimumInterval": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true,
+ "default": null
+ },
+ "speed": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true,
+ "default": null
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "active": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ },
+ "appliesToSubclusters": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ },
+ "continuous": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ },
+ "workspace": {
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ }
+ ],
+ "default": null
+ }
+ }
+ },
+ "ClusterDTO": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/ClusterId"
+ },
+ "workspace": {
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ }
+ ],
+ "default": null
+ },
+ "description": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "isRemovalDisabled": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "ClusterId": {
+ "type": "string"
+ },
+ "IpUpdate": {
+ "type": "object",
+ "properties": {
+ "macAddress": {
+ "type": "string"
+ },
+ "networkAddress": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "macAddress",
+ "networkAddress"
+ ]
+ },
+ "MonitoredArtifactConfiguration": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "type": "string"
+ },
+ "artifactType": {
+ "type": "string",
+ "enum": [
+ "Textual",
+ "Numerical"
+ ]
+ },
+ "source": {
+ "$ref": "#/components/schemas/ArtifactSource"
+ },
+ "storeMetrics": {
+ "type": "boolean"
+ },
+ "storeSummarys": {
+ "type": "boolean"
+ },
+ "isPassive": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "displayName",
+ "artifactType",
+ "source",
+ "storeMetrics",
+ "storeSummarys",
+ "isPassive"
+ ]
+ },
+ "TrackingConfigurationDTO": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "targetClusters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClusterId"
+ },
+ "uniqueItems": true
+ },
+ "artifactsConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MonitoredArtifactConfiguration"
+ }
+ },
+ "collectionIntervalSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "default": 60
+ },
+ "description": {
+ "type": "string",
+ "default": ""
+ },
+ "isActive": {
+ "type": "boolean",
+ "default": true
+ },
+ "runCondition": {
+ "type": "string",
+ "default": ""
+ },
+ "excludeClustersRegexPatterns": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true,
+ "default": []
+ }
+ },
+ "required": [
+ "name",
+ "targetClusters",
+ "artifactsConfigurations"
+ ]
+ },
+ "TrackingConfigurationUpdate": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "collectionIntervalSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true,
+ "default": null
+ },
+ "addTargetClusters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClusterId"
+ },
+ "uniqueItems": true,
+ "default": []
+ },
+ "removeTargetClusters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ClusterId"
+ },
+ "uniqueItems": true,
+ "default": []
+ },
+ "removeArtifactsConfigurations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true,
+ "default": []
+ },
+ "addArtifactsConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MonitoredArtifactConfiguration"
+ },
+ "default": []
+ },
+ "description": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "isActive": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ },
+ "runCondition": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "addExcludedClustersPatterns": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true,
+ "default": []
+ },
+ "removeExcludedClustersPatterns": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true,
+ "default": []
+ }
+ }
+ },
+ "TrackingMetric": {
+ "type": "object",
+ "properties": {
+ "date": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "numericArtifacts": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ }
+ },
+ "textualArtifacts": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "booleanArtifacts": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "default": {}
+ }
+ },
+ "required": [
+ "date",
+ "numericArtifacts",
+ "textualArtifacts"
+ ]
+ },
+ "NumericalSummary": {
+ "type": "object",
+ "properties": {
+ "bucketStart": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "bucketEnd": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "sum": {
+ "type": "number",
+ "format": "double"
+ },
+ "sqrSum": {
+ "type": "number",
+ "format": "double"
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "required": [
+ "bucketStart",
+ "bucketEnd",
+ "sum",
+ "sqrSum",
+ "count"
+ ]
+ },
+ "AttributeServiceConfig": {
+ "type": "object",
+ "properties": {
+ "multiShot": {
+ "type": "boolean"
+ },
+ "workspace": {
+ "type": "string",
+ "default": "/"
+ },
+ "enabled": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ },
+ "properties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {}
+ }
+ },
+ "required": [
+ "multiShot"
+ ]
+ },
+ "AttributeServiceDTO": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "multiShot": {
+ "type": "boolean"
+ },
+ "isApplied": {
+ "type": "boolean"
+ },
+ "workspace": {
+ "type": "string",
+ "default": "/"
+ },
+ "matchedAssetId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "properties",
+ "multiShot",
+ "isApplied",
+ "matchedAssetId"
+ ]
+ },
+ "AttributeServiceUpdate": {
+ "type": "object",
+ "properties": {
+ "multiShot": {
+ "type": "boolean"
+ },
+ "workspace": {
+ "type": "string",
+ "default": "/"
+ },
+ "enabled": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ },
+ "add": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {}
+ },
+ "remove": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true,
+ "default": []
+ }
+ },
+ "required": [
+ "multiShot"
+ ]
+ },
+ "RawTaskOutcomeId": {
+ "type": "string"
+ },
+ "ArtifactDTO": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "name": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "description": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "category": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "filename": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "fileSize": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true,
+ "default": null
+ },
+ "asset": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "fileType": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "username": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "password": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "location": {
+ "type": "string",
+ "nullable": true,
+ "enum": [
+ null,
+ "INTERNAL",
+ "EXTERNAL"
+ ],
+ "default": null
+ },
+ "addDate": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "default": null
+ },
+ "workspace": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "dataId": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "properties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {}
+ },
+ "directClusters": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true,
+ "default": []
+ },
+ "isStaticContent": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ },
+ "expressionAlias": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "expires": {
+ "type": "boolean",
+ "default": false
+ }
+ },
+ "example": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"category\": \"UNKNOWN\",\n \"filename\": \"filename\",\n \"fileSize\": 0,\n \"asset\": \"assetId\",\n \"fileType\": \"fileType\",\n \"username\": \"username\",\n \"password\": \"password\",\n \"location\": \"INTERNAL\",\n \"workspace\": \"/\",\n \"dataId\": \"dataId\",\n \"properties\": {\n \"additionalProp1\": \"value1\",\n \"additionalProp2\": \"value2\",\n \"additionalProp3\": \"value3\"\n },\n \"directClusters\": [\n \"cluster\"\n ],\n \"isStaticContent\": false,\n \"expressionAlias\": \"expressionAlias\",\n \"expires\": false\n}"
+ },
+ "ArtifactId": {
+ "type": "string",
+ "title": "ArtifactId"
+ },
+ "ArtifactSource": {
+ "type": "object",
+ "oneOf": [
+ {
+ "type": "object",
+ "properties": {
+ "SchemaSource": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "key"
+ ]
+ }
+ },
+ "required": [
+ "SchemaSource"
+ ]
+ },
+ {
+ "type": "object",
+ "properties": {
+ "PreferenceValueSource": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ },
+ "required": [
+ "PreferenceValueSource"
+ ]
+ }
+ ]
+ },
+ "MetricBatch": {
+ "type": "object",
+ "properties": {
+ "batch": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TrackingMetric"
+ }
+ },
+ "nextCursor": {
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/MetricCursor"
+ }
+ ]
+ }
+ },
+ "required": [
+ "batch",
+ "nextCursor"
+ ]
+ },
+ "MetricCursor": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "AccessPolicyId": {
+ "type": "string"
+ },
+ "PreferenceValueDTO": {
+ "type": "object",
+ "properties": {
+ "clusterId": {
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ClusterId"
+ }
+ ],
+ "default": null
+ },
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "locked": {
+ "type": "boolean",
+ "default": false
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ },
+ "Successful": {
+ "type": "object",
+ "properties": {
+ "result": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "result"
+ ]
+ },
+ "TaskWebhook": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "uri",
+ "name"
+ ]
+ },
+ "TaskConfig": {
+ "type": "object",
+ "properties": {
+ "taskName": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TaskParameter"
+ },
+ "default": []
+ },
+ "isActive": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ }
+ }
+ },
+ "TaskDTO": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/TaskId"
+ },
+ "config": {
+ "$ref": "#/components/schemas/TaskConfig"
+ }
+ },
+ "required": [
+ "id",
+ "config"
+ ]
+ },
+ "TaskId": {
+ "type": "string"
+ },
+ "TaskParameter": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ },
+ "TaskOutcomeDTO": {
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "$ref": "#/components/schemas/TaskId"
+ },
+ "assetId": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "finishTime": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "status": {
+ "$ref": "#/components/schemas/TaskStatus"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "blocking": {
+ "type": "boolean"
+ },
+ "properties": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TaskParameter"
+ }
+ },
+ "response": {
+ "example": "string"
+ }
+ },
+ "required": [
+ "taskId",
+ "assetId",
+ "startTime",
+ "finishTime",
+ "lastUpdateTime",
+ "status",
+ "summary",
+ "blocking",
+ "properties"
+ ]
+ },
+ "TaskOutcomeId": {
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "$ref": "#/components/schemas/TaskId"
+ },
+ "assetId": {
+ "$ref": "#/components/schemas/AssetIdDTO"
+ }
+ },
+ "required": [
+ "taskId",
+ "assetId"
+ ]
+ },
+ "TaskStatus": {
+ "type": "string",
+ "enum": [
+ "InProgress",
+ "Success",
+ "Warning",
+ "Error",
+ "NotStarted"
+ ]
+ },
+ "TaskBlueprintInvocation": {
+ "type": "object",
+ "properties": {
+ "blueprintName": {
+ "type": "string"
+ },
+ "config": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/TaskConfig"
+ }
+ ],
+ "default": {
+ "taskName": null,
+ "parameters": [],
+ "isActive": null
+ }
+ },
+ "webhook": {
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/TaskWebhook"
+ }
+ ],
+ "default": null
+ }
+ },
+ "required": [
+ "blueprintName"
+ ]
+ },
+ "TextualSummary": {
+ "type": "object",
+ "properties": {
+ "bucketStart": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "bucketEnd": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "values": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ }
+ }
+ },
+ "required": [
+ "bucketStart",
+ "bucketEnd",
+ "values"
+ ]
+ },
+ "UserDto": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "username": {
+ "type": "string"
+ },
+ "active": {
+ "type": "boolean"
+ },
+ "administrator": {
+ "type": "boolean"
+ },
+ "operator": {
+ "type": "boolean"
+ },
+ "workspace": {
+ "$ref": "#/components/schemas/WorkspaceIdDTO"
+ },
+ "accessSchedule": {
+ "type": "string"
+ },
+ "accessPolicyId": {
+ "$ref": "#/components/schemas/AccessPolicyId"
+ },
+ "expirationDate": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "creationDate": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ },
+ "fullName": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "properties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {}
+ }
+ },
+ "required": [
+ "userId",
+ "username",
+ "active",
+ "administrator",
+ "operator",
+ "workspace",
+ "accessSchedule",
+ "accessPolicyId",
+ "expirationDate",
+ "creationDate",
+ "roles"
+ ]
+ },
+ "UserId": {
+ "type": "string"
+ },
+ "PipelineResultDTO": {
+ "type": "object",
+ "properties": {
+ "date": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "response": {
+ "example": "string"
+ }
+ },
+ "required": [
+ "date",
+ "status",
+ "response"
+ ]
+ }
+ },
+ "securitySchemes": {
+ "Bearer": {
+ "type": "http",
+ "scheme": "bearer"
+ },
+ "auth": {
+ "type": "oauth2",
+ "flows": {
+ "password": {
+ "scopes": {},
+ "tokenUrl": "https://platform-master-cluster.avsystem.in:8087/api/auth/oauth_password"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "Bearer": []
+ }
+ ]
+}
\ No newline at end of file