Ctrl K
ComunidadGuías…

web/openapi.snapshot.json

Rama dev · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "components": {
    "schemas": {
      "AccountPrivacyOut": {
        "additionalProperties": true,
        "description": "One Plex account's share filter, as plex.tv reports it RIGHT NOW.",
        "properties": {
          "account_id": {
            "title": "Account Id",
            "type": "integer"
          },
          "display_name": {
            "title": "Display Name",
            "type": "string"
          },
          "hides": {
            "items": {
              "type": "string"
            },
            "title": "Hides",
            "type": "array"
          },
          "manage_sharing": {
            "title": "Manage Sharing",
            "type": "boolean"
          },
          "missing": {
            "items": {
              "type": "string"
            },
            "title": "Missing",
            "type": "array"
          },
          "other_conditions": {
            "items": {
              "type": "string"
            },
            "title": "Other Conditions",
            "type": "array"
          },
          "restriction_profile": {
            "title": "Restriction Profile",
            "type": "string"
          },
          "should_hide": {
            "items": {
              "type": "string"
            },
            "title": "Should Hide",
            "type": "array"
          },
          "slug": {
            "title": "Slug",
            "type": "string"
          },
          "state": {
            "title": "State",
            "type": "string"
          },
          "user": {
            "title": "User",
            "type": "string"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "user_type": {
            "title": "User Type",
            "type": "string"
          }
        },
        "required": [
          "user",
          "display_name",
          "slug",
          "account_id",
          "user_id",
          "user_type",
          "restriction_profile",
          "manage_sharing",
          "state",
          "hides",
          "should_hide",
          "missing",
          "other_conditions"
        ],
        "title": "AccountPrivacyOut",
        "type": "object"
      },
      "AcquisitionReleaseIn": {
        "additionalProperties": false,
        "description": "One owner-confirmed decision on an exact terminal acquisition record.",
        "properties": {
          "checked_destination": {
            "const": true,
            "title": "Checked Destination",
            "type": "boolean"
          },
          "expected_status": {
            "enum": [
              "outcome_unknown",
              "succeeded"
            ],
            "title": "Expected Status",
            "type": "string"
          },
          "review_token": {
            "maxLength": 64,
            "minLength": 64,
            "pattern": "^[a-f0-9]{64}$",
            "title": "Review Token",
            "type": "string"
          }
        },
        "required": [
          "review_token",
          "expected_status",
          "checked_destination"
        ],
        "title": "AcquisitionReleaseIn",
        "type": "object"
      },
      "AiInstructionsIn": {
        "additionalProperties": false,
        "description": "What AI web search should look for on this row (#138). ``default`` uses the built-in wording\nplus the server-wide instructions; ``add`` appends ``text`` to them; ``own`` replaces them.",
        "properties": {
          "mode": {
            "default": "default",
            "description": "AI instructions must be default, add or own",
            "enum": [
              "add",
              "default",
              "own"
            ],
            "title": "Mode",
            "type": "string"
          },
          "text": {
            "default": "",
            "maxLength": 2000,
            "title": "Text",
            "type": "string"
          }
        },
        "title": "AiInstructionsIn",
        "type": "object"
      },
      "AiInstructionsOut": {
        "additionalProperties": true,
        "description": "A row's AI web search instructions as the editor reads them.",
        "properties": {
          "mode": {
            "description": "default, add or own",
            "enum": [
              "add",
              "default",
              "own"
            ],
            "title": "Mode",
            "type": "string"
          },
          "text": {
            "title": "Text",
            "type": "string"
          }
        },
        "required": [
          "mode",
          "text"
        ],
        "title": "AiInstructionsOut",
        "type": "object"
      },
      "AiPauseRequest": {
        "additionalProperties": false,
        "properties": {
          "paused": {
            "title": "Paused",
            "type": "boolean"
          }
        },
        "required": [
          "paused"
        ],
        "title": "AiPauseRequest",
        "type": "object"
      },
      "ApiTokenCreatedOut": {
        "additionalProperties": true,
        "properties": {
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "token": {
            "title": "Token",
            "type": "string"
          }
        },
        "required": [
          "token",
          "created_at"
        ],
        "title": "ApiTokenCreatedOut",
        "type": "object"
      },
      "ApiTokenRevokedOut": {
        "additionalProperties": true,
        "properties": {
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ],
        "title": "ApiTokenRevokedOut",
        "type": "object"
      },
      "ApiTokenStatusOut": {
        "additionalProperties": true,
        "description": "`GET /api-token`. No example or default is declared on `token` \u2014 a schema is documentation\nthat ships to the browser, and a credential has no business in one (plex-safety rule 9).",
        "properties": {
          "created_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Token"
          }
        },
        "required": [
          "enabled",
          "created_at",
          "token"
        ],
        "title": "ApiTokenStatusOut",
        "type": "object"
      },
      "ArrOptionsOut": {
        "additionalProperties": true,
        "properties": {
          "quality_profiles": {
            "items": {
              "$ref": "#/components/schemas/QualityProfileOut"
            },
            "title": "Quality Profiles",
            "type": "array"
          },
          "root_folders": {
            "items": {
              "$ref": "#/components/schemas/RootFolderOut"
            },
            "title": "Root Folders",
            "type": "array"
          }
        },
        "required": [
          "quality_profiles",
          "root_folders"
        ],
        "title": "ArrOptionsOut",
        "type": "object"
      },
      "ArrStatusOut": {
        "additionalProperties": true,
        "description": "Per-row download status, plus whether each app actually answered.\n\n``reach`` is the half this used to omit. A failed Arr lookup is swallowed on purpose (one app\nbeing down must not blank the other), so an unreachable Radarr produced an all-``null`` map \u2014\nbyte-identical to \"Radarr is fine and tracks none of these\". The inbox therefore showed no\nbadges, for ever, with nothing anywhere saying why.",
        "properties": {
          "overseerr": {
            "default": "off",
            "enum": [
              "ok",
              "unreachable",
              "off"
            ],
            "title": "Overseerr",
            "type": "string"
          },
          "radarr": {
            "enum": [
              "ok",
              "unreachable",
              "off"
            ],
            "title": "Radarr",
            "type": "string"
          },
          "sonarr": {
            "enum": [
              "ok",
              "unreachable",
              "off"
            ],
            "title": "Sonarr",
            "type": "string"
          },
          "statuses": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "title": "Statuses",
            "type": "object"
          }
        },
        "required": [
          "statuses",
          "radarr",
          "sonarr"
        ],
        "title": "ArrStatusOut",
        "type": "object"
      },
      "BackupCreatedOut": {
        "additionalProperties": true,
        "description": "A manual backup carries no `created_at`: it was just taken, which is the answer.",
        "properties": {
          "name": {
            "title": "Name",
            "type": "string"
          },
          "size_bytes": {
            "title": "Size Bytes",
            "type": "integer"
          }
        },
        "required": [
          "name",
          "size_bytes"
        ],
        "title": "BackupCreatedOut",
        "type": "object"
      },
      "BackupOut": {
        "additionalProperties": true,
        "properties": {
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "size_bytes": {
            "title": "Size Bytes",
            "type": "integer"
          }
        },
        "required": [
          "name",
          "size_bytes",
          "created_at"
        ],
        "title": "BackupOut",
        "type": "object"
      },
      "BackupRestoredOut": {
        "additionalProperties": true,
        "properties": {
          "message": {
            "title": "Message",
            "type": "string"
          },
          "privacy_note": {
            "title": "Privacy Note",
            "type": "string"
          },
          "restored": {
            "title": "Restored",
            "type": "string"
          }
        },
        "required": [
          "restored",
          "message",
          "privacy_note"
        ],
        "title": "BackupRestoredOut",
        "type": "object"
      },
      "BlockSeedBody": {
        "properties": {
          "media_type": {
            "default": "",
            "title": "Media Type",
            "type": "string"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "tmdb_id": {
            "title": "Tmdb Id",
            "type": "integer"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          }
        },
        "required": [
          "tmdb_id"
        ],
        "title": "BlockSeedBody",
        "type": "object"
      },
      "BlockedSeedOut": {
        "additionalProperties": true,
        "description": "One blocked seed, always as a RECORD.\n\nThe bare-int list an old install stores is normalised by `blocked_entries` before it reaches here,\nso this shape is what both endpoints return whichever way the prefs are stored \u2014 see\n`shortlist/server/prefs.py`.",
        "properties": {
          "media_type": {
            "title": "Media Type",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "tmdb_id": {
            "title": "Tmdb Id",
            "type": "integer"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          }
        },
        "required": [
          "tmdb_id",
          "title",
          "media_type",
          "year"
        ],
        "title": "BlockedSeedOut",
        "type": "object"
      },
      "BlockedSeedsOut": {
        "additionalProperties": true,
        "properties": {
          "blocked_seeds": {
            "items": {
              "$ref": "#/components/schemas/BlockedSeedOut"
            },
            "title": "Blocked Seeds",
            "type": "array"
          }
        },
        "required": [
          "blocked_seeds"
        ],
        "title": "BlockedSeedsOut",
        "type": "object"
      },
      "Body_upload_poster_image_api_collections__collection_id__poster_upload_post": {
        "properties": {
          "file": {
            "contentMediaType": "application/octet-stream",
            "title": "File",
            "type": "string"
          }
        },
        "required": [
          "file"
        ],
        "title": "Body_upload_poster_image_api_collections__collection_id__poster_upload_post",
        "type": "object"
      },
      "BulkEnabled": {
        "properties": {
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ],
        "title": "BulkEnabled",
        "type": "object"
      },
      "BulkEnabledOut": {
        "additionalProperties": true,
        "description": "What `POST /users/set-enabled` did: how many were touched, and how many had rows removed.",
        "properties": {
          "cleaned": {
            "title": "Cleaned",
            "type": "integer"
          },
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "updated": {
            "title": "Updated",
            "type": "integer"
          }
        },
        "required": [
          "updated",
          "cleaned",
          "enabled"
        ],
        "title": "BulkEnabledOut",
        "type": "object"
      },
      "CapabilitiesOut": {
        "additionalProperties": true,
        "properties": {
          "ai": {
            "title": "Ai",
            "type": "boolean"
          }
        },
        "required": [
          "ai"
        ],
        "title": "CapabilitiesOut",
        "type": "object"
      },
      "Capability": {
        "description": "One independently enforceable assistant permission.",
        "enum": [
          "instance.read",
          "config.read",
          "catalog.read",
          "people.read",
          "activity.read",
          "changes.prepare",
          "history.use",
          "history.providers",
          "history.export",
          "rows.create",
          "rows.update",
          "rows.activate",
          "rows.delete",
          "audiences.write",
          "themes.write",
          "seasons.write",
          "config.write",
          "people.write",
          "schedules.write",
          "connections.manage",
          "runs.preview",
          "runs.execute",
          "jobs.cancel",
          "ai.generate",
          "requests.read",
          "requests.manage",
          "requests.send",
          "maintenance.execute",
          "secrets.read",
          "grants.manage"
        ],
        "title": "Capability",
        "type": "string"
      },
      "CleanupOut": {
        "additionalProperties": true,
        "description": "What `POST /collections/{id}/cleanup` removed (or would remove, on a dry run).",
        "properties": {
          "dry_run": {
            "title": "Dry Run",
            "type": "boolean"
          },
          "message": {
            "title": "Message",
            "type": "string"
          },
          "removed": {
            "items": {
              "type": "string"
            },
            "title": "Removed",
            "type": "array"
          }
        },
        "required": [
          "removed",
          "dry_run",
          "message"
        ],
        "title": "CleanupOut",
        "type": "object"
      },
      "CleanupRequest": {
        "properties": {
          "dry_run": {
            "default": false,
            "title": "Dry Run",
            "type": "boolean"
          }
        },
        "title": "CleanupRequest",
        "type": "object"
      },
      "ClearedDeletedRowsOut": {
        "additionalProperties": true,
        "properties": {
          "cleared": {
            "title": "Cleared",
            "type": "integer"
          },
          "picks": {
            "title": "Picks",
            "type": "integer"
          },
          "slugs": {
            "items": {
              "type": "string"
            },
            "title": "Slugs",
            "type": "array"
          }
        },
        "required": [
          "cleared",
          "picks",
          "slugs"
        ],
        "title": "ClearedDeletedRowsOut",
        "type": "object"
      },
      "ClearedOut": {
        "additionalProperties": true,
        "properties": {
          "cleared": {
            "title": "Cleared",
            "type": "integer"
          }
        },
        "required": [
          "cleared"
        ],
        "title": "ClearedOut",
        "type": "object"
      },
      "CollectionCountOut": {
        "additionalProperties": true,
        "properties": {
          "found": {
            "title": "Found",
            "type": "boolean"
          },
          "in_library": {
            "title": "In Library",
            "type": "integer"
          },
          "section_key": {
            "title": "Section Key",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "title",
          "section_key",
          "found",
          "in_library"
        ],
        "title": "CollectionCountOut",
        "type": "object"
      },
      "CollectionIO": {
        "additionalProperties": true,
        "description": "A Plex collection, by library and title \u2014 never ratingKey: Kometa recreates its seasonal ones each year.",
        "properties": {
          "section_key": {
            "title": "Section Key",
            "type": "string"
          },
          "section_title": {
            "title": "Section Title",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "section_key",
          "section_title",
          "title"
        ],
        "title": "CollectionIO",
        "type": "object"
      },
      "CollectionIn": {
        "additionalProperties": false,
        "properties": {
          "ai_instructions": {
            "$ref": "#/components/schemas/AiInstructionsIn"
          },
          "audience": {
            "default": "everyone",
            "description": "Everyone, or the subset named by audience_user_ids.",
            "enum": [
              "everyone",
              "subset"
            ],
            "title": "Audience",
            "type": "string"
          },
          "audience_user_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Audience User Ids",
            "type": "array"
          },
          "avoid_rows": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "Slugs of other per-person rows whose titles this row keeps out; null is none.",
            "title": "Avoid Rows"
          },
          "build": {
            "default": "per_person",
            "description": "Who the row is built for: one per person, or one shared row.",
            "enum": [
              "per_person",
              "shared"
            ],
            "title": "Build",
            "type": "string"
          },
          "candidate_sources": {
            "items": {
              "type": "string"
            },
            "title": "Candidate Sources",
            "type": "array"
          },
          "cold_start": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "What this row does for someone with too little watch history; null inherits the global setting.",
            "enum": [
              "popular",
              "skip",
              null
            ],
            "title": "Cold Start"
          },
          "defer_rename": {
            "default": false,
            "title": "Defer Rename",
            "type": "boolean"
          },
          "description": {
            "default": "",
            "description": "The collection's Plex summary; takes {user}, {library_name} and {top_seed}. Empty leaves the summary on Plex alone.",
            "maxLength": 2000,
            "title": "Description",
            "type": "string"
          },
          "dry_run": {
            "default": false,
            "title": "Dry Run",
            "type": "boolean"
          },
          "enabled": {
            "default": true,
            "title": "Enabled",
            "type": "boolean"
          },
          "explore_brief": {
            "default": "",
            "description": "What kind of themes Explore should look for; blank lets the AI choose.",
            "maxLength": 500,
            "title": "Explore Brief",
            "type": "string"
          },
          "fallback_name": {
            "default": "",
            "maxLength": 255,
            "title": "Fallback Name",
            "type": "string"
          },
          "favourite_count": {
            "anyOf": [
              {
                "maximum": 10.0,
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Favourite Count"
          },
          "hub_anchor": {
            "additionalProperties": {
              "$ref": "#/components/schemas/HubAnchorIn"
            },
            "title": "Hub Anchor",
            "type": "object"
          },
          "idle_hold_days": {
            "anyOf": [
              {
                "maximum": 365.0,
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idle Hold Days"
          },
          "library_keys": {
            "items": {
              "type": "string"
            },
            "title": "Library Keys",
            "type": "array"
          },
          "max_runtime": {
            "anyOf": [
              {
                "maximum": 600.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Runtime"
          },
          "max_seeds": {
            "anyOf": [
              {
                "maximum": 100.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Seeds"
          },
          "max_year": {
            "anyOf": [
              {
                "maximum": 2100.0,
                "minimum": 1870.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Year"
          },
          "media": {
            "default": "both",
            "description": "Which library types this row builds in.",
            "enum": [
              "both",
              "movie",
              "show"
            ],
            "title": "Media",
            "type": "string"
          },
          "min_rating": {
            "anyOf": [
              {
                "maximum": 10.0,
                "minimum": 0.0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Min Rating"
          },
          "min_watchers": {
            "default": 2,
            "minimum": 2.0,
            "title": "Min Watchers",
            "type": "integer"
          },
          "min_year": {
            "anyOf": [
              {
                "maximum": 2100.0,
                "minimum": 1870.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Min Year"
          },
          "name": {
            "maxLength": 255,
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "name_template": {
            "default": "",
            "title": "Name Template",
            "type": "string"
          },
          "older_count": {
            "anyOf": [
              {
                "maximum": 10.0,
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Older Count"
          },
          "pick_order": {
            "default": "best",
            "description": "How the delivered collection is ordered.",
            "enum": [
              "best",
              "new_first",
              "newest",
              "rating",
              "rotate",
              "shuffle"
            ],
            "title": "Pick Order",
            "type": "string"
          },
          "pin_top": {
            "default": false,
            "title": "Pin Top",
            "type": "boolean"
          },
          "placement": {
            "default": "both",
            "description": "Where the OWNER's own collection appears.",
            "enum": [
              "both",
              "home",
              "library",
              "off"
            ],
            "title": "Placement",
            "type": "string"
          },
          "placement_friends": {
            "default": "both",
            "description": "Where each FRIEND's own collection appears.",
            "enum": [
              "both",
              "home",
              "library",
              "off"
            ],
            "title": "Placement Friends",
            "type": "string"
          },
          "poster": {
            "$ref": "#/components/schemas/PosterIn"
          },
          "recency": {
            "anyOf": [
              {
                "maximum": 1.0,
                "minimum": -1.0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recency"
          },
          "recent_count": {
            "anyOf": [
              {
                "maximum": 25.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recent Count"
          },
          "refresh_days": {
            "anyOf": [
              {
                "maximum": 365.0,
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Refresh Days"
          },
          "refresh_share": {
            "anyOf": [
              {
                "exclusiveMinimum": 0.0,
                "maximum": 1.0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "description": "The share of picks swapped on a refresh night; null keeps two thirds.",
            "title": "Refresh Share"
          },
          "repeat_cooldown_days": {
            "anyOf": [
              {
                "maximum": 365.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Don't pick a title again within this many days; null is off.",
            "title": "Repeat Cooldown Days"
          },
          "req_auto_min_demand": {
            "anyOf": [
              {
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Auto Min Demand"
          },
          "req_auto_min_rating": {
            "anyOf": [
              {
                "maximum": 10.0,
                "minimum": 0.0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Auto Min Rating"
          },
          "req_auto_send": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Auto Send"
          },
          "req_auto_user_tag": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Auto User Tag"
          },
          "req_language_mode": {
            "anyOf": [
              {
                "maxLength": 16,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "enum": [
              "any",
              "prefer",
              "only",
              null
            ],
            "title": "Req Language Mode"
          },
          "req_max_per_row": {
            "anyOf": [
              {
                "maximum": 100.0,
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Max Per Row"
          },
          "req_max_year": {
            "anyOf": [
              {
                "maximum": 2999.0,
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Max Year"
          },
          "req_min_demand": {
            "anyOf": [
              {
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Min Demand"
          },
          "req_min_rating": {
            "anyOf": [
              {
                "maximum": 10.0,
                "minimum": 0.0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Min Rating"
          },
          "req_min_rating_other": {
            "anyOf": [
              {
                "maximum": 10.0,
                "minimum": 0.0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Min Rating Other"
          },
          "req_min_votes": {
            "anyOf": [
              {
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Min Votes"
          },
          "req_min_year": {
            "anyOf": [
              {
                "maximum": 2999.0,
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Min Year"
          },
          "req_preferred_languages": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "maxItems": 50,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Preferred Languages"
          },
          "req_radarr_quality_profile_id": {
            "anyOf": [
              {
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Radarr Quality Profile Id"
          },
          "req_radarr_root_folder": {
            "anyOf": [
              {
                "maxLength": 512,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Radarr Root Folder"
          },
          "req_season_count": {
            "anyOf": [
              {
                "maximum": 99.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Season Count"
          },
          "req_skip_library_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "maxItems": 100,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Skip Library Keys"
          },
          "req_sonarr_monitor": {
            "anyOf": [
              {
                "maxLength": 32,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "enum": [
              "all",
              "firstSeason",
              "lastSeason",
              "pilot",
              "none",
              null
            ],
            "title": "Req Sonarr Monitor"
          },
          "req_sonarr_quality_profile_id": {
            "anyOf": [
              {
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Sonarr Quality Profile Id"
          },
          "req_sonarr_root_folder": {
            "anyOf": [
              {
                "maxLength": 512,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Sonarr Root Folder"
          },
          "request_tag": {
            "default": "",
            "maxLength": 64,
            "title": "Request Tag",
            "type": "string"
          },
          "requests_row": {
            "default": false,
            "title": "Requests Row",
            "type": "boolean"
          },
          "requests_tag_pattern": {
            "default": "",
            "maxLength": 128,
            "title": "Requests Tag Pattern",
            "type": "string"
          },
          "requests_window_days": {
            "default": 90,
            "maximum": 3650.0,
            "minimum": 0.0,
            "title": "Requests Window Days",
            "type": "integer"
          },
          "rewatch": {
            "default": false,
            "title": "Rewatch",
            "type": "boolean"
          },
          "rewatch_cooldown_days": {
            "default": 30,
            "maximum": 365.0,
            "minimum": 0.0,
            "title": "Rewatch Cooldown Days",
            "type": "integer"
          },
          "schedule": {
            "default": "30 3 * * *",
            "maxLength": 64,
            "title": "Schedule",
            "type": "string"
          },
          "season_after_days": {
            "default": 0,
            "description": "How many days after each season's day the row stays up.",
            "maximum": 30.0,
            "minimum": 0.0,
            "title": "Season After Days",
            "type": "integer"
          },
          "season_lead_days": {
            "default": 30,
            "description": "How many days before each season's day the row starts showing.",
            "maximum": 90.0,
            "minimum": 0.0,
            "title": "Season Lead Days",
            "type": "integer"
          },
          "seasons": {
            "description": "Seasons this row follows (see GET /api/seasons). Empty means it is not seasonal.",
            "items": {
              "type": "string"
            },
            "title": "Seasons",
            "type": "array"
          },
          "seed_window": {
            "default": 1,
            "maximum": 20.0,
            "minimum": 1.0,
            "title": "Seed Window",
            "type": "integer"
          },
          "show_days": {
            "description": "Days this row appears, as ISO weekdays (1=Monday .. 7=Sunday). Empty means every day.",
            "items": {
              "type": "integer"
            },
            "title": "Show Days",
            "type": "array"
          },
          "size": {
            "default": 15,
            "maximum": 40.0,
            "minimum": 5.0,
            "title": "Size",
            "type": "integer"
          },
          "sort_order": {
            "default": 0,
            "title": "Sort Order",
            "type": "integer"
          },
          "sort_title_prefix": {
            "default": "",
            "description": "Put before the row's name to make its Plex sort title, e.g. '!010_'. Orders the row in the library's Collections tab, not on Home. Empty leaves the sort title alone.",
            "maxLength": 64,
            "title": "Sort Title Prefix",
            "type": "string"
          },
          "theme_days": {
            "anyOf": [
              {
                "maximum": 90.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "How many days a theme lasts in Explore; null is 7.",
            "title": "Theme Days"
          },
          "theme_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The theme this AI row follows (see POST /api/themes). Null for an ordinary row.",
            "title": "Theme Id"
          },
          "theme_mode": {
            "default": "fixed",
            "description": "fixed keeps one theme; explore picks a new one for each person on a schedule.",
            "enum": [
              "fixed",
              "explore"
            ],
            "title": "Theme Mode",
            "type": "string"
          },
          "unstarted_only": {
            "default": false,
            "title": "Unstarted Only",
            "type": "boolean"
          },
          "watched_pct": {
            "anyOf": [
              {
                "maximum": 1.0,
                "minimum": 0.0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Watched Pct"
          }
        },
        "required": [
          "name"
        ],
        "title": "CollectionIn",
        "type": "object"
      },
      "CollectionOut": {
        "additionalProperties": true,
        "description": "A curated-row definition \u2014 the response shape of :func:`serialize_row` (``services/row_editing.py``).",
        "properties": {
          "ai_instructions": {
            "$ref": "#/components/schemas/AiInstructionsOut"
          },
          "ai_paused": {
            "description": "Whether the row's AI is paused: it keeps its theme but spends no tokens.",
            "title": "Ai Paused",
            "type": "boolean"
          },
          "ai_tokens": {
            "description": "Tokens the AI has spent writing this row's themes.",
            "title": "Ai Tokens",
            "type": "integer"
          },
          "audience": {
            "description": "Everyone, or the subset named by audience_user_ids.",
            "enum": [
              "everyone",
              "subset"
            ],
            "title": "Audience",
            "type": "string"
          },
          "audience_user_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Audience User Ids",
            "type": "array"
          },
          "avoid_rows": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "Slugs of rows whose titles this row keeps out; null is none.",
            "title": "Avoid Rows"
          },
          "build": {
            "description": "Who the row is built for: one per person, or one shared row.",
            "enum": [
              "per_person",
              "shared"
            ],
            "title": "Build",
            "type": "string"
          },
          "candidate_sources": {
            "items": {
              "type": "string"
            },
            "title": "Candidate Sources",
            "type": "array"
          },
          "cold_start": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "What this row does for someone with too little watch history; null inherits the global setting.",
            "enum": [
              "popular",
              "skip",
              null
            ],
            "title": "Cold Start"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "dry_run": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dry Run"
          },
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "explore_brief": {
            "description": "What Explore is asked to look for; blank lets the AI choose.",
            "title": "Explore Brief",
            "type": "string"
          },
          "fallback_name": {
            "title": "Fallback Name",
            "type": "string"
          },
          "favourite_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Favourite Count"
          },
          "hub_anchor": {
            "additionalProperties": {
              "$ref": "#/components/schemas/HubAnchorOut"
            },
            "title": "Hub Anchor",
            "type": "object"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "idle_hold_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idle Hold Days"
          },
          "last_run_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Run Id"
          },
          "library_keys": {
            "items": {
              "type": "string"
            },
            "title": "Library Keys",
            "type": "array"
          },
          "max_runtime": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Runtime"
          },
          "max_seeds": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Seeds"
          },
          "max_year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Year"
          },
          "media": {
            "description": "Which library types this row builds in.",
            "enum": [
              "both",
              "movie",
              "show"
            ],
            "title": "Media",
            "type": "string"
          },
          "min_rating": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Min Rating"
          },
          "min_watchers": {
            "title": "Min Watchers",
            "type": "integer"
          },
          "min_year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Min Year"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "name_template": {
            "title": "Name Template",
            "type": "string"
          },
          "older_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Older Count"
          },
          "pick_order": {
            "description": "How the delivered collection is ordered.",
            "enum": [
              "best",
              "new_first",
              "newest",
              "rating",
              "rotate",
              "shuffle"
            ],
            "title": "Pick Order",
            "type": "string"
          },
          "pin_top": {
            "title": "Pin Top",
            "type": "boolean"
          },
          "placement": {
            "description": "Where the OWNER's own collection appears.",
            "enum": [
              "both",
              "home",
              "library",
              "off"
            ],
            "title": "Placement",
            "type": "string"
          },
          "placement_friends": {
            "description": "Where each FRIEND's own collection appears.",
            "enum": [
              "both",
              "home",
              "library",
              "off"
            ],
            "title": "Placement Friends",
            "type": "string"
          },
          "plan": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/PlanEntryOut"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan"
          },
          "poster": {
            "$ref": "#/components/schemas/PosterOut"
          },
          "preview_incomplete": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Preview Incomplete"
          },
          "preview_titles": {
            "items": {
              "$ref": "#/components/schemas/PreviewTitleOut"
            },
            "title": "Preview Titles",
            "type": "array"
          },
          "recency": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recency"
          },
          "recent_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recent Count"
          },
          "refresh_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Refresh Days"
          },
          "refresh_share": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "description": "Share of picks swapped on a refresh night; null keeps two thirds.",
            "title": "Refresh Share"
          },
          "repeat_cooldown_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "No repeats within this many days; null is off.",
            "title": "Repeat Cooldown Days"
          },
          "req_auto_min_demand": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Auto Min Demand"
          },
          "req_auto_min_rating": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Auto Min Rating"
          },
          "req_auto_send": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Auto Send"
          },
          "req_auto_user_tag": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "Tag this row's Sonarr/Radarr requests with the wanting person's slug; null inherits the global requests.auto_user_tag.",
            "title": "Req Auto User Tag"
          },
          "req_language_mode": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "How this row treats a title's original language when requesting: 'any' (one bar for everything), 'prefer' (other languages need a higher rating to auto-send), or 'only' (never request another language); null inherits the global requests.language_mode.",
            "enum": [
              "any",
              "prefer",
              "only",
              null
            ],
            "title": "Req Language Mode"
          },
          "req_max_per_row": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Max Per Row"
          },
          "req_max_year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Max Year"
          },
          "req_min_demand": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Min Demand"
          },
          "req_min_rating": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Min Rating"
          },
          "req_min_rating_other": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "description": "Rating another language must reach for this row to auto-send it. Null inherits the global requests.min_rating_other, which may itself be unset \u2014 in which case this row derives from its own req_min_rating plus 1.5.",
            "title": "Req Min Rating Other"
          },
          "req_min_votes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Min Votes"
          },
          "req_min_year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Min Year"
          },
          "req_preferred_languages": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "ISO 639-1 codes this row treats as preferred; null inherits the global requests.preferred_languages. An empty list is a row that cleared its languages.",
            "title": "Req Preferred Languages"
          },
          "req_radarr_quality_profile_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Radarr Quality Profile Id"
          },
          "req_radarr_root_folder": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Radarr Root Folder"
          },
          "req_season_count": {
            "anyOf": [
              {
                "maximum": 99.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "How many seasons 'firstSeason'/'lastSeason' take for this row's requests; null inherits the global requests.season_count.",
            "title": "Req Season Count"
          },
          "req_skip_library_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "Keys of this row's libraries it does not request titles for; null or empty requests for all of them. A library added to Plex later is on by default.",
            "title": "Req Skip Library Keys"
          },
          "req_sonarr_monitor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "How much of a show Sonarr monitors for this row's requests (Sonarr's Add Series 'Monitor' choice); null inherits the global requests.sonarr.monitor.",
            "enum": [
              "all",
              "firstSeason",
              "lastSeason",
              "pilot",
              "none",
              null
            ],
            "title": "Req Sonarr Monitor"
          },
          "req_sonarr_quality_profile_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Sonarr Quality Profile Id"
          },
          "req_sonarr_root_folder": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Req Sonarr Root Folder"
          },
          "request_tag": {
            "title": "Request Tag",
            "type": "string"
          },
          "requests_row": {
            "title": "Requests Row",
            "type": "boolean"
          },
          "requests_tag_pattern": {
            "title": "Requests Tag Pattern",
            "type": "string"
          },
          "requests_window_days": {
            "title": "Requests Window Days",
            "type": "integer"
          },
          "rewatch": {
            "title": "Rewatch",
            "type": "boolean"
          },
          "rewatch_cooldown_days": {
            "title": "Rewatch Cooldown Days",
            "type": "integer"
          },
          "schedule": {
            "title": "Schedule",
            "type": "string"
          },
          "season_after_days": {
            "description": "How many days after each season's day the row stays up.",
            "title": "Season After Days",
            "type": "integer"
          },
          "season_lead_days": {
            "description": "How many days before each season's day the row starts showing.",
            "title": "Season Lead Days",
            "type": "integer"
          },
          "season_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SeasonStatusOut"
              },
              {
                "type": "null"
              }
            ],
            "description": "Where the row is in its calendar today; null for a row that follows no season."
          },
          "seasons": {
            "description": "Seasons this row follows, in calendar order. Empty means not seasonal.",
            "items": {
              "type": "string"
            },
            "title": "Seasons",
            "type": "array"
          },
          "seed_window": {
            "title": "Seed Window",
            "type": "integer"
          },
          "show_days": {
            "description": "Days this row appears, as ISO weekdays (1=Monday .. 7=Sunday). Empty means every day.",
            "items": {
              "type": "integer"
            },
            "title": "Show Days",
            "type": "array"
          },
          "shown_today": {
            "description": "Whether this row is on its surfaces today, judged on the SERVER's clock \u2014 which is the clock the midnight schedule and Plex follow, not the viewer's.",
            "title": "Shown Today",
            "type": "boolean"
          },
          "size": {
            "title": "Size",
            "type": "integer"
          },
          "slug": {
            "title": "Slug",
            "type": "string"
          },
          "sort_order": {
            "title": "Sort Order",
            "type": "integer"
          },
          "sort_title_prefix": {
            "title": "Sort Title Prefix",
            "type": "string"
          },
          "theme_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Days a theme lasts in Explore; null is 7.",
            "title": "Theme Days"
          },
          "theme_emoji": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The fixed theme's emoji; null when it has none, or for Explore.",
            "title": "Theme Emoji"
          },
          "theme_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The theme an AI row follows; null for an ordinary row.",
            "title": "Theme Id"
          },
          "theme_mode": {
            "description": "Whether an AI row keeps one theme or explores.",
            "enum": [
              "fixed",
              "explore"
            ],
            "title": "Theme Mode",
            "type": "string"
          },
          "theme_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The fixed theme's name; null for an ordinary row or an Explore row.",
            "title": "Theme Name"
          },
          "unstarted_only": {
            "title": "Unstarted Only",
            "type": "boolean"
          },
          "watched_pct": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Watched Pct"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "last_run_id",
          "preview_titles",
          "build",
          "audience",
          "audience_user_ids",
          "enabled",
          "schedule",
          "size",
          "media",
          "sort_order",
          "name_template",
          "fallback_name",
          "description",
          "sort_title_prefix",
          "min_watchers",
          "request_tag",
          "candidate_sources",
          "watched_pct",
          "rewatch",
          "rewatch_cooldown_days",
          "requests_row",
          "requests_window_days",
          "requests_tag_pattern",
          "unstarted_only",
          "refresh_days",
          "idle_hold_days",
          "recency",
          "recent_count",
          "favourite_count",
          "older_count",
          "max_seeds",
          "max_runtime",
          "min_year",
          "max_year",
          "min_rating",
          "cold_start",
          "seed_window",
          "req_min_rating",
          "req_min_votes",
          "req_min_demand",
          "req_min_year",
          "req_max_year",
          "req_auto_send",
          "req_auto_min_demand",
          "req_auto_min_rating",
          "req_max_per_row",
          "req_radarr_quality_profile_id",
          "req_radarr_root_folder",
          "req_sonarr_quality_profile_id",
          "req_sonarr_root_folder",
          "req_sonarr_monitor",
          "req_season_count",
          "req_language_mode",
          "req_preferred_languages",
          "req_skip_library_keys",
          "req_min_rating_other",
          "pick_order",
          "placement",
          "placement_friends",
          "show_days",
          "shown_today",
          "seasons",
          "season_lead_days",
          "season_after_days",
          "season_status",
          "pin_top",
          "hub_anchor",
          "library_keys",
          "poster",
          "ai_instructions",
          "theme_id",
          "theme_name",
          "theme_emoji",
          "ai_paused",
          "ai_tokens",
          "theme_mode",
          "explore_brief",
          "theme_days",
          "refresh_share",
          "repeat_cooldown_days",
          "avoid_rows"
        ],
        "title": "CollectionOut",
        "type": "object"
      },
      "ConfiguredDestination": {
        "additionalProperties": true,
        "description": "A credential-free, currently configured service endpoint.",
        "properties": {
          "destination_id": {
            "title": "Destination Id",
            "type": "string"
          },
          "host": {
            "title": "Host",
            "type": "string"
          },
          "label": {
            "title": "Label",
            "type": "string"
          },
          "purposes": {
            "items": {
              "type": "string"
            },
            "title": "Purposes",
            "type": "array"
          },
          "service_id": {
            "title": "Service Id",
            "type": "string"
          }
        },
        "required": [
          "service_id",
          "label",
          "purposes",
          "destination_id",
          "host"
        ],
        "title": "ConfiguredDestination",
        "type": "object"
      },
      "ConnectionTestOut": {
        "additionalProperties": true,
        "description": "`message` is plain English either way \u2014 the success line, or a redacted failure (rule 9).",
        "properties": {
          "message": {
            "title": "Message",
            "type": "string"
          },
          "ok": {
            "title": "Ok",
            "type": "boolean"
          }
        },
        "required": [
          "ok",
          "message"
        ],
        "title": "ConnectionTestOut",
        "type": "object"
      },
      "ConsentDecisionIn": {
        "additionalProperties": false,
        "description": "One exact browser consent decision protected by an independent CSRF token.",
        "properties": {
          "approved": {
            "title": "Approved",
            "type": "boolean"
          },
          "csrf_token": {
            "title": "Csrf Token",
            "type": "string"
          },
          "flow_id": {
            "title": "Flow Id",
            "type": "string"
          },
          "grant_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Grant Id"
          }
        },
        "required": [
          "flow_id",
          "csrf_token",
          "approved"
        ],
        "title": "ConsentDecisionIn",
        "type": "object"
      },
      "ConstraintsIn": {
        "additionalProperties": false,
        "description": "Strict owner-selected resource bounds for a grant.",
        "properties": {
          "destination_ids": {
            "items": {
              "type": "string"
            },
            "title": "Destination Ids",
            "type": "array",
            "uniqueItems": true
          },
          "include_future_libraries": {
            "default": true,
            "title": "Include Future Libraries",
            "type": "boolean"
          },
          "include_future_rows": {
            "default": true,
            "title": "Include Future Rows",
            "type": "boolean"
          },
          "library_keys": {
            "items": {
              "type": "string"
            },
            "title": "Library Keys",
            "type": "array",
            "uniqueItems": true
          },
          "max_batch_size": {
            "anyOf": [
              {
                "maximum": 1000.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": 25,
            "title": "Max Batch Size"
          },
          "max_provider_calls": {
            "default": 0,
            "maximum": 100.0,
            "minimum": 0.0,
            "title": "Max Provider Calls",
            "type": "integer"
          },
          "max_work_per_operation": {
            "anyOf": [
              {
                "maximum": 100000.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Work Per Operation"
          },
          "row_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Row Ids",
            "type": "array",
            "uniqueItems": true
          },
          "setting_groups": {
            "items": {
              "type": "string"
            },
            "title": "Setting Groups",
            "type": "array",
            "uniqueItems": true
          }
        },
        "title": "ConstraintsIn",
        "type": "object"
      },
      "ConstraintsPatchIn": {
        "additionalProperties": false,
        "description": "Sparse owner-selected changes to a grant's resource bounds.",
        "properties": {
          "destination_ids": {
            "items": {
              "type": "string"
            },
            "title": "Destination Ids",
            "type": "array",
            "uniqueItems": true
          },
          "include_future_libraries": {
            "default": false,
            "title": "Include Future Libraries",
            "type": "boolean"
          },
          "include_future_rows": {
            "default": false,
            "title": "Include Future Rows",
            "type": "boolean"
          },
          "library_keys": {
            "items": {
              "type": "string"
            },
            "title": "Library Keys",
            "type": "array",
            "uniqueItems": true
          },
          "max_batch_size": {
            "anyOf": [
              {
                "maximum": 1000.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Batch Size"
          },
          "max_provider_calls": {
            "default": 0,
            "maximum": 100.0,
            "minimum": 0.0,
            "title": "Max Provider Calls",
            "type": "integer"
          },
          "max_work_per_operation": {
            "anyOf": [
              {
                "maximum": 100000.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Work Per Operation"
          },
          "row_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Row Ids",
            "type": "array",
            "uniqueItems": true
          },
          "setting_groups": {
            "items": {
              "type": "string"
            },
            "title": "Setting Groups",
            "type": "array",
            "uniqueItems": true
          }
        },
        "title": "ConstraintsPatchIn",
        "type": "object"
      },
      "CoverageOut": {
        "additionalProperties": true,
        "description": "Who is actually covered. `users_enabled`/`rows_enabled` describe the server as it is NOW and\nare deliberately not windowed.",
        "properties": {
          "rows_enabled": {
            "title": "Rows Enabled",
            "type": "integer"
          },
          "users_enabled": {
            "title": "Users Enabled",
            "type": "integer"
          },
          "users_idle": {
            "title": "Users Idle",
            "type": "integer"
          },
          "users_total": {
            "title": "Users Total",
            "type": "integer"
          },
          "users_watched": {
            "title": "Users Watched",
            "type": "integer"
          },
          "users_watched_delta": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Users Watched Delta"
          },
          "users_with_picks": {
            "title": "Users With Picks",
            "type": "integer"
          }
        },
        "required": [
          "users_enabled",
          "users_total",
          "users_with_picks",
          "users_idle",
          "users_watched",
          "users_watched_delta",
          "rows_enabled"
        ],
        "title": "CoverageOut",
        "type": "object"
      },
      "CuratorModelsOut": {
        "additionalProperties": true,
        "description": "The provider the listing was made for (so a stale reply can be told apart from a live one),\nand its model ids. Best-effort: `models` is empty when the provider cannot be asked.",
        "properties": {
          "models": {
            "items": {
              "type": "string"
            },
            "title": "Models",
            "type": "array"
          },
          "provider": {
            "title": "Provider",
            "type": "string"
          }
        },
        "required": [
          "provider",
          "models"
        ],
        "title": "CuratorModelsOut",
        "type": "object"
      },
      "CuratorModelsRequest": {
        "description": "Optional live overrides from the settings form so the model picker can list the provider being\nedited BEFORE it's saved. Any blank field falls back to the saved setting; a redacted api key\n('\u2022\u2022\u2022\u2022\u2022') means 'use the saved key'. The key is used only to build the client in memory \u2014 never\nlogged (only the exception class is).",
        "properties": {
          "api_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Api Key"
          },
          "ollama_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ollama Url"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          }
        },
        "title": "CuratorModelsRequest",
        "type": "object"
      },
      "DateRuleIO": {
        "additionalProperties": true,
        "description": "When a season falls: see `seasons.DateRule`. ``weekday`` is Monday=0; ``nth`` is 1-4, or -1 for the last.",
        "properties": {
          "day": {
            "default": 1,
            "title": "Day",
            "type": "integer"
          },
          "kind": {
            "enum": [
              "fixed",
              "nth",
              "easter",
              "month"
            ],
            "title": "Kind",
            "type": "string"
          },
          "month": {
            "default": 1,
            "title": "Month",
            "type": "integer"
          },
          "nth": {
            "default": 1,
            "title": "Nth",
            "type": "integer"
          },
          "offset": {
            "default": 0,
            "title": "Offset",
            "type": "integer"
          },
          "weekday": {
            "default": 0,
            "title": "Weekday",
            "type": "integer"
          }
        },
        "required": [
          "kind"
        ],
        "title": "DateRuleIO",
        "type": "object"
      },
      "DeletedOut": {
        "additionalProperties": true,
        "properties": {
          "deleted": {
            "title": "Deleted",
            "type": "integer"
          }
        },
        "required": [
          "deleted"
        ],
        "title": "DeletedOut",
        "type": "object"
      },
      "DeletedRowOut": {
        "additionalProperties": true,
        "description": "History belonging to a row that no longer exists.",
        "properties": {
          "first_seen": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Seen"
          },
          "last_seen": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Seen"
          },
          "picks": {
            "title": "Picks",
            "type": "integer"
          },
          "slug": {
            "title": "Slug",
            "type": "string"
          }
        },
        "required": [
          "slug",
          "picks",
          "first_seen",
          "last_seen"
        ],
        "title": "DeletedRowOut",
        "type": "object"
      },
      "DestinationSelection": {
        "additionalProperties": false,
        "description": "The exact catalog choice the owner saw before saving.",
        "properties": {
          "destination_id": {
            "title": "Destination Id",
            "type": "string"
          },
          "service_id": {
            "title": "Service Id",
            "type": "string"
          }
        },
        "required": [
          "service_id",
          "destination_id"
        ],
        "title": "DestinationSelection",
        "type": "object"
      },
      "Dismiss": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "title": "Dismiss",
        "type": "object"
      },
      "DismissedOut": {
        "additionalProperties": true,
        "properties": {
          "ok": {
            "title": "Ok",
            "type": "boolean"
          }
        },
        "required": [
          "ok"
        ],
        "title": "DismissedOut",
        "type": "object"
      },
      "DynamicClientRegistrationIn": {
        "description": "RFC 7591 subset for public authorization-code clients.",
        "properties": {
          "client_name": {
            "maxLength": 255,
            "minLength": 1,
            "title": "Client Name",
            "type": "string"
          },
          "grant_types": {
            "items": {
              "type": "string"
            },
            "title": "Grant Types",
            "type": "array"
          },
          "redirect_uris": {
            "items": {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 10,
            "minItems": 1,
            "title": "Redirect Uris",
            "type": "array"
          },
          "response_types": {
            "items": {
              "type": "string"
            },
            "title": "Response Types",
            "type": "array"
          },
          "token_endpoint_auth_method": {
            "default": "none",
            "title": "Token Endpoint Auth Method",
            "type": "string"
          }
        },
        "required": [
          "client_name",
          "redirect_uris"
        ],
        "title": "DynamicClientRegistrationIn",
        "type": "object"
      },
      "Effect": {
        "description": "Observable consequence classes used by planning and authorization.",
        "enum": [
          "local_config",
          "local_state",
          "scheduler_change",
          "external_read",
          "provider_spend",
          "plex_read",
          "plex_write",
          "plex_privacy_write",
          "acquisition_write",
          "notification_send",
          "credential_change",
          "personal_data_disclosure"
        ],
        "title": "Effect",
        "type": "string"
      },
      "EffectReferenceOut": {
        "additionalProperties": true,
        "description": "Public consequence description.",
        "properties": {
          "description": {
            "title": "Description",
            "type": "string"
          },
          "kind": {
            "$ref": "#/components/schemas/Effect"
          },
          "timing": {
            "$ref": "#/components/schemas/EffectTiming"
          }
        },
        "required": [
          "kind",
          "timing",
          "description"
        ],
        "title": "EffectReferenceOut",
        "type": "object"
      },
      "EffectTiming": {
        "description": "When an effect can occur after a catalog-backed change.",
        "enum": [
          "immediate",
          "queued",
          "future_run",
          "recurring"
        ],
        "title": "EffectTiming",
        "type": "string"
      },
      "EffectivenessReportOut": {
        "additionalProperties": true,
        "description": "The dashboard tracking report for one window.",
        "properties": {
          "coverage": {
            "$ref": "#/components/schemas/CoverageOut"
          },
          "first_pick": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Pick"
          },
          "overall": {
            "$ref": "#/components/schemas/OverallOut"
          },
          "per_row": {
            "items": {
              "$ref": "#/components/schemas/PerRowOut"
            },
            "title": "Per Row",
            "type": "array"
          },
          "per_user": {
            "items": {
              "$ref": "#/components/schemas/PerUserOut"
            },
            "title": "Per User",
            "type": "array"
          },
          "recent": {
            "items": {
              "$ref": "#/components/schemas/RecentWatchOut"
            },
            "title": "Recent",
            "type": "array"
          },
          "requests": {
            "$ref": "#/components/schemas/ReportRequestsOut"
          },
          "runs": {
            "$ref": "#/components/schemas/ReportRunsOut"
          },
          "since": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Since"
          },
          "top_titles": {
            "items": {
              "$ref": "#/components/schemas/TopTitleOut"
            },
            "title": "Top Titles",
            "type": "array"
          },
          "trend": {
            "items": {
              "$ref": "#/components/schemas/TrendPointOut"
            },
            "title": "Trend",
            "type": "array"
          },
          "watch_sync": {
            "$ref": "#/components/schemas/WatchSyncOut"
          },
          "window": {
            "enum": [
              "7",
              "30",
              "90",
              "all"
            ],
            "title": "Window",
            "type": "string"
          },
          "window_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Window Days"
          }
        },
        "required": [
          "window",
          "window_days",
          "since",
          "first_pick",
          "overall",
          "watch_sync",
          "coverage",
          "runs",
          "requests",
          "trend",
          "per_user",
          "per_row",
          "top_titles",
          "recent"
        ],
        "title": "EffectivenessReportOut",
        "type": "object"
      },
      "EnforcementOut": {
        "additionalProperties": true,
        "description": "The last time a run looked through a real account's eyes at their Home screen.\n\n`measured` is the whole point. An empty `not_enforced` on an unmeasured run is not \"all clear\" \u2014\nit is \"nobody looked\", and rendering the two the same is how a live alert gets cleared.",
        "properties": {
          "measured": {
            "title": "Measured",
            "type": "boolean"
          },
          "measured_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Measured At"
          },
          "not_enforced": {
            "additionalProperties": {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            "title": "Not Enforced",
            "type": "object"
          },
          "run_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Run Id"
          },
          "unhideable": {
            "additionalProperties": {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            "title": "Unhideable",
            "type": "object"
          },
          "unhideable_measured": {
            "title": "Unhideable Measured",
            "type": "boolean"
          },
          "unhideable_measured_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Unhideable Measured At"
          },
          "unhideable_run_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Unhideable Run Id"
          }
        },
        "required": [
          "measured",
          "run_id",
          "measured_at",
          "not_enforced",
          "unhideable",
          "unhideable_measured",
          "unhideable_run_id",
          "unhideable_measured_at"
        ],
        "title": "EnforcementOut",
        "type": "object"
      },
      "EngagementOut": {
        "additionalProperties": true,
        "properties": {
          "people": {
            "items": {
              "$ref": "#/components/schemas/EngagementPersonOut"
            },
            "title": "People",
            "type": "array"
          },
          "window": {
            "title": "Window",
            "type": "string"
          }
        },
        "required": [
          "window",
          "people"
        ],
        "title": "EngagementOut",
        "type": "object"
      },
      "EngagementPersonOut": {
        "additionalProperties": true,
        "properties": {
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name"
          },
          "picks": {
            "items": {
              "$ref": "#/components/schemas/EngagementPickOut"
            },
            "title": "Picks",
            "type": "array"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          },
          "username": {
            "title": "Username",
            "type": "string"
          }
        },
        "required": [
          "username",
          "display_name",
          "picks",
          "total"
        ],
        "title": "EngagementPersonOut",
        "type": "object"
      },
      "EngagementPickOut": {
        "additionalProperties": true,
        "description": "One pick and what became of it.\n\n`percent` is NULL where no live session ever observed the play \u2014 which is not 0%. Plex's watched\nflag cannot see a partial play at all, so \"we never watched this happen\" and \"they bailed at the\nstart\" are genuinely different states and are not collapsed.",
        "properties": {
          "finished_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Finished At"
          },
          "media_type": {
            "title": "Media Type",
            "type": "string"
          },
          "observed_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Observed At"
          },
          "outcome": {
            "title": "Outcome",
            "type": "string"
          },
          "percent": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Percent"
          },
          "row": {
            "title": "Row",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "watched_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Watched At"
          }
        },
        "required": [
          "title",
          "row",
          "media_type",
          "outcome",
          "percent",
          "watched_at",
          "finished_at",
          "observed_at"
        ],
        "title": "EngagementPickOut",
        "type": "object"
      },
      "EventOut": {
        "additionalProperties": true,
        "description": "One audit row. `message` is the writer's structured diff, and its keys depend on `scope`.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "level": {
            "title": "Level",
            "type": "string"
          },
          "message": {
            "additionalProperties": true,
            "title": "Message",
            "type": "object"
          },
          "scope": {
            "title": "Scope",
            "type": "string"
          },
          "ts": {
            "title": "Ts",
            "type": "string"
          }
        },
        "required": [
          "id",
          "ts",
          "level",
          "scope",
          "message"
        ],
        "title": "EventOut",
        "type": "object"
      },
      "GrantConstraintsOut": {
        "additionalProperties": true,
        "description": "Publicly effective resource and work bounds.",
        "properties": {
          "destination_ids": {
            "items": {
              "type": "string"
            },
            "title": "Destination Ids",
            "type": "array"
          },
          "include_future_libraries": {
            "title": "Include Future Libraries",
            "type": "boolean"
          },
          "include_future_rows": {
            "title": "Include Future Rows",
            "type": "boolean"
          },
          "library_keys": {
            "items": {
              "type": "string"
            },
            "title": "Library Keys",
            "type": "array"
          },
          "max_batch_size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Batch Size"
          },
          "max_provider_calls": {
            "title": "Max Provider Calls",
            "type": "integer"
          },
          "max_work_per_operation": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Work Per Operation"
          },
          "owner_managed": {
            "title": "Owner Managed",
            "type": "boolean"
          },
          "row_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Row Ids",
            "type": "array"
          },
          "setting_groups": {
            "items": {
              "type": "string"
            },
            "title": "Setting Groups",
            "type": "array"
          }
        },
        "required": [
          "row_ids",
          "library_keys",
          "setting_groups",
          "destination_ids",
          "include_future_rows",
          "include_future_libraries",
          "max_batch_size",
          "max_work_per_operation",
          "max_provider_calls",
          "owner_managed"
        ],
        "title": "GrantConstraintsOut",
        "type": "object"
      },
      "GrantConstraintsPatchIn": {
        "additionalProperties": false,
        "description": "Revision-guarded owner change to one grant's authority.",
        "properties": {
          "access_role": {
            "anyOf": [
              {
                "enum": [
                  "view",
                  "manage"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Access Role"
          },
          "approve_updated_access": {
            "default": false,
            "title": "Approve Updated Access",
            "type": "boolean"
          },
          "capabilities": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Capability"
                },
                "type": "array",
                "uniqueItems": true
              },
              {
                "type": "null"
              }
            ],
            "title": "Capabilities"
          },
          "constraints": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConstraintsPatchIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "expected_revision": {
            "exclusiveMinimum": 0.0,
            "title": "Expected Revision",
            "type": "integer"
          },
          "max_provider_calls": {
            "anyOf": [
              {
                "maximum": 100.0,
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Provider Calls"
          },
          "paid_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Paid Enabled"
          },
          "selected_destinations": {
            "items": {
              "$ref": "#/components/schemas/DestinationSelection"
            },
            "title": "Selected Destinations",
            "type": "array"
          },
          "upgrade_owner_managed": {
            "default": false,
            "title": "Upgrade Owner Managed",
            "type": "boolean"
          }
        },
        "required": [
          "expected_revision"
        ],
        "title": "GrantConstraintsPatchIn",
        "type": "object"
      },
      "GrantCreateIn": {
        "additionalProperties": false,
        "description": "Owner-approved named assistant grant.",
        "properties": {
          "access_role": {
            "anyOf": [
              {
                "enum": [
                  "view",
                  "manage"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Access Role"
          },
          "capabilities": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Capability"
                },
                "type": "array",
                "uniqueItems": true
              },
              {
                "type": "null"
              }
            ],
            "title": "Capabilities"
          },
          "client_id": {
            "maxLength": 255,
            "minLength": 1,
            "title": "Client Id",
            "type": "string"
          },
          "constraints": {
            "$ref": "#/components/schemas/ConstraintsIn"
          },
          "expires_in_days": {
            "anyOf": [
              {
                "maximum": 365.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": 90,
            "title": "Expires In Days"
          },
          "name": {
            "maxLength": 255,
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "owner_managed": {
            "default": false,
            "title": "Owner Managed",
            "type": "boolean"
          },
          "preset": {
            "$ref": "#/components/schemas/GrantPreset"
          },
          "selected_destinations": {
            "items": {
              "$ref": "#/components/schemas/DestinationSelection"
            },
            "title": "Selected Destinations",
            "type": "array"
          }
        },
        "required": [
          "client_id",
          "name",
          "preset"
        ],
        "title": "GrantCreateIn",
        "type": "object"
      },
      "GrantOut": {
        "additionalProperties": true,
        "description": "Safe browser-facing named grant authority.",
        "properties": {
          "access_role": {
            "anyOf": [
              {
                "enum": [
                  "view",
                  "manage"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Access Role"
          },
          "capabilities": {
            "items": {
              "$ref": "#/components/schemas/Capability"
            },
            "title": "Capabilities",
            "type": "array"
          },
          "client_id": {
            "title": "Client Id",
            "type": "string"
          },
          "constraints": {
            "$ref": "#/components/schemas/GrantConstraintsOut"
          },
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "full_management": {
            "title": "Full Management",
            "type": "boolean"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "owner_account_id": {
            "title": "Owner Account Id",
            "type": "integer"
          },
          "preset": {
            "$ref": "#/components/schemas/GrantPreset"
          },
          "requires_access_approval": {
            "title": "Requires Access Approval",
            "type": "boolean"
          },
          "revision": {
            "title": "Revision",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "owner_account_id",
          "client_id",
          "name",
          "preset",
          "capabilities",
          "constraints",
          "requires_access_approval",
          "full_management",
          "access_role",
          "revision",
          "expires_at"
        ],
        "title": "GrantOut",
        "type": "object"
      },
      "GrantPreset": {
        "description": "Owner-facing starting points for a named assistant connection.",
        "enum": [
          "inspect",
          "manage_selected_rows",
          "owner_automation"
        ],
        "title": "GrantPreset",
        "type": "string"
      },
      "GrantSummaryOut": {
        "additionalProperties": true,
        "description": "Grant authority plus owner-visible activity and call accounting.",
        "properties": {
          "access_role": {
            "anyOf": [
              {
                "enum": [
                  "view",
                  "manage"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Access Role"
          },
          "capabilities": {
            "items": {
              "$ref": "#/components/schemas/Capability"
            },
            "title": "Capabilities",
            "type": "array"
          },
          "client_id": {
            "title": "Client Id",
            "type": "string"
          },
          "constraints": {
            "$ref": "#/components/schemas/GrantConstraintsOut"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "full_management": {
            "title": "Full Management",
            "type": "boolean"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "last_used_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Used At"
          },
          "local_credential_count": {
            "title": "Local Credential Count",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "owner_account_id": {
            "title": "Owner Account Id",
            "type": "integer"
          },
          "preset": {
            "$ref": "#/components/schemas/GrantPreset"
          },
          "provider_call_quota": {
            "$ref": "#/components/schemas/ProviderCallQuotaOut"
          },
          "requires_access_approval": {
            "title": "Requires Access Approval",
            "type": "boolean"
          },
          "revision": {
            "title": "Revision",
            "type": "integer"
          },
          "revoked_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Revoked At"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "id",
          "owner_account_id",
          "client_id",
          "name",
          "preset",
          "capabilities",
          "constraints",
          "requires_access_approval",
          "full_management",
          "access_role",
          "revision",
          "expires_at",
          "created_at",
          "updated_at",
          "revoked_at",
          "last_used_at",
          "local_credential_count",
          "provider_call_quota"
        ],
        "title": "GrantSummaryOut",
        "type": "object"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
          }
        },
        "title": "HTTPValidationError",
        "type": "object"
      },
      "HealthOut": {
        "additionalProperties": true,
        "properties": {
          "status": {
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "title": "HealthOut",
        "type": "object"
      },
      "HeldTitleOut": {
        "additionalProperties": true,
        "properties": {
          "reason": {
            "title": "Reason",
            "type": "string"
          },
          "story": {
            "title": "Story",
            "type": "boolean"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "tmdb_id": {
            "title": "Tmdb Id",
            "type": "integer"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          }
        },
        "required": [
          "tmdb_id",
          "title",
          "year",
          "reason",
          "story"
        ],
        "title": "HeldTitleOut",
        "type": "object"
      },
      "HistoryMixItemOut": {
        "additionalProperties": true,
        "description": "One title in a person's history mix.",
        "properties": {
          "media_type": {
            "title": "Media Type",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "tmdb_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tmdb Id"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          }
        },
        "required": [
          "title",
          "year",
          "media_type",
          "tmdb_id"
        ],
        "title": "HistoryMixItemOut",
        "type": "object"
      },
      "HistoryMixOut": {
        "additionalProperties": true,
        "description": "The titles one row's AI web search draws from a person's history this week, in their three groups.",
        "properties": {
          "favourite_count": {
            "title": "Favourite Count",
            "type": "integer"
          },
          "favourites": {
            "items": {
              "$ref": "#/components/schemas/HistoryMixItemOut"
            },
            "title": "Favourites",
            "type": "array"
          },
          "older": {
            "items": {
              "$ref": "#/components/schemas/HistoryMixItemOut"
            },
            "title": "Older",
            "type": "array"
          },
          "older_count": {
            "title": "Older Count",
            "type": "integer"
          },
          "recent": {
            "items": {
              "$ref": "#/components/schemas/HistoryMixItemOut"
            },
            "title": "Recent",
            "type": "array"
          }
        },
        "required": [
          "recent",
          "favourites",
          "older",
          "favourite_count",
          "older_count"
        ],
        "title": "HistoryMixOut",
        "type": "object"
      },
      "HoldPreviewIn": {
        "description": "Genres and tags the owner is considering, before they are saved.",
        "properties": {
          "genres": {
            "items": {
              "type": "integer"
            },
            "maxItems": 30,
            "title": "Genres",
            "type": "array"
          },
          "tags": {
            "items": {
              "type": "integer"
            },
            "maxItems": 60,
            "title": "Tags",
            "type": "array"
          }
        },
        "title": "HoldPreviewIn",
        "type": "object"
      },
      "HoldPreviewOut": {
        "additionalProperties": true,
        "properties": {
          "checked": {
            "title": "Checked",
            "type": "integer"
          },
          "held": {
            "items": {
              "$ref": "#/components/schemas/HeldTitleOut"
            },
            "title": "Held",
            "type": "array"
          },
          "unread": {
            "title": "Unread",
            "type": "integer"
          }
        },
        "required": [
          "checked",
          "held",
          "unread"
        ],
        "title": "HoldPreviewOut",
        "type": "object"
      },
      "HomeUserOut": {
        "additionalProperties": true,
        "description": "A Home user that could become the owner's watching account.",
        "properties": {
          "already_a_shortlist_user": {
            "title": "Already A Shortlist User",
            "type": "boolean"
          },
          "plex_account_id": {
            "title": "Plex Account Id",
            "type": "integer"
          },
          "protected": {
            "title": "Protected",
            "type": "boolean"
          },
          "title": {
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "plex_account_id",
          "title",
          "protected",
          "already_a_shortlist_user"
        ],
        "title": "HomeUserOut",
        "type": "object"
      },
      "HubAnchorIn": {
        "description": "A per-library shelf placement for one row: the very TOP (``top``), or after/before either\nanother Shortlist ROW (``row``, a row slug) or a foreign collection (``anchor``, a title).\n``top`` needs neither; otherwise exactly one of ``row``/``anchor`` must be set. ``enabled``\nfalse is a placement in its own right \u2014 \"never position this row\" \u2014 and needs neither.\n\n``row`` is a slug rather than a title because a per-person row is one Plex collection PER PERSON:\na title names one account's copy and is meaningless for everyone else, which is what made the\npicker offer forty identical-looking options and place none of them (issue #81).",
        "properties": {
          "anchor": {
            "default": "",
            "maxLength": 255,
            "title": "Anchor",
            "type": "string"
          },
          "before": {
            "default": false,
            "title": "Before",
            "type": "boolean"
          },
          "enabled": {
            "default": true,
            "title": "Enabled",
            "type": "boolean"
          },
          "row": {
            "default": "",
            "maxLength": 255,
            "title": "Row",
            "type": "string"
          },
          "top": {
            "default": false,
            "title": "Top",
            "type": "boolean"
          }
        },
        "title": "HubAnchorIn",
        "type": "object"
      },
      "HubAnchorOut": {
        "additionalProperties": true,
        "description": "A stored shelf placement. Defaulted, unlike the rest of these response fields: rows saved\nbefore ``top`` existed have only ``anchor``/``before``, and filling in the same default\n`HubAnchorIn` would have written is what those rows already mean.",
        "properties": {
          "anchor": {
            "default": "",
            "title": "Anchor",
            "type": "string"
          },
          "before": {
            "default": false,
            "title": "Before",
            "type": "boolean"
          },
          "row": {
            "default": "",
            "title": "Row",
            "type": "string"
          },
          "top": {
            "default": false,
            "title": "Top",
            "type": "boolean"
          }
        },
        "title": "HubAnchorOut",
        "type": "object"
      },
      "ImageProviderOut": {
        "additionalProperties": true,
        "properties": {
          "capable": {
            "title": "Capable",
            "type": "boolean"
          },
          "provider": {
            "title": "Provider",
            "type": "string"
          },
          "reason": {
            "title": "Reason",
            "type": "string"
          }
        },
        "required": [
          "capable",
          "provider",
          "reason"
        ],
        "title": "ImageProviderOut",
        "type": "object"
      },
      "JobCatalogEntryOut": {
        "additionalProperties": true,
        "description": "One card on the Jobs page: what the kind does, when it next runs, and how it went last time.",
        "properties": {
          "description": {
            "title": "Description",
            "type": "string"
          },
          "failed": {
            "title": "Failed",
            "type": "integer"
          },
          "kind": {
            "title": "Kind",
            "type": "string"
          },
          "label": {
            "title": "Label",
            "type": "string"
          },
          "last": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/JobOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "manual": {
            "title": "Manual",
            "type": "boolean"
          },
          "next_run": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Run"
          },
          "queued": {
            "title": "Queued",
            "type": "integer"
          },
          "running": {
            "title": "Running",
            "type": "integer"
          },
          "schedule_optional": {
            "title": "Schedule Optional",
            "type": "boolean"
          },
          "schedule_setting": {
            "title": "Schedule Setting",
            "type": "string"
          },
          "scheduled": {
            "title": "Scheduled",
            "type": "boolean"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          },
          "trigger": {
            "title": "Trigger",
            "type": "string"
          }
        },
        "required": [
          "kind",
          "label",
          "description",
          "manual",
          "trigger",
          "scheduled",
          "schedule_optional",
          "schedule_setting",
          "next_run",
          "last",
          "total",
          "queued",
          "running",
          "failed"
        ],
        "title": "JobCatalogEntryOut",
        "type": "object"
      },
      "JobOut": {
        "additionalProperties": true,
        "description": "One background job row \u2014 the shape `_job_dict` builds, on both `/jobs` and `/jobs/catalog`.",
        "properties": {
          "attempts": {
            "title": "Attempts",
            "type": "integer"
          },
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "detail": {
            "title": "Detail",
            "type": "string"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "finished_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Finished At"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "kind": {
            "title": "Kind",
            "type": "string"
          },
          "max_attempts": {
            "title": "Max Attempts",
            "type": "integer"
          },
          "payload": {
            "additionalProperties": true,
            "title": "Payload",
            "type": "object"
          },
          "result": {
            "additionalProperties": true,
            "title": "Result",
            "type": "object"
          },
          "started_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Started At"
          },
          "status": {
            "enum": [
              "queued",
              "running",
              "done",
              "failed"
            ],
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "id",
          "kind",
          "status",
          "attempts",
          "max_attempts",
          "detail",
          "error",
          "payload",
          "result",
          "created_at",
          "started_at",
          "finished_at"
        ],
        "title": "JobOut",
        "type": "object"
      },
      "JobRunOut": {
        "additionalProperties": true,
        "description": "The receipt for `POST /jobs` \u2014 a subset of `JobOut` plus the sync-check preview lists.",
        "properties": {
          "detail": {
            "title": "Detail",
            "type": "string"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "fixed": {
            "items": {
              "type": "string"
            },
            "title": "Fixed",
            "type": "array"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "kind": {
            "title": "Kind",
            "type": "string"
          },
          "orphans": {
            "items": {
              "type": "string"
            },
            "title": "Orphans",
            "type": "array"
          },
          "status": {
            "enum": [
              "queued",
              "running",
              "done",
              "failed"
            ],
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "id",
          "kind",
          "status",
          "detail",
          "error",
          "fixed",
          "orphans"
        ],
        "title": "JobRunOut",
        "type": "object"
      },
      "JsonValue": {},
      "LandingOut": {
        "additionalProperties": true,
        "description": "The landing rate over a matured cohort \u2014 picks old enough to have had their chance.",
        "properties": {
          "cohort_from": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cohort From"
          },
          "cohort_to": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cohort To"
          },
          "delivered": {
            "title": "Delivered",
            "type": "integer"
          },
          "finished": {
            "title": "Finished",
            "type": "integer"
          },
          "finished_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Finished Rate"
          },
          "matured_days": {
            "title": "Matured Days",
            "type": "integer"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rate"
          },
          "watched": {
            "title": "Watched",
            "type": "integer"
          }
        },
        "required": [
          "delivered",
          "watched",
          "finished",
          "finished_rate",
          "rate",
          "cohort_from",
          "cohort_to",
          "matured_days"
        ],
        "title": "LandingOut",
        "type": "object"
      },
      "LibraryCollectionOut": {
        "additionalProperties": true,
        "description": "A candidate anchor. Title, because the shelf is ordered by title, not by rating key \u2014 plus\nwhether it has a position on a Plex shelf at all, which decides if it can anchor anything.",
        "properties": {
          "on_shelf": {
            "title": "On Shelf",
            "type": "boolean"
          },
          "title": {
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "title",
          "on_shelf"
        ],
        "title": "LibraryCollectionOut",
        "type": "object"
      },
      "LibraryOut": {
        "additionalProperties": true,
        "properties": {
          "key": {
            "title": "Key",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "type": {
            "enum": [
              "movie",
              "show"
            ],
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "key",
          "title",
          "type"
        ],
        "title": "LibraryOut",
        "type": "object"
      },
      "LibrarySectionOut": {
        "additionalProperties": true,
        "description": "One movie/show library the probe found.",
        "properties": {
          "count": {
            "title": "Count",
            "type": "integer"
          },
          "key": {
            "title": "Key",
            "type": "integer"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "type": {
            "enum": [
              "movie",
              "show"
            ],
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "key",
          "title",
          "type",
          "count"
        ],
        "title": "LibrarySectionOut",
        "type": "object"
      },
      "LibraryTitleOut": {
        "additionalProperties": true,
        "properties": {
          "media_type": {
            "enum": [
              "movie",
              "show"
            ],
            "title": "Media Type",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "tmdb_id": {
            "title": "Tmdb Id",
            "type": "integer"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          }
        },
        "required": [
          "tmdb_id",
          "media_type",
          "title",
          "year"
        ],
        "title": "LibraryTitleOut",
        "type": "object"
      },
      "LinkRequest": {
        "properties": {
          "machine_id": {
            "title": "Machine Id",
            "type": "string"
          },
          "owner_account_id": {
            "title": "Owner Account Id",
            "type": "integer"
          },
          "plex_pass": {
            "default": false,
            "title": "Plex Pass",
            "type": "boolean"
          },
          "plex_url": {
            "title": "Plex Url",
            "type": "string"
          },
          "server_name": {
            "default": "",
            "title": "Server Name",
            "type": "string"
          },
          "version": {
            "default": "",
            "title": "Version",
            "type": "string"
          }
        },
        "required": [
          "plex_url",
          "machine_id",
          "owner_account_id"
        ],
        "title": "LinkRequest",
        "type": "object"
      },
      "LinkedOut": {
        "additionalProperties": true,
        "properties": {
          "linked": {
            "title": "Linked",
            "type": "boolean"
          },
          "server_name": {
            "title": "Server Name",
            "type": "string"
          }
        },
        "required": [
          "linked",
          "server_name"
        ],
        "title": "LinkedOut",
        "type": "object"
      },
      "LocalCredentialIn": {
        "additionalProperties": false,
        "description": "Lifetime for a one-time local credential handoff.",
        "properties": {
          "expires_in_days": {
            "default": 90,
            "maximum": 365.0,
            "minimum": 1.0,
            "title": "Expires In Days",
            "type": "integer"
          }
        },
        "title": "LocalCredentialIn",
        "type": "object"
      },
      "LogLineOut": {
        "additionalProperties": true,
        "description": "One parsed log entry. `ts` is None for a line the parser could not date (a raw traceback).",
        "properties": {
          "level": {
            "title": "Level",
            "type": "string"
          },
          "message": {
            "title": "Message",
            "type": "string"
          },
          "source": {
            "title": "Source",
            "type": "string"
          },
          "ts": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ts"
          }
        },
        "required": [
          "ts",
          "level",
          "source",
          "message"
        ],
        "title": "LogLineOut",
        "type": "object"
      },
      "LogoutOut": {
        "additionalProperties": true,
        "properties": {
          "ok": {
            "title": "Ok",
            "type": "boolean"
          }
        },
        "required": [
          "ok"
        ],
        "title": "LogoutOut",
        "type": "object"
      },
      "LogsOut": {
        "additionalProperties": true,
        "properties": {
          "file": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "File"
          },
          "lines": {
            "items": {
              "$ref": "#/components/schemas/LogLineOut"
            },
            "title": "Lines",
            "type": "array"
          },
          "total_matched": {
            "title": "Total Matched",
            "type": "integer"
          },
          "truncated": {
            "title": "Truncated",
            "type": "boolean"
          }
        },
        "required": [
          "lines",
          "total_matched",
          "truncated",
          "file"
        ],
        "title": "LogsOut",
        "type": "object"
      },
      "NotificationOut": {
        "additionalProperties": true,
        "description": "One alert as the React bell renders it \u2014 plain text throughout, no HTML.\n\n``extra=\"allow\"`` (here and on the wrapper) is not optional: a strict Pydantic response model\nsilently DROPS any key it does not declare, so a field missed here would vanish from the payload\ninstead of failing loudly.",
        "properties": {
          "action_label": {
            "title": "Action Label",
            "type": "string"
          },
          "action_url": {
            "title": "Action Url",
            "type": "string"
          },
          "body": {
            "title": "Body",
            "type": "string"
          },
          "dismissable": {
            "title": "Dismissable",
            "type": "boolean"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "severity": {
            "enum": [
              "info",
              "warning",
              "error"
            ],
            "title": "Severity",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "id",
          "severity",
          "title",
          "body",
          "action_url",
          "action_label",
          "dismissable"
        ],
        "title": "NotificationOut",
        "type": "object"
      },
      "NotificationsOut": {
        "additionalProperties": true,
        "properties": {
          "dismissed": {
            "items": {
              "type": "string"
            },
            "title": "Dismissed",
            "type": "array"
          },
          "notifications": {
            "items": {
              "$ref": "#/components/schemas/NotificationOut"
            },
            "title": "Notifications",
            "type": "array"
          }
        },
        "required": [
          "notifications",
          "dismissed"
        ],
        "title": "NotificationsOut",
        "type": "object"
      },
      "NumericRangeOut": {
        "additionalProperties": true,
        "description": "Public numeric bounds.",
        "properties": {
          "maximum": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "integer"
              }
            ],
            "title": "Maximum"
          },
          "minimum": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "integer"
              }
            ],
            "title": "Minimum"
          },
          "unit": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Unit"
          }
        },
        "required": [
          "minimum",
          "maximum"
        ],
        "title": "NumericRangeOut",
        "type": "object"
      },
      "OAuthAuthorizeIn": {
        "additionalProperties": false,
        "description": "Bounded authorization request copied from the browser URL by the SPA.",
        "properties": {
          "client_id": {
            "maxLength": 255,
            "minLength": 1,
            "title": "Client Id",
            "type": "string"
          },
          "code_challenge": {
            "maxLength": 128,
            "minLength": 43,
            "title": "Code Challenge",
            "type": "string"
          },
          "code_challenge_method": {
            "default": "S256",
            "title": "Code Challenge Method",
            "type": "string"
          },
          "redirect_uri": {
            "maxLength": 2048,
            "minLength": 1,
            "title": "Redirect Uri",
            "type": "string"
          },
          "resource": {
            "maxLength": 2048,
            "minLength": 1,
            "title": "Resource",
            "type": "string"
          },
          "response_type": {
            "default": "code",
            "title": "Response Type",
            "type": "string"
          },
          "scope": {
            "default": "instance.read",
            "maxLength": 2048,
            "title": "Scope",
            "type": "string"
          },
          "state": {
            "maxLength": 2048,
            "minLength": 1,
            "title": "State",
            "type": "string"
          }
        },
        "required": [
          "client_id",
          "redirect_uri",
          "resource",
          "state",
          "code_challenge"
        ],
        "title": "OAuthAuthorizeIn",
        "type": "object"
      },
      "OverallOut": {
        "additionalProperties": true,
        "description": "Headline counts for the window, with the change vs the previous equal period.",
        "properties": {
          "avg_days_to_watch": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avg Days To Watch"
          },
          "avg_days_to_watch_delta": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avg Days To Watch Delta"
          },
          "bounced": {
            "title": "Bounced",
            "type": "integer"
          },
          "delivered": {
            "title": "Delivered",
            "type": "integer"
          },
          "dropped": {
            "title": "Dropped",
            "type": "integer"
          },
          "finished": {
            "title": "Finished",
            "type": "integer"
          },
          "landing": {
            "$ref": "#/components/schemas/LandingOut"
          },
          "viewing_share": {
            "$ref": "#/components/schemas/ViewingShareOut"
          },
          "watched": {
            "title": "Watched",
            "type": "integer"
          },
          "watched_delta": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Watched Delta"
          },
          "watched_prev": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Watched Prev"
          }
        },
        "required": [
          "delivered",
          "watched",
          "watched_prev",
          "watched_delta",
          "finished",
          "bounced",
          "dropped",
          "avg_days_to_watch",
          "avg_days_to_watch_delta",
          "landing",
          "viewing_share"
        ],
        "title": "OverallOut",
        "type": "object"
      },
      "OwnedCollectionOut": {
        "additionalProperties": true,
        "properties": {
          "kind": {
            "enum": [
              "user",
              "shared"
            ],
            "title": "Kind",
            "type": "string"
          },
          "label": {
            "title": "Label",
            "type": "string"
          },
          "library": {
            "title": "Library",
            "type": "string"
          },
          "orphan": {
            "title": "Orphan",
            "type": "boolean"
          },
          "rating_key": {
            "title": "Rating Key",
            "type": "integer"
          },
          "slug": {
            "title": "Slug",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "library",
          "title",
          "label",
          "rating_key",
          "kind",
          "slug",
          "orphan"
        ],
        "title": "OwnedCollectionOut",
        "type": "object"
      },
      "OwnedCollectionsOut": {
        "additionalProperties": true,
        "properties": {
          "collections": {
            "items": {
              "$ref": "#/components/schemas/OwnedCollectionOut"
            },
            "title": "Collections",
            "type": "array"
          },
          "orphans": {
            "title": "Orphans",
            "type": "integer"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          }
        },
        "required": [
          "collections",
          "total",
          "orphans"
        ],
        "title": "OwnedCollectionsOut",
        "type": "object"
      },
      "PendingRestore": {
        "additionalProperties": true,
        "properties": {
          "backup": {
            "title": "Backup",
            "type": "string"
          },
          "requested_at": {
            "title": "Requested At",
            "type": "string"
          }
        },
        "required": [
          "backup",
          "requested_at"
        ],
        "title": "PendingRestore",
        "type": "object"
      },
      "PendingRestoreOut": {
        "additionalProperties": true,
        "description": "The restore waiting for a restart, if any.",
        "properties": {
          "pending": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PendingRestore"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "pending"
        ],
        "title": "PendingRestoreOut",
        "type": "object"
      },
      "PerRowOut": {
        "additionalProperties": true,
        "description": "One (row, library) line. A row targeting >1 library is one Plex collection per library.",
        "properties": {
          "deleted": {
            "title": "Deleted",
            "type": "boolean"
          },
          "delivered": {
            "title": "Delivered",
            "type": "integer"
          },
          "finished": {
            "title": "Finished",
            "type": "integer"
          },
          "library": {
            "title": "Library",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "section_key": {
            "title": "Section Key",
            "type": "string"
          },
          "slug": {
            "title": "Slug",
            "type": "string"
          },
          "watched": {
            "title": "Watched",
            "type": "integer"
          }
        },
        "required": [
          "slug",
          "section_key",
          "library",
          "name",
          "deleted",
          "delivered",
          "watched",
          "finished"
        ],
        "title": "PerRowOut",
        "type": "object"
      },
      "PerUserOut": {
        "additionalProperties": true,
        "properties": {
          "delivered": {
            "title": "Delivered",
            "type": "integer"
          },
          "display_name": {
            "title": "Display Name",
            "type": "string"
          },
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "finished": {
            "title": "Finished",
            "type": "integer"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "slug": {
            "title": "Slug",
            "type": "string"
          },
          "username": {
            "title": "Username",
            "type": "string"
          },
          "watched": {
            "title": "Watched",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "username",
          "display_name",
          "slug",
          "enabled",
          "delivered",
          "watched",
          "finished"
        ],
        "title": "PerUserOut",
        "type": "object"
      },
      "PersonReadyOut": {
        "additionalProperties": true,
        "properties": {
          "display_name": {
            "title": "Display Name",
            "type": "string"
          },
          "linked": {
            "title": "Linked",
            "type": "boolean"
          },
          "ready": {
            "title": "Ready",
            "type": "integer"
          },
          "user_id": {
            "title": "User Id",
            "type": "integer"
          }
        },
        "required": [
          "user_id",
          "display_name",
          "linked",
          "ready"
        ],
        "title": "PersonReadyOut",
        "type": "object"
      },
      "PickIO": {
        "additionalProperties": true,
        "description": "A title the owner picked by hand.",
        "properties": {
          "media_type": {
            "enum": [
              "movie",
              "show"
            ],
            "title": "Media Type",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "tmdb_id": {
            "title": "Tmdb Id",
            "type": "integer"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          }
        },
        "required": [
          "tmdb_id",
          "media_type",
          "title"
        ],
        "title": "PickIO",
        "type": "object"
      },
      "PickOut": {
        "additionalProperties": true,
        "description": "One delivered recommendation, as the run detail lists it.",
        "properties": {
          "affinity": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Affinity"
          },
          "order_rating": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Order Rating"
          },
          "order_rating_source": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Order Rating Source"
          },
          "rank": {
            "title": "Rank",
            "type": "integer"
          },
          "rating": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rating"
          },
          "rating_key": {
            "default": 0,
            "title": "Rating Key",
            "type": "integer"
          },
          "rating_source": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rating Source"
          },
          "reason": {
            "title": "Reason",
            "type": "string"
          },
          "seed_title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Seed Title"
          },
          "sources": {
            "items": {
              "type": "string"
            },
            "title": "Sources",
            "type": "array"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          }
        },
        "required": [
          "rank",
          "title",
          "reason",
          "seed_title",
          "sources",
          "affinity"
        ],
        "title": "PickOut",
        "type": "object"
      },
      "PinOut": {
        "additionalProperties": true,
        "description": "A freshly created plex.tv PIN. The `code` is what the owner types into plex.tv/link \u2014 it is\nshort-lived and useless without the same `client_id`, and it is not a Shortlist credential.\n\n``extra=\"allow\"`` is on every response model in this file: a strict Pydantic response model\nsilently DROPS any key it does not declare, so a field missed here would vanish from the payload\nrather than fail loudly. The model documents the shape; it never filters it.",
        "properties": {
          "client_id": {
            "title": "Client Id",
            "type": "string"
          },
          "code": {
            "title": "Code",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "code",
          "client_id"
        ],
        "title": "PinOut",
        "type": "object"
      },
      "PinStatusOut": {
        "additionalProperties": true,
        "description": "The poll result. Until the owner approves in Plex it is `linked: false` and the identity\nfields are null; the Plex auth token is NEVER part of this payload (it is held server-side,\nkeyed to the session, so an XSS in the SPA cannot steal it).",
        "properties": {
          "account_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Id"
          },
          "linked": {
            "title": "Linked",
            "type": "boolean"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          }
        },
        "required": [
          "linked"
        ],
        "title": "PinStatusOut",
        "type": "object"
      },
      "PlanEntryOut": {
        "additionalProperties": true,
        "description": "One unit of Plex work an edit would cause.",
        "properties": {
          "collections": {
            "items": {
              "type": "string"
            },
            "title": "Collections",
            "type": "array"
          },
          "in_sections": {
            "items": {
              "type": "string"
            },
            "title": "In Sections",
            "type": "array"
          },
          "kind": {
            "description": "What this step would do.",
            "enum": [
              "poster_reset",
              "privacy_sync",
              "reconcile",
              "rename",
              "visibility"
            ],
            "title": "Kind",
            "type": "string"
          },
          "only_user_ids": {
            "items": {
              "type": "integer"
            },
            "title": "Only User Ids",
            "type": "array"
          },
          "reason": {
            "title": "Reason",
            "type": "string"
          }
        },
        "required": [
          "kind",
          "reason",
          "collections",
          "only_user_ids",
          "in_sections"
        ],
        "title": "PlanEntryOut",
        "type": "object"
      },
      "PlexCollectionOut": {
        "additionalProperties": true,
        "properties": {
          "count": {
            "title": "Count",
            "type": "integer"
          },
          "media_type": {
            "enum": [
              "movie",
              "show"
            ],
            "title": "Media Type",
            "type": "string"
          },
          "section_key": {
            "title": "Section Key",
            "type": "string"
          },
          "section_title": {
            "title": "Section Title",
            "type": "string"
          },
          "smart": {
            "title": "Smart",
            "type": "boolean"
          },
          "title": {
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "section_key",
          "section_title",
          "title",
          "count",
          "smart",
          "media_type"
        ],
        "title": "PlexCollectionOut",
        "type": "object"
      },
      "PlexServerOut": {
        "additionalProperties": true,
        "description": "A server plex.tv says this account can reach, with every advertised address already tried.",
        "properties": {
          "connections": {
            "items": {
              "$ref": "#/components/schemas/ServerConnectionOut"
            },
            "title": "Connections",
            "type": "array"
          },
          "machine_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Machine Id"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "owned": {
            "title": "Owned",
            "type": "boolean"
          },
          "version": {
            "title": "Version",
            "type": "string"
          }
        },
        "required": [
          "name",
          "machine_id",
          "owned",
          "version",
          "connections"
        ],
        "title": "PlexServerOut",
        "type": "object"
      },
      "PosterIn": {
        "description": "A row's custom-poster config. ``mode`` \"\" leaves Plex artwork alone; \"upload\" uses the image\nstored via the upload endpoint; \"text\" renders ``title``/``subtitle`` with the built-in Pillow\nengine (no AI); \"ai\" renders them with the curator provider's image model. The text fields share\nthe row-name placeholders ({user}/{library_name}/{top_seed}).",
        "properties": {
          "mode": {
            "default": "",
            "description": "Poster source; \"\" leaves Plex artwork alone.",
            "enum": [
              "",
              "ai",
              "generate",
              "text",
              "upload"
            ],
            "title": "Mode",
            "type": "string"
          },
          "style": {
            "default": "",
            "maxLength": 400,
            "title": "Style",
            "type": "string"
          },
          "subtitle": {
            "default": "",
            "maxLength": 120,
            "title": "Subtitle",
            "type": "string"
          },
          "title": {
            "default": "",
            "maxLength": 120,
            "title": "Title",
            "type": "string"
          }
        },
        "title": "PosterIn",
        "type": "object"
      },
      "PosterOut": {
        "additionalProperties": true,
        "description": "A row's poster config as the editor reads it \u2014 never the image bytes.",
        "properties": {
          "has_image": {
            "title": "Has Image",
            "type": "boolean"
          },
          "mode": {
            "description": "Poster source; \"\" leaves Plex artwork alone.",
            "enum": [
              "",
              "ai",
              "generate",
              "text",
              "upload"
            ],
            "title": "Mode",
            "type": "string"
          },
          "style": {
            "title": "Style",
            "type": "string"
          },
          "subtitle": {
            "title": "Subtitle",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "mode",
          "title",
          "subtitle",
          "style",
          "has_image"
        ],
        "title": "PosterOut",
        "type": "object"
      },
      "PosterUploadOut": {
        "additionalProperties": true,
        "properties": {
          "mode": {
            "title": "Mode",
            "type": "string"
          },
          "ok": {
            "title": "Ok",
            "type": "boolean"
          }
        },
        "required": [
          "ok",
          "mode"
        ],
        "title": "PosterUploadOut",
        "type": "object"
      },
      "PresetOut": {
        "additionalProperties": true,
        "description": "A ready-made season's save fields plus catalogue metadata. ``preset`` is ``key``.",
        "properties": {
          "after_days": {
            "default": 0,
            "maximum": 30.0,
            "minimum": 0.0,
            "title": "After Days",
            "type": "integer"
          },
          "category": {
            "default": "holidays",
            "enum": [
              "holidays",
              "film_days",
              "spotlights"
            ],
            "title": "Category",
            "type": "string"
          },
          "collections": {
            "items": {
              "$ref": "#/components/schemas/CollectionIO"
            },
            "maxItems": 10,
            "title": "Collections",
            "type": "array"
          },
          "description": {
            "default": "",
            "title": "Description",
            "type": "string"
          },
          "emoji": {
            "maxLength": 8,
            "minLength": 1,
            "title": "Emoji",
            "type": "string"
          },
          "excluded_genres": {
            "items": {
              "type": "integer"
            },
            "maxItems": 5,
            "title": "Excluded Genres",
            "type": "array"
          },
          "genre": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Genre"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "label": {
            "title": "Label",
            "type": "string"
          },
          "lead_days": {
            "default": 7,
            "maximum": 90.0,
            "minimum": 0.0,
            "title": "Lead Days",
            "type": "integer"
          },
          "name": {
            "maxLength": 40,
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "note": {
            "title": "Note",
            "type": "string"
          },
          "picks": {
            "items": {
              "$ref": "#/components/schemas/PickIO"
            },
            "maxItems": 200,
            "title": "Picks",
            "type": "array"
          },
          "preset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Preset"
          },
          "rule": {
            "$ref": "#/components/schemas/DateRuleIO"
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagIO"
            },
            "maxItems": 20,
            "title": "Tags",
            "type": "array"
          }
        },
        "required": [
          "name",
          "emoji",
          "rule",
          "key",
          "label",
          "note"
        ],
        "title": "PresetOut",
        "type": "object"
      },
      "PreviewIn": {
        "properties": {
          "brief": {
            "default": "",
            "maxLength": 1000,
            "title": "Brief",
            "type": "string"
          },
          "change": {
            "default": "",
            "maxLength": 1000,
            "title": "Change",
            "type": "string"
          },
          "collection_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Collection Id"
          },
          "current_draft": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ThemeIn"
              },
              {
                "type": "null"
              }
            ]
          },
          "current_theme_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Current Theme Id"
          },
          "guidance": {
            "default": "",
            "maxLength": 4000,
            "title": "Guidance",
            "type": "string"
          },
          "media": {
            "default": "both",
            "enum": [
              "movie",
              "show",
              "both"
            ],
            "title": "Media",
            "type": "string"
          }
        },
        "title": "PreviewIn",
        "type": "object"
      },
      "PreviewOut": {
        "additionalProperties": true,
        "properties": {
          "diff": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ThemeDiffOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "draft": {
            "$ref": "#/components/schemas/ThemeOut"
          },
          "stats": {
            "$ref": "#/components/schemas/ThemeStatsOut"
          },
          "tokens": {
            "title": "Tokens",
            "type": "integer"
          }
        },
        "required": [
          "draft",
          "stats",
          "diff",
          "tokens"
        ],
        "title": "PreviewOut",
        "type": "object"
      },
      "PreviewTitleOut": {
        "additionalProperties": true,
        "description": "One title from a row's latest delivery, for the Rows list's poster collage.",
        "properties": {
          "rating_key": {
            "title": "Rating Key",
            "type": "integer"
          },
          "title": {
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "rating_key",
          "title"
        ],
        "title": "PreviewTitleOut",
        "type": "object"
      },
      "PrivacyStatusOut": {
        "additionalProperties": true,
        "description": "One live reading of the whole server's sharing state.",
        "properties": {
          "accounts": {
            "items": {
              "$ref": "#/components/schemas/AccountPrivacyOut"
            },
            "title": "Accounts",
            "type": "array"
          },
          "enforcement": {
            "$ref": "#/components/schemas/EnforcementOut"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "read_at": {
            "title": "Read At",
            "type": "string"
          },
          "rows_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rows Error"
          },
          "rows_on_plex": {
            "items": {
              "type": "string"
            },
            "title": "Rows On Plex",
            "type": "array"
          },
          "snapshots_kept": {
            "title": "Snapshots Kept",
            "type": "integer"
          },
          "summary": {
            "title": "Summary",
            "type": "string"
          }
        },
        "required": [
          "read_at",
          "summary",
          "accounts",
          "rows_on_plex",
          "rows_error",
          "error",
          "enforcement",
          "snapshots_kept"
        ],
        "title": "PrivacyStatusOut",
        "type": "object"
      },
      "ProbeCheckOut": {
        "additionalProperties": true,
        "description": "One line of the wizard's step-1 checklist: did it pass, and what to say about it.\n\nThis is the one shape here with an OPTIONAL field, which is why its route sets\n``response_model_exclude_unset``. `extra=\"allow\"` stops a model dropping a key, but nothing stops\nit INVENTING one: without that flag every check the probe sends without a `value` \u2014 and the whole\n`tautulli` entry on a server that has none \u2014 would arrive as an explicit `null` the handler never\nwrote. The flag makes the payload byte-identical to the dict, which is the entire contract these\nmodels are meant to keep.",
        "properties": {
          "message": {
            "title": "Message",
            "type": "string"
          },
          "ok": {
            "title": "Ok",
            "type": "boolean"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value"
          }
        },
        "required": [
          "ok",
          "message"
        ],
        "title": "ProbeCheckOut",
        "type": "object"
      },
      "ProbeChecksOut": {
        "additionalProperties": true,
        "description": "The checklist itself.\n\n`tautulli` runs only when the form supplied a Tautulli URL, so it is the one check that can be\nabsent \u2014 and it therefore needs the default. Without one it would be REQUIRED, and every probe of\na server with no Tautulli would fail response validation with a 500 instead of rendering.",
        "properties": {
          "libraries": {
            "$ref": "#/components/schemas/ProbeCheckOut"
          },
          "plex_pass": {
            "$ref": "#/components/schemas/ProbeCheckOut"
          },
          "pms_version": {
            "$ref": "#/components/schemas/ProbeCheckOut"
          },
          "tautulli": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProbeCheckOut"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "pms_version",
          "plex_pass",
          "libraries"
        ],
        "title": "ProbeChecksOut",
        "type": "object"
      },
      "ProbeRequest": {
        "properties": {
          "plex_url": {
            "title": "Plex Url",
            "type": "string"
          },
          "tautulli_apikey": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tautulli Apikey"
          },
          "tautulli_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tautulli Url"
          }
        },
        "required": [
          "plex_url"
        ],
        "title": "ProbeRequest",
        "type": "object"
      },
      "ProbeResultOut": {
        "additionalProperties": true,
        "description": "What `POST /setup/probe` answers: the checklist plus what it learned about the server.",
        "properties": {
          "checks": {
            "$ref": "#/components/schemas/ProbeChecksOut"
          },
          "libraries": {
            "items": {
              "$ref": "#/components/schemas/LibrarySectionOut"
            },
            "title": "Libraries",
            "type": "array"
          },
          "machine_id": {
            "title": "Machine Id",
            "type": "string"
          },
          "owner_account_id": {
            "title": "Owner Account Id",
            "type": "integer"
          },
          "server_name": {
            "title": "Server Name",
            "type": "string"
          }
        },
        "required": [
          "checks",
          "machine_id",
          "server_name",
          "owner_account_id",
          "libraries"
        ],
        "title": "ProbeResultOut",
        "type": "object"
      },
      "PromptsOut": {
        "additionalProperties": true,
        "properties": {
          "guidance": {
            "title": "Guidance",
            "type": "string"
          },
          "mechanics": {
            "title": "Mechanics",
            "type": "string"
          }
        },
        "required": [
          "guidance",
          "mechanics"
        ],
        "title": "PromptsOut",
        "type": "object"
      },
      "ProviderCallQuotaOut": {
        "additionalProperties": true,
        "description": "Current conservative lifetime call accounting.",
        "properties": {
          "lifetime_limit": {
            "title": "Lifetime Limit",
            "type": "integer"
          },
          "remaining": {
            "title": "Remaining",
            "type": "integer"
          },
          "reserved": {
            "title": "Reserved",
            "type": "integer"
          }
        },
        "required": [
          "lifetime_limit",
          "reserved",
          "remaining"
        ],
        "title": "ProviderCallQuotaOut",
        "type": "object"
      },
      "QualityProfileOut": {
        "additionalProperties": true,
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "title": "QualityProfileOut",
        "type": "object"
      },
      "RecentWatchOut": {
        "additionalProperties": true,
        "properties": {
          "display_name": {
            "title": "Display Name",
            "type": "string"
          },
          "finished_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Finished At"
          },
          "library": {
            "title": "Library",
            "type": "string"
          },
          "media_type": {
            "title": "Media Type",
            "type": "string"
          },
          "rating_key": {
            "title": "Rating Key",
            "type": "integer"
          },
          "row": {
            "title": "Row",
            "type": "string"
          },
          "seed_title": {
            "title": "Seed Title",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "tmdb_id": {
            "title": "Tmdb Id",
            "type": "integer"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          },
          "username": {
            "title": "Username",
            "type": "string"
          },
          "watched_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Watched At"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          }
        },
        "required": [
          "user_id",
          "username",
          "display_name",
          "title",
          "media_type",
          "tmdb_id",
          "rating_key",
          "year",
          "row",
          "library",
          "seed_title",
          "watched_at",
          "finished_at"
        ],
        "title": "RecentWatchOut",
        "type": "object"
      },
      "RegenerateRequest": {
        "additionalProperties": false,
        "properties": {
          "user_id": {
            "title": "User Id",
            "type": "integer"
          }
        },
        "required": [
          "user_id"
        ],
        "title": "RegenerateRequest",
        "type": "object"
      },
      "RejectedOut": {
        "additionalProperties": true,
        "description": "How many rows the action actually touched \u2014 not how many ids were sent. Each of the four\ninbox actions skips the statuses it does not own, so the count is the only honest receipt.\n\n``extra=\"allow\"`` is on every response model here (and every nested one): a strict model would\nsilently DROP any key the handler returns but the model has not declared, so a field missed\nhere would vanish from the payload rather than fail loudly.",
        "properties": {
          "rejected": {
            "title": "Rejected",
            "type": "integer"
          }
        },
        "required": [
          "rejected"
        ],
        "title": "RejectedOut",
        "type": "object"
      },
      "ReleaseNotesOut": {
        "additionalProperties": true,
        "properties": {
          "notes": {
            "title": "Notes",
            "type": "string"
          },
          "published_at": {
            "title": "Published At",
            "type": "string"
          },
          "url": {
            "title": "Url",
            "type": "string"
          },
          "version": {
            "title": "Version",
            "type": "string"
          }
        },
        "required": [
          "version",
          "url",
          "published_at",
          "notes"
        ],
        "title": "ReleaseNotesOut",
        "type": "object"
      },
      "RemovedOut": {
        "additionalProperties": true,
        "description": "What `DELETE /users/{id}` dropped. `user_id` is still valid \u2014 the row is archived, not deleted.",
        "properties": {
          "picks_deleted": {
            "title": "Picks Deleted",
            "type": "integer"
          },
          "runs_deleted": {
            "title": "Runs Deleted",
            "type": "integer"
          },
          "user_id": {
            "title": "User Id",
            "type": "integer"
          }
        },
        "required": [
          "user_id",
          "picks_deleted",
          "runs_deleted"
        ],
        "title": "RemovedOut",
        "type": "object"
      },
      "RenameRequest": {
        "properties": {
          "dry_run": {
            "default": false,
            "title": "Dry Run",
            "type": "boolean"
          },
          "name_template": {
            "default": "",
            "title": "Name Template",
            "type": "string"
          },
          "old_template": {
            "default": "",
            "title": "Old Template",
            "type": "string"
          }
        },
        "title": "RenameRequest",
        "type": "object"
      },
      "ReportRequestsOut": {
        "additionalProperties": true,
        "properties": {
          "pending": {
            "title": "Pending",
            "type": "integer"
          },
          "sent": {
            "title": "Sent",
            "type": "integer"
          },
          "watched_after_sent": {
            "title": "Watched After Sent",
            "type": "integer"
          }
        },
        "required": [
          "sent",
          "pending",
          "watched_after_sent"
        ],
        "title": "ReportRequestsOut",
        "type": "object"
      },
      "ReportRunsOut": {
        "additionalProperties": true,
        "properties": {
          "errors_last": {
            "title": "Errors Last",
            "type": "integer"
          },
          "in_window": {
            "title": "In Window",
            "type": "integer"
          },
          "in_window_delta": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "In Window Delta"
          },
          "last_finished": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Finished"
          },
          "last_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Status"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          }
        },
        "required": [
          "total",
          "in_window",
          "in_window_delta",
          "last_finished",
          "last_status",
          "errors_last"
        ],
        "title": "ReportRunsOut",
        "type": "object"
      },
      "RequestAction": {
        "properties": {
          "dry_run": {
            "default": false,
            "title": "Dry Run",
            "type": "boolean"
          },
          "ids": {
            "items": {
              "type": "integer"
            },
            "maxItems": 1000,
            "title": "Ids",
            "type": "array"
          }
        },
        "required": [
          "ids"
        ],
        "title": "RequestAction",
        "type": "object"
      },
      "RequestCandidateOut": {
        "additionalProperties": true,
        "properties": {
          "arr_slug": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Arr Slug"
          },
          "demand": {
            "title": "Demand",
            "type": "integer"
          },
          "detail": {
            "title": "Detail",
            "type": "string"
          },
          "excluded": {
            "default": false,
            "title": "Excluded",
            "type": "boolean"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "imdb_id": {
            "default": "",
            "title": "Imdb Id",
            "type": "string"
          },
          "language": {
            "default": "",
            "title": "Language",
            "type": "string"
          },
          "media_type": {
            "title": "Media Type",
            "type": "string"
          },
          "overview": {
            "default": "",
            "title": "Overview",
            "type": "string"
          },
          "poster_path": {
            "default": "",
            "title": "Poster Path",
            "type": "string"
          },
          "rating": {
            "title": "Rating",
            "type": "number"
          },
          "row_slug": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Row Slug"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "title": "Tags",
            "type": "array"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "tmdb_id": {
            "title": "Tmdb Id",
            "type": "integer"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          },
          "vote_count": {
            "title": "Vote Count",
            "type": "integer"
          },
          "wanters": {
            "items": {
              "type": "string"
            },
            "title": "Wanters",
            "type": "array"
          },
          "why": {
            "items": {
              "$ref": "#/components/schemas/RequestWhyOut"
            },
            "title": "Why",
            "type": "array"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          }
        },
        "required": [
          "id",
          "tmdb_id",
          "media_type",
          "title",
          "year",
          "rating",
          "vote_count",
          "demand",
          "tags",
          "wanters",
          "why",
          "status",
          "detail",
          "updated_at"
        ],
        "title": "RequestCandidateOut",
        "type": "object"
      },
      "RequestWhyOut": {
        "additionalProperties": true,
        "properties": {
          "row": {
            "title": "Row",
            "type": "string"
          },
          "seed": {
            "title": "Seed",
            "type": "string"
          },
          "source": {
            "title": "Source",
            "type": "string"
          },
          "user": {
            "title": "User",
            "type": "string"
          }
        },
        "required": [
          "user",
          "row",
          "seed",
          "source"
        ],
        "title": "RequestWhyOut",
        "type": "object"
      },
      "ResetBehavior": {
        "description": "How a caller expresses the absence of a stored setting value.",
        "enum": [
          "restore_default",
          "literal_null",
          "unavailable"
        ],
        "title": "ResetBehavior",
        "type": "string"
      },
      "RestoreRequest": {
        "properties": {
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "title": "RestoreRequest",
        "type": "object"
      },
      "RestoredOut": {
        "additionalProperties": true,
        "properties": {
          "restored": {
            "title": "Restored",
            "type": "integer"
          }
        },
        "required": [
          "restored"
        ],
        "title": "RestoredOut",
        "type": "object"
      },
      "RootFolderOut": {
        "additionalProperties": true,
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "path": {
            "title": "Path",
            "type": "string"
          }
        },
        "required": [
          "id",
          "path"
        ],
        "title": "RootFolderOut",
        "type": "object"
      },
      "RotationTargetOut": {
        "additionalProperties": true,
        "properties": {
          "current": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ThemeRefOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "history": {
            "description": "Their earlier themes on this row, newest first.",
            "items": {
              "$ref": "#/components/schemas/ThemeRefOut"
            },
            "title": "History",
            "type": "array"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "next": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ThemeRefOut"
              },
              {
                "type": "null"
              }
            ],
            "description": "The theme queued to start when the current one ends."
          },
          "next_due_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "When the current theme ends and the next one starts.",
            "title": "Next Due At"
          },
          "started_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "When the current theme started.",
            "title": "Started At"
          },
          "user_id": {
            "title": "User Id",
            "type": "integer"
          }
        },
        "required": [
          "user_id",
          "name",
          "current",
          "next",
          "started_at",
          "next_due_at",
          "history"
        ],
        "title": "RotationTargetOut",
        "type": "object"
      },
      "RowDeletePreviewOut": {
        "additionalProperties": true,
        "description": "What `DELETE /collections/{id}?dry_run=true` WOULD do. Nothing is written.",
        "properties": {
          "anchors_cleared": {
            "items": {
              "type": "string"
            },
            "title": "Anchors Cleared",
            "type": "array"
          },
          "collections": {
            "items": {
              "type": "string"
            },
            "title": "Collections",
            "type": "array"
          },
          "dry_run": {
            "title": "Dry Run",
            "type": "boolean"
          },
          "message": {
            "title": "Message",
            "type": "string"
          },
          "preview_incomplete": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Preview Incomplete"
          },
          "privacy_sync": {
            "title": "Privacy Sync",
            "type": "boolean"
          },
          "schedule_cleared": {
            "title": "Schedule Cleared",
            "type": "boolean"
          }
        },
        "required": [
          "dry_run",
          "collections",
          "anchors_cleared",
          "privacy_sync",
          "schedule_cleared",
          "preview_incomplete",
          "message"
        ],
        "title": "RowDeletePreviewOut",
        "type": "object"
      },
      "RowEffectivenessOut": {
        "additionalProperties": true,
        "description": "Whether one row is working, for the panel beside its settings.",
        "properties": {
          "delivered": {
            "title": "Delivered",
            "type": "integer"
          },
          "finished": {
            "title": "Finished",
            "type": "integer"
          },
          "first_delivered_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Delivered At"
          },
          "last_delivered_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Delivered At"
          },
          "matured": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RowMaturedCohort"
              },
              {
                "type": "null"
              }
            ]
          },
          "matured_days": {
            "title": "Matured Days",
            "type": "integer"
          },
          "per_library": {
            "items": {
              "$ref": "#/components/schemas/RowLibraryEffectiveness"
            },
            "title": "Per Library",
            "type": "array"
          },
          "runs": {
            "title": "Runs",
            "type": "integer"
          },
          "shared_titles": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "integer"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Shared Titles"
          },
          "watched": {
            "title": "Watched",
            "type": "integer"
          }
        },
        "required": [
          "delivered",
          "watched",
          "finished",
          "runs",
          "first_delivered_at",
          "last_delivered_at",
          "matured_days",
          "shared_titles",
          "matured",
          "per_library"
        ],
        "title": "RowEffectivenessOut",
        "type": "object"
      },
      "RowLibraryEffectiveness": {
        "additionalProperties": true,
        "description": "One library's share of a row's matured cohort. A row that builds in two libraries is two Plex\ncollections and genuinely performs differently in each, so they are never merged into one line.",
        "properties": {
          "delivered": {
            "title": "Delivered",
            "type": "integer"
          },
          "finished": {
            "title": "Finished",
            "type": "integer"
          },
          "library": {
            "title": "Library",
            "type": "string"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rate"
          },
          "watched": {
            "title": "Watched",
            "type": "integer"
          }
        },
        "required": [
          "library",
          "delivered",
          "watched",
          "finished",
          "rate"
        ],
        "title": "RowLibraryEffectiveness",
        "type": "object"
      },
      "RowMaturedCohort": {
        "additionalProperties": true,
        "description": "The picks old enough to be judged: delivered at least `matured_days` ago, so every one of them\nhas had its full window to be watched.",
        "properties": {
          "cohort_to": {
            "title": "Cohort To",
            "type": "string"
          },
          "delivered": {
            "title": "Delivered",
            "type": "integer"
          },
          "finished": {
            "title": "Finished",
            "type": "integer"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rate"
          },
          "watched": {
            "title": "Watched",
            "type": "integer"
          }
        },
        "required": [
          "delivered",
          "watched",
          "finished",
          "rate",
          "cohort_to"
        ],
        "title": "RowMaturedCohort",
        "type": "object"
      },
      "RowOverrideOut": {
        "additionalProperties": true,
        "description": "This person's stored tweaks for one row. `None` on either field means \"use the row's own\".",
        "properties": {
          "favourite_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Favourite Count"
          },
          "older_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Older Count"
          },
          "recent_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recent Count"
          },
          "row_size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Row Size"
          }
        },
        "required": [
          "row_size",
          "recent_count",
          "favourite_count",
          "older_count"
        ],
        "title": "RowOverrideOut",
        "type": "object"
      },
      "RowOverridePatch": {
        "additionalProperties": false,
        "description": "PATCH-shaped stored preference values shared by REST and assistant planning.",
        "properties": {
          "favourite_count": {
            "anyOf": [
              {
                "maximum": 10.0,
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Favourite Count"
          },
          "muted": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Muted"
          },
          "older_count": {
            "anyOf": [
              {
                "maximum": 10.0,
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Older Count"
          },
          "recent_count": {
            "anyOf": [
              {
                "maximum": 25.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recent Count"
          },
          "row_size": {
            "anyOf": [
              {
                "maximum": 40.0,
                "minimum": 5.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Row Size"
          }
        },
        "title": "RowOverridePatch",
        "type": "object"
      },
      "RowOverrideSavedOut": {
        "additionalProperties": true,
        "description": "The override as stored, echoed back by the PUT.",
        "properties": {
          "collection_id": {
            "title": "Collection Id",
            "type": "integer"
          },
          "favourite_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Favourite Count"
          },
          "muted": {
            "title": "Muted",
            "type": "boolean"
          },
          "older_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Older Count"
          },
          "recent_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recent Count"
          },
          "row_size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Row Size"
          }
        },
        "required": [
          "collection_id",
          "muted",
          "row_size",
          "recent_count",
          "favourite_count",
          "older_count"
        ],
        "title": "RowOverrideSavedOut",
        "type": "object"
      },
      "RowSourceServerOut": {
        "additionalProperties": true,
        "description": "One Radarr/Sonarr server Overseerr sends to, and whether it stamps the requester's tag.",
        "properties": {
          "is4k": {
            "title": "Is4K",
            "type": "boolean"
          },
          "kind": {
            "title": "Kind",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "tag_requests": {
            "title": "Tag Requests",
            "type": "boolean"
          }
        },
        "required": [
          "kind",
          "name",
          "is4k",
          "tag_requests"
        ],
        "title": "RowSourceServerOut",
        "type": "object"
      },
      "RowSourcesOut": {
        "additionalProperties": true,
        "description": "The requests-row setup check: can the row know who asked for what, and for whom?",
        "properties": {
          "complete": {
            "title": "Complete",
            "type": "boolean"
          },
          "overseerr": {
            "enum": [
              "connected",
              "unreachable",
              "off"
            ],
            "title": "Overseerr",
            "type": "string"
          },
          "people": {
            "items": {
              "$ref": "#/components/schemas/PersonReadyOut"
            },
            "title": "People",
            "type": "array"
          },
          "problems": {
            "items": {
              "type": "string"
            },
            "title": "Problems",
            "type": "array"
          },
          "radarr": {
            "enum": [
              "connected",
              "unreachable",
              "off"
            ],
            "title": "Radarr",
            "type": "string"
          },
          "seerr_linked": {
            "title": "Seerr Linked",
            "type": "integer"
          },
          "seerr_requesters": {
            "title": "Seerr Requesters",
            "type": "integer"
          },
          "seerr_requests": {
            "title": "Seerr Requests",
            "type": "integer"
          },
          "servers": {
            "items": {
              "$ref": "#/components/schemas/RowSourceServerOut"
            },
            "title": "Servers",
            "type": "array"
          },
          "sonarr": {
            "enum": [
              "connected",
              "unreachable",
              "off"
            ],
            "title": "Sonarr",
            "type": "string"
          },
          "tagged_movies": {
            "title": "Tagged Movies",
            "type": "integer"
          },
          "tagged_shows": {
            "title": "Tagged Shows",
            "type": "integer"
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagMatchOut"
            },
            "title": "Tags",
            "type": "array"
          }
        },
        "required": [
          "overseerr",
          "radarr",
          "sonarr",
          "complete",
          "problems",
          "seerr_requests",
          "seerr_requesters",
          "seerr_linked",
          "servers",
          "tagged_movies",
          "tagged_shows",
          "people",
          "tags"
        ],
        "title": "RowSourcesOut",
        "type": "object"
      },
      "RowTemplateDefinitionOut": {
        "additionalProperties": true,
        "description": "Public row template metadata and creation defaults.",
        "properties": {
          "audience_behavior": {
            "title": "Audience Behavior",
            "type": "string"
          },
          "changed_fields": {
            "items": {
              "type": "string"
            },
            "title": "Changed Fields",
            "type": "array"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "editable_fields": {
            "items": {
              "type": "string"
            },
            "title": "Editable Fields",
            "type": "array"
          },
          "effective_values": {
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonValue"
            },
            "title": "Effective Values",
            "type": "object"
          },
          "effects": {
            "default": [
              "local_config"
            ],
            "items": {
              "$ref": "#/components/schemas/Effect"
            },
            "title": "Effects",
            "type": "array"
          },
          "emoji": {
            "title": "Emoji",
            "type": "string"
          },
          "highlights": {
            "items": {
              "type": "string"
            },
            "title": "Highlights",
            "type": "array"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "kind": {
            "title": "Kind",
            "type": "string"
          },
          "prerequisites": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Prerequisites",
            "type": "array"
          },
          "required_capabilities": {
            "default": [
              "rows.create"
            ],
            "items": {
              "$ref": "#/components/schemas/Capability"
            },
            "title": "Required Capabilities",
            "type": "array"
          },
          "required_services": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Required Services",
            "type": "array"
          },
          "summary": {
            "title": "Summary",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "values": {
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonValue"
            },
            "title": "Values",
            "type": "object"
          }
        },
        "required": [
          "id",
          "kind",
          "emoji",
          "title",
          "summary",
          "description",
          "highlights",
          "values",
          "effective_values",
          "changed_fields",
          "editable_fields",
          "audience_behavior"
        ],
        "title": "RowTemplateDefinitionOut",
        "type": "object"
      },
      "RulesIO": {
        "additionalProperties": true,
        "description": "A theme's hard limits. A missing or null one is no limit.",
        "properties": {
          "max_runtime": {
            "anyOf": [
              {
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Runtime"
          },
          "max_year": {
            "anyOf": [
              {
                "maximum": 2200.0,
                "minimum": 1850.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Year"
          },
          "min_rating": {
            "anyOf": [
              {
                "maximum": 10.0,
                "minimum": 0.0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Min Rating"
          },
          "min_votes": {
            "anyOf": [
              {
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Min Votes"
          },
          "min_year": {
            "anyOf": [
              {
                "maximum": 2200.0,
                "minimum": 1850.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Min Year"
          }
        },
        "title": "RulesIO",
        "type": "object"
      },
      "RunCancelledOut": {
        "additionalProperties": true,
        "properties": {
          "cancelling": {
            "title": "Cancelling",
            "type": "boolean"
          }
        },
        "required": [
          "cancelling"
        ],
        "title": "RunCancelledOut",
        "type": "object"
      },
      "RunCreatedOut": {
        "additionalProperties": true,
        "properties": {
          "run_id": {
            "title": "Run Id",
            "type": "integer"
          }
        },
        "required": [
          "run_id"
        ],
        "title": "RunCreatedOut",
        "type": "object"
      },
      "RunDetailOut": {
        "additionalProperties": true,
        "description": "A run plus every person in it, and every shared row it built.",
        "properties": {
          "began_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Began At"
          },
          "dry_run": {
            "title": "Dry Run",
            "type": "boolean"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "finished_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Finished At"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "privacy": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunPrivacyOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "promotion_blockers": {
            "items": {
              "type": "string"
            },
            "title": "Promotion Blockers",
            "type": "array"
          },
          "shared_rows": {
            "items": {
              "$ref": "#/components/schemas/RunSharedRowOut"
            },
            "title": "Shared Rows",
            "type": "array"
          },
          "started_at": {
            "title": "Started At",
            "type": "string"
          },
          "stats": {
            "additionalProperties": true,
            "title": "Stats",
            "type": "object"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "trigger": {
            "enum": [
              "schedule",
              "manual",
              "wizard",
              "resume",
              "assistant"
            ],
            "title": "Trigger",
            "type": "string"
          },
          "users": {
            "items": {
              "$ref": "#/components/schemas/RunUserOut"
            },
            "title": "Users",
            "type": "array"
          },
          "web_share": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WebShareOut"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "trigger",
          "started_at",
          "began_at",
          "finished_at",
          "status",
          "dry_run",
          "stats",
          "error",
          "promotion_blockers",
          "privacy",
          "users",
          "shared_rows"
        ],
        "title": "RunDetailOut",
        "type": "object"
      },
      "RunFinishedEvent": {
        "additionalProperties": true,
        "description": "Event ``run.finished`` \u2014 a run reached a terminal state.\n\n`aborted` is a cancel that still completed its privacy merge and promotion, so it is an outcome\nrather than a failure; the UI distinguishes the three.",
        "properties": {
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "run_id": {
            "title": "Run Id",
            "type": "integer"
          },
          "status": {
            "enum": [
              "ok",
              "error",
              "aborted"
            ],
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "run_id",
          "status"
        ],
        "title": "RunFinishedEvent",
        "type": "object"
      },
      "RunJobRequest": {
        "properties": {
          "background": {
            "default": false,
            "title": "Background",
            "type": "boolean"
          },
          "kind": {
            "title": "Kind",
            "type": "string"
          },
          "payload": {
            "additionalProperties": true,
            "default": {},
            "title": "Payload",
            "type": "object"
          }
        },
        "required": [
          "kind"
        ],
        "title": "RunJobRequest",
        "type": "object"
      },
      "RunLogLineOut": {
        "additionalProperties": true,
        "description": "One line of a run's activity log.\n\nEverything but `seq` is optional because the live in-memory tail hands back exactly what the\nprogress hook pushed, key for key \u2014 only the durable `run_log_lines` read fills every field in.\n`seq` is the exception: the buffer's sink stamps it on the way in, so it is always there.",
        "properties": {
          "counts": {
            "additionalProperties": true,
            "title": "Counts",
            "type": "object"
          },
          "level": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Level"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "run_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Run Id"
          },
          "seq": {
            "title": "Seq",
            "type": "integer"
          },
          "stage": {
            "default": "",
            "title": "Stage",
            "type": "string"
          },
          "ts": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ts"
          },
          "user": {
            "default": "",
            "title": "User",
            "type": "string"
          }
        },
        "required": [
          "seq"
        ],
        "title": "RunLogLineOut",
        "type": "object"
      },
      "RunPrivacyOut": {
        "additionalProperties": true,
        "description": "What this run measured about who can see whose rows. Reporting only.",
        "properties": {
          "can_see_others": {
            "items": {
              "type": "string"
            },
            "title": "Can See Others",
            "type": "array"
          },
          "filters_not_enforced": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filters Not Enforced"
          },
          "left_alone": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Left Alone"
          },
          "unchecked": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Unchecked"
          },
          "unreadable_filters": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Unreadable Filters"
          },
          "write_failed": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Write Failed"
          }
        },
        "required": [
          "can_see_others",
          "unreadable_filters",
          "filters_not_enforced",
          "unchecked",
          "write_failed",
          "left_alone"
        ],
        "title": "RunPrivacyOut",
        "type": "object"
      },
      "RunProgressEvent": {
        "additionalProperties": true,
        "description": "Event ``run.progress`` \u2014 a run entered a non-terminal state. `cancelling` is published the\nmoment /cancel is accepted; the run keeps going until the person it is on finishes.",
        "properties": {
          "run_id": {
            "title": "Run Id",
            "type": "integer"
          },
          "status": {
            "enum": [
              "running",
              "cancelling"
            ],
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "run_id",
          "status"
        ],
        "title": "RunProgressEvent",
        "type": "object"
      },
      "RunRequest": {
        "properties": {
          "collection_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "integer"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Collection Ids"
          },
          "dry_run": {
            "default": false,
            "title": "Dry Run",
            "type": "boolean"
          },
          "user_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "integer"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Ids"
          }
        },
        "title": "RunRequest",
        "type": "object"
      },
      "RunSharedRowOut": {
        "additionalProperties": true,
        "description": "One SHARED row's outcome in a run \u2014 the per-row twin of `RunUserOut`.\n\nA shared row is built once for the whole server from pooled history, so it belongs to nobody and\nnever appears in `users`. Before it had a record of its own, a run whose only work was a shared\nrow rendered as a wall of skipped people with its actual output nowhere on screen.",
        "properties": {
          "breakdown": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Breakdown",
            "type": "array"
          },
          "collection_slug": {
            "title": "Collection Slug",
            "type": "string"
          },
          "diff": {
            "additionalProperties": true,
            "title": "Diff",
            "type": "object"
          },
          "duration_ms": {
            "title": "Duration Ms",
            "type": "integer"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "exa_searches": {
            "title": "Exa Searches",
            "type": "integer"
          },
          "has_trace": {
            "title": "Has Trace",
            "type": "boolean"
          },
          "llm_tokens": {
            "title": "Llm Tokens",
            "type": "integer"
          },
          "llm_tokens_by_step": {
            "additionalProperties": {
              "type": "integer"
            },
            "title": "Llm Tokens By Step",
            "type": "object"
          },
          "picks": {
            "items": {
              "$ref": "#/components/schemas/PickOut"
            },
            "title": "Picks",
            "type": "array"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "row_title": {
            "title": "Row Title",
            "type": "string"
          },
          "status": {
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "collection_slug",
          "row_title",
          "status",
          "error",
          "reason",
          "duration_ms",
          "llm_tokens",
          "llm_tokens_by_step",
          "exa_searches",
          "diff",
          "picks",
          "breakdown",
          "has_trace"
        ],
        "title": "RunSharedRowOut",
        "type": "object"
      },
      "RunSummaryOut": {
        "additionalProperties": true,
        "description": "One run, as the Runs list shows it.",
        "properties": {
          "began_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Began At"
          },
          "dry_run": {
            "title": "Dry Run",
            "type": "boolean"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "finished_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Finished At"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "privacy": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunPrivacyOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "promotion_blockers": {
            "items": {
              "type": "string"
            },
            "title": "Promotion Blockers",
            "type": "array"
          },
          "started_at": {
            "title": "Started At",
            "type": "string"
          },
          "stats": {
            "additionalProperties": true,
            "title": "Stats",
            "type": "object"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "trigger": {
            "enum": [
              "schedule",
              "manual",
              "wizard",
              "resume",
              "assistant"
            ],
            "title": "Trigger",
            "type": "string"
          }
        },
        "required": [
          "id",
          "trigger",
          "started_at",
          "began_at",
          "finished_at",
          "status",
          "dry_run",
          "stats",
          "error",
          "promotion_blockers",
          "privacy"
        ],
        "title": "RunSummaryOut",
        "type": "object"
      },
      "RunUserOut": {
        "additionalProperties": true,
        "description": "One person's outcome in a run. Users who haven't finished yet appear with the same keys and\n`status: \"pending\"`, so the shape does not change mid-run.",
        "properties": {
          "breakdown": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Breakdown",
            "type": "array"
          },
          "cost": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cost"
          },
          "diff": {
            "additionalProperties": true,
            "title": "Diff",
            "type": "object"
          },
          "display_name": {
            "title": "Display Name",
            "type": "string"
          },
          "duration_ms": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Duration Ms"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "exa_searches": {
            "title": "Exa Searches",
            "type": "integer"
          },
          "has_trace": {
            "title": "Has Trace",
            "type": "boolean"
          },
          "llm_tokens": {
            "title": "Llm Tokens",
            "type": "integer"
          },
          "llm_tokens_by_step": {
            "additionalProperties": {
              "type": "integer"
            },
            "title": "Llm Tokens By Step",
            "type": "object"
          },
          "picks": {
            "items": {
              "$ref": "#/components/schemas/PickOut"
            },
            "title": "Picks",
            "type": "array"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "rows_considered": {
            "additionalProperties": {
              "type": "string"
            },
            "title": "Rows Considered",
            "type": "object"
          },
          "slug": {
            "title": "Slug",
            "type": "string"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "username": {
            "title": "Username",
            "type": "string"
          }
        },
        "required": [
          "username",
          "display_name",
          "slug",
          "status",
          "error",
          "reason",
          "duration_ms",
          "llm_tokens",
          "llm_tokens_by_step",
          "exa_searches",
          "diff",
          "picks",
          "breakdown",
          "has_trace",
          "rows_considered",
          "cost"
        ],
        "title": "RunUserOut",
        "type": "object"
      },
      "RunUserTraceOut": {
        "additionalProperties": true,
        "description": "The full pipeline trace for one user in one run.\n\nAlso serves a SHARED row's trace, which has the same stages minus `history` \u2014 a shared row is\nbuilt from pooled watching, so it records `gathers` and no per-person history. `username` and\n`display_name` carry the row's title there, so one trace view renders both without a fork.",
        "properties": {
          "breakdown": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Breakdown",
            "type": "array"
          },
          "display_name": {
            "title": "Display Name",
            "type": "string"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "requests": {
            "additionalProperties": {
              "$ref": "#/components/schemas/TraceRequestOut"
            },
            "title": "Requests",
            "type": "object"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "trace": {
            "additionalProperties": true,
            "title": "Trace",
            "type": "object"
          },
          "username": {
            "title": "Username",
            "type": "string"
          }
        },
        "required": [
          "username",
          "display_name",
          "status",
          "error",
          "reason",
          "trace",
          "breakdown",
          "requests"
        ],
        "title": "RunUserTraceOut",
        "type": "object"
      },
      "RunsDeletedOut": {
        "additionalProperties": true,
        "properties": {
          "deleted": {
            "title": "Deleted",
            "type": "integer"
          }
        },
        "required": [
          "deleted"
        ],
        "title": "RunsDeletedOut",
        "type": "object"
      },
      "RunsSummaryOut": {
        "additionalProperties": true,
        "description": "Totals for the Runs page header.",
        "properties": {
          "error": {
            "title": "Error",
            "type": "integer"
          },
          "last_finished": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Finished"
          },
          "last_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Status"
          },
          "ok": {
            "title": "Ok",
            "type": "integer"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          }
        },
        "required": [
          "total",
          "ok",
          "error",
          "last_finished",
          "last_status"
        ],
        "title": "RunsSummaryOut",
        "type": "object"
      },
      "ScheduleJobOut": {
        "additionalProperties": true,
        "description": "One scheduled job.\n\n``extra=\"allow\"`` is on every model in this file, nested ones included: a strict Pydantic\nresponse model silently DROPS undeclared keys from the payload, so a field missed here would\ndisappear from the response instead of failing loudly. The model documents; it never filters.",
        "properties": {
          "cron": {
            "title": "Cron",
            "type": "string"
          },
          "default_cron": {
            "title": "Default Cron",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "kind": {
            "title": "Kind",
            "type": "string"
          },
          "label": {
            "title": "Label",
            "type": "string"
          },
          "next_run": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Run"
          },
          "optional": {
            "title": "Optional",
            "type": "boolean"
          },
          "setting": {
            "title": "Setting",
            "type": "string"
          },
          "type": {
            "title": "Type",
            "type": "string"
          },
          "using_default": {
            "title": "Using Default",
            "type": "boolean"
          },
          "writes_plex": {
            "title": "Writes Plex",
            "type": "boolean"
          }
        },
        "required": [
          "type",
          "kind",
          "label",
          "description",
          "setting",
          "cron",
          "using_default",
          "default_cron",
          "optional",
          "writes_plex",
          "next_run"
        ],
        "title": "ScheduleJobOut",
        "type": "object"
      },
      "ScheduleOut": {
        "additionalProperties": true,
        "properties": {
          "jobs": {
            "items": {
              "$ref": "#/components/schemas/ScheduleJobOut"
            },
            "title": "Jobs",
            "type": "array"
          },
          "rows": {
            "items": {
              "$ref": "#/components/schemas/ScheduleRowsOut"
            },
            "title": "Rows",
            "type": "array"
          }
        },
        "required": [
          "jobs",
          "rows"
        ],
        "title": "ScheduleOut",
        "type": "object"
      },
      "ScheduleRowOut": {
        "additionalProperties": true,
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "slug": {
            "title": "Slug",
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name"
        ],
        "title": "ScheduleRowOut",
        "type": "object"
      },
      "ScheduleRowsOut": {
        "additionalProperties": true,
        "description": "The rows sharing one cron \u2014 ONE trigger that builds all of them, not one entry each.",
        "properties": {
          "cron": {
            "title": "Cron",
            "type": "string"
          },
          "next_run": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Run"
          },
          "rows": {
            "items": {
              "$ref": "#/components/schemas/ScheduleRowOut"
            },
            "title": "Rows",
            "type": "array"
          },
          "type": {
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type",
          "cron",
          "rows",
          "next_run"
        ],
        "title": "ScheduleRowsOut",
        "type": "object"
      },
      "SeasonDateOut": {
        "additionalProperties": true,
        "description": "When a date rule next falls (ISO), or, with ``next_date`` None, why the rule can't be used.",
        "properties": {
          "next_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Date"
          },
          "next_windows": {
            "items": {
              "$ref": "#/components/schemas/shortlist__server__api__seasons__SeasonWindowOut"
            },
            "title": "Next Windows",
            "type": "array"
          },
          "rule_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rule Error"
          }
        },
        "required": [
          "next_date",
          "rule_error"
        ],
        "title": "SeasonDateOut",
        "type": "object"
      },
      "SeasonIn": {
        "additionalProperties": false,
        "description": "A custom season, to create or replace.",
        "properties": {
          "after_days": {
            "default": 0,
            "maximum": 30.0,
            "minimum": 0.0,
            "title": "After Days",
            "type": "integer"
          },
          "collections": {
            "items": {
              "$ref": "#/components/schemas/CollectionIO"
            },
            "maxItems": 10,
            "title": "Collections",
            "type": "array"
          },
          "emoji": {
            "maxLength": 8,
            "minLength": 1,
            "title": "Emoji",
            "type": "string"
          },
          "excluded_genres": {
            "items": {
              "type": "integer"
            },
            "maxItems": 5,
            "title": "Excluded Genres",
            "type": "array"
          },
          "genre": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Genre"
          },
          "lead_days": {
            "default": 7,
            "maximum": 90.0,
            "minimum": 0.0,
            "title": "Lead Days",
            "type": "integer"
          },
          "name": {
            "maxLength": 40,
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "picks": {
            "items": {
              "$ref": "#/components/schemas/PickIO"
            },
            "maxItems": 200,
            "title": "Picks",
            "type": "array"
          },
          "preset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Preset"
          },
          "rule": {
            "$ref": "#/components/schemas/DateRuleIO"
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagIO"
            },
            "maxItems": 20,
            "title": "Tags",
            "type": "array"
          }
        },
        "required": [
          "name",
          "emoji",
          "rule"
        ],
        "title": "SeasonIn",
        "type": "object"
      },
      "SeasonOut": {
        "additionalProperties": true,
        "description": "A season a row can follow. A built-in's sources live in code and are not listed.",
        "properties": {
          "after_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "After Days"
          },
          "builtin": {
            "title": "Builtin",
            "type": "boolean"
          },
          "collections": {
            "items": {
              "$ref": "#/components/schemas/CollectionIO"
            },
            "maxItems": 10,
            "title": "Collections",
            "type": "array"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "emoji": {
            "title": "Emoji",
            "type": "string"
          },
          "excluded_genres": {
            "items": {
              "type": "integer"
            },
            "maxItems": 5,
            "title": "Excluded Genres",
            "type": "array"
          },
          "genre": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Genre"
          },
          "lead_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lead Days"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "next_dates": {
            "items": {
              "type": "string"
            },
            "title": "Next Dates",
            "type": "array"
          },
          "next_windows": {
            "items": {
              "$ref": "#/components/schemas/shortlist__server__api__seasons__SeasonWindowOut"
            },
            "title": "Next Windows",
            "type": "array"
          },
          "picks": {
            "items": {
              "$ref": "#/components/schemas/PickIO"
            },
            "maxItems": 200,
            "title": "Picks",
            "type": "array"
          },
          "preset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Preset"
          },
          "rule": {
            "$ref": "#/components/schemas/DateRuleIO"
          },
          "rule_label": {
            "title": "Rule Label",
            "type": "string"
          },
          "slug": {
            "title": "Slug",
            "type": "string"
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagIO"
            },
            "maxItems": 20,
            "title": "Tags",
            "type": "array"
          },
          "used_by": {
            "items": {
              "$ref": "#/components/schemas/UsedByOut"
            },
            "title": "Used By",
            "type": "array"
          }
        },
        "required": [
          "slug",
          "name",
          "emoji",
          "description",
          "builtin",
          "rule",
          "rule_label",
          "next_dates",
          "lead_days",
          "after_days",
          "preset",
          "used_by"
        ],
        "title": "SeasonOut",
        "type": "object"
      },
      "SeasonPreviewIn": {
        "additionalProperties": true,
        "description": "A draft season to count, for the row the editor was opened from. Undeclared fields are let through, not\nrefused: the editor posts its whole draft, and a preview stores nothing that a misspelt field could\nsilently fail to set.",
        "properties": {
          "collections": {
            "items": {
              "$ref": "#/components/schemas/CollectionIO"
            },
            "maxItems": 10,
            "title": "Collections",
            "type": "array"
          },
          "excluded_genres": {
            "items": {
              "type": "integer"
            },
            "maxItems": 5,
            "title": "Excluded Genres",
            "type": "array"
          },
          "genre": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Genre"
          },
          "library_keys": {
            "items": {
              "type": "string"
            },
            "title": "Library Keys",
            "type": "array"
          },
          "media": {
            "default": "both",
            "enum": [
              "movie",
              "show",
              "both"
            ],
            "title": "Media",
            "type": "string"
          },
          "picks": {
            "items": {
              "$ref": "#/components/schemas/PickIO"
            },
            "maxItems": 200,
            "title": "Picks",
            "type": "array"
          },
          "rule": {
            "$ref": "#/components/schemas/DateRuleIO"
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagIO"
            },
            "maxItems": 20,
            "title": "Tags",
            "type": "array"
          }
        },
        "required": [
          "rule"
        ],
        "title": "SeasonPreviewIn",
        "type": "object"
      },
      "SeasonPreviewOut": {
        "additionalProperties": true,
        "description": "What the editor's summary shows. Every count is of titles in the libraries.",
        "properties": {
          "from_collections": {
            "title": "From Collections",
            "type": "integer"
          },
          "from_genre": {
            "title": "From Genre",
            "type": "integer"
          },
          "from_picks": {
            "title": "From Picks",
            "type": "integer"
          },
          "from_tags": {
            "title": "From Tags",
            "type": "integer"
          },
          "movies": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Movies"
          },
          "next_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Date"
          },
          "per_collection": {
            "items": {
              "$ref": "#/components/schemas/CollectionCountOut"
            },
            "title": "Per Collection",
            "type": "array"
          },
          "per_tag": {
            "additionalProperties": {
              "type": "integer"
            },
            "title": "Per Tag",
            "type": "object"
          },
          "rule_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rule Error"
          },
          "sample": {
            "items": {
              "type": "string"
            },
            "title": "Sample",
            "type": "array"
          },
          "shows": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Shows"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          }
        },
        "required": [
          "next_date",
          "rule_error",
          "total",
          "movies",
          "shows",
          "from_tags",
          "from_genre",
          "from_collections",
          "from_picks",
          "per_tag",
          "per_collection",
          "sample"
        ],
        "title": "SeasonPreviewOut",
        "type": "object"
      },
      "SeasonStatusOut": {
        "additionalProperties": true,
        "description": "Where a seasonal row is in its calendar today, judged on the SERVER's clock.",
        "properties": {
          "next": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/shortlist__server__api__collections__SeasonWindowOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "showing": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/shortlist__server__api__collections__SeasonWindowOut"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "showing",
          "next"
        ],
        "title": "SeasonStatusOut",
        "type": "object"
      },
      "SeenRelease": {
        "properties": {
          "version": {
            "title": "Version",
            "type": "string"
          }
        },
        "required": [
          "version"
        ],
        "title": "SeenRelease",
        "type": "object"
      },
      "SeerrOptionsOut": {
        "additionalProperties": true,
        "properties": {
          "default_user_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default User Id"
          },
          "users": {
            "items": {
              "$ref": "#/components/schemas/SeerrUserOut"
            },
            "title": "Users",
            "type": "array"
          }
        },
        "required": [
          "users"
        ],
        "title": "SeerrOptionsOut",
        "type": "object"
      },
      "SeerrUserOut": {
        "additionalProperties": true,
        "properties": {
          "auto_approve_movies": {
            "default": false,
            "title": "Auto Approve Movies",
            "type": "boolean"
          },
          "auto_approve_tv": {
            "default": false,
            "title": "Auto Approve Tv",
            "type": "boolean"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "is_plex_user": {
            "default": false,
            "title": "Is Plex User",
            "type": "boolean"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "plex_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plex Id"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "title": "SeerrUserOut",
        "type": "object"
      },
      "SendOut": {
        "additionalProperties": true,
        "properties": {
          "dry_run": {
            "title": "Dry Run",
            "type": "boolean"
          },
          "outcomes": {
            "items": {
              "$ref": "#/components/schemas/SendOutcomeOut"
            },
            "title": "Outcomes",
            "type": "array"
          },
          "sent": {
            "title": "Sent",
            "type": "integer"
          }
        },
        "required": [
          "sent",
          "dry_run",
          "outcomes"
        ],
        "title": "SendOut",
        "type": "object"
      },
      "SendOutcomeOut": {
        "additionalProperties": true,
        "description": "What the Arr said about one title. `status` is the engine's outcome \u2014 \"requested\",\n\"would_request\" on a dry run, or a skip/error reason the owner can act on.",
        "properties": {
          "detail": {
            "title": "Detail",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "status",
          "detail"
        ],
        "title": "SendOutcomeOut",
        "type": "object"
      },
      "ServerConnectionOut": {
        "additionalProperties": true,
        "description": "One advertised address, with the answer to \"does it work from inside the container?\".",
        "properties": {
          "local": {
            "title": "Local",
            "type": "boolean"
          },
          "ok": {
            "title": "Ok",
            "type": "boolean"
          },
          "relay": {
            "title": "Relay",
            "type": "boolean"
          },
          "uri": {
            "title": "Uri",
            "type": "string"
          }
        },
        "required": [
          "uri",
          "local",
          "relay",
          "ok"
        ],
        "title": "ServerConnectionOut",
        "type": "object"
      },
      "SessionOut": {
        "additionalProperties": true,
        "description": "Who the caller is, and whether this instance demands a sign-in at all.\n\nThe signed cookie's contents are spread into the response, so `account_id`/`username` are\npresent only once signed in \u2014 they are declared optional rather than left to `extra`, so the\nSPA gets real types for the two fields it actually reads.",
        "properties": {
          "account_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Id"
          },
          "authenticated": {
            "title": "Authenticated",
            "type": "boolean"
          },
          "login_required": {
            "title": "Login Required",
            "type": "boolean"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          }
        },
        "required": [
          "authenticated",
          "login_required"
        ],
        "title": "SessionOut",
        "type": "object"
      },
      "SettingDefinitionOut": {
        "additionalProperties": true,
        "description": "Document every current setting field while preserving nested additions.",
        "properties": {
          "assistant_writable": {
            "default": true,
            "title": "Assistant Writable",
            "type": "boolean"
          },
          "default": {
            "$ref": "#/components/schemas/JsonValue"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "effects": {
            "items": {
              "$ref": "#/components/schemas/EffectReferenceOut"
            },
            "title": "Effects",
            "type": "array"
          },
          "group": {
            "$ref": "#/components/schemas/SettingGroup"
          },
          "has_default": {
            "title": "Has Default",
            "type": "boolean"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "label": {
            "title": "Label",
            "type": "string"
          },
          "nullable": {
            "default": false,
            "title": "Nullable",
            "type": "boolean"
          },
          "options": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/SettingOptionOut"
            },
            "title": "Options",
            "type": "array"
          },
          "prerequisites": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/SettingPrerequisiteOut"
            },
            "title": "Prerequisites",
            "type": "array"
          },
          "range": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/NumericRangeOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "required_capabilities": {
            "items": {
              "$ref": "#/components/schemas/Capability"
            },
            "title": "Required Capabilities",
            "type": "array"
          },
          "reset_behavior": {
            "$ref": "#/components/schemas/ResetBehavior",
            "default": "restore_default"
          },
          "secret": {
            "default": false,
            "title": "Secret",
            "type": "boolean"
          },
          "value_type": {
            "$ref": "#/components/schemas/ValueType"
          }
        },
        "required": [
          "key",
          "label",
          "description",
          "value_type",
          "group",
          "has_default",
          "effects",
          "required_capabilities"
        ],
        "title": "SettingDefinitionOut",
        "type": "object"
      },
      "SettingGroup": {
        "description": "Stable groups used by settings discovery and grant constraints.",
        "enum": [
          "plex",
          "metadata",
          "recommendations",
          "row_defaults",
          "requests",
          "notifications",
          "schedules",
          "system",
          "setup"
        ],
        "title": "SettingGroup",
        "type": "string"
      },
      "SettingOptionOut": {
        "additionalProperties": true,
        "description": "Public named option.",
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "label": {
            "title": "Label",
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/JsonValue"
          }
        },
        "required": [
          "value",
          "label"
        ],
        "title": "SettingOptionOut",
        "type": "object"
      },
      "SettingPrerequisiteOut": {
        "additionalProperties": true,
        "description": "Public applicability condition.",
        "properties": {
          "description": {
            "title": "Description",
            "type": "string"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "values": {
            "items": {
              "$ref": "#/components/schemas/JsonValue"
            },
            "title": "Values",
            "type": "array"
          }
        },
        "required": [
          "key",
          "values",
          "description"
        ],
        "title": "SettingPrerequisiteOut",
        "type": "object"
      },
      "SettingsOut": {
        "additionalProperties": true,
        "description": "The whole settings store, flat: `{\"row.size\": 15, \"plex.url\": \"\u2026\", \u2026}`.\n\nDeliberately declares NO fields. The key set is genuinely dynamic \u2014 `settings_store.DEFAULTS`\nplus whatever rows the database holds, minus `PRIVATE_KEYS` \u2014 so enumerating it here would be a\nsecond copy of `DEFAULTS` that silently goes stale, and a strict model would DROP every key it\nhad not caught up with. ``extra=\"allow\"`` passes all of them through untouched, which is the\nhonest description of this endpoint: an open map, with secrets already redacted to \"\u2022\u2022\u2022\u2022\u2022\" by\n`all_public()`.",
        "properties": {},
        "title": "SettingsOut",
        "type": "object"
      },
      "SettingsUpdate": {
        "properties": {
          "values": {
            "additionalProperties": true,
            "title": "Values",
            "type": "object"
          }
        },
        "required": [
          "values"
        ],
        "title": "SettingsUpdate",
        "type": "object"
      },
      "SnapshotOut": {
        "additionalProperties": true,
        "description": "One un-restored snapshot \u2014 an undo that is still available.",
        "properties": {
          "complete": {
            "title": "Complete",
            "type": "boolean"
          },
          "entries": {
            "title": "Entries",
            "type": "integer"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "taken_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Taken At"
          },
          "user_id": {
            "title": "User Id",
            "type": "integer"
          },
          "username": {
            "title": "Username",
            "type": "string"
          }
        },
        "required": [
          "id",
          "user_id",
          "username",
          "taken_at",
          "entries",
          "complete"
        ],
        "title": "SnapshotOut",
        "type": "object"
      },
      "StatusOut": {
        "additionalProperties": true,
        "properties": {
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "seconds_remaining": {
            "title": "Seconds Remaining",
            "type": "integer"
          }
        },
        "required": [
          "enabled",
          "expires_at",
          "seconds_remaining"
        ],
        "title": "StatusOut",
        "type": "object"
      },
      "SyncFinishedEvent": {
        "additionalProperties": true,
        "description": "Event ``sync.finished`` \u2014 a Tools-page sync ended.\n\nThe two syncs report different things because they did different work, so most fields belong to\none of them: `count` to the watched sync, `added`/`updated`/`total` to the users sync.",
        "properties": {
          "added": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Added"
          },
          "count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Count"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "kind": {
            "enum": [
              "watched",
              "users",
              "credited"
            ],
            "title": "Kind",
            "type": "string"
          },
          "ok": {
            "title": "Ok",
            "type": "boolean"
          },
          "total": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total"
          },
          "updated": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated"
          }
        },
        "required": [
          "kind",
          "ok"
        ],
        "title": "SyncFinishedEvent",
        "type": "object"
      },
      "SyncProgressEvent": {
        "additionalProperties": true,
        "description": "Event ``sync.progress`` \u2014 a Tools-page sync moved.\n\nThe watched sync is one determinate `done`/`total` loop over users. The users sync has two\nphases: an indeterminate `fetch` (one opaque plex.tv + Tautulli round-trip), then a determinate\n`save` bar over the roster upsert.",
        "properties": {
          "done": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Done"
          },
          "kind": {
            "enum": [
              "watched",
              "users",
              "credited"
            ],
            "title": "Kind",
            "type": "string"
          },
          "phase": {
            "anyOf": [
              {
                "enum": [
                  "fetch",
                  "save"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phase"
          },
          "total": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total"
          }
        },
        "required": [
          "kind"
        ],
        "title": "SyncProgressEvent",
        "type": "object"
      },
      "SyncStartedOut": {
        "additionalProperties": true,
        "properties": {
          "job_id": {
            "title": "Job Id",
            "type": "integer"
          },
          "started": {
            "title": "Started",
            "type": "boolean"
          }
        },
        "required": [
          "started",
          "job_id"
        ],
        "title": "SyncStartedOut",
        "type": "object"
      },
      "TagIO": {
        "additionalProperties": true,
        "description": "A TMDB tag (keyword), with its name so the editor can show it without asking TMDB.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "title": "TagIO",
        "type": "object"
      },
      "TagMatchOut": {
        "additionalProperties": true,
        "description": "How one requester tag on Radarr/Sonarr resolved \u2014 the preview under \"Use my own tags\".",
        "properties": {
          "ambiguous": {
            "title": "Ambiguous",
            "type": "boolean"
          },
          "display_name": {
            "title": "Display Name",
            "type": "string"
          },
          "label": {
            "title": "Label",
            "type": "string"
          },
          "source": {
            "enum": [
              "overseerr",
              "pattern",
              "override"
            ],
            "title": "Source",
            "type": "string"
          },
          "titles": {
            "title": "Titles",
            "type": "integer"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          }
        },
        "required": [
          "label",
          "source",
          "user_id",
          "display_name",
          "titles",
          "ambiguous"
        ],
        "title": "TagMatchOut",
        "type": "object"
      },
      "TagOut": {
        "additionalProperties": true,
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "movies": {
            "title": "Movies",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "movies"
        ],
        "title": "TagOut",
        "type": "object"
      },
      "ThemeDiffOut": {
        "additionalProperties": true,
        "properties": {
          "added": {
            "items": {
              "type": "string"
            },
            "title": "Added",
            "type": "array"
          },
          "added_count": {
            "title": "Added Count",
            "type": "integer"
          },
          "after_count": {
            "title": "After Count",
            "type": "integer"
          },
          "before_count": {
            "title": "Before Count",
            "type": "integer"
          },
          "genres_added": {
            "items": {
              "type": "string"
            },
            "title": "Genres Added",
            "type": "array"
          },
          "genres_removed": {
            "items": {
              "type": "string"
            },
            "title": "Genres Removed",
            "type": "array"
          },
          "removed": {
            "items": {
              "type": "string"
            },
            "title": "Removed",
            "type": "array"
          },
          "removed_count": {
            "title": "Removed Count",
            "type": "integer"
          },
          "rules_changed": {
            "title": "Rules Changed",
            "type": "boolean"
          },
          "tags_added": {
            "items": {
              "type": "string"
            },
            "title": "Tags Added",
            "type": "array"
          },
          "tags_removed": {
            "items": {
              "type": "string"
            },
            "title": "Tags Removed",
            "type": "array"
          },
          "unchanged": {
            "items": {
              "type": "string"
            },
            "title": "Unchanged",
            "type": "array"
          }
        },
        "required": [
          "rules_changed",
          "added",
          "removed",
          "unchanged",
          "added_count",
          "removed_count",
          "tags_added",
          "tags_removed",
          "genres_added",
          "genres_removed",
          "before_count",
          "after_count"
        ],
        "title": "ThemeDiffOut",
        "type": "object"
      },
      "ThemeIn": {
        "description": "A theme to store. Undeclared fields (a hash echoed back from a preview) are ignored, never stored.",
        "properties": {
          "brief": {
            "default": "",
            "maxLength": 1000,
            "title": "Brief",
            "type": "string"
          },
          "collections": {
            "items": {
              "$ref": "#/components/schemas/CollectionIO"
            },
            "maxItems": 10,
            "title": "Collections",
            "type": "array"
          },
          "emoji": {
            "anyOf": [
              {
                "maxLength": 8,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Emoji"
          },
          "excluded_genres": {
            "items": {
              "type": "string"
            },
            "maxItems": 10,
            "title": "Excluded Genres",
            "type": "array"
          },
          "genres": {
            "items": {
              "type": "string"
            },
            "maxItems": 10,
            "title": "Genres",
            "type": "array"
          },
          "media": {
            "items": {
              "enum": [
                "movie",
                "show"
              ],
              "type": "string"
            },
            "maxItems": 2,
            "minItems": 1,
            "title": "Media",
            "type": "array"
          },
          "name": {
            "maxLength": 60,
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "origin": {
            "default": "manual",
            "enum": [
              "ai",
              "manual"
            ],
            "title": "Origin",
            "type": "string"
          },
          "picks": {
            "items": {
              "$ref": "#/components/schemas/ThemePickIO"
            },
            "maxItems": 200,
            "title": "Picks",
            "type": "array"
          },
          "rules": {
            "$ref": "#/components/schemas/RulesIO"
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagIO"
            },
            "maxItems": 20,
            "title": "Tags",
            "type": "array"
          }
        },
        "required": [
          "name",
          "media"
        ],
        "title": "ThemeIn",
        "type": "object"
      },
      "ThemeOut": {
        "additionalProperties": true,
        "properties": {
          "ai_tokens": {
            "title": "Ai Tokens",
            "type": "integer"
          },
          "brief": {
            "title": "Brief",
            "type": "string"
          },
          "collections": {
            "items": {
              "$ref": "#/components/schemas/CollectionIO"
            },
            "title": "Collections",
            "type": "array"
          },
          "content_hash": {
            "title": "Content Hash",
            "type": "string"
          },
          "emoji": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Emoji"
          },
          "excluded_genres": {
            "items": {
              "type": "string"
            },
            "title": "Excluded Genres",
            "type": "array"
          },
          "genres": {
            "items": {
              "type": "string"
            },
            "title": "Genres",
            "type": "array"
          },
          "id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id"
          },
          "media": {
            "items": {
              "type": "string"
            },
            "title": "Media",
            "type": "array"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "origin": {
            "title": "Origin",
            "type": "string"
          },
          "picks": {
            "items": {
              "$ref": "#/components/schemas/ThemePickIO"
            },
            "title": "Picks",
            "type": "array"
          },
          "rules": {
            "$ref": "#/components/schemas/RulesIO"
          },
          "slug": {
            "title": "Slug",
            "type": "string"
          },
          "stats": {
            "additionalProperties": {
              "type": "integer"
            },
            "title": "Stats",
            "type": "object"
          },
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagIO"
            },
            "title": "Tags",
            "type": "array"
          },
          "topped_up_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Topped Up At"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "emoji",
          "brief",
          "origin",
          "media",
          "tags",
          "genres",
          "excluded_genres",
          "collections",
          "picks",
          "rules",
          "content_hash",
          "ai_tokens",
          "stats"
        ],
        "title": "ThemeOut",
        "type": "object"
      },
      "ThemePickIO": {
        "additionalProperties": true,
        "description": "A title a theme names by TMDB id; ``origin`` says whether the AI or the owner chose it.",
        "properties": {
          "media": {
            "enum": [
              "movie",
              "show"
            ],
            "title": "Media",
            "type": "string"
          },
          "origin": {
            "default": "owner",
            "enum": [
              "ai",
              "owner"
            ],
            "title": "Origin",
            "type": "string"
          },
          "reason": {
            "anyOf": [
              {
                "maxLength": 160,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "tmdb_id": {
            "title": "Tmdb Id",
            "type": "integer"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          }
        },
        "required": [
          "tmdb_id",
          "media"
        ],
        "title": "ThemePickIO",
        "type": "object"
      },
      "ThemeRefOut": {
        "additionalProperties": true,
        "description": "A theme as one person's rotation holds it: which one, when it started, and when it hands over.",
        "properties": {
          "due_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Due At"
          },
          "emoji": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Emoji"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "started_at": {
            "title": "Started At",
            "type": "string"
          },
          "theme_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The stored theme; null once it has been deleted.",
            "title": "Theme Id"
          }
        },
        "required": [
          "theme_id",
          "name",
          "emoji",
          "started_at",
          "due_at"
        ],
        "title": "ThemeRefOut",
        "type": "object"
      },
      "ThemeRotationOut": {
        "additionalProperties": true,
        "properties": {
          "days": {
            "description": "How many days a theme lasts.",
            "title": "Days",
            "type": "integer"
          },
          "mode": {
            "enum": [
              "fixed",
              "explore"
            ],
            "title": "Mode",
            "type": "string"
          },
          "targets": {
            "items": {
              "$ref": "#/components/schemas/RotationTargetOut"
            },
            "title": "Targets",
            "type": "array"
          }
        },
        "required": [
          "mode",
          "days",
          "targets"
        ],
        "title": "ThemeRotationOut",
        "type": "object"
      },
      "ThemeSaveIn": {
        "description": "A save: the theme, what the AI call that wrote it cost, and the row it was written for.",
        "properties": {
          "collection_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Collection Id"
          },
          "draft": {
            "$ref": "#/components/schemas/ThemeIn"
          },
          "stats": {
            "additionalProperties": {
              "type": "integer"
            },
            "title": "Stats",
            "type": "object"
          },
          "tokens": {
            "default": 0,
            "minimum": 0.0,
            "title": "Tokens",
            "type": "integer"
          }
        },
        "required": [
          "draft"
        ],
        "title": "ThemeSaveIn",
        "type": "object"
      },
      "ThemeStatsOut": {
        "additionalProperties": true,
        "properties": {
          "after_rules": {
            "title": "After Rules",
            "type": "integer"
          },
          "ai_kept": {
            "default": 0,
            "title": "Ai Kept",
            "type": "integer"
          },
          "in_library": {
            "title": "In Library",
            "type": "integer"
          },
          "named": {
            "title": "Named",
            "type": "integer"
          },
          "resolved": {
            "title": "Resolved",
            "type": "integer"
          },
          "runtime_checked": {
            "default": 0,
            "title": "Runtime Checked",
            "type": "integer"
          },
          "runtime_total": {
            "default": 0,
            "title": "Runtime Total",
            "type": "integer"
          },
          "truncated": {
            "default": false,
            "title": "Truncated",
            "type": "boolean"
          },
          "unwatched_median": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Unwatched Median"
          }
        },
        "required": [
          "named",
          "resolved",
          "in_library",
          "after_rules",
          "unwatched_median"
        ],
        "title": "ThemeStatsOut",
        "type": "object"
      },
      "TitleMatchOut": {
        "additionalProperties": true,
        "description": "TMDB's own best guess for a title search, for the \"block a seed\" picker.",
        "properties": {
          "media_type": {
            "title": "Media Type",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "tmdb_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tmdb Id"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          }
        },
        "required": [
          "tmdb_id",
          "title",
          "media_type",
          "year"
        ],
        "title": "TitleMatchOut",
        "type": "object"
      },
      "TopTitleOut": {
        "additionalProperties": true,
        "properties": {
          "media_type": {
            "title": "Media Type",
            "type": "string"
          },
          "rating_key": {
            "title": "Rating Key",
            "type": "integer"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "tmdb_id": {
            "title": "Tmdb Id",
            "type": "integer"
          },
          "watcher_sample": {
            "items": {
              "$ref": "#/components/schemas/WatcherOut"
            },
            "title": "Watcher Sample",
            "type": "array"
          },
          "watchers": {
            "title": "Watchers",
            "type": "integer"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          }
        },
        "required": [
          "tmdb_id",
          "media_type",
          "title",
          "watchers",
          "rating_key",
          "year",
          "watcher_sample"
        ],
        "title": "TopTitleOut",
        "type": "object"
      },
      "TraceRequestOut": {
        "additionalProperties": true,
        "description": "What became of one wanted-but-missing title, keyed `\"<tmdb_id>:<media_type>\"` on the trace.",
        "properties": {
          "arr_slug": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Arr Slug"
          },
          "detail": {
            "title": "Detail",
            "type": "string"
          },
          "excluded": {
            "title": "Excluded",
            "type": "boolean"
          },
          "status": {
            "enum": [
              "pending",
              "sent",
              "rejected"
            ],
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "status",
          "detail",
          "arr_slug",
          "excluded"
        ],
        "title": "TraceRequestOut",
        "type": "object"
      },
      "TransferIn": {
        "properties": {
          "dry_run": {
            "default": false,
            "title": "Dry Run",
            "type": "boolean"
          },
          "from_user_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "From User Id"
          },
          "to_user_id": {
            "title": "To User Id",
            "type": "integer"
          }
        },
        "required": [
          "to_user_id"
        ],
        "title": "TransferIn",
        "type": "object"
      },
      "TransferOut": {
        "additionalProperties": true,
        "description": "The result of one replication.\n\n`unmarks` and `offsets_cleared` are the destructive half and are reported separately from\n`applied` on purpose: \"wrote 11,000 things\" and \"removed 412 watches from that account\" are not\nthe same sentence, and only the second needs anybody's consent.",
        "properties": {
          "applied": {
            "title": "Applied",
            "type": "integer"
          },
          "dry_run": {
            "title": "Dry Run",
            "type": "boolean"
          },
          "errors": {
            "items": {
              "type": "string"
            },
            "title": "Errors",
            "type": "array"
          },
          "events_copied": {
            "title": "Events Copied",
            "type": "integer"
          },
          "failed": {
            "title": "Failed",
            "type": "integer"
          },
          "marks": {
            "title": "Marks",
            "type": "integer"
          },
          "offsets_cleared": {
            "title": "Offsets Cleared",
            "type": "integer"
          },
          "offsets_set": {
            "title": "Offsets Set",
            "type": "integer"
          },
          "planned": {
            "title": "Planned",
            "type": "integer"
          },
          "removals_preview": {
            "items": {
              "type": "string"
            },
            "title": "Removals Preview",
            "type": "array"
          },
          "shows_cleared": {
            "title": "Shows Cleared",
            "type": "integer"
          },
          "snapshot_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Snapshot Id"
          },
          "source_empty": {
            "title": "Source Empty",
            "type": "boolean"
          },
          "target_unreadable": {
            "items": {
              "type": "string"
            },
            "title": "Target Unreadable",
            "type": "array"
          },
          "titles_cached": {
            "title": "Titles Cached",
            "type": "integer"
          },
          "unmarks": {
            "title": "Unmarks",
            "type": "integer"
          },
          "unreachable": {
            "title": "Unreachable",
            "type": "integer"
          },
          "verify_checked": {
            "title": "Verify Checked",
            "type": "integer"
          },
          "verify_mismatched": {
            "title": "Verify Mismatched",
            "type": "integer"
          }
        },
        "required": [
          "planned",
          "applied",
          "unreachable",
          "failed",
          "marks",
          "unmarks",
          "offsets_set",
          "offsets_cleared",
          "removals_preview",
          "verify_mismatched",
          "verify_checked",
          "shows_cleared",
          "target_unreadable",
          "events_copied",
          "titles_cached",
          "snapshot_id",
          "dry_run",
          "source_empty",
          "errors"
        ],
        "title": "TransferOut",
        "type": "object"
      },
      "TrendPointOut": {
        "additionalProperties": true,
        "properties": {
          "finished": {
            "title": "Finished",
            "type": "integer"
          },
          "watched": {
            "title": "Watched",
            "type": "integer"
          },
          "week": {
            "title": "Week",
            "type": "string"
          }
        },
        "required": [
          "week",
          "watched",
          "finished"
        ],
        "title": "TrendPointOut",
        "type": "object"
      },
      "UndoIn": {
        "properties": {
          "dry_run": {
            "default": false,
            "title": "Dry Run",
            "type": "boolean"
          },
          "snapshot_id": {
            "title": "Snapshot Id",
            "type": "integer"
          }
        },
        "required": [
          "snapshot_id"
        ],
        "title": "UndoIn",
        "type": "object"
      },
      "UninstallCollectionOut": {
        "additionalProperties": true,
        "description": "One Shortlist collection the uninstall deletes, by where it lives and whose it is.",
        "properties": {
          "library": {
            "title": "Library",
            "type": "string"
          },
          "person": {
            "title": "Person",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "library",
          "person",
          "title"
        ],
        "title": "UninstallCollectionOut",
        "type": "object"
      },
      "UninstallFailedOut": {
        "additionalProperties": true,
        "description": "An account plex.tv refused. The rest of the uninstall still ran (issue #96).",
        "properties": {
          "error": {
            "title": "Error",
            "type": "string"
          },
          "user": {
            "title": "User",
            "type": "string"
          }
        },
        "required": [
          "user",
          "error"
        ],
        "title": "UninstallFailedOut",
        "type": "object"
      },
      "UninstallOut": {
        "additionalProperties": true,
        "properties": {
          "collections_deleted": {
            "items": {
              "type": "string"
            },
            "title": "Collections Deleted",
            "type": "array"
          },
          "collections_detail": {
            "items": {
              "$ref": "#/components/schemas/UninstallCollectionOut"
            },
            "title": "Collections Detail",
            "type": "array"
          },
          "dry_run": {
            "title": "Dry Run",
            "type": "boolean"
          },
          "filters_failed": {
            "items": {
              "$ref": "#/components/schemas/UninstallFailedOut"
            },
            "title": "Filters Failed",
            "type": "array"
          },
          "filters_restored": {
            "title": "Filters Restored",
            "type": "integer"
          },
          "filters_skipped": {
            "items": {
              "$ref": "#/components/schemas/UninstallSkippedOut"
            },
            "title": "Filters Skipped",
            "type": "array"
          },
          "filters_unreachable": {
            "items": {
              "$ref": "#/components/schemas/UninstallUnreachableOut"
            },
            "title": "Filters Unreachable",
            "type": "array"
          },
          "message": {
            "title": "Message",
            "type": "string"
          },
          "rows_disabled": {
            "title": "Rows Disabled",
            "type": "integer"
          }
        },
        "required": [
          "filters_restored",
          "filters_skipped",
          "filters_unreachable",
          "filters_failed",
          "collections_deleted",
          "rows_disabled",
          "dry_run",
          "message"
        ],
        "title": "UninstallOut",
        "type": "object"
      },
      "UninstallProgressEvent": {
        "additionalProperties": true,
        "description": "Event ``uninstall.progress`` \u2014 one live step of a REAL uninstall (the dry-run preview is\ninstant and streams nothing).",
        "properties": {
          "done": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Done"
          },
          "label": {
            "title": "Label",
            "type": "string"
          },
          "total": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total"
          }
        },
        "required": [
          "label"
        ],
        "title": "UninstallProgressEvent",
        "type": "object"
      },
      "UninstallRequest": {
        "properties": {
          "confirm": {
            "default": "",
            "title": "Confirm",
            "type": "string"
          },
          "dry_run": {
            "default": false,
            "title": "Dry Run",
            "type": "boolean"
          }
        },
        "title": "UninstallRequest",
        "type": "object"
      },
      "UninstallSkippedOut": {
        "additionalProperties": true,
        "description": "An account that has left this Plex server, so its snapshot can never be restored.",
        "properties": {
          "plex_account_id": {
            "title": "Plex Account Id",
            "type": "integer"
          },
          "reason": {
            "title": "Reason",
            "type": "string"
          },
          "user": {
            "title": "User",
            "type": "string"
          }
        },
        "required": [
          "user",
          "plex_account_id",
          "reason"
        ],
        "title": "UninstallSkippedOut",
        "type": "object"
      },
      "UninstallUnreachableOut": {
        "additionalProperties": true,
        "description": "An account plex.tv's roster did not list, but that our own records say IS on this server.\n\nIts own field rather than folded into `filters_failed`, because the two need different things\nfrom the operator \u2014 a refused write is worth retrying, an absent roster entry means plex.tv gave\nan answer we don't believe \u2014 and a consumer should never have to match on an error string to\ntell them apart.",
        "properties": {
          "plex_account_id": {
            "title": "Plex Account Id",
            "type": "integer"
          },
          "reason": {
            "title": "Reason",
            "type": "string"
          },
          "user": {
            "title": "User",
            "type": "string"
          }
        },
        "required": [
          "user",
          "plex_account_id",
          "reason"
        ],
        "title": "UninstallUnreachableOut",
        "type": "object"
      },
      "UpNextRequest": {
        "additionalProperties": false,
        "properties": {
          "theme_id": {
            "title": "Theme Id",
            "type": "integer"
          },
          "user_id": {
            "title": "User Id",
            "type": "integer"
          }
        },
        "required": [
          "user_id",
          "theme_id"
        ],
        "title": "UpNextRequest",
        "type": "object"
      },
      "UsedByOut": {
        "additionalProperties": true,
        "description": "A row that follows the season.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "title": "UsedByOut",
        "type": "object"
      },
      "UserOut": {
        "additionalProperties": true,
        "description": "One person \u2014 the response shape of :func:`user_dict`.",
        "properties": {
          "avatar_url": {
            "title": "Avatar Url",
            "type": "string"
          },
          "cold_start": {
            "title": "Cold Start",
            "type": "boolean"
          },
          "departed": {
            "title": "Departed",
            "type": "boolean"
          },
          "display_name": {
            "title": "Display Name",
            "type": "string"
          },
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "friendly_name": {
            "title": "Friendly Name",
            "type": "string"
          },
          "history_depth": {
            "title": "History Depth",
            "type": "integer"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "last_pick_watched_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Pick Watched At"
          },
          "last_run_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Run At"
          },
          "manage_sharing": {
            "title": "Manage Sharing",
            "type": "boolean"
          },
          "nickname": {
            "title": "Nickname",
            "type": "string"
          },
          "picks_watched_30d": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Picks Watched 30D"
          },
          "plex_account_id": {
            "title": "Plex Account Id",
            "type": "integer"
          },
          "prefs": {
            "additionalProperties": true,
            "title": "Prefs",
            "type": "object"
          },
          "preview_titles": {
            "items": {
              "type": "string"
            },
            "title": "Preview Titles",
            "type": "array"
          },
          "request_tag": {
            "title": "Request Tag",
            "type": "string"
          },
          "requested_by_tag": {
            "title": "Requested By Tag",
            "type": "string"
          },
          "restricted": {
            "title": "Restricted",
            "type": "boolean"
          },
          "restriction_profile": {
            "title": "Restriction Profile",
            "type": "string"
          },
          "seerr_user_id": {
            "title": "Seerr User Id",
            "type": "integer"
          },
          "slug": {
            "title": "Slug",
            "type": "string"
          },
          "unhidden_rows": {
            "title": "Unhidden Rows",
            "type": "integer"
          },
          "user_type": {
            "$ref": "#/components/schemas/UserType"
          },
          "username": {
            "title": "Username",
            "type": "string"
          }
        },
        "required": [
          "id",
          "plex_account_id",
          "username",
          "slug",
          "nickname",
          "friendly_name",
          "display_name",
          "avatar_url",
          "user_type",
          "restricted",
          "restriction_profile",
          "enabled",
          "manage_sharing",
          "cold_start",
          "request_tag",
          "requested_by_tag",
          "seerr_user_id",
          "prefs",
          "history_depth",
          "last_run_at",
          "picks_watched_30d",
          "last_pick_watched_at",
          "preview_titles",
          "unhidden_rows",
          "departed"
        ],
        "title": "UserOut",
        "type": "object"
      },
      "UserPatch": {
        "properties": {
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          },
          "manage_sharing": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Manage Sharing"
          },
          "nickname": {
            "anyOf": [
              {
                "maxLength": 255,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Nickname"
          },
          "prefs": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserPrefs"
              },
              {
                "type": "null"
              }
            ]
          },
          "request_tag": {
            "anyOf": [
              {
                "maxLength": 64,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Request Tag"
          },
          "requested_by_tag": {
            "anyOf": [
              {
                "maxLength": 64,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Requested By Tag"
          },
          "seerr_user_id": {
            "anyOf": [
              {
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Seerr User Id"
          }
        },
        "title": "UserPatch",
        "type": "object"
      },
      "UserPickOut": {
        "additionalProperties": true,
        "description": "One delivered pick as the USER pages render it \u2014 the response shape of :func:`pick_dict`.\n\nNot ``PickOut``: the run detail publishes its own, narrower pick shape under that name\n(``api/schemas_runs.py``), and two models sharing a name make FastAPI fall back to\nfully-qualified schema names for both \u2014 which the SPA then generates as\n``shortlist__server__api__serializers__PickOut``.",
        "properties": {
          "affinity": {
            "title": "Affinity",
            "type": "number"
          },
          "collection_slug": {
            "title": "Collection Slug",
            "type": "string"
          },
          "library": {
            "title": "Library",
            "type": "string"
          },
          "media_type": {
            "title": "Media Type",
            "type": "string"
          },
          "rank": {
            "title": "Rank",
            "type": "integer"
          },
          "rating": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rating"
          },
          "rating_key": {
            "title": "Rating Key",
            "type": "integer"
          },
          "reason": {
            "title": "Reason",
            "type": "string"
          },
          "section_key": {
            "title": "Section Key",
            "type": "string"
          },
          "seed_title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Seed Title"
          },
          "sources": {
            "items": {
              "type": "string"
            },
            "title": "Sources",
            "type": "array"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          }
        },
        "required": [
          "rank",
          "title",
          "reason",
          "rating_key",
          "media_type",
          "collection_slug",
          "library",
          "section_key",
          "seed_title",
          "sources",
          "affinity",
          "year",
          "rating"
        ],
        "title": "UserPickOut",
        "type": "object"
      },
      "UserPickOutcomeOut": {
        "additionalProperties": true,
        "description": "One title this person was recommended and then played.",
        "properties": {
          "finished_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Finished At"
          },
          "media_type": {
            "title": "Media Type",
            "type": "string"
          },
          "outcome": {
            "title": "Outcome",
            "type": "string"
          },
          "percent": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Percent"
          },
          "row": {
            "title": "Row",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "tmdb_id": {
            "title": "Tmdb Id",
            "type": "integer"
          },
          "watched_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Watched At"
          }
        },
        "required": [
          "tmdb_id",
          "media_type",
          "title",
          "row",
          "outcome",
          "percent",
          "watched_at",
          "finished_at"
        ],
        "title": "UserPickOutcomeOut",
        "type": "object"
      },
      "UserPrefs": {
        "properties": {
          "blocked_seeds": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "$ref": "#/components/schemas/BlockSeedBody"
                    }