{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/spoolman/json-schema/spoolman-get-api-appconnection-info-response-schema.json",
  "title": "GetApiAppconnectionInfoResponse",
  "x-generated": "2026-10-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/spoolman-openapi-generated.yml#/components/schemas/GetApiAppconnectionInfoResponse",
  "type": "object",
  "properties": {
    "PrinterName": {
      "type": "string",
      "description": "The name assigned to the printer in OctoEverywhere by the user."
    },
    "PrinterLocalIp": {
      "type": "string",
      "description": "Last known LAN IP address for the printer, if known. Useful for local printer discovery after OctoEverywhere setup."
    },
    "IsOnline": {
      "type": "boolean",
      "description": "true when the printer is currently connected to OctoEverywhere."
    },
    "LastDisconnectTimeUtc": {
      "type": "string",
      "description": "Last time the printer disconnected from OctoEverywhere."
    },
    "LastConnectionTimeUtc": {
      "type": "string",
      "description": "Last time the printer connected to OctoEverywhere."
    },
    "UserFacingPrinterUrl": {
      "type": "string",
      "description": "URL the user can open for normal OctoEverywhere remote access. This URL requires the user to be logged in and is useful for app web views or user-facing links. It is not the app-authenticated App Connection URL."
    },
    "PrinterLimits": {
      "type": "object",
      "description": "Current account limits that can affect App Connection requests."
    },
    "MaxDownloadFileSizeBytes": {
      "type": "integer",
      "description": "Maximum file size the user can download through the App Connection. Depends on the user's supporter level."
    },
    "MaxUploadFileSizeBytes": {
      "type": "integer",
      "description": "Maximum file size the user can upload through the App Connection. Depends on the user's supporter level."
    },
    "MaxSingleWebcamStreamLengthSeconds": {
      "type": "integer",
      "description": "Maximum duration for one webcam stream session."
    }
  }
}