{
  "components": {
    "schemas": {
      "AcknowledgeBatchRequest": {
        "additionalProperties": false,
        "properties": {
          "note": {
            "nullable": true,
            "type": "string"
          },
          "publicIds": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "AcknowledgeBatchResult": {
        "additionalProperties": false,
        "properties": {
          "acknowledged": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "alreadyHandled": {
            "items": {
              "$ref": "#/components/schemas/AlreadyHandled"
            },
            "type": "array"
          },
          "notFound": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "acknowledged",
          "alreadyHandled",
          "notFound"
        ],
        "type": "object"
      },
      "AlreadyHandled": {
        "additionalProperties": false,
        "properties": {
          "by": {
            "nullable": true,
            "type": "string"
          },
          "publicId": {
            "type": "string"
          },
          "status": {
            "enum": [
              "New",
              "Acknowledged",
              "Resolved"
            ],
            "type": "string"
          }
        },
        "required": [
          "publicId",
          "status",
          "by"
        ],
        "type": "object"
      },
      "AnalyticsCoverage": {
        "additionalProperties": false,
        "properties": {
          "expectedBuckets": {
            "format": "int32",
            "type": "integer"
          },
          "presentBuckets": {
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "expectedBuckets",
          "presentBuckets"
        ],
        "type": "object"
      },
      "AnalyticsTotals": {
        "additionalProperties": false,
        "properties": {
          "averageConfidence": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "detections": {
            "format": "int64",
            "type": "integer"
          },
          "distinctTracks": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "framesWithClass": {
            "format": "int64",
            "type": "integer"
          },
          "maxConfidence": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "detections",
          "framesWithClass",
          "distinctTracks",
          "averageConfidence",
          "maxConfidence"
        ],
        "type": "object"
      },
      "ApiProblemBody": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "detail": {
            "nullable": true,
            "type": "string"
          },
          "status": {
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "title",
          "status",
          "code",
          "detail"
        ],
        "type": "object"
      },
      "ApiValidationProblemBody": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "errors": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "type": "object"
          },
          "status": {
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "title",
          "status",
          "code",
          "detail",
          "errors"
        ],
        "type": "object"
      },
      "ApplianceHealth": {
        "additionalProperties": false,
        "properties": {
          "device": {
            "$ref": "#/components/schemas/DeviceMetricsSnapshot"
          },
          "platform": {
            "$ref": "#/components/schemas/DevicePlatform"
          },
          "services": {
            "items": {
              "$ref": "#/components/schemas/ServiceReading"
            },
            "type": "array"
          },
          "usage": {
            "$ref": "#/components/schemas/ResourceUsage"
          }
        },
        "required": [
          "platform",
          "device",
          "usage",
          "services"
        ],
        "type": "object"
      },
      "ApplianceIdentity": {
        "additionalProperties": false,
        "properties": {
          "deviceId": {
            "type": "string"
          }
        },
        "required": [
          "deviceId"
        ],
        "type": "object"
      },
      "Assignment": {
        "additionalProperties": false,
        "properties": {
          "assignedUtc": {
            "format": "date-time",
            "type": "string"
          },
          "cameraId": {
            "type": "string"
          },
          "classFilter": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "confidenceThreshold": {
            "format": "double",
            "type": "number"
          },
          "modelDisplayName": {
            "type": "string"
          },
          "modelId": {
            "type": "string"
          },
          "modelState": {
            "enum": [
              "Registered",
              "Building",
              "Ready",
              "Incompatible",
              "Failed"
            ],
            "type": "string"
          },
          "rowVersion": {
            "format": "int64",
            "type": "integer"
          },
          "trackingEnabled": {
            "type": "boolean"
          }
        },
        "required": [
          "cameraId",
          "modelId",
          "modelDisplayName",
          "modelState",
          "confidenceThreshold",
          "classFilter",
          "trackingEnabled",
          "assignedUtc",
          "rowVersion"
        ],
        "type": "object"
      },
      "AssignmentAccepted": {
        "additionalProperties": false,
        "properties": {
          "assignment": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Assignment"
              }
            ]
          },
          "inference": {
            "$ref": "#/components/schemas/InferenceStatus"
          },
          "reload": {
            "$ref": "#/components/schemas/ReloadOutcome"
          }
        },
        "required": [
          "assignment",
          "reload",
          "inference"
        ],
        "type": "object"
      },
      "AssignmentRequest": {
        "additionalProperties": false,
        "properties": {
          "classFilter": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "confidenceThreshold": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "modelId": {
            "nullable": true,
            "type": "string"
          },
          "trackingEnabled": {
            "nullable": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "AuditPage": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/AuditRow"
            },
            "type": "array"
          },
          "nextCursor": {
            "nullable": true,
            "type": "string"
          },
          "page": {
            "format": "int32",
            "type": "integer"
          },
          "pageSize": {
            "format": "int32",
            "type": "integer"
          },
          "total": {
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total",
          "nextCursor",
          "page",
          "pageSize"
        ],
        "type": "object"
      },
      "AuditRow": {
        "additionalProperties": false,
        "properties": {
          "action": {
            "type": "string"
          },
          "actorRole": {
            "nullable": true,
            "type": "string"
          },
          "actorUsername": {
            "nullable": true,
            "type": "string"
          },
          "detail": {
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "occurredUtc": {
            "format": "date-time",
            "type": "string"
          },
          "outcome": {
            "enum": [
              "Success",
              "Denied",
              "Failed"
            ],
            "type": "string"
          },
          "sourceIp": {
            "nullable": true,
            "type": "string"
          },
          "subjectId": {
            "nullable": true,
            "type": "string"
          },
          "subjectType": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "occurredUtc",
          "actorUsername",
          "actorRole",
          "action",
          "subjectType",
          "subjectId",
          "outcome",
          "detail",
          "sourceIp"
        ],
        "type": "object"
      },
      "BuildOutput": {
        "additionalProperties": false,
        "properties": {
          "lines": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "modelId": {
            "type": "string"
          }
        },
        "required": [
          "modelId",
          "lines"
        ],
        "type": "object"
      },
      "CameraCreateRequest": {
        "additionalProperties": false,
        "properties": {
          "aiEnabled": {
            "nullable": true,
            "type": "boolean"
          },
          "description": {
            "nullable": true,
            "type": "string"
          },
          "expectedFps": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "expectedHeight": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "expectedWidth": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "hasSubstream": {
            "nullable": true,
            "type": "boolean"
          },
          "host": {
            "nullable": true,
            "type": "string"
          },
          "id": {
            "nullable": true,
            "type": "string"
          },
          "isEnabled": {
            "nullable": true,
            "type": "boolean"
          },
          "mediaPath": {
            "nullable": true,
            "type": "string"
          },
          "name": {
            "nullable": true,
            "type": "string"
          },
          "port": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "protocol": {
            "nullable": true,
            "type": "string"
          },
          "site": {
            "nullable": true,
            "type": "string"
          },
          "sortOrder": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "streamPath": {
            "nullable": true,
            "type": "string"
          },
          "substreamPath": {
            "nullable": true,
            "type": "string"
          },
          "transport": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CameraCredentialRequest": {
        "additionalProperties": false,
        "properties": {
          "password": {
            "nullable": true,
            "type": "string"
          },
          "username": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CameraDetail": {
        "additionalProperties": false,
        "properties": {
          "aiEnabled": {
            "type": "boolean"
          },
          "createdUtc": {
            "format": "date-time",
            "type": "string"
          },
          "credentialsUpdatedUtc": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "description": {
            "nullable": true,
            "type": "string"
          },
          "expectedFps": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "expectedHeight": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "expectedWidth": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "hasCredentials": {
            "type": "boolean"
          },
          "host": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "lastEventUtc": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "lastStateChangedUtc": {
            "format": "date-time",
            "type": "string"
          },
          "mediaPath": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "observedFps": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "observedHeight": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "observedWidth": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "port": {
            "format": "int32",
            "type": "integer"
          },
          "protocol": {
            "type": "string"
          },
          "rowVersion": {
            "format": "int64",
            "type": "integer"
          },
          "site": {
            "nullable": true,
            "type": "string"
          },
          "sortOrder": {
            "format": "int32",
            "type": "integer"
          },
          "state": {
            "enum": [
              "Disabled",
              "Connecting",
              "Online",
              "Offline",
              "AuthenticationError",
              "StreamError",
              "InferenceError",
              "Idle"
            ],
            "type": "string"
          },
          "stateDetail": {
            "nullable": true,
            "type": "string"
          },
          "streamPath": {
            "type": "string"
          },
          "substreamPath": {
            "nullable": true,
            "type": "string"
          },
          "transport": {
            "type": "string"
          },
          "updatedUtc": {
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "site",
          "protocol",
          "host",
          "port",
          "streamPath",
          "transport",
          "mediaPath",
          "substreamPath",
          "isEnabled",
          "aiEnabled",
          "expectedWidth",
          "expectedHeight",
          "expectedFps",
          "observedWidth",
          "observedHeight",
          "observedFps",
          "state",
          "stateDetail",
          "lastStateChangedUtc",
          "lastEventUtc",
          "sortOrder",
          "createdUtc",
          "updatedUtc",
          "hasCredentials",
          "credentialsUpdatedUtc",
          "rowVersion"
        ],
        "type": "object"
      },
      "CameraEventCount": {
        "additionalProperties": false,
        "properties": {
          "camera": {
            "nullable": true,
            "type": "string"
          },
          "cameraId": {
            "nullable": true,
            "type": "string"
          },
          "count": {
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "cameraId",
          "camera",
          "count"
        ],
        "type": "object"
      },
      "CameraLeftOut": {
        "additionalProperties": false,
        "properties": {
          "cameraId": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          }
        },
        "required": [
          "cameraId",
          "reason"
        ],
        "type": "object"
      },
      "CameraPatchRequest": {
        "additionalProperties": false,
        "properties": {
          "aiEnabled": {
            "nullable": true,
            "type": "boolean"
          },
          "description": {
            "nullable": true,
            "type": "string"
          },
          "expectedFps": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "expectedHeight": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "expectedWidth": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "hasSubstream": {
            "nullable": true,
            "type": "boolean"
          },
          "host": {
            "nullable": true,
            "type": "string"
          },
          "isEnabled": {
            "nullable": true,
            "type": "boolean"
          },
          "mediaPath": {
            "nullable": true,
            "type": "string"
          },
          "name": {
            "nullable": true,
            "type": "string"
          },
          "port": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "protocol": {
            "nullable": true,
            "type": "string"
          },
          "site": {
            "nullable": true,
            "type": "string"
          },
          "sortOrder": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "streamPath": {
            "nullable": true,
            "type": "string"
          },
          "substreamPath": {
            "nullable": true,
            "type": "string"
          },
          "transport": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CameraSummary": {
        "additionalProperties": false,
        "properties": {
          "aiEnabled": {
            "type": "boolean"
          },
          "classFilter": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "confidenceThreshold": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "expectedFps": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "expectedHeight": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "expectedWidth": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "hasCredentials": {
            "type": "boolean"
          },
          "host": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "lastStateChangedUtc": {
            "format": "date-time",
            "type": "string"
          },
          "mediaPath": {
            "type": "string"
          },
          "modelName": {
            "nullable": true,
            "type": "string"
          },
          "modelTask": {
            "nullable": true,
            "type": "string"
          },
          "modelVersion": {
            "nullable": true,
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "observedFps": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "observedHeight": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "observedWidth": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "port": {
            "format": "int32",
            "type": "integer"
          },
          "protocol": {
            "type": "string"
          },
          "rowVersion": {
            "format": "int64",
            "type": "integer"
          },
          "site": {
            "nullable": true,
            "type": "string"
          },
          "sortOrder": {
            "format": "int32",
            "type": "integer"
          },
          "state": {
            "enum": [
              "Disabled",
              "Connecting",
              "Online",
              "Offline",
              "AuthenticationError",
              "StreamError",
              "InferenceError",
              "Idle"
            ],
            "type": "string"
          },
          "stateDetail": {
            "nullable": true,
            "type": "string"
          },
          "streamPath": {
            "type": "string"
          },
          "transport": {
            "type": "string"
          },
          "videoPlane": {
            "enum": [
              "Serving",
              "Stalled",
              "Absent",
              "Unknown",
              null
            ],
            "nullable": true,
            "type": "string"
          },
          "videoPlaneObservedUtc": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "site",
          "host",
          "port",
          "isEnabled",
          "aiEnabled",
          "state",
          "stateDetail",
          "lastStateChangedUtc",
          "sortOrder",
          "hasCredentials",
          "mediaPath",
          "confidenceThreshold",
          "classFilter",
          "videoPlane",
          "videoPlaneObservedUtc",
          "protocol",
          "streamPath",
          "transport",
          "expectedWidth",
          "expectedHeight",
          "expectedFps",
          "observedWidth",
          "observedHeight",
          "observedFps",
          "modelName",
          "modelTask",
          "modelVersion",
          "rowVersion"
        ],
        "type": "object"
      },
      "CameraSummaryList": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/CameraSummary"
            },
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "CameraSwitchResult": {
        "additionalProperties": false,
        "properties": {
          "camera": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CameraDetail"
              }
            ]
          },
          "reload": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/InferenceStatus"
              }
            ]
          }
        },
        "required": [
          "camera",
          "reload"
        ],
        "type": "object"
      },
      "CameraTestResult": {
        "additionalProperties": false,
        "properties": {
          "detail": {
            "type": "string"
          },
          "hasCredentials": {
            "type": "boolean"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status",
          "detail",
          "hasCredentials"
        ],
        "type": "object"
      },
      "CameraTotals": {
        "additionalProperties": false,
        "properties": {
          "cameraId": {
            "type": "string"
          },
          "totals": {
            "$ref": "#/components/schemas/AnalyticsTotals"
          }
        },
        "required": [
          "cameraId",
          "totals"
        ],
        "type": "object"
      },
      "ClassTotals": {
        "additionalProperties": false,
        "properties": {
          "objectClass": {
            "type": "string"
          },
          "totals": {
            "$ref": "#/components/schemas/AnalyticsTotals"
          }
        },
        "required": [
          "objectClass",
          "totals"
        ],
        "type": "object"
      },
      "CreateShelfRequest": {
        "additionalProperties": false,
        "properties": {
          "eventPublicId": {
            "nullable": true,
            "type": "string"
          },
          "minutes": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "scope": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CreateUserRequest": {
        "additionalProperties": false,
        "properties": {
          "displayName": {
            "nullable": true,
            "type": "string"
          },
          "password": {
            "nullable": true,
            "type": "string"
          },
          "role": {
            "nullable": true,
            "type": "string"
          },
          "username": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CurrentUser": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int32",
            "type": "integer"
          },
          "role": {
            "enum": [
              "Administrator",
              "Engineer",
              "Operator",
              null
            ],
            "nullable": true,
            "type": "string"
          },
          "username": {
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "username",
          "role"
        ],
        "type": "object"
      },
      "DetectionBucket": {
        "additionalProperties": false,
        "properties": {
          "averageConfidence": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "bucketStart": {
            "type": "string"
          },
          "cameraId": {
            "type": "string"
          },
          "detections": {
            "format": "int64",
            "type": "integer"
          },
          "distinctTracks": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "framesWithClass": {
            "format": "int64",
            "type": "integer"
          },
          "maxConfidence": {
            "format": "double",
            "type": "number"
          },
          "objectClass": {
            "type": "string"
          }
        },
        "required": [
          "bucketStart",
          "cameraId",
          "objectClass",
          "detections",
          "framesWithClass",
          "distinctTracks",
          "averageConfidence",
          "maxConfidence"
        ],
        "type": "object"
      },
      "DetectionSeries": {
        "additionalProperties": false,
        "properties": {
          "bucket": {
            "type": "string"
          },
          "cameraId": {
            "nullable": true,
            "type": "string"
          },
          "coverage": {
            "$ref": "#/components/schemas/AnalyticsCoverage"
          },
          "from": {
            "type": "string"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/DetectionBucket"
            },
            "type": "array"
          },
          "objectClass": {
            "nullable": true,
            "type": "string"
          },
          "to": {
            "type": "string"
          },
          "totals": {
            "$ref": "#/components/schemas/AnalyticsTotals"
          }
        },
        "required": [
          "from",
          "to",
          "bucket",
          "cameraId",
          "objectClass",
          "coverage",
          "items",
          "totals"
        ],
        "type": "object"
      },
      "DetectionSummary": {
        "additionalProperties": false,
        "properties": {
          "bucket": {
            "type": "string"
          },
          "byCamera": {
            "items": {
              "$ref": "#/components/schemas/CameraTotals"
            },
            "type": "array"
          },
          "byClass": {
            "items": {
              "$ref": "#/components/schemas/ClassTotals"
            },
            "type": "array"
          },
          "coverage": {
            "$ref": "#/components/schemas/AnalyticsCoverage"
          },
          "from": {
            "type": "string"
          },
          "to": {
            "type": "string"
          },
          "totals": {
            "$ref": "#/components/schemas/AnalyticsTotals"
          }
        },
        "required": [
          "from",
          "to",
          "bucket",
          "coverage",
          "totals",
          "byClass",
          "byCamera"
        ],
        "type": "object"
      },
      "DeviceMetricsSnapshot": {
        "additionalProperties": false,
        "properties": {
          "cpuPercent": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "diskFreeBytes": {
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "diskTotalBytes": {
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "diskUsedPercent": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "gpuFrequencyHz": {
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "gpuPercent": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "loadAverage1": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "memoryAvailableKb": {
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "memoryTotalKb": {
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "memoryUsedPercent": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "observedUtc": {
            "format": "date-time",
            "type": "string"
          },
          "swapFreeKb": {
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "swapTotalKb": {
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "swapUsedPercent": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "temperatureCelsius": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "temperatureZone": {
            "nullable": true,
            "type": "string"
          },
          "uptimeSeconds": {
            "format": "double",
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "observedUtc",
          "cpuPercent",
          "loadAverage1",
          "gpuPercent",
          "gpuFrequencyHz",
          "memoryTotalKb",
          "memoryAvailableKb",
          "swapTotalKb",
          "swapFreeKb",
          "temperatureCelsius",
          "temperatureZone",
          "diskTotalBytes",
          "diskFreeBytes",
          "uptimeSeconds",
          "memoryUsedPercent",
          "swapUsedPercent",
          "diskUsedPercent"
        ],
        "type": "object"
      },
      "DevicePlatform": {
        "additionalProperties": false,
        "properties": {
          "coreCount": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "l4tRelease": {
            "nullable": true,
            "type": "string"
          },
          "memoryTotalKb": {
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "model": {
            "nullable": true,
            "type": "string"
          },
          "socFamily": {
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "model",
          "socFamily",
          "l4tRelease",
          "coreCount",
          "memoryTotalKb"
        ],
        "type": "object"
      },
      "EngineRefusedProblem": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "nullable": true,
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "expectedChecksum": {
            "nullable": true,
            "type": "string"
          },
          "foundChecksum": {
            "nullable": true,
            "type": "string"
          },
          "mismatches": {
            "items": {
              "$ref": "#/components/schemas/FingerprintMismatch"
            },
            "type": "array"
          },
          "modelId": {
            "type": "string"
          },
          "status": {
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "title",
          "status",
          "code",
          "detail",
          "modelId",
          "mismatches",
          "expectedChecksum",
          "foundChecksum"
        ],
        "type": "object"
      },
      "EngineVerified": {
        "additionalProperties": false,
        "properties": {
          "detail": {
            "type": "string"
          },
          "engineChecksum": {
            "nullable": true,
            "type": "string"
          },
          "modelId": {
            "type": "string"
          },
          "ok": {
            "type": "boolean"
          },
          "recordedChecksum": {
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "ok",
          "modelId",
          "detail",
          "engineChecksum",
          "recordedChecksum"
        ],
        "type": "object"
      },
      "EventDetail": {
        "additionalProperties": false,
        "properties": {
          "bboxJson": {
            "nullable": true,
            "type": "string"
          },
          "event": {
            "$ref": "#/components/schemas/EventSummary"
          },
          "frameId": {
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "modelId": {
            "nullable": true,
            "type": "string"
          },
          "transitions": {
            "items": {
              "$ref": "#/components/schemas/EventTransition"
            },
            "type": "array"
          }
        },
        "required": [
          "event",
          "bboxJson",
          "frameId",
          "modelId",
          "transitions"
        ],
        "type": "object"
      },
      "EventKind": {
        "additionalProperties": false,
        "properties": {
          "kind": {
            "type": "string"
          },
          "seen": {
            "type": "boolean"
          },
          "source": {
            "enum": [
              "Detection",
              "Health"
            ],
            "type": "string"
          },
          "unmonitored": {
            "type": "boolean"
          }
        },
        "required": [
          "kind",
          "source",
          "seen",
          "unmonitored"
        ],
        "type": "object"
      },
      "EventPage": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/EventSummary"
            },
            "type": "array"
          },
          "page": {
            "format": "int32",
            "type": "integer"
          },
          "pageSize": {
            "format": "int32",
            "type": "integer"
          },
          "total": {
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total",
          "page",
          "pageSize"
        ],
        "type": "object"
      },
      "EventStateConflictProblem": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "current": {
            "$ref": "#/components/schemas/EventSummary"
          },
          "detail": {
            "type": "string"
          },
          "status": {
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "title",
          "status",
          "code",
          "detail",
          "current"
        ],
        "type": "object"
      },
      "EventSummary": {
        "additionalProperties": false,
        "properties": {
          "acknowledgedBy": {
            "nullable": true,
            "type": "string"
          },
          "acknowledgedUtc": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "autoResolved": {
            "type": "boolean"
          },
          "cameraId": {
            "nullable": true,
            "type": "string"
          },
          "cameraName": {
            "nullable": true,
            "type": "string"
          },
          "confidence": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "description": {
            "nullable": true,
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "lastSeenUtc": {
            "format": "date-time",
            "type": "string"
          },
          "objectClass": {
            "nullable": true,
            "type": "string"
          },
          "occurredUtc": {
            "format": "date-time",
            "type": "string"
          },
          "occurrenceCount": {
            "format": "int32",
            "type": "integer"
          },
          "publicId": {
            "type": "string"
          },
          "resolvedBy": {
            "nullable": true,
            "type": "string"
          },
          "resolvedUtc": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "ruleName": {
            "nullable": true,
            "type": "string"
          },
          "severity": {
            "enum": [
              "Info",
              "Warning",
              "Critical"
            ],
            "type": "string"
          },
          "source": {
            "enum": [
              "Detection",
              "Health"
            ],
            "type": "string"
          },
          "status": {
            "enum": [
              "New",
              "Acknowledged",
              "Resolved"
            ],
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "trackId": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "zoneName": {
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "publicId",
          "source",
          "kind",
          "severity",
          "status",
          "title",
          "description",
          "cameraId",
          "cameraName",
          "ruleName",
          "zoneName",
          "objectClass",
          "trackId",
          "confidence",
          "occurredUtc",
          "lastSeenUtc",
          "occurrenceCount",
          "acknowledgedUtc",
          "acknowledgedBy",
          "resolvedUtc",
          "resolvedBy",
          "autoResolved"
        ],
        "type": "object"
      },
      "EventSummaryList": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/EventSummary"
            },
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "EventTimeline": {
        "additionalProperties": false,
        "properties": {
          "buckets": {
            "items": {
              "$ref": "#/components/schemas/TimelineBucket"
            },
            "nullable": true,
            "type": "array"
          },
          "from": {
            "format": "date-time",
            "type": "string"
          },
          "grain": {
            "enum": [
              "Minute",
              "FiveMinutes",
              "Hour",
              "SixHours",
              "Day",
              null
            ],
            "nullable": true,
            "type": "string"
          },
          "markers": {
            "items": {
              "$ref": "#/components/schemas/TimelineMarker"
            },
            "nullable": true,
            "type": "array"
          },
          "mode": {
            "enum": [
              "Markers",
              "Buckets"
            ],
            "type": "string"
          },
          "to": {
            "format": "date-time",
            "type": "string"
          },
          "total": {
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "mode",
          "total",
          "from",
          "to",
          "grain",
          "markers",
          "buckets"
        ],
        "type": "object"
      },
      "EventTransition": {
        "additionalProperties": false,
        "properties": {
          "actor": {
            "nullable": true,
            "type": "string"
          },
          "actorKind": {
            "enum": [
              "User",
              "System"
            ],
            "type": "string"
          },
          "from": {
            "enum": [
              "New",
              "Acknowledged",
              "Resolved",
              null
            ],
            "nullable": true,
            "type": "string"
          },
          "note": {
            "nullable": true,
            "type": "string"
          },
          "occurredUtc": {
            "format": "date-time",
            "type": "string"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "to": {
            "enum": [
              "New",
              "Acknowledged",
              "Resolved"
            ],
            "type": "string"
          }
        },
        "required": [
          "from",
          "to",
          "actorKind",
          "actor",
          "reason",
          "note",
          "occurredUtc"
        ],
        "type": "object"
      },
      "EventWindowSummary": {
        "additionalProperties": false,
        "properties": {
          "byCamera": {
            "items": {
              "$ref": "#/components/schemas/CameraEventCount"
            },
            "type": "array"
          },
          "bySeverity": {
            "items": {
              "$ref": "#/components/schemas/SeverityCount"
            },
            "type": "array"
          },
          "critical": {
            "format": "int32",
            "type": "integer"
          },
          "open": {
            "format": "int32",
            "type": "integer"
          },
          "total": {
            "format": "int32",
            "type": "integer"
          },
          "windowHours": {
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "windowHours",
          "total",
          "open",
          "critical",
          "bySeverity",
          "byCamera"
        ],
        "type": "object"
      },
      "FingerprintMismatch": {
        "additionalProperties": false,
        "properties": {
          "certain": {
            "type": "boolean"
          },
          "expected": {
            "type": "string"
          },
          "found": {
            "type": "string"
          },
          "key": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "expected",
          "found",
          "certain"
        ],
        "type": "object"
      },
      "InferenceState": {
        "description": "",
        "enum": [
          "Stopped",
          "Starting",
          "Running",
          "Stopping",
          "Exited"
        ],
        "type": "string",
        "x-enumNames": [
          "Stopped",
          "Starting",
          "Running",
          "Stopping",
          "Exited"
        ]
      },
      "InferenceStatus": {
        "additionalProperties": false,
        "properties": {
          "cameraId": {
            "nullable": true,
            "type": "string"
          },
          "cameraIds": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "configStale": {
            "type": "boolean"
          },
          "detail": {
            "nullable": true,
            "type": "string"
          },
          "exitCode": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "leftOut": {
            "items": {
              "$ref": "#/components/schemas/CameraLeftOut"
            },
            "nullable": true,
            "type": "array"
          },
          "modelId": {
            "nullable": true,
            "type": "string"
          },
          "pid": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "sinceUtc": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "state": {
            "$ref": "#/components/schemas/InferenceState"
          },
          "tracker": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/TrackerKind"
              }
            ]
          },
          "trackerFallback": {
            "nullable": true,
            "type": "string"
          },
          "trackingEnabled": {
            "type": "boolean"
          }
        },
        "required": [
          "state",
          "modelId",
          "trackingEnabled",
          "pid",
          "sinceUtc",
          "exitCode",
          "detail",
          "cameraId",
          "configStale",
          "cameraIds",
          "leftOut",
          "tracker",
          "trackerFallback"
        ],
        "type": "object"
      },
      "LifecycleRequest": {
        "additionalProperties": false,
        "properties": {
          "note": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "LoginRequest": {
        "additionalProperties": false,
        "properties": {
          "password": {
            "nullable": true,
            "type": "string"
          },
          "username": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ModelBuild": {
        "additionalProperties": false,
        "properties": {
          "elapsedSeconds": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "finishedUtc": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "lastOutputLine": {
            "nullable": true,
            "type": "string"
          },
          "lastOutputUtc": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "modelId": {
            "type": "string"
          },
          "stage": {
            "enum": [
              "ReadingTheModel",
              "ParsingTheOnnx",
              "WorkingOnTheEngine",
              "TimingTheEngine",
              null
            ],
            "nullable": true,
            "type": "string"
          },
          "startedUtc": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "state": {
            "enum": [
              "Registered",
              "Building",
              "Ready",
              "Incompatible",
              "Failed"
            ],
            "type": "string"
          },
          "stateDetail": {
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "modelId",
          "state",
          "stateDetail",
          "startedUtc",
          "finishedUtc",
          "elapsedSeconds",
          "lastOutputLine",
          "lastOutputUtc",
          "stage"
        ],
        "type": "object"
      },
      "ModelDetail": {
        "additionalProperties": false,
        "properties": {
          "batchMax": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "buildFinishedUtc": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "buildStartedUtc": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "classListHash": {
            "nullable": true,
            "type": "string"
          },
          "classNames": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "computeCapability": {
            "nullable": true,
            "type": "string"
          },
          "createdUtc": {
            "format": "date-time",
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "engineChecksum": {
            "nullable": true,
            "type": "string"
          },
          "engineComputeMedianMs": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "engineComputeP99Ms": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "enginePath": {
            "nullable": true,
            "type": "string"
          },
          "family": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "inferConfigPath": {
            "nullable": true,
            "type": "string"
          },
          "inferenceInterval": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "inputHeight": {
            "format": "int32",
            "type": "integer"
          },
          "inputWidth": {
            "format": "int32",
            "type": "integer"
          },
          "isBuiltin": {
            "type": "boolean"
          },
          "license": {
            "nullable": true,
            "type": "string"
          },
          "onnxChecksum": {
            "nullable": true,
            "type": "string"
          },
          "precision": {
            "type": "string"
          },
          "preprocessChannels": {
            "nullable": true,
            "type": "string"
          },
          "preprocessLetterbox": {
            "nullable": true,
            "type": "boolean"
          },
          "preprocessNormalize": {
            "nullable": true,
            "type": "string"
          },
          "rowVersion": {
            "format": "int64",
            "type": "integer"
          },
          "sizeBytes": {
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "state": {
            "enum": [
              "Registered",
              "Building",
              "Ready",
              "Incompatible",
              "Failed"
            ],
            "type": "string"
          },
          "stateDetail": {
            "nullable": true,
            "type": "string"
          },
          "suggestedInterval": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "task": {
            "type": "string"
          },
          "tensorRtVersion": {
            "nullable": true,
            "type": "string"
          },
          "updatedUtc": {
            "format": "date-time",
            "type": "string"
          },
          "version": {
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "displayName",
          "family",
          "task",
          "version",
          "license",
          "state",
          "stateDetail",
          "inputWidth",
          "inputHeight",
          "precision",
          "classNames",
          "classListHash",
          "tensorRtVersion",
          "computeCapability",
          "preprocessLetterbox",
          "preprocessChannels",
          "preprocessNormalize",
          "engineChecksum",
          "onnxChecksum",
          "inferConfigPath",
          "enginePath",
          "buildStartedUtc",
          "buildFinishedUtc",
          "sizeBytes",
          "isBuiltin",
          "createdUtc",
          "updatedUtc",
          "inferenceInterval",
          "engineComputeMedianMs",
          "engineComputeP99Ms",
          "suggestedInterval",
          "batchMax",
          "rowVersion"
        ],
        "type": "object"
      },
      "ModelFamily": {
        "additionalProperties": false,
        "properties": {
          "family": {
            "type": "string"
          },
          "isSegmentation": {
            "type": "boolean"
          },
          "upstreamLicense": {
            "type": "string"
          },
          "usualInputSize": {
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "family",
          "isSegmentation",
          "upstreamLicense",
          "usualInputSize"
        ],
        "type": "object"
      },
      "ModelFamilyList": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ModelFamily"
            },
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "ModelIntervalUpdated": {
        "additionalProperties": false,
        "properties": {
          "model": {
            "$ref": "#/components/schemas/ModelDetail"
          },
          "reload": {
            "$ref": "#/components/schemas/ReloadOutcome"
          }
        },
        "required": [
          "model",
          "reload"
        ],
        "type": "object"
      },
      "ModelSummary": {
        "additionalProperties": false,
        "properties": {
          "classCount": {
            "format": "int32",
            "type": "integer"
          },
          "displayName": {
            "type": "string"
          },
          "engineComputeMedianMs": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "engineComputeP99Ms": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "family": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "inferenceInterval": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "inputHeight": {
            "format": "int32",
            "type": "integer"
          },
          "inputWidth": {
            "format": "int32",
            "type": "integer"
          },
          "isBuiltin": {
            "type": "boolean"
          },
          "license": {
            "nullable": true,
            "type": "string"
          },
          "precision": {
            "type": "string"
          },
          "rowVersion": {
            "format": "int64",
            "type": "integer"
          },
          "sizeBytes": {
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "state": {
            "enum": [
              "Registered",
              "Building",
              "Ready",
              "Incompatible",
              "Failed"
            ],
            "type": "string"
          },
          "stateDetail": {
            "nullable": true,
            "type": "string"
          },
          "suggestedInterval": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "version": {
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "displayName",
          "family",
          "version",
          "license",
          "state",
          "stateDetail",
          "inputWidth",
          "inputHeight",
          "precision",
          "classCount",
          "isBuiltin",
          "sizeBytes",
          "inferenceInterval",
          "engineComputeMedianMs",
          "engineComputeP99Ms",
          "suggestedInterval",
          "rowVersion"
        ],
        "type": "object"
      },
      "ModelSummaryList": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ModelSummary"
            },
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "ModelUploadAccepted": {
        "additionalProperties": false,
        "properties": {
          "build": {
            "type": "string"
          },
          "model": {
            "$ref": "#/components/schemas/ModelDetail"
          },
          "note": {
            "nullable": true,
            "type": "string"
          },
          "resourceWarning": {
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "model",
          "build",
          "note",
          "resourceWarning"
        ],
        "type": "object"
      },
      "ModelUploadForm": {
        "properties": {
          "classNames": {
            "type": "string"
          },
          "displayName": {
            "nullable": true,
            "type": "string"
          },
          "family": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "inputHeight": {
            "format": "int32",
            "type": "integer"
          },
          "inputWidth": {
            "format": "int32",
            "type": "integer"
          },
          "license": {
            "nullable": true,
            "type": "string"
          },
          "onnx": {
            "format": "binary",
            "type": "string"
          },
          "precision": {
            "nullable": true,
            "type": "string"
          },
          "version": {
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "onnx",
          "id",
          "family",
          "inputWidth",
          "inputHeight",
          "classNames"
        ],
        "type": "object"
      },
      "OpenHealthSummary": {
        "additionalProperties": false,
        "properties": {
          "critical": {
            "format": "int32",
            "type": "integer"
          },
          "open": {
            "format": "int32",
            "type": "integer"
          },
          "unmonitored": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "open",
          "critical",
          "unmonitored"
        ],
        "type": "object"
      },
      "PasswordChange": {
        "additionalProperties": false,
        "properties": {
          "currentPassword": {
            "nullable": true,
            "type": "string"
          },
          "newPassword": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "PreconditionFailedProblemOfAssignment": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "current": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Assignment"
              }
            ]
          },
          "detail": {
            "type": "string"
          },
          "status": {
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "title",
          "status",
          "code",
          "detail",
          "current"
        ],
        "type": "object"
      },
      "PreconditionFailedProblemOfCameraDetail": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "current": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CameraDetail"
              }
            ]
          },
          "detail": {
            "type": "string"
          },
          "status": {
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "title",
          "status",
          "code",
          "detail",
          "current"
        ],
        "type": "object"
      },
      "PreconditionFailedProblemOfModelDetail": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "current": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ModelDetail"
              }
            ]
          },
          "detail": {
            "type": "string"
          },
          "status": {
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "title",
          "status",
          "code",
          "detail",
          "current"
        ],
        "type": "object"
      },
      "PreconditionFailedProblemOfRule": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "current": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Rule"
              }
            ]
          },
          "detail": {
            "type": "string"
          },
          "status": {
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "title",
          "status",
          "code",
          "detail",
          "current"
        ],
        "type": "object"
      },
      "PreconditionFailedProblemOfSettings": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "current": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Settings"
              }
            ]
          },
          "detail": {
            "type": "string"
          },
          "status": {
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "title",
          "status",
          "code",
          "detail",
          "current"
        ],
        "type": "object"
      },
      "PreconditionFailedProblemOfUser": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "current": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/User"
              }
            ]
          },
          "detail": {
            "type": "string"
          },
          "status": {
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "title",
          "status",
          "code",
          "detail",
          "current"
        ],
        "type": "object"
      },
      "PreconditionFailedProblemOfZone": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "current": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Zone"
              }
            ]
          },
          "detail": {
            "type": "string"
          },
          "status": {
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "title",
          "status",
          "code",
          "detail",
          "current"
        ],
        "type": "object"
      },
      "Preferences": {
        "additionalProperties": false,
        "properties": {
          "defaultCameraId": {
            "nullable": true,
            "type": "string"
          },
          "eventsColumnsJson": {
            "nullable": true,
            "type": "string"
          },
          "gridAssignmentsJson": {
            "nullable": true,
            "type": "string"
          },
          "gridLayout": {
            "nullable": true,
            "type": "string"
          },
          "overlayLayersJson": {
            "nullable": true,
            "type": "string"
          },
          "overlayPreset": {
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "overlayLayersJson",
          "overlayPreset",
          "defaultCameraId",
          "gridLayout",
          "eventsColumnsJson",
          "gridAssignmentsJson"
        ],
        "type": "object"
      },
      "PreferencesRequest": {
        "additionalProperties": false,
        "properties": {
          "defaultCameraId": {
            "nullable": true,
            "type": "string"
          },
          "eventsColumnsJson": {
            "nullable": true,
            "type": "string"
          },
          "gridAssignmentsJson": {
            "nullable": true,
            "type": "string"
          },
          "gridLayout": {
            "nullable": true,
            "type": "string"
          },
          "overlayLayersJson": {
            "nullable": true,
            "type": "string"
          },
          "overlayPreset": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ReloadOutcome": {
        "additionalProperties": false,
        "properties": {
          "applied": {
            "type": "boolean"
          },
          "detail": {
            "nullable": true,
            "type": "string"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "required": {
            "type": "boolean"
          }
        },
        "required": [
          "required",
          "reason",
          "applied",
          "detail"
        ],
        "type": "object"
      },
      "ResetPasswordRequest": {
        "additionalProperties": false,
        "properties": {
          "password": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResourceUsage": {
        "additionalProperties": false,
        "properties": {
          "diskPercent": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "memoryPercent": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "swapPercent": {
            "format": "double",
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "memoryPercent",
          "swapPercent",
          "diskPercent"
        ],
        "type": "object"
      },
      "Rule": {
        "additionalProperties": false,
        "properties": {
          "anchor": {
            "enum": [
              "Center",
              "Foot"
            ],
            "type": "string"
          },
          "cameraId": {
            "nullable": true,
            "type": "string"
          },
          "classNamesJson": {
            "nullable": true,
            "type": "string"
          },
          "consecutiveFrames": {
            "format": "int32",
            "type": "integer"
          },
          "cooldownSeconds": {
            "format": "int32",
            "type": "integer"
          },
          "countThreshold": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "crossDirection": {
            "enum": [
              "Both",
              "LeftToRight",
              "RightToLeft"
            ],
            "type": "string"
          },
          "dwellSeconds": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "id": {
            "type": "string"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "leftToRightLabel": {
            "nullable": true,
            "type": "string"
          },
          "minConfidence": {
            "format": "double",
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "rightToLeftLabel": {
            "nullable": true,
            "type": "string"
          },
          "rowVersion": {
            "format": "int64",
            "type": "integer"
          },
          "severity": {
            "enum": [
              "Info",
              "Warning",
              "Critical"
            ],
            "type": "string"
          },
          "trigger": {
            "enum": [
              "ObjectPresent",
              "ZoneIntrusion",
              "LineCross",
              "Loitering",
              "ObjectCountAbove"
            ],
            "type": "string"
          },
          "zoneId": {
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "isEnabled",
          "cameraId",
          "zoneId",
          "trigger",
          "classNamesJson",
          "minConfidence",
          "consecutiveFrames",
          "dwellSeconds",
          "countThreshold",
          "cooldownSeconds",
          "severity",
          "crossDirection",
          "leftToRightLabel",
          "rightToLeftLabel",
          "anchor",
          "rowVersion"
        ],
        "type": "object"
      },
      "RuleList": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Rule"
            },
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "RulePatchRequest": {
        "additionalProperties": false,
        "properties": {
          "anchor": {
            "enum": [
              "Center",
              "Foot"
            ],
            "nullable": true,
            "type": "string"
          },
          "cameraId": {
            "nullable": true,
            "type": "string"
          },
          "classNamesJson": {
            "nullable": true,
            "type": "string"
          },
          "consecutiveFrames": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "cooldownSeconds": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "countThreshold": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "crossDirection": {
            "enum": [
              "Both",
              "LeftToRight",
              "RightToLeft"
            ],
            "nullable": true,
            "type": "string"
          },
          "dwellSeconds": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "leftToRightLabel": {
            "nullable": true,
            "type": "string"
          },
          "minConfidence": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "name": {
            "nullable": true,
            "type": "string"
          },
          "rightToLeftLabel": {
            "nullable": true,
            "type": "string"
          },
          "severity": {
            "nullable": true,
            "type": "string"
          },
          "trigger": {
            "nullable": true,
            "type": "string"
          },
          "zoneId": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RuleRequest": {
        "additionalProperties": false,
        "properties": {
          "anchor": {
            "enum": [
              "Center",
              "Foot",
              null
            ],
            "nullable": true,
            "type": "string"
          },
          "cameraId": {
            "nullable": true,
            "type": "string"
          },
          "classNamesJson": {
            "nullable": true,
            "type": "string"
          },
          "consecutiveFrames": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "cooldownSeconds": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "countThreshold": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "crossDirection": {
            "enum": [
              "Both",
              "LeftToRight",
              "RightToLeft",
              null
            ],
            "nullable": true,
            "type": "string"
          },
          "dwellSeconds": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "isEnabled": {
            "nullable": true,
            "type": "boolean"
          },
          "leftToRightLabel": {
            "nullable": true,
            "type": "string"
          },
          "minConfidence": {
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "name": {
            "nullable": true,
            "type": "string"
          },
          "rightToLeftLabel": {
            "nullable": true,
            "type": "string"
          },
          "scheduleJson": {
            "nullable": true,
            "type": "string"
          },
          "severity": {
            "nullable": true,
            "type": "string"
          },
          "trigger": {
            "nullable": true,
            "type": "string"
          },
          "zoneId": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ServiceReading": {
        "additionalProperties": false,
        "properties": {
          "detail": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "state": {
            "enum": [
              "Up",
              "Down",
              "Unknown"
            ],
            "type": "string"
          }
        },
        "required": [
          "name",
          "state",
          "detail"
        ],
        "type": "object"
      },
      "Session": {
        "additionalProperties": false,
        "properties": {
          "accessToken": {
            "type": "string"
          },
          "expiresInSeconds": {
            "format": "int32",
            "type": "integer"
          },
          "user": {
            "$ref": "#/components/schemas/SessionUser"
          }
        },
        "required": [
          "accessToken",
          "expiresInSeconds",
          "user"
        ],
        "type": "object"
      },
      "SessionUser": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int32",
            "type": "integer"
          },
          "role": {
            "enum": [
              "Administrator",
              "Engineer",
              "Operator"
            ],
            "type": "string"
          },
          "username": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "username",
          "role"
        ],
        "type": "object"
      },
      "Settings": {
        "additionalProperties": false,
        "properties": {
          "alarmMinSeverity": {
            "enum": [
              "Info",
              "Warning",
              "Critical"
            ],
            "type": "string"
          },
          "auditRetentionDays": {
            "format": "int32",
            "type": "integer"
          },
          "desktopAlarmsEnabled": {
            "type": "boolean"
          },
          "eventRetentionDays": {
            "format": "int32",
            "type": "integer"
          },
          "healthSampleRetentionDays": {
            "format": "int32",
            "type": "integer"
          },
          "overlayDelayMs": {
            "format": "int32",
            "type": "integer"
          },
          "recordingEnabled": {
            "type": "boolean"
          },
          "rollupRetentionDays": {
            "format": "int32",
            "type": "integer"
          },
          "rowVersion": {
            "format": "int64",
            "type": "integer"
          },
          "siteName": {
            "type": "string"
          },
          "timezone": {
            "type": "string"
          },
          "tracker": {
            "enum": [
              "Iou",
              "ByteTrack"
            ],
            "type": "string"
          },
          "updatedUtc": {
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "siteName",
          "timezone",
          "eventRetentionDays",
          "rollupRetentionDays",
          "auditRetentionDays",
          "healthSampleRetentionDays",
          "desktopAlarmsEnabled",
          "alarmMinSeverity",
          "overlayDelayMs",
          "recordingEnabled",
          "tracker",
          "updatedUtc",
          "rowVersion"
        ],
        "type": "object"
      },
      "SettingsPatchRequest": {
        "additionalProperties": false,
        "properties": {
          "siteName": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SettingsResponse": {
        "additionalProperties": false,
        "properties": {
          "appliance": {
            "$ref": "#/components/schemas/ApplianceIdentity"
          },
          "settings": {
            "$ref": "#/components/schemas/Settings"
          }
        },
        "required": [
          "appliance",
          "settings"
        ],
        "type": "object"
      },
      "SetupClaim": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "nullable": true,
            "type": "string"
          },
          "displayName": {
            "nullable": true,
            "type": "string"
          },
          "password": {
            "nullable": true,
            "type": "string"
          },
          "username": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SetupClaimAccepted": {
        "additionalProperties": false,
        "properties": {
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "SetupState": {
        "additionalProperties": false,
        "properties": {
          "attemptsRemaining": {
            "format": "int32",
            "type": "integer"
          },
          "codeExpiresUtc": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "deviceId": {
            "type": "string"
          },
          "minimumPasswordLength": {
            "format": "int32",
            "type": "integer"
          },
          "state": {
            "enum": [
              "Unprovisioned",
              "Provisioned"
            ],
            "type": "string"
          }
        },
        "required": [
          "state",
          "deviceId",
          "codeExpiresUtc",
          "attemptsRemaining",
          "minimumPasswordLength"
        ],
        "type": "object"
      },
      "SeverityCount": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "format": "int32",
            "type": "integer"
          },
          "severity": {
            "enum": [
              "Info",
              "Warning",
              "Critical"
            ],
            "type": "string"
          }
        },
        "required": [
          "severity",
          "count"
        ],
        "type": "object"
      },
      "Shelf": {
        "additionalProperties": false,
        "properties": {
          "cameraId": {
            "nullable": true,
            "type": "string"
          },
          "cameraName": {
            "nullable": true,
            "type": "string"
          },
          "createdBy": {
            "nullable": true,
            "type": "string"
          },
          "createdUtc": {
            "format": "date-time",
            "type": "string"
          },
          "expiresUtc": {
            "format": "date-time",
            "type": "string"
          },
          "publicId": {
            "type": "string"
          },
          "raisedSince": {
            "format": "int32",
            "type": "integer"
          },
          "reason": {
            "type": "string"
          },
          "ruleName": {
            "type": "string"
          }
        },
        "required": [
          "publicId",
          "ruleName",
          "cameraId",
          "cameraName",
          "reason",
          "createdBy",
          "createdUtc",
          "expiresUtc",
          "raisedSince"
        ],
        "type": "object"
      },
      "ShelfConflictProblem": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "current": {
            "$ref": "#/components/schemas/Shelf"
          },
          "detail": {
            "nullable": true,
            "type": "string"
          },
          "status": {
            "format": "int32",
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "title",
          "status",
          "code",
          "detail",
          "current"
        ],
        "type": "object"
      },
      "ShelfList": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Shelf"
            },
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "StreamToken": {
        "additionalProperties": false,
        "properties": {
          "expiresInSeconds": {
            "format": "int32",
            "type": "integer"
          },
          "path": {
            "type": "string"
          },
          "token": {
            "type": "string"
          }
        },
        "required": [
          "token",
          "path",
          "expiresInSeconds"
        ],
        "type": "object"
      },
      "StreamTokenRequest": {
        "additionalProperties": false,
        "properties": {
          "path": {
            "type": "string"
          }
        },
        "required": [
          "path"
        ],
        "type": "object"
      },
      "StringList": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "SystemInfo": {
        "additionalProperties": false,
        "properties": {
          "mode": {
            "enum": [
              "Real",
              "Demo"
            ],
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "mode",
          "version"
        ],
        "type": "object"
      },
      "TimelineBucket": {
        "additionalProperties": false,
        "properties": {
          "critical": {
            "format": "int32",
            "type": "integer"
          },
          "endUtc": {
            "format": "date-time",
            "type": "string"
          },
          "info": {
            "format": "int32",
            "type": "integer"
          },
          "open": {
            "format": "int32",
            "type": "integer"
          },
          "startUtc": {
            "format": "date-time",
            "type": "string"
          },
          "topSeverity": {
            "enum": [
              "Info",
              "Warning",
              "Critical"
            ],
            "type": "string"
          },
          "total": {
            "format": "int32",
            "type": "integer"
          },
          "warning": {
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "startUtc",
          "endUtc",
          "total",
          "info",
          "warning",
          "critical",
          "open",
          "topSeverity"
        ],
        "type": "object"
      },
      "TimelineMarker": {
        "additionalProperties": false,
        "properties": {
          "cameraId": {
            "nullable": true,
            "type": "string"
          },
          "cameraName": {
            "nullable": true,
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "occurredUtc": {
            "format": "date-time",
            "type": "string"
          },
          "occurrenceCount": {
            "format": "int32",
            "type": "integer"
          },
          "publicId": {
            "type": "string"
          },
          "severity": {
            "enum": [
              "Info",
              "Warning",
              "Critical"
            ],
            "type": "string"
          },
          "status": {
            "enum": [
              "New",
              "Acknowledged",
              "Resolved"
            ],
            "type": "string"
          },
          "stillHolding": {
            "type": "boolean"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "publicId",
          "occurredUtc",
          "severity",
          "status",
          "kind",
          "title",
          "cameraId",
          "cameraName",
          "occurrenceCount",
          "stillHolding"
        ],
        "type": "object"
      },
      "TrackerKind": {
        "description": "",
        "enum": [
          "Iou",
          "ByteTrack"
        ],
        "type": "string",
        "x-enumNames": [
          "Iou",
          "ByteTrack"
        ]
      },
      "TrackerUpdateRequest": {
        "additionalProperties": false,
        "properties": {
          "tracker": {
            "enum": [
              "Iou",
              "ByteTrack",
              null
            ],
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "TrackerUpdated": {
        "additionalProperties": false,
        "properties": {
          "reload": {
            "$ref": "#/components/schemas/ReloadOutcome"
          },
          "settings": {
            "$ref": "#/components/schemas/Settings"
          }
        },
        "required": [
          "settings",
          "reload"
        ],
        "type": "object"
      },
      "UnreadCount": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "count"
        ],
        "type": "object"
      },
      "UpdateModelRequest": {
        "additionalProperties": false,
        "properties": {
          "inferenceInterval": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "UpdateUserRequest": {
        "additionalProperties": false,
        "properties": {
          "displayName": {
            "nullable": true,
            "type": "string"
          },
          "isEnabled": {
            "nullable": true,
            "type": "boolean"
          },
          "role": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "User": {
        "additionalProperties": false,
        "properties": {
          "createdUtc": {
            "format": "date-time",
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "id": {
            "format": "int32",
            "type": "integer"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "lastLoginUtc": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "mustChangePassword": {
            "type": "boolean"
          },
          "role": {
            "enum": [
              "Administrator",
              "Engineer",
              "Operator"
            ],
            "type": "string"
          },
          "rowVersion": {
            "format": "int64",
            "type": "integer"
          },
          "username": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "username",
          "displayName",
          "role",
          "isEnabled",
          "mustChangePassword",
          "lastLoginUtc",
          "createdUtc",
          "rowVersion"
        ],
        "type": "object"
      },
      "UserList": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/User"
            },
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "WsTicket": {
        "additionalProperties": false,
        "properties": {
          "expiresInSeconds": {
            "format": "int32",
            "type": "integer"
          },
          "ticket": {
            "type": "string"
          }
        },
        "required": [
          "ticket",
          "expiresInSeconds"
        ],
        "type": "object"
      },
      "Zone": {
        "additionalProperties": false,
        "properties": {
          "cameraId": {
            "type": "string"
          },
          "color": {
            "nullable": true,
            "type": "string"
          },
          "fillColor": {
            "nullable": true,
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "kind": {
            "enum": [
              "Polygon",
              "Line",
              "FullFrame"
            ],
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "pointsJson": {
            "type": "string"
          },
          "referenceHeight": {
            "format": "int32",
            "type": "integer"
          },
          "referenceWidth": {
            "format": "int32",
            "type": "integer"
          },
          "rowVersion": {
            "format": "int64",
            "type": "integer"
          },
          "shape": {
            "enum": [
              "Polygon",
              "Rectangle",
              "Circle",
              "Freehand",
              null
            ],
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "cameraId",
          "name",
          "kind",
          "shape",
          "pointsJson",
          "referenceWidth",
          "referenceHeight",
          "color",
          "fillColor",
          "isEnabled",
          "rowVersion"
        ],
        "type": "object"
      },
      "ZoneList": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Zone"
            },
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "ZonePatchRequest": {
        "additionalProperties": false,
        "properties": {
          "color": {
            "nullable": true,
            "type": "string"
          },
          "fillColor": {
            "nullable": true,
            "type": "string"
          },
          "name": {
            "nullable": true,
            "type": "string"
          },
          "pointsJson": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ZoneRequest": {
        "additionalProperties": false,
        "properties": {
          "color": {
            "nullable": true,
            "type": "string"
          },
          "fillColor": {
            "nullable": true,
            "type": "string"
          },
          "isEnabled": {
            "nullable": true,
            "type": "boolean"
          },
          "kind": {
            "nullable": true,
            "type": "string"
          },
          "name": {
            "nullable": true,
            "type": "string"
          },
          "pointsJson": {
            "nullable": true,
            "type": "string"
          },
          "referenceHeight": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "referenceWidth": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "shape": {
            "enum": [
              "Polygon",
              "Rectangle",
              "Circle",
              "Freehand",
              null
            ],
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearer": {
        "bearerFormat": "JWT",
        "description": "The access token from login or refresh, valid for 15 minutes.",
        "scheme": "bearer",
        "type": "http"
      },
      "csrf": {
        "description": "Must equal the readable ev_csrf cookie (double-submit).",
        "in": "header",
        "name": "X-CSRF-Token",
        "type": "apiKey"
      },
      "refreshCookie": {
        "description": "The HttpOnly refresh token, scoped to /api/v1/auth.",
        "in": "cookie",
        "name": "ev_refresh",
        "type": "apiKey"
      }
    }
  },
  "info": {
    "title": "EdgeVision appliance REST API",
    "version": "v1"
  },
  "openapi": "3.0.0",
  "paths": {
    "/api/v1/alarm-shelves": {
      "get": {
        "operationId": "GetApiV1AlarmShelves",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShelfList"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "AlarmShelves"
        ],
        "x-policy": "read"
      },
      "post": {
        "operationId": "PostApiV1AlarmShelves",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateShelfRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Shelf"
                }
              }
            },
            "description": ""
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ShelfConflictProblem"
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "AlarmShelves"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/alarm-shelves/{publicId}": {
      "delete": {
        "operationId": "DeleteApiV1AlarmShelvesByPublicId",
        "parameters": [
          {
            "in": "path",
            "name": "publicId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ShelfConflictProblem"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "AlarmShelves"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/analytics/detections": {
      "get": {
        "operationId": "GetApiV1AnalyticsDetections",
        "parameters": [
          {
            "in": "query",
            "name": "from",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "to",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "bucket",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "cameraId",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "objectClass",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DetectionSeries"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Analytics"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/analytics/export": {
      "get": {
        "operationId": "GetApiV1AnalyticsExport",
        "parameters": [
          {
            "in": "query",
            "name": "from",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "to",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "bucket",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "cameraId",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "objectClass",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Analytics"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/analytics/summary": {
      "get": {
        "operationId": "GetApiV1AnalyticsSummary",
        "parameters": [
          {
            "in": "query",
            "name": "from",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "to",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "bucket",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "cameraId",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "objectClass",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DetectionSummary"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Analytics"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/audit": {
      "get": {
        "operationId": "GetApiV1Audit",
        "parameters": [
          {
            "in": "query",
            "name": "actor",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "action",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "outcome",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "subjectType",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "from",
            "schema": {
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "to",
            "schema": {
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "format": "int32",
              "nullable": true,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int32",
              "nullable": true,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditPage"
                }
              }
            },
            "description": ""
          },
          "400": {
            "description": "A query value could not be read as its parameter's type."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Audit"
        ],
        "x-policy": "administer"
      }
    },
    "/api/v1/audit/actions": {
      "get": {
        "operationId": "GetApiV1AuditActions",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringList"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Audit"
        ],
        "x-policy": "administer"
      }
    },
    "/api/v1/auth/login": {
      "post": {
        "operationId": "PostApiV1AuthLogin",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Session"
                }
              }
            },
            "description": "",
            "headers": {
              "Set-Cookie": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [],
        "tags": [
          "Auth"
        ]
      }
    },
    "/api/v1/auth/logout": {
      "post": {
        "operationId": "PostApiV1AuthLogout",
        "responses": {
          "204": {
            "description": "",
            "headers": {
              "Set-Cookie": {
                "type": "string"
              }
            }
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. CSRF_FAILED when the CSRF header does not echo the cookie."
          }
        },
        "security": [
          {
            "csrf": []
          }
        ],
        "tags": [
          "Auth"
        ]
      }
    },
    "/api/v1/auth/me": {
      "get": {
        "operationId": "GetApiV1AuthMe",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUser"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Auth"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/auth/password": {
      "post": {
        "operationId": "PostApiV1AuthPassword",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PasswordChange"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "",
            "headers": {
              "Set-Cookie": {
                "type": "string"
              }
            }
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "The body could not be read as this operation's request body.",
            "x-body-optional": true
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "No usable access token: missing, expired or revoked.",
            "x-body-optional": true
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. CSRF_FAILED when the CSRF header does not echo the cookie."
          }
        },
        "security": [
          {
            "bearer": [],
            "csrf": []
          }
        ],
        "tags": [
          "Auth"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/auth/refresh": {
      "post": {
        "operationId": "PostApiV1AuthRefresh",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Session"
                }
              }
            },
            "description": "",
            "headers": {
              "Set-Cookie": {
                "type": "string"
              }
            }
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "",
            "headers": {
              "Set-Cookie": {
                "type": "string"
              }
            }
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. CSRF_FAILED when the CSRF header does not echo the cookie."
          }
        },
        "security": [
          {
            "csrf": [],
            "refreshCookie": []
          }
        ],
        "tags": [
          "Auth"
        ]
      }
    },
    "/api/v1/cameras": {
      "get": {
        "operationId": "GetApiV1Cameras",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CameraSummaryList"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Cameras"
        ],
        "x-policy": "read"
      },
      "post": {
        "operationId": "PostApiV1Cameras",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CameraCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CameraDetail"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              },
              "Location": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Cameras"
        ],
        "x-policy": "administer"
      }
    },
    "/api/v1/cameras/{cameraId}/zones": {
      "get": {
        "operationId": "GetApiV1CamerasByCameraIdZones",
        "parameters": [
          {
            "in": "path",
            "name": "cameraId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZoneList"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Zones"
        ],
        "x-policy": "read"
      },
      "post": {
        "operationId": "PostApiV1CamerasByCameraIdZones",
        "parameters": [
          {
            "in": "path",
            "name": "cameraId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ZoneRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Zone"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              },
              "Location": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Zones"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/cameras/{cameraId}/zones/{zoneId}": {
      "delete": {
        "operationId": "DeleteApiV1CamerasByCameraIdZonesByZoneId",
        "parameters": [
          {
            "in": "path",
            "name": "cameraId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "zoneId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Zones"
        ],
        "x-policy": "configure-inference"
      },
      "patch": {
        "operationId": "PatchApiV1CamerasByCameraIdZonesByZoneId",
        "parameters": [
          {
            "in": "path",
            "name": "cameraId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "zoneId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "If-Match",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ZonePatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Zone"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedProblemOfZone"
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Zones"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/cameras/{id}": {
      "delete": {
        "operationId": "DeleteApiV1CamerasById",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Cameras"
        ],
        "x-policy": "administer"
      },
      "get": {
        "operationId": "GetApiV1CamerasById",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CameraDetail"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Cameras"
        ],
        "x-policy": "read"
      },
      "patch": {
        "operationId": "PatchApiV1CamerasById",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "If-Match",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CameraPatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CameraDetail"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/PreconditionFailedProblemOfCameraDetail"
                    },
                    {
                      "$ref": "#/components/schemas/ApiProblemBody"
                    }
                  ]
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Cameras"
        ],
        "x-policy": "administer"
      }
    },
    "/api/v1/cameras/{id}/assignment": {
      "delete": {
        "operationId": "DeleteApiV1CamerasByIdAssignment",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "If-Match",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssignmentAccepted"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/PreconditionFailedProblemOfAssignment"
                    },
                    {
                      "$ref": "#/components/schemas/ApiProblemBody"
                    }
                  ]
                }
              }
            },
            "description": ""
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Cameras"
        ],
        "x-policy": "configure-inference"
      },
      "get": {
        "operationId": "GetApiV1CamerasByIdAssignment",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Assignment"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Cameras"
        ],
        "x-policy": "read"
      },
      "put": {
        "operationId": "PutApiV1CamerasByIdAssignment",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "If-Match",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignmentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssignmentAccepted"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/PreconditionFailedProblemOfAssignment"
                    },
                    {
                      "$ref": "#/components/schemas/ApiProblemBody"
                    }
                  ]
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Cameras"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/cameras/{id}/credentials": {
      "delete": {
        "operationId": "DeleteApiV1CamerasByIdCredentials",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Cameras"
        ],
        "x-policy": "administer"
      },
      "put": {
        "operationId": "PutApiV1CamerasByIdCredentials",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CameraCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Cameras"
        ],
        "x-policy": "administer"
      }
    },
    "/api/v1/cameras/{id}/disable": {
      "post": {
        "operationId": "PostApiV1CamerasByIdDisable",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CameraSwitchResult"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Cameras"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/cameras/{id}/enable": {
      "post": {
        "operationId": "PostApiV1CamerasByIdEnable",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CameraSwitchResult"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Cameras"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/cameras/{id}/restart": {
      "post": {
        "operationId": "PostApiV1CamerasByIdRestart",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InferenceStatus"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Cameras"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/cameras/{id}/test": {
      "post": {
        "operationId": "PostApiV1CamerasByIdTest",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CameraTestResult"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Cameras"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/events": {
      "get": {
        "operationId": "GetApiV1Events",
        "parameters": [
          {
            "in": "query",
            "name": "from",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "to",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "explode": true,
            "in": "query",
            "name": "severity",
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "explode": true,
            "in": "query",
            "name": "status",
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "in": "query",
            "name": "source",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "cameraId",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "objectClass",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "explode": true,
            "in": "query",
            "name": "type",
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "unshelved",
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "format": "int32",
              "nullable": true,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int32",
              "nullable": true,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventPage"
                }
              }
            },
            "description": ""
          },
          "400": {
            "description": "A query value could not be read as its parameter's type."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Events"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/events/acknowledge": {
      "post": {
        "operationId": "PostApiV1EventsAcknowledge",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcknowledgeBatchRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcknowledgeBatchResult"
                }
              }
            },
            "description": ""
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Events"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/events/export": {
      "get": {
        "operationId": "GetApiV1EventsExport",
        "parameters": [
          {
            "in": "query",
            "name": "from",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "to",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "explode": true,
            "in": "query",
            "name": "severity",
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "explode": true,
            "in": "query",
            "name": "status",
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "in": "query",
            "name": "source",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "cameraId",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "objectClass",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "explode": true,
            "in": "query",
            "name": "type",
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "unshelved",
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": ""
          },
          "400": {
            "description": "A query value could not be read as its parameter's type."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Events"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/events/open-health": {
      "get": {
        "operationId": "GetApiV1EventsOpenHealth",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenHealthSummary"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Events"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/events/summary": {
      "get": {
        "operationId": "GetApiV1EventsSummary",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventWindowSummary"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Events"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/events/timeline": {
      "get": {
        "operationId": "GetApiV1EventsTimeline",
        "parameters": [
          {
            "in": "query",
            "name": "from",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "to",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "explode": true,
            "in": "query",
            "name": "severity",
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "explode": true,
            "in": "query",
            "name": "status",
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "in": "query",
            "name": "source",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "cameraId",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "objectClass",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "explode": true,
            "in": "query",
            "name": "type",
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "unshelved",
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventTimeline"
                }
              }
            },
            "description": ""
          },
          "400": {
            "description": "A query value could not be read as its parameter's type."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Events"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/events/types": {
      "get": {
        "operationId": "GetApiV1EventsTypes",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/EventKind"
                  },
                  "type": "array"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Events"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/events/{publicId}": {
      "get": {
        "operationId": "GetApiV1EventsByPublicId",
        "parameters": [
          {
            "in": "path",
            "name": "publicId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventDetail"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Events"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/events/{publicId}/acknowledge": {
      "post": {
        "operationId": "PostApiV1EventsByPublicIdAcknowledge",
        "parameters": [
          {
            "in": "path",
            "name": "publicId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LifecycleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventSummary"
                }
              }
            },
            "description": ""
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/EventStateConflictProblem"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Events"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/events/{publicId}/resolve": {
      "post": {
        "operationId": "PostApiV1EventsByPublicIdResolve",
        "parameters": [
          {
            "in": "path",
            "name": "publicId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LifecycleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventSummary"
                }
              }
            },
            "description": ""
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/EventStateConflictProblem"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Events"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/health": {
      "get": {
        "operationId": "GetApiV1Health",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplianceHealth"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Health"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/inference": {
      "get": {
        "operationId": "GetApiV1Inference",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InferenceStatus"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Inference"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/model-families": {
      "get": {
        "operationId": "GetApiV1ModelFamilies",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelFamilyList"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Models"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/models": {
      "get": {
        "operationId": "GetApiV1Models",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelSummaryList"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Models"
        ],
        "x-policy": "read"
      },
      "post": {
        "operationId": "PostApiV1Models",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/ModelUploadForm"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelUploadAccepted"
                }
              }
            },
            "description": "",
            "headers": {
              "Location": {
                "type": "string"
              }
            }
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "413": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ApiValidationProblemBody"
                    },
                    {
                      "$ref": "#/components/schemas/ApiProblemBody"
                    }
                  ]
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Models"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/models/{id}": {
      "delete": {
        "operationId": "DeleteApiV1ModelsById",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Models"
        ],
        "x-policy": "configure-inference"
      },
      "get": {
        "operationId": "GetApiV1ModelsById",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelDetail"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Models"
        ],
        "x-policy": "read"
      },
      "patch": {
        "operationId": "PatchApiV1ModelsById",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "If-Match",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateModelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelIntervalUpdated"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/PreconditionFailedProblemOfModelDetail"
                    },
                    {
                      "$ref": "#/components/schemas/ApiProblemBody"
                    }
                  ]
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Models"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/models/{id}/build": {
      "get": {
        "operationId": "GetApiV1ModelsByIdBuild",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelBuild"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Models"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/models/{id}/build/output": {
      "get": {
        "operationId": "GetApiV1ModelsByIdBuildOutput",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BuildOutput"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Models"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/models/{id}/rebuild": {
      "post": {
        "operationId": "PostApiV1ModelsByIdRebuild",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelUploadAccepted"
                }
              }
            },
            "description": "",
            "headers": {
              "Location": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Models"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/models/{id}/verify": {
      "post": {
        "operationId": "PostApiV1ModelsByIdVerify",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EngineVerified"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/EngineRefusedProblem"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Models"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/notifications": {
      "get": {
        "operationId": "GetApiV1Notifications",
        "parameters": [
          {
            "in": "query",
            "name": "severity",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int32",
              "nullable": true,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventSummaryList"
                }
              }
            },
            "description": ""
          },
          "400": {
            "description": "A query value could not be read as its parameter's type."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Notifications"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/notifications/read-all": {
      "post": {
        "operationId": "PostApiV1NotificationsReadAll",
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Notifications"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/notifications/unread-count": {
      "get": {
        "operationId": "GetApiV1NotificationsUnreadCount",
        "parameters": [
          {
            "in": "query",
            "name": "severity",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnreadCount"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Notifications"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/notifications/{publicId}/read": {
      "delete": {
        "operationId": "DeleteApiV1NotificationsByPublicIdRead",
        "parameters": [
          {
            "in": "path",
            "name": "publicId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Notifications"
        ],
        "x-policy": "read"
      },
      "post": {
        "operationId": "PostApiV1NotificationsByPublicIdRead",
        "parameters": [
          {
            "in": "path",
            "name": "publicId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Notifications"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/preferences": {
      "get": {
        "operationId": "GetApiV1Preferences",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Preferences"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Preferences"
        ],
        "x-policy": "read"
      },
      "put": {
        "operationId": "PutApiV1Preferences",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PreferencesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Preferences"
                }
              }
            },
            "description": ""
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Preferences"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/rules": {
      "get": {
        "operationId": "GetApiV1Rules",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RuleList"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Rules"
        ],
        "x-policy": "read"
      },
      "post": {
        "operationId": "PostApiV1Rules",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RuleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Rule"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              },
              "Location": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Rules"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/rules/{id}": {
      "delete": {
        "operationId": "DeleteApiV1RulesById",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Rules"
        ],
        "x-policy": "configure-inference"
      },
      "patch": {
        "operationId": "PatchApiV1RulesById",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "If-Match",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RulePatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Rule"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedProblemOfRule"
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Rules"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/rules/{id}/disable": {
      "post": {
        "operationId": "PostApiV1RulesByIdDisable",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Rules"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/rules/{id}/enable": {
      "post": {
        "operationId": "PostApiV1RulesByIdEnable",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Rules"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/settings": {
      "get": {
        "operationId": "GetApiV1Settings",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettingsResponse"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Settings"
        ],
        "x-policy": "read"
      },
      "patch": {
        "operationId": "PatchApiV1Settings",
        "parameters": [
          {
            "in": "header",
            "name": "If-Match",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SettingsPatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Settings"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedProblemOfSettings"
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Settings"
        ],
        "x-policy": "administer"
      }
    },
    "/api/v1/settings/tracker": {
      "put": {
        "operationId": "PutApiV1SettingsTracker",
        "parameters": [
          {
            "in": "header",
            "name": "If-Match",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrackerUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrackerUpdated"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedProblemOfSettings"
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Settings"
        ],
        "x-policy": "configure-inference"
      }
    },
    "/api/v1/setup/claim": {
      "post": {
        "operationId": "PostApiV1SetupClaim",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetupClaim"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetupClaimAccepted"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "The body could not be read as this operation's request body.",
            "x-body-optional": true
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "429": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [],
        "tags": [
          "Setup"
        ]
      }
    },
    "/api/v1/setup/state": {
      "get": {
        "operationId": "GetApiV1SetupState",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetupState"
                }
              }
            },
            "description": ""
          }
        },
        "security": [],
        "tags": [
          "Setup"
        ]
      }
    },
    "/api/v1/stream-tokens": {
      "post": {
        "operationId": "PostApiV1StreamTokens",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StreamTokenRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StreamToken"
                }
              }
            },
            "description": ""
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Streaming"
        ],
        "x-policy": "read"
      }
    },
    "/api/v1/system/info": {
      "get": {
        "operationId": "GetApiV1SystemInfo",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SystemInfo"
                }
              }
            },
            "description": ""
          }
        },
        "security": [],
        "tags": [
          "System"
        ]
      }
    },
    "/api/v1/users": {
      "get": {
        "operationId": "GetApiV1Users",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserList"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Users"
        ],
        "x-policy": "administer"
      },
      "post": {
        "operationId": "PostApiV1Users",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              },
              "Location": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Users"
        ],
        "x-policy": "administer"
      }
    },
    "/api/v1/users/{id}": {
      "delete": {
        "operationId": "DeleteApiV1UsersById",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Users"
        ],
        "x-policy": "administer"
      },
      "patch": {
        "operationId": "PatchApiV1UsersById",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "in": "header",
            "name": "If-Match",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "",
            "headers": {
              "ETag": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "412": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedProblemOfUser"
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          },
          "428": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Users"
        ],
        "x-policy": "administer"
      }
    },
    "/api/v1/users/{id}/password": {
      "post": {
        "operationId": "PostApiV1UsersByIdPassword",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": ""
          },
          "400": {
            "description": "The body could not be read as this operation's request body."
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed. No body when the caller's role is not admitted by this operation's policy.",
            "x-body-optional": true
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          },
          "422": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiValidationProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Users"
        ],
        "x-policy": "administer"
      }
    },
    "/api/v1/ws-tickets": {
      "post": {
        "operationId": "PostApiV1WsTickets",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WsTicket"
                }
              }
            },
            "description": ""
          },
          "401": {
            "description": "No usable access token: missing, expired or revoked."
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": "NOT_PROVISIONED while the appliance is unclaimed."
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemBody"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Streaming"
        ],
        "x-policy": "read"
      }
    }
  },
  "servers": [
    {
      "url": "/"
    }
  ]
}
