{
  "components": {
    "schemas": {
      "ActionIn": {
        "properties": {
          "action": {
            "enum": [
              "on",
              "off",
              "cycle"
            ],
            "title": "Action",
            "type": "string"
          }
        },
        "required": [
          "action"
        ],
        "title": "ActionIn",
        "type": "object"
      },
      "ArtifactIn": {
        "properties": {
          "kind": {
            "title": "Kind",
            "type": "string"
          },
          "metadata": {
            "additionalProperties": true,
            "title": "Metadata",
            "type": "object"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "sha256": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sha256"
          },
          "size_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Size Bytes"
          },
          "uri": {
            "title": "Uri",
            "type": "string"
          }
        },
        "required": [
          "name",
          "kind",
          "uri"
        ],
        "title": "ArtifactIn",
        "type": "object"
      },
      "ArtifactResolveIn": {
        "properties": {
          "artifact_name": {
            "title": "Artifact Name",
            "type": "string"
          },
          "board": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Board"
          },
          "current_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Current Version"
          },
          "mac": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mac"
          },
          "requester_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Requester Ip"
          },
          "serial": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Serial"
          },
          "target_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Id"
          }
        },
        "required": [
          "artifact_name"
        ],
        "title": "ArtifactResolveIn",
        "type": "object"
      },
      "ArtifactoryConfigIn": {
        "properties": {
          "base_url": {
            "title": "Base Url",
            "type": "string"
          },
          "token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Token"
          },
          "verify_ssl": {
            "default": true,
            "title": "Verify Ssl",
            "type": "boolean"
          }
        },
        "required": [
          "base_url"
        ],
        "title": "ArtifactoryConfigIn",
        "type": "object"
      },
      "AssignmentIn": {
        "properties": {
          "channel": {
            "anyOf": [
              {
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Channel"
          },
          "relay_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Relay Id"
          },
          "wiring": {
            "default": "nc",
            "enum": [
              "nc",
              "no"
            ],
            "title": "Wiring",
            "type": "string"
          }
        },
        "title": "AssignmentIn",
        "type": "object"
      },
      "BootResolveIn": {
        "properties": {
          "board": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Board"
          },
          "current_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Current Version"
          },
          "mac": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mac"
          },
          "requester_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Requester Ip"
          },
          "serial": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Serial"
          },
          "target_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Id"
          }
        },
        "title": "BootResolveIn",
        "type": "object"
      },
      "BulkPoolAssignmentIn": {
        "properties": {
          "pool_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pool Id"
          },
          "target_ids": {
            "items": {
              "type": "string"
            },
            "title": "Target Ids",
            "type": "array"
          }
        },
        "title": "BulkPoolAssignmentIn",
        "type": "object"
      },
      "BulkTargetActionIn": {
        "properties": {
          "target_ids": {
            "items": {
              "type": "string"
            },
            "title": "Target Ids",
            "type": "array"
          }
        },
        "title": "BulkTargetActionIn",
        "type": "object"
      },
      "BundlePolicy": {
        "additionalProperties": false,
        "properties": {
          "developer_portal_auth": {
            "default": "disabled",
            "enum": [
              "disabled",
              "kerrigan_managed"
            ],
            "title": "Developer Portal Auth",
            "type": "string"
          },
          "device_agent": {
            "$ref": "#/components/schemas/PublishedComponent"
          },
          "nfs_mounts": {
            "items": {
              "type": "string"
            },
            "maxItems": 16,
            "title": "Nfs Mounts",
            "type": "array"
          },
          "nfs_shares": {
            "items": {
              "$ref": "#/components/schemas/NfsShare"
            },
            "maxItems": 32,
            "title": "Nfs Shares",
            "type": "array"
          },
          "p2p_forwarder": {
            "$ref": "#/components/schemas/PublishedComponent"
          },
          "sentinel": {
            "$ref": "#/components/schemas/PublishedComponent"
          },
          "sima_cli": {
            "$ref": "#/components/schemas/CliComponent"
          },
          "update_mode": {
            "default": "manual",
            "enum": [
              "manual",
              "automatic_when_idle"
            ],
            "title": "Update Mode",
            "type": "string"
          }
        },
        "title": "BundlePolicy",
        "type": "object"
      },
      "CliComponent": {
        "additionalProperties": false,
        "properties": {
          "branch": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Branch"
          },
          "build": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Build"
          },
          "version": {
            "default": "latest",
            "title": "Version",
            "type": "string"
          }
        },
        "title": "CliComponent",
        "type": "object"
      },
      "ControllerPowerIn": {
        "properties": {
          "operation": {
            "enum": [
              "shutdown",
              "reboot"
            ],
            "title": "Operation",
            "type": "string"
          }
        },
        "required": [
          "operation"
        ],
        "title": "ControllerPowerIn",
        "type": "object"
      },
      "DesiredStateIn": {
        "properties": {
          "actor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Actor"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "version": {
            "title": "Version",
            "type": "string"
          }
        },
        "required": [
          "version"
        ],
        "title": "DesiredStateIn",
        "type": "object"
      },
      "DeviceCleanupIn": {
        "additionalProperties": false,
        "properties": {
          "reason": {
            "default": "",
            "maxLength": 500,
            "title": "Reason",
            "type": "string"
          }
        },
        "title": "DeviceCleanupIn",
        "type": "object"
      },
      "DhcpLeaseIn": {
        "properties": {
          "event": {
            "title": "Event",
            "type": "string"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "interface": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Interface"
          },
          "ip": {
            "title": "Ip",
            "type": "string"
          },
          "mac": {
            "title": "Mac",
            "type": "string"
          }
        },
        "required": [
          "event",
          "mac",
          "ip"
        ],
        "title": "DhcpLeaseIn",
        "type": "object"
      },
      "EventIn": {
        "properties": {
          "event_type": {
            "title": "Event Type",
            "type": "string"
          },
          "payload": {
            "additionalProperties": true,
            "title": "Payload",
            "type": "object"
          },
          "target_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Id"
          }
        },
        "required": [
          "event_type"
        ],
        "title": "EventIn",
        "type": "object"
      },
      "GitHubConfigIn": {
        "properties": {
          "allowed_repos": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allowed Repos"
          },
          "api_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Api Url"
          },
          "branch": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Branch"
          },
          "org": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Org"
          },
          "repo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Repo"
          },
          "runner_admin_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Runner Admin Token"
          },
          "runner_labels": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Runner Labels"
          },
          "token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Token"
          }
        },
        "title": "GitHubConfigIn",
        "type": "object"
      },
      "GitHubPollingIn": {
        "properties": {
          "paused": {
            "default": false,
            "title": "Paused",
            "type": "boolean"
          }
        },
        "title": "GitHubPollingIn",
        "type": "object"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
          }
        },
        "title": "HTTPValidationError",
        "type": "object"
      },
      "HeartbeatIn": {
        "properties": {
          "activity": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TargetActivityIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "agent_info": {
            "additionalProperties": {
              "type": "string"
            },
            "title": "Agent Info",
            "type": "object"
          },
          "current_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Current Version"
          },
          "health": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Health"
          },
          "latest_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Controller-facing management address; never inferred from the HTTP peer.",
            "title": "Latest Ip"
          },
          "metrics": {
            "additionalProperties": {
              "type": "number"
            },
            "title": "Metrics",
            "type": "object"
          },
          "os_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Os Type"
          },
          "peer_pairing": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Peer Pairing"
          },
          "reported_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Device-reported general/display address; not used for management connections.",
            "title": "Reported Ip"
          },
          "storage_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StorageStatusIn"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "title": "HeartbeatIn",
        "type": "object"
      },
      "HostConfigurationIn": {
        "properties": {
          "allowed_dashboard_hosts": {
            "title": "Allowed Dashboard Hosts",
            "type": "string"
          }
        },
        "required": [
          "allowed_dashboard_hosts"
        ],
        "title": "HostConfigurationIn",
        "type": "object"
      },
      "LabelsIn": {
        "properties": {
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "title": "Labels",
            "type": "object"
          }
        },
        "title": "LabelsIn",
        "type": "object"
      },
      "LoginIn": {
        "properties": {
          "password": {
            "title": "Password",
            "type": "string"
          },
          "username": {
            "title": "Username",
            "type": "string"
          }
        },
        "required": [
          "username",
          "password"
        ],
        "title": "LoginIn",
        "type": "object"
      },
      "MacChannelIn": {
        "properties": {
          "channel": {
            "minimum": 1.0,
            "title": "Channel",
            "type": "integer"
          },
          "mac": {
            "maxLength": 17,
            "minLength": 12,
            "title": "Mac",
            "type": "string"
          }
        },
        "required": [
          "mac",
          "channel"
        ],
        "title": "MacChannelIn",
        "type": "object"
      },
      "MaintenanceIn": {
        "properties": {
          "enabled": {
            "description": "Persistent intent for this scope. False clears this scope only; inherited maintenance may still block devices.",
            "title": "Enabled",
            "type": "boolean"
          },
          "reason": {
            "default": "",
            "description": "Optional operator reason, stored with the authenticated administrator's identity.",
            "maxLength": 500,
            "title": "Reason",
            "type": "string"
          }
        },
        "required": [
          "enabled"
        ],
        "title": "MaintenanceIn",
        "type": "object"
      },
      "MappingsIn": {
        "properties": {
          "mappings": {
            "items": {
              "$ref": "#/components/schemas/MacChannelIn"
            },
            "maxItems": 64,
            "title": "Mappings",
            "type": "array"
          },
          "relay_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Relay Id"
          },
          "wiring": {
            "default": "nc",
            "enum": [
              "nc",
              "no"
            ],
            "title": "Wiring",
            "type": "string"
          }
        },
        "required": [
          "mappings"
        ],
        "title": "MappingsIn",
        "type": "object"
      },
      "NfsShare": {
        "additionalProperties": false,
        "properties": {
          "export": {
            "maxLength": 512,
            "minLength": 1,
            "title": "Export",
            "type": "string"
          },
          "id": {
            "pattern": "^[a-z][a-z0-9-]{0,39}$",
            "title": "Id",
            "type": "string"
          },
          "mount_path": {
            "title": "Mount Path",
            "type": "string"
          },
          "name": {
            "maxLength": 80,
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "read_only": {
            "default": true,
            "title": "Read Only",
            "type": "boolean"
          },
          "server": {
            "maxLength": 253,
            "minLength": 1,
            "title": "Server",
            "type": "string"
          },
          "version": {
            "default": "4.1",
            "enum": [
              "4.2",
              "4.1",
              "4",
              "3"
            ],
            "title": "Version",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "server",
          "export",
          "mount_path"
        ],
        "title": "NfsShare",
        "type": "object"
      },
      "PoolActionIn": {
        "properties": {
          "action": {
            "enum": [
              "on",
              "off"
            ],
            "title": "Action",
            "type": "string"
          }
        },
        "required": [
          "action"
        ],
        "title": "PoolActionIn",
        "type": "object"
      },
      "PoolAssignmentIn": {
        "properties": {
          "pool_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pool Id"
          }
        },
        "title": "PoolAssignmentIn",
        "type": "object"
      },
      "PoolBundlePolicy": {
        "additionalProperties": false,
        "properties": {
          "developer_portal_auth": {
            "anyOf": [
              {
                "enum": [
                  "disabled",
                  "kerrigan_managed"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Developer Portal Auth"
          },
          "device_agent": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublishedComponent"
              },
              {
                "type": "null"
              }
            ]
          },
          "nfs_mounts": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "maxItems": 16,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Nfs Mounts"
          },
          "p2p_forwarder": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublishedComponent"
              },
              {
                "type": "null"
              }
            ]
          },
          "sentinel": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublishedComponent"
              },
              {
                "type": "null"
              }
            ]
          },
          "sima_cli": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CliComponent"
              },
              {
                "type": "null"
              }
            ]
          },
          "update_mode": {
            "anyOf": [
              {
                "enum": [
                  "manual",
                  "automatic_when_idle"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Update Mode"
          }
        },
        "title": "PoolBundlePolicy",
        "type": "object"
      },
      "PoolFirmwareLatestIn": {
        "properties": {
          "release_channel": {
            "default": "ga",
            "title": "Release Channel",
            "type": "string"
          },
          "version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          }
        },
        "title": "PoolFirmwareLatestIn",
        "type": "object"
      },
      "PoolGitHubRunnerPolicyIn": {
        "properties": {
          "runner_group": {
            "anyOf": [
              {
                "maxLength": 100,
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Runner Group"
          }
        },
        "title": "PoolGitHubRunnerPolicyIn",
        "type": "object"
      },
      "PoolIn": {
        "properties": {
          "admission_policy": {
            "default": "manual",
            "title": "Admission Policy",
            "type": "string"
          },
          "board": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Board"
          },
          "desired_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Desired Version"
          },
          "firmware_update_policy": {
            "default": "manual",
            "title": "Firmware Update Policy",
            "type": "string"
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "title": "Labels",
            "type": "object"
          },
          "max_parallel_maintenance": {
            "default": 1,
            "title": "Max Parallel Maintenance",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "owner_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Owner Username"
          },
          "pool_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pool Id"
          },
          "purpose": {
            "title": "Purpose",
            "type": "string"
          },
          "state": {
            "default": "active",
            "title": "State",
            "type": "string"
          }
        },
        "required": [
          "name",
          "purpose"
        ],
        "title": "PoolIn",
        "type": "object"
      },
      "PublishedComponent": {
        "additionalProperties": false,
        "properties": {
          "build": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Build"
          },
          "environment": {
            "const": "production",
            "default": "production",
            "title": "Environment",
            "type": "string"
          },
          "ref": {
            "default": "develop",
            "title": "Ref",
            "type": "string"
          },
          "update_mode": {
            "const": "manual",
            "default": "manual",
            "title": "Update Mode",
            "type": "string"
          }
        },
        "title": "PublishedComponent",
        "type": "object"
      },
      "ReleaseIn": {
        "properties": {
          "artifacts": {
            "items": {
              "$ref": "#/components/schemas/ArtifactIn"
            },
            "title": "Artifacts",
            "type": "array"
          },
          "board": {
            "title": "Board",
            "type": "string"
          },
          "metadata": {
            "additionalProperties": true,
            "title": "Metadata",
            "type": "object"
          },
          "version": {
            "title": "Version",
            "type": "string"
          }
        },
        "required": [
          "version",
          "board",
          "artifacts"
        ],
        "title": "ReleaseIn",
        "type": "object"
      },
      "RolloutIn": {
        "additionalProperties": false,
        "properties": {
          "expected_bundle_id": {
            "anyOf": [
              {
                "pattern": "^[0-9a-f]{64}$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expected Bundle Id"
          },
          "target_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "maxItems": 1000,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Ids"
          }
        },
        "title": "RolloutIn",
        "type": "object"
      },
      "SerialPortTestIn": {
        "properties": {
          "baud": {
            "default": 115200,
            "title": "Baud",
            "type": "integer"
          },
          "device": {
            "title": "Device",
            "type": "string"
          }
        },
        "required": [
          "device"
        ],
        "title": "SerialPortTestIn",
        "type": "object"
      },
      "StorageMountStatusIn": {
        "additionalProperties": false,
        "properties": {
          "attachment_id": {
            "anyOf": [
              {
                "maxLength": 128,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Attachment Id"
          },
          "error": {
            "anyOf": [
              {
                "maxLength": 500,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "generation": {
            "anyOf": [
              {
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Generation"
          },
          "id": {
            "maxLength": 128,
            "minLength": 1,
            "title": "Id",
            "type": "string"
          },
          "mount_path": {
            "maxLength": 512,
            "pattern": "^/[^\\n\\r]*$",
            "title": "Mount Path",
            "type": "string"
          },
          "scope": {
            "enum": [
              "common",
              "user"
            ],
            "title": "Scope",
            "type": "string"
          },
          "state": {
            "enum": [
              "configured",
              "mounted",
              "unavailable",
              "error",
              "unknown"
            ],
            "title": "State",
            "type": "string"
          }
        },
        "required": [
          "id",
          "scope",
          "mount_path",
          "state"
        ],
        "title": "StorageMountStatusIn",
        "type": "object"
      },
      "StorageStatusIn": {
        "additionalProperties": false,
        "properties": {
          "bundle_id": {
            "anyOf": [
              {
                "pattern": "^[0-9a-f]{64}$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bundle Id"
          },
          "error": {
            "anyOf": [
              {
                "maxLength": 500,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "mounts": {
            "items": {
              "$ref": "#/components/schemas/StorageMountStatusIn"
            },
            "maxItems": 64,
            "title": "Mounts",
            "type": "array"
          },
          "version": {
            "const": 1,
            "default": 1,
            "title": "Version",
            "type": "integer"
          }
        },
        "title": "StorageStatusIn",
        "type": "object"
      },
      "SystemBehaviorIn": {
        "properties": {
          "allowed_mac_prefixes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allowed Mac Prefixes"
          },
          "limit_sima_mac_prefixes": {
            "title": "Limit Sima Mac Prefixes",
            "type": "boolean"
          }
        },
        "required": [
          "limit_sima_mac_prefixes"
        ],
        "title": "SystemBehaviorIn",
        "type": "object"
      },
      "TargetActivityIn": {
        "additionalProperties": false,
        "properties": {
          "kind": {
            "const": "github_actions",
            "title": "Kind",
            "type": "string"
          },
          "status": {
            "const": "active",
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "kind",
          "status"
        ],
        "title": "TargetActivityIn",
        "type": "object"
      },
      "TargetFirmwareLatestIn": {
        "properties": {
          "release_channel": {
            "default": "ga",
            "title": "Release Channel",
            "type": "string"
          },
          "version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          }
        },
        "title": "TargetFirmwareLatestIn",
        "type": "object"
      },
      "TargetGitHubRunnerPolicyIn": {
        "properties": {
          "mode": {
            "default": "inherit",
            "enum": [
              "inherit",
              "disabled",
              "configured"
            ],
            "title": "Mode",
            "type": "string"
          },
          "runner_group": {
            "anyOf": [
              {
                "maxLength": 100,
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Runner Group"
          }
        },
        "title": "TargetGitHubRunnerPolicyIn",
        "type": "object"
      },
      "TargetIn": {
        "properties": {
          "activity": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TargetActivityIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "agent_info": {
            "additionalProperties": {
              "type": "string"
            },
            "title": "Agent Info",
            "type": "object"
          },
          "board": {
            "title": "Board",
            "type": "string"
          },
          "current_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Current Version"
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name"
          },
          "display_name_source": {
            "default": "configured",
            "title": "Display Name Source",
            "type": "string"
          },
          "health": {
            "default": "unknown",
            "title": "Health",
            "type": "string"
          },
          "host_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Host Id"
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "title": "Labels",
            "type": "object"
          },
          "latest_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Controller-facing management address; never inferred from the HTTP peer.",
            "title": "Latest Ip"
          },
          "mac_addresses": {
            "items": {
              "type": "string"
            },
            "title": "Mac Addresses",
            "type": "array"
          },
          "metrics": {
            "additionalProperties": {
              "type": "number"
            },
            "title": "Metrics",
            "type": "object"
          },
          "os_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Os Type"
          },
          "peer_pairing": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Peer Pairing"
          },
          "pool_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pool Id"
          },
          "reported_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Device-reported general/display address; not used for management connections.",
            "title": "Reported Ip"
          },
          "serial": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Serial"
          },
          "state": {
            "default": "idle",
            "title": "State",
            "type": "string"
          },
          "storage_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StorageStatusIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "target_id": {
            "title": "Target Id",
            "type": "string"
          },
          "target_id_source": {
            "default": "configured",
            "title": "Target Id Source",
            "type": "string"
          },
          "target_type": {
            "title": "Target Type",
            "type": "string"
          }
        },
        "required": [
          "target_id",
          "target_type",
          "board"
        ],
        "title": "TargetIn",
        "type": "object"
      },
      "TargetPatchIn": {
        "properties": {
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name"
          },
          "serial": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Serial"
          },
          "target_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Id"
          }
        },
        "title": "TargetPatchIn",
        "type": "object"
      },
      "TargetUartConfigIn": {
        "properties": {
          "baud": {
            "default": 115200,
            "title": "Baud",
            "type": "integer"
          },
          "device": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Device"
          },
          "enabled": {
            "default": false,
            "title": "Enabled",
            "type": "boolean"
          }
        },
        "title": "TargetUartConfigIn",
        "type": "object"
      },
      "UserCreateIn": {
        "properties": {
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "password": {
            "title": "Password",
            "type": "string"
          },
          "role": {
            "default": "user",
            "title": "Role",
            "type": "string"
          },
          "username": {
            "title": "Username",
            "type": "string"
          }
        },
        "required": [
          "username",
          "password"
        ],
        "title": "UserCreateIn",
        "type": "object"
      },
      "ValidationError": {
        "properties": {
          "ctx": {
            "title": "Context",
            "type": "object"
          },
          "input": {
            "title": "Input"
          },
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "title": "Location",
            "type": "array"
          },
          "msg": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "title": "Error Type",
            "type": "string"
          }
        },
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError",
        "type": "object"
      }
    }
  },
  "info": {
    "title": "Kerrigan",
    "version": "0.1.0"
  },
  "openapi": "3.1.0",
  "paths": {
    "/health": {
      "get": {
        "operationId": "health_health_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": {
                    "type": "boolean"
                  },
                  "title": "Response Health Health Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Health",
        "tags": [
          "sessions"
        ]
      }
    },
    "/healthz": {
      "get": {
        "operationId": "healthz_healthz_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "title": "Response Healthz Healthz Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Healthz",
        "tags": [
          "syscfg"
        ]
      }
    },
    "/v1/agent/tasks/complete": {
      "post": {
        "operationId": "complete_agent_task_v1_agent_tasks_complete_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Payload",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Complete Agent Task V1 Agent Tasks Complete Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Complete Agent Task",
        "tags": [
          "sessions"
        ]
      }
    },
    "/v1/agent/tasks/event": {
      "post": {
        "operationId": "record_agent_task_event_v1_agent_tasks_event_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Payload",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Record Agent Task Event V1 Agent Tasks Event Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Record Agent Task Event",
        "tags": [
          "sessions"
        ]
      }
    },
    "/v1/agent/tasks/poll": {
      "post": {
        "operationId": "poll_agent_task_v1_agent_tasks_poll_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Payload",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Poll Agent Task V1 Agent Tasks Poll Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Poll Agent Task",
        "tags": [
          "sessions"
        ]
      }
    },
    "/v1/auth/bootstrap": {
      "post": {
        "operationId": "bootstrap_admin_v1_auth_bootstrap_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserCreateIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Bootstrap Admin V1 Auth Bootstrap Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Bootstrap Admin",
        "tags": [
          "auth"
        ]
      }
    },
    "/v1/auth/login": {
      "post": {
        "operationId": "login_v1_auth_login_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Login V1 Auth Login Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Login",
        "tags": [
          "auth"
        ]
      }
    },
    "/v1/auth/logout": {
      "post": {
        "operationId": "logout_v1_auth_logout_post",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Logout V1 Auth Logout Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Logout",
        "tags": [
          "auth"
        ]
      }
    },
    "/v1/auth/status": {
      "get": {
        "operationId": "auth_status_v1_auth_status_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Auth Status V1 Auth Status Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Auth Status",
        "tags": [
          "auth"
        ]
      }
    },
    "/v1/auth/users": {
      "get": {
        "operationId": "list_users_v1_auth_users_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response List Users V1 Auth Users Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "List Users",
        "tags": [
          "auth"
        ]
      },
      "post": {
        "operationId": "create_user_v1_auth_users_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserCreateIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Create User V1 Auth Users Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create User",
        "tags": [
          "auth"
        ]
      }
    },
    "/v1/auth/users/{username}": {
      "delete": {
        "operationId": "delete_user_v1_auth_users__username__delete",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "title": "Username",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delete User",
        "tags": [
          "auth"
        ]
      }
    },
    "/v1/bootstrap/dhcp-lease": {
      "post": {
        "operationId": "dhcp_lease_v1_bootstrap_dhcp_lease_post",
        "parameters": [
          {
            "in": "header",
            "name": "authorization",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Authorization"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DhcpLeaseIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Dhcp Lease V1 Bootstrap Dhcp Lease Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Dhcp Lease",
        "tags": [
          "bootstrap"
        ]
      }
    },
    "/v1/bootstrap/jobs": {
      "get": {
        "operationId": "list_bootstrap_jobs_v1_bootstrap_jobs_get",
        "parameters": [
          {
            "in": "query",
            "name": "active_only",
            "required": false,
            "schema": {
              "default": false,
              "title": "Active Only",
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response List Bootstrap Jobs V1 Bootstrap Jobs Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Bootstrap Jobs",
        "tags": [
          "bootstrap"
        ]
      }
    },
    "/v1/bootstrap/jobs/{job_id}": {
      "get": {
        "operationId": "get_bootstrap_job_v1_bootstrap_jobs__job_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Bootstrap Job V1 Bootstrap Jobs  Job Id  Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Bootstrap Job",
        "tags": [
          "bootstrap"
        ]
      }
    },
    "/v1/capacity/utilization": {
      "get": {
        "operationId": "get_capacity_utilization_v1_capacity_utilization_get",
        "parameters": [
          {
            "in": "query",
            "name": "hours",
            "required": false,
            "schema": {
              "default": 24,
              "maximum": 336,
              "minimum": 1,
              "title": "Hours",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "bucket_minutes",
            "required": false,
            "schema": {
              "default": 15,
              "maximum": 1440,
              "minimum": 1,
              "title": "Bucket Minutes",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Capacity Utilization V1 Capacity Utilization Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Capacity Utilization",
        "tags": [
          "capacity"
        ]
      }
    },
    "/v1/developer-portal/login": {
      "post": {
        "operationId": "start_developer_portal_login_v1_developer_portal_login_post",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Start Developer Portal Login V1 Developer Portal Login Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Start Developer Portal Login",
        "tags": [
          "developer-portal"
        ]
      }
    },
    "/v1/developer-portal/login/{flow_id}": {
      "get": {
        "operationId": "get_developer_portal_login_flow_v1_developer_portal_login__flow_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "flow_id",
            "required": true,
            "schema": {
              "title": "Flow Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Developer Portal Login Flow V1 Developer Portal Login  Flow Id  Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Developer Portal Login Flow",
        "tags": [
          "developer-portal"
        ]
      }
    },
    "/v1/developer-portal/logout": {
      "post": {
        "operationId": "logout_developer_portal_v1_developer_portal_logout_post",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Logout Developer Portal V1 Developer Portal Logout Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Logout Developer Portal",
        "tags": [
          "developer-portal"
        ]
      }
    },
    "/v1/developer-portal/status": {
      "get": {
        "operationId": "developer_portal_status_v1_developer_portal_status_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Developer Portal Status V1 Developer Portal Status Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Developer Portal Status",
        "tags": [
          "developer-portal"
        ]
      }
    },
    "/v1/device-bundles/policy": {
      "get": {
        "operationId": "system_policy_v1_device_bundles_policy_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "System Policy",
        "tags": [
          "device-bundles"
        ]
      },
      "put": {
        "operationId": "save_system_policy_v1_device_bundles_policy_put",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BundlePolicy"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Save System Policy",
        "tags": [
          "device-bundles"
        ]
      }
    },
    "/v1/device-bundles/pools/{pool_id}/policy": {
      "delete": {
        "operationId": "inherit_policy_v1_device_bundles_pools__pool_id__policy_delete",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Inherit Policy",
        "tags": [
          "device-bundles"
        ]
      },
      "get": {
        "operationId": "pool_policy_v1_device_bundles_pools__pool_id__policy_get",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Pool Policy",
        "tags": [
          "device-bundles"
        ]
      },
      "put": {
        "operationId": "save_pool_policy_v1_device_bundles_pools__pool_id__policy_put",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PoolBundlePolicy"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Save Pool Policy",
        "tags": [
          "device-bundles"
        ]
      }
    },
    "/v1/device-bundles/pools/{pool_id}/resolve": {
      "post": {
        "operationId": "resolve_policy_v1_device_bundles_pools__pool_id__resolve_post",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Resolve Policy",
        "tags": [
          "device-bundles"
        ]
      }
    },
    "/v1/device-bundles/pools/{pool_id}/rollouts": {
      "post": {
        "operationId": "create_rollout_v1_device_bundles_pools__pool_id__rollouts_post",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RolloutIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create Rollout",
        "tags": [
          "device-bundles"
        ]
      }
    },
    "/v1/device-bundles/rollouts": {
      "get": {
        "operationId": "list_rollouts_v1_device_bundles_rollouts_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "List Rollouts",
        "tags": [
          "device-bundles"
        ]
      }
    },
    "/v1/device-bundles/rollouts/{rollout_id}/{action}": {
      "post": {
        "operationId": "control_rollout_v1_device_bundles_rollouts__rollout_id___action__post",
        "parameters": [
          {
            "in": "path",
            "name": "rollout_id",
            "required": true,
            "schema": {
              "title": "Rollout Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "action",
            "required": true,
            "schema": {
              "title": "Action",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Control Rollout",
        "tags": [
          "device-bundles"
        ]
      }
    },
    "/v1/device-cleanups": {
      "get": {
        "operationId": "list_cleanups_v1_device_cleanups_get",
        "parameters": [
          {
            "in": "query",
            "name": "active_only",
            "required": false,
            "schema": {
              "default": false,
              "title": "Active Only",
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response List Cleanups V1 Device Cleanups Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Cleanups",
        "tags": [
          "device-cleanups"
        ]
      }
    },
    "/v1/device-cleanups/pools/{pool_id}": {
      "post": {
        "operationId": "start_pool_cleanup_v1_device_cleanups_pools__pool_id__post",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceCleanupIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Start Pool Cleanup V1 Device Cleanups Pools  Pool Id  Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Start Pool Cleanup",
        "tags": [
          "device-cleanups"
        ]
      }
    },
    "/v1/device-cleanups/targets/{target_id}": {
      "post": {
        "operationId": "start_target_cleanup_v1_device_cleanups_targets__target_id__post",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceCleanupIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Start Target Cleanup V1 Device Cleanups Targets  Target Id  Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Start Target Cleanup",
        "tags": [
          "device-cleanups"
        ]
      }
    },
    "/v1/device-cleanups/{job_id}": {
      "get": {
        "operationId": "get_cleanup_v1_device_cleanups__job_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Cleanup V1 Device Cleanups  Job Id  Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Cleanup",
        "tags": [
          "device-cleanups"
        ]
      }
    },
    "/v1/device-cleanups/{job_id}/retry": {
      "post": {
        "operationId": "retry_cleanup_v1_device_cleanups__job_id__retry_post",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Retry Cleanup V1 Device Cleanups  Job Id  Retry Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Retry Cleanup",
        "tags": [
          "device-cleanups"
        ]
      }
    },
    "/v1/devices/heartbeat": {
      "post": {
        "operationId": "heartbeat_execution_device_v1_devices_heartbeat_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Payload",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Heartbeat Execution Device V1 Devices Heartbeat Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Heartbeat Execution Device",
        "tags": [
          "sessions"
        ]
      }
    },
    "/v1/devices/register": {
      "post": {
        "operationId": "register_execution_device_v1_devices_register_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Payload",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Register Execution Device V1 Devices Register Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Register Execution Device",
        "tags": [
          "sessions"
        ]
      }
    },
    "/v1/events": {
      "post": {
        "operationId": "record_event_v1_events_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "title": "Response Record Event V1 Events Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Record Event",
        "tags": [
          "events"
        ]
      }
    },
    "/v1/firmware-updates": {
      "get": {
        "operationId": "list_firmware_updates_v1_firmware_updates_get",
        "parameters": [
          {
            "in": "query",
            "name": "target_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Target Id"
            }
          },
          {
            "in": "query",
            "name": "active_only",
            "required": false,
            "schema": {
              "default": false,
              "title": "Active Only",
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response List Firmware Updates V1 Firmware Updates Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Firmware Updates",
        "tags": [
          "firmware-updates"
        ]
      }
    },
    "/v1/firmware-updates/available-releases": {
      "get": {
        "operationId": "available_firmware_releases_v1_firmware_updates_available_releases_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Available Firmware Releases V1 Firmware Updates Available Releases Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Available Firmware Releases",
        "tags": [
          "firmware-updates"
        ]
      }
    },
    "/v1/firmware-updates/pools/{pool_id}/latest": {
      "post": {
        "operationId": "start_pool_firmware_update_to_latest_v1_firmware_updates_pools__pool_id__latest_post",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PoolFirmwareLatestIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Start Pool Firmware Update To Latest V1 Firmware Updates Pools  Pool Id  Latest Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Start Pool Firmware Update To Latest",
        "tags": [
          "firmware-updates"
        ]
      }
    },
    "/v1/firmware-updates/pools/{pool_id}/recover": {
      "post": {
        "operationId": "start_pool_firmware_recovery_v1_firmware_updates_pools__pool_id__recover_post",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Start Pool Firmware Recovery V1 Firmware Updates Pools  Pool Id  Recover Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Start Pool Firmware Recovery",
        "tags": [
          "firmware-updates"
        ]
      }
    },
    "/v1/firmware-updates/targets/by-mac/{mac}": {
      "post": {
        "operationId": "start_firmware_update_by_mac_v1_firmware_updates_targets_by_mac__mac__post",
        "parameters": [
          {
            "in": "path",
            "name": "mac",
            "required": true,
            "schema": {
              "title": "Mac",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Start Firmware Update By Mac V1 Firmware Updates Targets By Mac  Mac  Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Start Firmware Update By Mac",
        "tags": [
          "firmware-updates"
        ]
      }
    },
    "/v1/firmware-updates/targets/{target_id}/latest": {
      "post": {
        "operationId": "start_target_firmware_update_to_latest_v1_firmware_updates_targets__target_id__latest_post",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TargetFirmwareLatestIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Start Target Firmware Update To Latest V1 Firmware Updates Targets  Target Id  Latest Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Start Target Firmware Update To Latest",
        "tags": [
          "firmware-updates"
        ]
      }
    },
    "/v1/firmware-updates/{job_id}": {
      "get": {
        "operationId": "get_firmware_update_v1_firmware_updates__job_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Firmware Update V1 Firmware Updates  Job Id  Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Firmware Update",
        "tags": [
          "firmware-updates"
        ]
      }
    },
    "/v1/firmware-updates/{job_id}/cancel": {
      "post": {
        "operationId": "cancel_firmware_update_v1_firmware_updates__job_id__cancel_post",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Cancel Firmware Update V1 Firmware Updates  Job Id  Cancel Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Cancel Firmware Update",
        "tags": [
          "firmware-updates"
        ]
      }
    },
    "/v1/firmware-updates/{job_id}/logs": {
      "get": {
        "operationId": "get_firmware_update_logs_v1_firmware_updates__job_id__logs_get",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 500,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Firmware Update Logs V1 Firmware Updates  Job Id  Logs Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Firmware Update Logs",
        "tags": [
          "firmware-updates"
        ]
      }
    },
    "/v1/firmware-updates/{job_id}/retry": {
      "post": {
        "operationId": "retry_firmware_update_v1_firmware_updates__job_id__retry_post",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Retry Firmware Update V1 Firmware Updates  Job Id  Retry Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Retry Firmware Update",
        "tags": [
          "firmware-updates"
        ]
      }
    },
    "/v1/github/config": {
      "get": {
        "operationId": "get_github_config_v1_github_config_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Github Config V1 Github Config Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Get Github Config",
        "tags": [
          "github"
        ]
      },
      "put": {
        "operationId": "put_github_config_v1_github_config_put",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GitHubConfigIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Put Github Config V1 Github Config Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Put Github Config",
        "tags": [
          "github"
        ]
      }
    },
    "/v1/github/polling": {
      "put": {
        "operationId": "put_github_polling_v1_github_polling_put",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GitHubPollingIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Put Github Polling V1 Github Polling Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Put Github Polling",
        "tags": [
          "github"
        ]
      }
    },
    "/v1/github/runners/pools/{pool_id}": {
      "get": {
        "operationId": "get_pool_runner_policy_v1_github_runners_pools__pool_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Pool Runner Policy V1 Github Runners Pools  Pool Id  Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Pool Runner Policy",
        "tags": [
          "github-runners"
        ]
      },
      "put": {
        "operationId": "put_pool_runner_policy_v1_github_runners_pools__pool_id__put",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PoolGitHubRunnerPolicyIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Put Pool Runner Policy V1 Github Runners Pools  Pool Id  Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Put Pool Runner Policy",
        "tags": [
          "github-runners"
        ]
      }
    },
    "/v1/github/runners/targets/{target_id}": {
      "get": {
        "operationId": "get_target_runner_policy_v1_github_runners_targets__target_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Target Runner Policy V1 Github Runners Targets  Target Id  Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Target Runner Policy",
        "tags": [
          "github-runners"
        ]
      },
      "put": {
        "operationId": "put_target_runner_policy_v1_github_runners_targets__target_id__put",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TargetGitHubRunnerPolicyIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Put Target Runner Policy V1 Github Runners Targets  Target Id  Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Put Target Runner Policy",
        "tags": [
          "github-runners"
        ]
      }
    },
    "/v1/kerrigan/info": {
      "get": {
        "operationId": "get_kerrigan_info_v1_kerrigan_info_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Kerrigan Info V1 Kerrigan Info Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Get Kerrigan Info",
        "tags": [
          "kerrigan"
        ]
      }
    },
    "/v1/kerrigan/metrics/history": {
      "get": {
        "operationId": "get_kerrigan_metric_history_v1_kerrigan_metrics_history_get",
        "parameters": [
          {
            "in": "query",
            "name": "hours",
            "required": false,
            "schema": {
              "default": 24,
              "maximum": 24,
              "minimum": 1,
              "title": "Hours",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "bucket_minutes",
            "required": false,
            "schema": {
              "default": 5,
              "maximum": 60,
              "minimum": 1,
              "title": "Bucket Minutes",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Kerrigan Metric History V1 Kerrigan Metrics History Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Kerrigan Metric History",
        "tags": [
          "kerrigan"
        ]
      }
    },
    "/v1/kerrigan/power": {
      "post": {
        "operationId": "controller_power_v1_kerrigan_power_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ControllerPowerIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Controller Power V1 Kerrigan Power Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Controller Power",
        "tags": [
          "kerrigan"
        ]
      }
    },
    "/v1/kerrigan/power/status": {
      "get": {
        "operationId": "get_power_status_v1_kerrigan_power_status_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Power Status V1 Kerrigan Power Status Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Get Power Status",
        "tags": [
          "kerrigan"
        ]
      }
    },
    "/v1/kerrigan/update/apply": {
      "post": {
        "operationId": "apply_update_v1_kerrigan_update_apply_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Payload",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Apply Update V1 Kerrigan Update Apply Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Apply Update",
        "tags": [
          "kerrigan"
        ]
      }
    },
    "/v1/kerrigan/update/channels": {
      "get": {
        "operationId": "list_update_channels_v1_kerrigan_update_channels_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response List Update Channels V1 Kerrigan Update Channels Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "List Update Channels",
        "tags": [
          "kerrigan"
        ]
      }
    },
    "/v1/kerrigan/update/history": {
      "get": {
        "operationId": "update_history_v1_kerrigan_update_history_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Update History V1 Kerrigan Update History Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Update History",
        "tags": [
          "kerrigan"
        ]
      }
    },
    "/v1/kerrigan/update/logs": {
      "get": {
        "operationId": "update_logs_v1_kerrigan_update_logs_get",
        "parameters": [
          {
            "in": "query",
            "name": "update_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Update Id"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 500,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Update Logs V1 Kerrigan Update Logs Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Logs",
        "tags": [
          "kerrigan"
        ]
      }
    },
    "/v1/kerrigan/update/preflight": {
      "get": {
        "operationId": "preflight_update_v1_kerrigan_update_preflight_get",
        "parameters": [
          {
            "in": "query",
            "name": "channel",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Channel"
            }
          },
          {
            "in": "query",
            "name": "version",
            "required": false,
            "schema": {
              "default": "latest",
              "title": "Version",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Preflight Update V1 Kerrigan Update Preflight Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Preflight Update",
        "tags": [
          "kerrigan"
        ]
      }
    },
    "/v1/kerrigan/update/status": {
      "get": {
        "operationId": "get_update_status_v1_kerrigan_update_status_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Update Status V1 Kerrigan Update Status Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Get Update Status",
        "tags": [
          "kerrigan"
        ]
      }
    },
    "/v1/maintenance/{scope}/{scope_id}": {
      "get": {
        "description": "Read an appliance (`global/all`), local pool (`pool/{pool_id}`), or device (`device/{target_id}`) scope. Pool IDs are local to this Kerrigan instance. The response includes this scope's own `enabled` and `reason`, enabled parent scopes in `inherited_scopes`, and affected `devices` with effective `maintenance` state. Inspect each device's `phase`, `blocked`, and `error`: a scope with `enabled: false` can still inherit maintenance. Phases are `entering`, `active`, `exiting`, `normal`, and `error`. Wait for `active` before maintenance operations such as OTA updates, and `normal` with `blocked: false` before returning the device to ordinary work.",
        "operationId": "get_maintenance_v1_maintenance__scope___scope_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "scope",
            "required": true,
            "schema": {
              "enum": [
                "global",
                "pool",
                "device"
              ],
              "title": "Scope",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "scope_id",
            "required": true,
            "schema": {
              "title": "Scope Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "404": {
            "description": "Unknown pool/device, or global scope ID other than all."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Read local maintenance intent and device state",
        "tags": [
          "maintenance"
        ]
      },
      "put": {
        "description": "Requires an administrator authenticated by the `kerrigan_session` cookie. Set persistent intent for `global/all`, `pool/{pool_id}`, or `device/{target_id}`. Returns 202 after saving intent, not after runner operations finish; poll GET on the same path for device reconciliation. Entry blocks new work and SDK pairing, waits for active work, and disables runner services. Exit rediscovers all `actions.runner.*.service` units and enables and starts them, including previously disabled or newly installed runners; it does not restore prior enabled/disabled state. Devices remain blocked while restoration is pending or failed. Clearing one scope does not clear other applicable scopes. There is no automatic expiry or scheduled start; explicitly send `enabled: false` to end the window. OTA updates are admitted after affected devices reach the `active` phase; they remain blocked while maintenance is entering, exiting, or in error. Maintenance is independent of firmware-update job state.",
        "operationId": "set_maintenance_v1_maintenance__scope___scope_id__put",
        "parameters": [
          {
            "in": "path",
            "name": "scope",
            "required": true,
            "schema": {
              "enum": [
                "global",
                "pool",
                "device"
              ],
              "title": "Scope",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "scope_id",
            "required": true,
            "schema": {
              "title": "Scope Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MaintenanceIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Intent saved. Response contains scope intent, inherited scopes, and current device maintenance states."
          },
          "401": {
            "description": "Administrator session required."
          },
          "403": {
            "description": "The signed-in user is not an administrator."
          },
          "404": {
            "description": "Unknown pool/device, or global scope ID other than all."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Set local maintenance intent",
        "tags": [
          "maintenance"
        ]
      }
    },
    "/v1/pools": {
      "get": {
        "operationId": "list_pools_v1_pools_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "additionalProperties": true,
                    "type": "object"
                  },
                  "title": "Response List Pools V1 Pools Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "List Pools",
        "tags": [
          "pools"
        ]
      },
      "post": {
        "operationId": "create_pool_v1_pools_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PoolIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Create Pool V1 Pools Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create Pool",
        "tags": [
          "pools"
        ]
      }
    },
    "/v1/pools/{pool_id}": {
      "delete": {
        "operationId": "delete_pool_v1_pools__pool_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delete Pool",
        "tags": [
          "pools"
        ]
      },
      "get": {
        "operationId": "get_pool_v1_pools__pool_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Pool V1 Pools  Pool Id  Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Pool",
        "tags": [
          "pools"
        ]
      },
      "put": {
        "operationId": "update_pool_v1_pools__pool_id__put",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PoolIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Update Pool V1 Pools  Pool Id  Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Pool",
        "tags": [
          "pools"
        ]
      }
    },
    "/v1/pools/{pool_id}/labels": {
      "get": {
        "operationId": "get_pool_labels_v1_pools__pool_id__labels_get",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Pool Labels V1 Pools  Pool Id  Labels Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Pool Labels",
        "tags": [
          "pools"
        ]
      },
      "put": {
        "operationId": "update_pool_labels_v1_pools__pool_id__labels_put",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelsIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Update Pool Labels V1 Pools  Pool Id  Labels Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Pool Labels",
        "tags": [
          "pools"
        ]
      }
    },
    "/v1/power/mappings": {
      "put": {
        "operationId": "replace_mappings_v1_power_mappings_put",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MappingsIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Replace Mappings",
        "tags": [
          "power"
        ]
      }
    },
    "/v1/power/pools/{pool_id}/actions": {
      "post": {
        "operationId": "pool_action_v1_power_pools__pool_id__actions_post",
        "parameters": [
          {
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "title": "Pool Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PoolActionIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Pool Action",
        "tags": [
          "power"
        ]
      }
    },
    "/v1/power/relays": {
      "get": {
        "operationId": "relays_v1_power_relays_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Relays",
        "tags": [
          "power"
        ]
      }
    },
    "/v1/power/targets": {
      "get": {
        "operationId": "statuses_v1_power_targets_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Statuses",
        "tags": [
          "power"
        ]
      }
    },
    "/v1/power/targets/{target_id}": {
      "get": {
        "operationId": "status_v1_power_targets__target_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Status",
        "tags": [
          "power"
        ]
      },
      "put": {
        "operationId": "assign_v1_power_targets__target_id__put",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignmentIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Assign",
        "tags": [
          "power"
        ]
      }
    },
    "/v1/power/targets/{target_id}/actions": {
      "post": {
        "operationId": "action_v1_power_targets__target_id__actions_post",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActionIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Action",
        "tags": [
          "power"
        ]
      }
    },
    "/v1/releases": {
      "get": {
        "operationId": "list_releases_v1_releases_get",
        "parameters": [
          {
            "in": "query",
            "name": "board",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Board"
            }
          },
          {
            "in": "query",
            "name": "version",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Version"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "additionalProperties": true,
                    "type": "object"
                  },
                  "title": "Response List Releases V1 Releases Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Releases",
        "tags": [
          "releases"
        ]
      },
      "post": {
        "operationId": "upsert_release_v1_releases_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReleaseIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Upsert Release V1 Releases Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Upsert Release",
        "tags": [
          "releases"
        ]
      }
    },
    "/v1/releases/{board}/{version}": {
      "get": {
        "operationId": "get_release_v1_releases__board___version__get",
        "parameters": [
          {
            "in": "path",
            "name": "board",
            "required": true,
            "schema": {
              "title": "Board",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "version",
            "required": true,
            "schema": {
              "title": "Version",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Release V1 Releases  Board   Version  Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Release",
        "tags": [
          "releases"
        ]
      }
    },
    "/v1/resolve/artifact": {
      "post": {
        "operationId": "resolve_artifact_v1_resolve_artifact_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ArtifactResolveIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Resolve Artifact V1 Resolve Artifact Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Resolve Artifact",
        "tags": [
          "resolution"
        ]
      }
    },
    "/v1/resolve/boot": {
      "post": {
        "operationId": "resolve_boot_v1_resolve_boot_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BootResolveIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Resolve Boot V1 Resolve Boot Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Resolve Boot",
        "tags": [
          "resolution"
        ]
      }
    },
    "/v1/serial/ports": {
      "get": {
        "operationId": "serial_ports_v1_serial_ports_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "additionalProperties": true,
                    "type": "object"
                  },
                  "title": "Response Serial Ports V1 Serial Ports Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Serial Ports",
        "tags": [
          "serial"
        ]
      }
    },
    "/v1/serial/test": {
      "post": {
        "operationId": "test_serial_v1_serial_test_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SerialPortTestIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Test Serial V1 Serial Test Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Test Serial",
        "tags": [
          "serial"
        ]
      }
    },
    "/v1/sessions": {
      "get": {
        "operationId": "list_sessions_v1_sessions_get",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Q"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response List Sessions V1 Sessions Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Sessions",
        "tags": [
          "sessions"
        ]
      },
      "post": {
        "operationId": "create_session_v1_sessions_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Payload",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Create Session V1 Sessions Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create Session",
        "tags": [
          "sessions"
        ]
      }
    },
    "/v1/sessions/{session_id}": {
      "delete": {
        "operationId": "delete_session_v1_sessions__session_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "session_id",
            "required": true,
            "schema": {
              "title": "Session Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delete Session",
        "tags": [
          "sessions"
        ]
      },
      "get": {
        "operationId": "get_session_v1_sessions__session_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "session_id",
            "required": true,
            "schema": {
              "title": "Session Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Session V1 Sessions  Session Id  Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Session",
        "tags": [
          "sessions"
        ]
      }
    },
    "/v1/sessions/{session_id}/cancel": {
      "post": {
        "operationId": "cancel_session_v1_sessions__session_id__cancel_post",
        "parameters": [
          {
            "in": "path",
            "name": "session_id",
            "required": true,
            "schema": {
              "title": "Session Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Payload",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Cancel Session V1 Sessions  Session Id  Cancel Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Cancel Session",
        "tags": [
          "sessions"
        ]
      }
    },
    "/v1/syscfg": {
      "get": {
        "operationId": "get_syscfg_v1_syscfg_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "title": "Response Get Syscfg V1 Syscfg Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Get Syscfg",
        "tags": [
          "syscfg"
        ]
      }
    },
    "/v1/system-images/artifactory": {
      "delete": {
        "operationId": "clear_artifactory_config_v1_system_images_artifactory_delete",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Clear Artifactory Config V1 System Images Artifactory Delete",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Clear Artifactory Config",
        "tags": [
          "system-images"
        ]
      },
      "get": {
        "operationId": "get_artifactory_config_v1_system_images_artifactory_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Artifactory Config V1 System Images Artifactory Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Get Artifactory Config",
        "tags": [
          "system-images"
        ]
      },
      "put": {
        "operationId": "put_artifactory_config_v1_system_images_artifactory_put",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ArtifactoryConfigIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Put Artifactory Config V1 System Images Artifactory Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Put Artifactory Config",
        "tags": [
          "system-images"
        ]
      }
    },
    "/v1/system-images/channels": {
      "get": {
        "operationId": "list_channels_v1_system_images_channels_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "additionalProperties": true,
                    "type": "object"
                  },
                  "title": "Response List Channels V1 System Images Channels Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "List Channels",
        "tags": [
          "system-images"
        ]
      }
    },
    "/v1/system-images/channels/{channel_id}/images/{version}/download": {
      "post": {
        "operationId": "download_channel_image_v1_system_images_channels__channel_id__images__version__download_post",
        "parameters": [
          {
            "in": "path",
            "name": "channel_id",
            "required": true,
            "schema": {
              "title": "Channel Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "version",
            "required": true,
            "schema": {
              "title": "Version",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "async",
            "required": false,
            "schema": {
              "default": false,
              "title": "Async",
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Download Channel Image V1 System Images Channels  Channel Id  Images  Version  Download Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Download Channel Image",
        "tags": [
          "system-images"
        ]
      }
    },
    "/v1/system-images/channels/{channel_id}/images/{version}/local": {
      "delete": {
        "operationId": "delete_local_channel_image_v1_system_images_channels__channel_id__images__version__local_delete",
        "parameters": [
          {
            "in": "path",
            "name": "channel_id",
            "required": true,
            "schema": {
              "title": "Channel Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "version",
            "required": true,
            "schema": {
              "title": "Version",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Delete Local Channel Image V1 System Images Channels  Channel Id  Images  Version  Local Delete",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delete Local Channel Image",
        "tags": [
          "system-images"
        ]
      }
    },
    "/v1/system-images/channels/{channel_id}/sync": {
      "post": {
        "operationId": "sync_channel_v1_system_images_channels__channel_id__sync_post",
        "parameters": [
          {
            "in": "path",
            "name": "channel_id",
            "required": true,
            "schema": {
              "title": "Channel Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Sync Channel V1 System Images Channels  Channel Id  Sync Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Sync Channel",
        "tags": [
          "system-images"
        ]
      }
    },
    "/v1/system-images/download-jobs": {
      "get": {
        "operationId": "list_download_jobs_v1_system_images_download_jobs_get",
        "parameters": [
          {
            "in": "query",
            "name": "channel_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Channel Id"
            }
          },
          {
            "in": "query",
            "name": "version",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Version"
            }
          },
          {
            "in": "query",
            "name": "active_only",
            "required": false,
            "schema": {
              "default": false,
              "title": "Active Only",
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "additionalProperties": true,
                    "type": "object"
                  },
                  "title": "Response List Download Jobs V1 System Images Download Jobs Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Download Jobs",
        "tags": [
          "system-images"
        ]
      }
    },
    "/v1/system-images/download-jobs/{job_id}": {
      "get": {
        "operationId": "get_download_job_v1_system_images_download_jobs__job_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Download Job V1 System Images Download Jobs  Job Id  Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Download Job",
        "tags": [
          "system-images"
        ]
      }
    },
    "/v1/system-images/download-jobs/{job_id}/cancel": {
      "post": {
        "operationId": "cancel_download_job_v1_system_images_download_jobs__job_id__cancel_post",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Cancel Download Job V1 System Images Download Jobs  Job Id  Cancel Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Cancel Download Job",
        "tags": [
          "system-images"
        ]
      }
    },
    "/v1/system-images/local-images": {
      "get": {
        "operationId": "list_local_images_v1_system_images_local_images_get",
        "parameters": [
          {
            "in": "query",
            "name": "channel_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Channel Id"
            }
          },
          {
            "in": "query",
            "name": "downloaded_only",
            "required": false,
            "schema": {
              "default": true,
              "title": "Downloaded Only",
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "additionalProperties": true,
                    "type": "object"
                  },
                  "title": "Response List Local Images V1 System Images Local Images Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Local Images",
        "tags": [
          "system-images"
        ]
      }
    },
    "/v1/system/behavior": {
      "get": {
        "operationId": "get_system_behavior_v1_system_behavior_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get System Behavior V1 System Behavior Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Get System Behavior",
        "tags": [
          "syscfg"
        ]
      },
      "put": {
        "operationId": "put_system_behavior_v1_system_behavior_put",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SystemBehaviorIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Put System Behavior V1 System Behavior Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Put System Behavior",
        "tags": [
          "syscfg"
        ]
      }
    },
    "/v1/system/host-configuration": {
      "get": {
        "operationId": "get_host_configuration_v1_system_host_configuration_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Host Configuration V1 System Host Configuration Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Get Host Configuration",
        "tags": [
          "syscfg"
        ]
      },
      "put": {
        "operationId": "put_host_configuration_v1_system_host_configuration_put",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HostConfigurationIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Put Host Configuration V1 System Host Configuration Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Put Host Configuration",
        "tags": [
          "syscfg"
        ]
      }
    },
    "/v1/targets": {
      "get": {
        "operationId": "list_targets_v1_targets_get",
        "parameters": [
          {
            "in": "query",
            "name": "pool_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Pool Id"
            }
          },
          {
            "in": "query",
            "name": "board",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Board"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "additionalProperties": true,
                    "type": "object"
                  },
                  "title": "Response List Targets V1 Targets Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Targets",
        "tags": [
          "targets"
        ]
      }
    },
    "/v1/targets/actions/reboot": {
      "post": {
        "operationId": "reboot_targets_v1_targets_actions_reboot_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkTargetActionIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "title": "Response Reboot Targets V1 Targets Actions Reboot Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Reboot Targets",
        "tags": [
          "targets"
        ]
      }
    },
    "/v1/targets/by-mac/{mac}": {
      "delete": {
        "operationId": "delete_target_by_mac_v1_targets_by_mac__mac__delete",
        "parameters": [
          {
            "in": "path",
            "name": "mac",
            "required": true,
            "schema": {
              "title": "Mac",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delete Target By Mac",
        "tags": [
          "targets"
        ]
      },
      "patch": {
        "operationId": "update_target_by_mac_v1_targets_by_mac__mac__patch",
        "parameters": [
          {
            "in": "path",
            "name": "mac",
            "required": true,
            "schema": {
              "title": "Mac",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TargetPatchIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Update Target By Mac V1 Targets By Mac  Mac  Patch",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Target By Mac",
        "tags": [
          "targets"
        ]
      }
    },
    "/v1/targets/by-mac/{mac}/heartbeat": {
      "post": {
        "operationId": "heartbeat_by_mac_v1_targets_by_mac__mac__heartbeat_post",
        "parameters": [
          {
            "in": "path",
            "name": "mac",
            "required": true,
            "schema": {
              "title": "Mac",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HeartbeatIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Heartbeat By Mac V1 Targets By Mac  Mac  Heartbeat Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Heartbeat By Mac",
        "tags": [
          "targets"
        ]
      }
    },
    "/v1/targets/by-mac/{mac}/pool": {
      "put": {
        "operationId": "assign_target_pool_by_mac_v1_targets_by_mac__mac__pool_put",
        "parameters": [
          {
            "in": "path",
            "name": "mac",
            "required": true,
            "schema": {
              "title": "Mac",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PoolAssignmentIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Assign Target Pool By Mac V1 Targets By Mac  Mac  Pool Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Assign Target Pool By Mac",
        "tags": [
          "targets"
        ]
      }
    },
    "/v1/targets/by-mac/{mac}/uart": {
      "put": {
        "operationId": "update_target_uart_by_mac_v1_targets_by_mac__mac__uart_put",
        "parameters": [
          {
            "in": "path",
            "name": "mac",
            "required": true,
            "schema": {
              "title": "Mac",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TargetUartConfigIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Update Target Uart By Mac V1 Targets By Mac  Mac  Uart Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Target Uart By Mac",
        "tags": [
          "targets"
        ]
      }
    },
    "/v1/targets/pool/bulk": {
      "put": {
        "operationId": "assign_targets_pool_bulk_v1_targets_pool_bulk_put",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkPoolAssignmentIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Assign Targets Pool Bulk V1 Targets Pool Bulk Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Assign Targets Pool Bulk",
        "tags": [
          "targets"
        ]
      }
    },
    "/v1/targets/register": {
      "post": {
        "operationId": "register_target_v1_targets_register_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TargetIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Register Target V1 Targets Register Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Register Target",
        "tags": [
          "targets"
        ]
      }
    },
    "/v1/targets/{target_id}": {
      "delete": {
        "operationId": "delete_target_v1_targets__target_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delete Target",
        "tags": [
          "targets"
        ]
      },
      "get": {
        "operationId": "get_target_v1_targets__target_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Target V1 Targets  Target Id  Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Target",
        "tags": [
          "targets"
        ]
      },
      "patch": {
        "operationId": "update_target_v1_targets__target_id__patch",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TargetPatchIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Update Target V1 Targets  Target Id  Patch",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Target",
        "tags": [
          "targets"
        ]
      }
    },
    "/v1/targets/{target_id}/desired-state": {
      "get": {
        "operationId": "get_desired_state_v1_targets__target_id__desired_state_get",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Desired State V1 Targets  Target Id  Desired State Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Desired State",
        "tags": [
          "targets"
        ]
      },
      "put": {
        "operationId": "set_desired_state_v1_targets__target_id__desired_state_put",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DesiredStateIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Set Desired State V1 Targets  Target Id  Desired State Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Set Desired State",
        "tags": [
          "targets"
        ]
      }
    },
    "/v1/targets/{target_id}/heartbeat": {
      "post": {
        "operationId": "heartbeat_v1_targets__target_id__heartbeat_post",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HeartbeatIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Heartbeat V1 Targets  Target Id  Heartbeat Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Heartbeat",
        "tags": [
          "targets"
        ]
      }
    },
    "/v1/targets/{target_id}/labels": {
      "get": {
        "operationId": "get_target_labels_v1_targets__target_id__labels_get",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Target Labels V1 Targets  Target Id  Labels Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Target Labels",
        "tags": [
          "targets"
        ]
      },
      "put": {
        "operationId": "update_target_labels_v1_targets__target_id__labels_put",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelsIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Update Target Labels V1 Targets  Target Id  Labels Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Target Labels",
        "tags": [
          "targets"
        ]
      }
    },
    "/v1/targets/{target_id}/metrics/history": {
      "get": {
        "operationId": "get_target_metric_history_v1_targets__target_id__metrics_history_get",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "hours",
            "required": false,
            "schema": {
              "default": 24,
              "maximum": 24,
              "minimum": 1,
              "title": "Hours",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "bucket_minutes",
            "required": false,
            "schema": {
              "default": 5,
              "maximum": 60,
              "minimum": 1,
              "title": "Bucket Minutes",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Get Target Metric History V1 Targets  Target Id  Metrics History Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Target Metric History",
        "tags": [
          "targets"
        ]
      }
    },
    "/v1/targets/{target_id}/pool": {
      "put": {
        "operationId": "assign_target_pool_v1_targets__target_id__pool_put",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PoolAssignmentIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Assign Target Pool V1 Targets  Target Id  Pool Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Assign Target Pool",
        "tags": [
          "targets"
        ]
      }
    },
    "/v1/targets/{target_id}/uart": {
      "put": {
        "operationId": "update_target_uart_v1_targets__target_id__uart_put",
        "parameters": [
          {
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "title": "Target Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TargetUartConfigIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Update Target Uart V1 Targets  Target Id  Uart Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Target Uart",
        "tags": [
          "targets"
        ]
      }
    },
    "/v1/vulcan/pairing": {
      "delete": {
        "operationId": "cancel_vulcan_pairing_v1_vulcan_pairing_delete",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Cancel Vulcan Pairing",
        "tags": [
          "vulcan"
        ]
      },
      "get": {
        "operationId": "get_vulcan_pairing_v1_vulcan_pairing_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Get Vulcan Pairing",
        "tags": [
          "vulcan"
        ]
      },
      "post": {
        "operationId": "start_vulcan_pairing_v1_vulcan_pairing_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "title": "Payload",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Start Vulcan Pairing",
        "tags": [
          "vulcan"
        ]
      }
    },
    "/v1/vulcan/pairing/poll": {
      "post": {
        "operationId": "poll_vulcan_pairing_v1_vulcan_pairing_poll_post",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Poll Vulcan Pairing",
        "tags": [
          "vulcan"
        ]
      }
    },
    "/v1/vulcan/profile": {
      "delete": {
        "operationId": "delete_vulcan_profile_v1_vulcan_profile_delete",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Delete Vulcan Profile",
        "tags": [
          "vulcan"
        ]
      },
      "get": {
        "operationId": "get_vulcan_profile_v1_vulcan_profile_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Get Vulcan Profile",
        "tags": [
          "vulcan"
        ]
      }
    }
  }
}
