{
  "openapi": "3.0.4",
  "info": {
    "title": "agentView Agent API",
    "description": "Public Agent-First API for agentView. Includes REST agent flows, MCP, OAuth discovery and authorization endpoints, direct send endpoints, and public status.",
    "version": "v1"
  },
  "paths": {
    "/agent-instructions": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Machine-readable instructions for AI agents. No auth required.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/agent/instructions": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Machine-readable instructions for AI agents. No auth required.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/agent/help": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "User-friendly help text that the agent can show to the user.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/markdown": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/pricing": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Plan pricing, features and upgrade options. No auth required.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.PricingResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.PricingResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.PricingResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/agent/public-apis": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Search a curated catalog of 600+ free, no-auth public APIs for embedding live data in display HTML.\nThe `cors_only` (or alias `corsOk`) filter is computed from the\nnightly server-side probe — see PublicApiProbeJob — and is ANDed with\nreachability so excluded entries are the ones that actually fail in a\ndisplay, not just the ones with stale upstream flags. No auth required.",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cors_only",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "corsOk",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SearchPublicApisResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SearchPublicApisResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SearchPublicApisResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/agent/public-apis/{slug}": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Get details of a specific public API by slug. Includes the latest\nCORS probe verdict when available; otherwise falls back to the\nupstream catalog flag.\nNo auth required.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.PublicApiItem"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.PublicApiItem"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.PublicApiItem"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/agent/public-apis/categories": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "List all available public API categories with counts.\nNo auth required.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.PublicApiCategoriesResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.PublicApiCategoriesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.PublicApiCategoriesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/agent/events": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Real-time event stream for display status changes and content delivery.\nStreams events as SSE (text/event-stream). The connection stays open until\nthe client disconnects or the JWT expires.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/event-stream": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/event-stream": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/magic-link": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Trigger a magic login link for a user.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentController.AgentMagicLinkRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentController.AgentMagicLinkRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentController.AgentMagicLinkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.MagicLinkResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.MagicLinkResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.MagicLinkResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/agent/me": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Get current user info from the Bearer token.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetAccountResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetAccountResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetAccountResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/api-keys": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Create a new API key. The raw key is returned only once.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentController.CreateApiKeyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentController.CreateApiKeyRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentController.CreateApiKeyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreateApiKeyResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreateApiKeyResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreateApiKeyResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "List API keys for the current user. The raw key is never returned.\nSupports server-side search, filtering and pagination for large accounts.",
        "parameters": [
          {
            "name": "Search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "GroupId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Preset",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListApiKeysPageResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListApiKeysPageResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListApiKeysPageResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/api-keys/{keyId}": {
      "delete": {
        "tags": [
          "Agent"
        ],
        "summary": "Revoke an API key. This is irreversible.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RevokeApiKeyResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RevokeApiKeyResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RevokeApiKeyResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/account/approval-secret/rotate": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Issues a new DisplayApprovalSecret for the authenticated user,\ninvalidating any previously-shared `/a/{secret}` URL. Use this when\na recovery email leaks or an old approval link is found in shared\nsupport artefacts. Returns the new approval URL so the dashboard\ncan render it, copy it to clipboard, etc. Audit-logged so a later\n\"who rotated this and when\" question is traceable.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RotateApprovalSecretResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RotateApprovalSecretResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RotateApprovalSecretResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays": {
      "get": {
        "tags": [
          "AgentDisplay"
        ],
        "summary": "List all displays owned by the authenticated user.",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListDisplaysResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListDisplaysResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListDisplaysResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "post": {
        "tags": [
          "AgentDisplay"
        ],
        "summary": "Create a new personal display.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.CreateDisplayRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.CreateDisplayRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreateDisplayResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreateDisplayResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreateDisplayResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}": {
      "get": {
        "tags": [
          "AgentDisplay"
        ],
        "summary": "Get detailed info about a specific display.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetDisplayResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetDisplayResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetDisplayResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "patch": {
        "tags": [
          "AgentDisplay"
        ],
        "summary": "Rename a display.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.UpdateDisplayRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.UpdateDisplayRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.UpdateDisplayRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.UpdateDisplayResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.UpdateDisplayResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.UpdateDisplayResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "delete": {
        "tags": [
          "AgentDisplay"
        ],
        "summary": "Delete a display permanently.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.DeleteDisplayResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.DeleteDisplayResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.DeleteDisplayResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/preview-link": {
      "post": {
        "tags": [
          "AgentDisplay"
        ],
        "summary": "Mints a short-lived signed share link for the display's current\ncontent. Replaces the leaky permanent /d/{profileId} pattern with\na token-pinned URL that expires after the requested TTL or the\nmoment the owner pushes new content (whichever comes first).",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.CreatePreviewLinkRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.CreatePreviewLinkRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.CreatePreviewLinkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreatePreviewLinkResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreatePreviewLinkResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreatePreviewLinkResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/privacy-mode": {
      "patch": {
        "tags": [
          "AgentDisplay"
        ],
        "summary": "Sets the per-display privacy mode. 'Private' (default) caps share-\nlink TTL at 1h and is the GDPR-by-default state for displays that\nmight show PII. 'Public' opts the display in to digital-signage\nmode and lets share-links live up to 24h. The transition is audit-\nlogged so a later \"who flipped this Public?\" question is traceable.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.SetPrivacyModeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.SetPrivacyModeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.SetPrivacyModeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SetPrivacyModeResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SetPrivacyModeResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SetPrivacyModeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/embeddable-origins": {
      "patch": {
        "tags": [
          "AgentDisplay"
        ],
        "summary": "Sets the optional HTTPS origin allowlist that controls which third-party\nwebsites may embed this display via `/display-embed/{profileId}`.\nOnly meaningful when `PrivacyMode` is `Public` — Private\ndisplays reject `/display-embed` with 404 regardless.\n            \nPass an empty origins array to allow embedding from any origin\n(`frame-ancestors *` — the default for Public displays).\nPass a non-empty array to restrict embedding to those origins only.\nEach origin must be a full HTTPS origin with no trailing slash,\npath, query, or fragment, e.g. `https://bistro-mueller.de`.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.SetEmbeddableOriginsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.SetEmbeddableOriginsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.SetEmbeddableOriginsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SetEmbeddableOriginsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SetEmbeddableOriginsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SetEmbeddableOriginsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/managed-secret/rotate": {
      "post": {
        "tags": [
          "AgentDisplay"
        ],
        "summary": "Issues a new ManagedDeviceSecret for the display (clears any prior\nvalue). Use this after a leak or accidental sharing of the MDM URL.\nThe newly-issued URL is returned in the response so the owner can\nhand it to the MDM operator immediately. The previous secret is\npermanently lost; any device that had it cached must re-enrol via\nthe new URL.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RotateSecretResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RotateSecretResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RotateSecretResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/managed-secret/revoke": {
      "post": {
        "tags": [
          "AgentDisplay"
        ],
        "summary": "Removes the ManagedDeviceSecret entirely. The display can no longer\nbe reached via /m/{secret}; only the per-device RecoverySecret URL\nkeeps relay-failover working. Use this when MDM management ends or\nthe device leaves the fleet but the profile stays in the DB for\naudit purposes.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RevokeSecretResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RevokeSecretResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RevokeSecretResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/recovery-secret/rotate": {
      "post": {
        "tags": [
          "AgentDisplay"
        ],
        "summary": "Issues a new RecoverySecret for the display, invalidating the URL\nthe device currently has cached in localStorage. Use this when the\ndevice hardware is suspected compromised. The device must come\nback online once via SignalR for the new entry URL to be persisted\ninto its localStorage; relay-failover is offline until then.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RotateSecretResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RotateSecretResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RotateSecretResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/capabilities": {
      "get": {
        "tags": [
          "AgentDisplayConfig"
        ],
        "summary": "Returns resolved connectivity and browser/runtime capabilities for a display.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetDisplayCapabilitiesResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetDisplayCapabilitiesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetDisplayCapabilitiesResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/configure": {
      "post": {
        "tags": [
          "AgentDisplayConfig"
        ],
        "summary": "Update hardware permission and UI settings for a display.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.ConfigureDisplayRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.ConfigureDisplayRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.ConfigureDisplayRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ConfigureDisplayResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ConfigureDisplayResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ConfigureDisplayResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/test/content": {
      "post": {
        "tags": [
          "AgentDisplayContent"
        ],
        "parameters": [
          {
            "name": "description",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SendContentRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SendContentRequest"
              }
            },
            "text/html": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SendContentRequest"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SendContentRequest"
              }
            },
            "application/octet-stream": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SendContentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.TestSendContentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.TestSendContentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.TestSendContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/content": {
      "post": {
        "tags": [
          "AgentDisplayContent"
        ],
        "summary": "Send HTML content to a display.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "description",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SendContentRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SendContentRequest"
              }
            },
            "text/html": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SendContentRequest"
              }
            },
            "text/plain": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SendContentRequest"
              }
            },
            "application/octet-stream": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SendContentRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SendContentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SendContentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SendContentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SendContentResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SendContentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SendContentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SendContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "get": {
        "tags": [
          "AgentDisplayContent"
        ],
        "summary": "Returns the current content state of a display.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetDisplayContentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetDisplayContentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetDisplayContentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/broadcast": {
      "post": {
        "tags": [
          "AgentDisplayContent"
        ],
        "summary": "Send HTML content to multiple displays at once.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.BroadcastContentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.BroadcastContentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.BroadcastContentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.BroadcastContentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.BroadcastContentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.BroadcastContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/html": {
      "get": {
        "tags": [
          "AgentDisplayContent"
        ],
        "summary": "Reads the raw HTML source code currently shown on a display.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "content_type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ReadDisplayHtmlResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ReadDisplayHtmlResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ReadDisplayHtmlResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/pair-by-code": {
      "post": {
        "tags": [
          "AgentDisplayHardware"
        ],
        "summary": "Pair a display using the 6-character code shown on the TV/screen.\nprofile_name is optional for a new pairing (a default name is assigned);\npass target_display_id to rebind an existing display, which needs admin.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentPairByCodeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentPairByCodeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentPairByCodeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AgentPairByCodeResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AgentPairByCodeResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AgentPairByCodeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/claim": {
      "post": {
        "tags": [
          "AgentDisplayHardware"
        ],
        "summary": "Claim an unclaimed guest or pending display as a personal display.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.ClaimDisplayRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.ClaimDisplayRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.ClaimDisplayRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ClaimDisplayResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ClaimDisplayResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ClaimDisplayResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/clear": {
      "post": {
        "tags": [
          "AgentDisplayState"
        ],
        "summary": "Clear a display (reset to idle/system ready).",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SuccessMessageResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SuccessMessageResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SuccessMessageResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/default": {
      "post": {
        "tags": [
          "AgentDisplayState"
        ],
        "summary": "Set default idle content for a display. Accepts HTML only.\nOmit html to clear idle content.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SetIdleContentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SetIdleContentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SetIdleContentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SetDefaultContentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SetDefaultContentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SetDefaultContentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/lock": {
      "post": {
        "tags": [
          "AgentDisplayState"
        ],
        "summary": "Lock a display (prevent new content from being sent).",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SuccessMessageResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SuccessMessageResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SuccessMessageResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/unlock": {
      "post": {
        "tags": [
          "AgentDisplayState"
        ],
        "summary": "Unlock a display.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SuccessMessageResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SuccessMessageResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SuccessMessageResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{id}/url": {
      "post": {
        "tags": [
          "AgentDisplayState"
        ],
        "summary": "Load a web page by URL on a display using a full-page iframe.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SendUrlRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SendUrlRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SendUrlRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SendUrlResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SendUrlResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SendUrlResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/organizations": {
      "get": {
        "tags": [
          "AgentOrganization"
        ],
        "summary": "List all organizations the authenticated user belongs to.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListOrganizationsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListOrganizationsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListOrganizationsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "post": {
        "tags": [
          "AgentOrganization"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.AgentCreateOrganizationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.AgentCreateOrganizationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.AgentCreateOrganizationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreateOrganizationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreateOrganizationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreateOrganizationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/organizations/{orgId}": {
      "get": {
        "tags": [
          "AgentOrganization"
        ],
        "summary": "Get full details of a specific organization.",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetOrganizationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetOrganizationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetOrganizationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "patch": {
        "tags": [
          "AgentOrganization"
        ],
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.AgentRenameOrganizationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.AgentRenameOrganizationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.AgentRenameOrganizationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RenameOrganizationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RenameOrganizationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RenameOrganizationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "delete": {
        "tags": [
          "AgentOrganization"
        ],
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.DeleteOrganizationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.DeleteOrganizationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.DeleteOrganizationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/organizations/{orgId}/invite": {
      "post": {
        "tags": [
          "AgentOrganization"
        ],
        "summary": "Create an invite link for an organization.",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentInviteMemberRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentInviteMemberRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentInviteMemberRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.InviteMemberResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.InviteMemberResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.InviteMemberResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/organizations/{orgId}/slots": {
      "post": {
        "tags": [
          "AgentOrganization"
        ],
        "summary": "Allocate display slots from the user's Premium plan to an organization.",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AllocateSlotsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AllocateSlotsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AllocateSlotsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AllocateSlotsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AllocateSlotsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AllocateSlotsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/organizations/{orgId}/displays": {
      "post": {
        "tags": [
          "AgentOrganization"
        ],
        "summary": "Create a new display within an organization.",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.CreateDisplayRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.CreateDisplayRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.CreateDisplayRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreateOrgDisplayResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreateOrgDisplayResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreateOrgDisplayResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "get": {
        "tags": [
          "AgentOrganization"
        ],
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListOrgDisplaysResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListOrgDisplaysResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListOrgDisplaysResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/organizations/{orgId}/connectivity": {
      "post": {
        "tags": [
          "AgentOrganization"
        ],
        "summary": "Set the default connectivity mode and global whitelist for an organization.\nRequires Org-Admin role and admin scope.",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SetOrgConnectivityRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SetOrgConnectivityRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.SetOrgConnectivityRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SetOrgConnectivityResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SetOrgConnectivityResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SetOrgConnectivityResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/organizations/{orgId}/members/{targetUserId}/role": {
      "put": {
        "tags": [
          "AgentOrganization"
        ],
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "targetUserId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.AgentUpdateMemberRoleRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.AgentUpdateMemberRoleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.AgentUpdateMemberRoleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.UpdateMemberRoleResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.UpdateMemberRoleResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.UpdateMemberRoleResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/organizations/{orgId}/members/{targetUserId}": {
      "delete": {
        "tags": [
          "AgentOrganization"
        ],
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "targetUserId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AgentRemoveMemberResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AgentRemoveMemberResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AgentRemoveMemberResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/license-info": {
      "get": {
        "tags": [
          "AgentOrganization"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetLicenseInfoResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetLicenseInfoResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetLicenseInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/billing-url": {
      "get": {
        "tags": [
          "AgentOrganization"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetBillingUrlResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetBillingUrlResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetBillingUrlResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/organizations/{orgId}/displays/{displayId}": {
      "delete": {
        "tags": [
          "AgentOrganization"
        ],
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "displayId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RemoveDisplayFromOrgResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RemoveDisplayFromOrgResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RemoveDisplayFromOrgResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/organizations/{orgId}/displays/{displayId}/grants/{targetUserId}": {
      "put": {
        "tags": [
          "AgentOrganization"
        ],
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "displayId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "targetUserId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.AgentSetDisplayGrantRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.AgentSetDisplayGrantRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.AgentSetDisplayGrantRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AgentSetDisplayGrantResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AgentSetDisplayGrantResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AgentSetDisplayGrantResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "delete": {
        "tags": [
          "AgentOrganization"
        ],
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "displayId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "targetUserId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RemoveDisplayGrantResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RemoveDisplayGrantResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RemoveDisplayGrantResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{displayId}/assign-license": {
      "post": {
        "tags": [
          "AgentOrganization"
        ],
        "parameters": [
          {
            "name": "displayId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AssignLicenseResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AssignLicenseResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AssignLicenseResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/displays/{displayId}/unassign-license": {
      "post": {
        "tags": [
          "AgentOrganization"
        ],
        "parameters": [
          {
            "name": "displayId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AssignLicenseResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AssignLicenseResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AssignLicenseResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/session/request": {
      "post": {
        "tags": [
          "AgentSession"
        ],
        "summary": "Create a new agent session request. Returns a login URL for the user.\nNo authentication required. Rate-limited to 10 requests/minute per IP.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentSessionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentSessionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreateSessionResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreateSessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.CreateSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/agent/session/info": {
      "get": {
        "tags": [
          "AgentSession"
        ],
        "summary": "Gets non-sensitive info about a pending session request so the login UI can show consent details.",
        "description": "This endpoint is anonymous, but if an authenticated cookie session is present\nwhen it's called we stamp `AgentSession.InitiatorUserId` while it's still\nnull. That binds the pending session to the browser that first saw the\nconsent screen, so the deny endpoint can later require a matching initiator\nand a different authenticated user who learned the SessionRequestId can no\nlonger tear down someone else's pending agent consent (security-reviewer M-1).",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SessionInfoResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SessionInfoResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SessionInfoResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/agent/session/status": {
      "get": {
        "tags": [
          "AgentSession"
        ],
        "summary": "Poll the status of a session request.\nReturns the token once the user has logged in.",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SessionStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SessionStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SessionStatusResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/agent/session/activate": {
      "post": {
        "tags": [
          "AgentSession"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentSessionActivateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentSessionActivateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentSessionActivateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ActivateSessionResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ActivateSessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ActivateSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/session/deny": {
      "post": {
        "tags": [
          "AgentSession"
        ],
        "summary": "Denies a pending agent session. The polling agent will see status \"denied\".\nOnly the user whose session it is (i.e. the user who initiated login) may deny it.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentSessionDenyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentSessionDenyRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentSessionDenyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.DenySessionResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.DenySessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.DenySessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/store/templates/{templateId}": {
      "get": {
        "tags": [
          "AgentStore"
        ],
        "summary": "Everything the agent needs about its template: both locales, the slot\ndefinitions with their defaults, and the artifacts already present.",
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreTemplateResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreTemplateResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreTemplateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/store/templates/{templateId}/locales/{language}": {
      "put": {
        "tags": [
          "AgentStore"
        ],
        "summary": "Replace one language's texts. Fields left null keep their current value, so a\ncaller fixing one sentence does not have to resend the page.",
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "language",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreLocaleRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreLocaleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreLocaleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreLocaleDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreLocaleDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreLocaleDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/store/templates/{templateId}/artifacts/{key}": {
      "put": {
        "tags": [
          "AgentStore"
        ],
        "summary": "Create or replace one artifact. There is no delete: an artifact that should go\naway is a curator's decision, and an agent that can remove the thing it is\nmeasured on can improve its score without improving anything.",
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreArtifactRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreArtifactRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreArtifactRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreArtifactDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreArtifactDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreArtifactDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/store/templates/{templateId}/check": {
      "post": {
        "tags": [
          "AgentStore"
        ],
        "summary": "The same validation the publish path runs, offered before the hand-in so the\nagent measures instead of hoping. Read-only: it records nothing on the\ntemplate, because a check that writes is a check you cannot run twice.",
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreCheckResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreCheckResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreCheckResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/store/bundles": {
      "post": {
        "tags": [
          "AgentStore"
        ],
        "summary": "Stage a store bundle. Parses and validates it and writes nothing: the answer\nis a preview with a session id, and the session expires on its own.\n            \n\nThe scope check runs here as well as at commit, so an agent learns that its\nbundle reaches outside its commission before it spends a round trip staging\none that could never be committed.",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreBundleResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreBundleResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreBundleResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/agent/store/bundles/{sessionId}/commit": {
      "post": {
        "tags": [
          "AgentStore"
        ],
        "summary": "Commit a staged bundle. Always a draft: this route cannot publish, and neither\ncan the service behind it.",
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Services.Store.Import.ImportCommitResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Services.Store.Import.ImportCommitResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Services.Store.Import.ImportCommitResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/assets": {
      "post": {
        "tags": [
          "Asset"
        ],
        "summary": "Uploads one or more binary assets (images, video, PDF, …) to the\ncaller's personal pool or to a group pool. The request MUST be\n`multipart/form-data`.\n            \n\n<b>Required fields:</b><list type=\"bullet\"><item>`files` (binary array, 1-20) OR `file` (single binary).\nBoth names are read; mixing them in one request merges in submission\norder.</item><item>`descriptions` (string). JSON-encoded — either a string\narray indexed by file order (`[\"a\",\"b\"]`) or an object mapping\nfilename to description (`{\"a.png\":\"x\",\"b.png\":\"y\"}`). Missing\nor empty: returns HTTP 400 with `error: \"missing_description\"`.\nMalformed JSON: same error code with a more specific message. Array\nlength mismatching the file count: same error code.</item></list>\n<b>Optional fields:</b><list type=\"bullet\"><item>`groupId` (string). When set, the upload becomes a group\nasset and counts against the group's storage quota instead of the\ncaller's personal quota. The caller must be an active member of the\ngroup.</item></list>\nReturns `201 Created` with the asset records and the\nupdated quota. Common error codes: `missing_file`,\n`too_many_files`, `missing_description`,\n`quota_exceeded`, `invalid_group`, `group_suspended`,\n`unsupported_mime_type`.",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "Files": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    },
                    "description": "One to twenty binary attachments. Either this OR Screen.Central.Contracts.UploadAssetsRequest.File\n(or both, merged) MUST be present. Total request size cap is\n~220 MB; per-file caps and MIME-type validation live in\n`AssetStorageService`."
                  },
                  "File": {
                    "type": "string",
                    "description": "Convenience single-file alias for clients that don't speak\n`multipart/form-data` arrays cleanly. Same accepted formats and\nlimits as Screen.Central.Contracts.UploadAssetsRequest.Files.",
                    "format": "binary"
                  },
                  "Descriptions": {
                    "type": "string",
                    "description": "REQUIRED at the API contract level: a missing or empty value returns\nHTTP 400 with error code `missing_description`. Carries the\nper-file descriptions as a JSON string, either as an array indexed\nby file order (`[\"a\",\"b\"]`) or as an object mapping filename\nto description (`{\"a.png\":\"x\",\"b.png\":\"y\"}`). Each description\nhas a soft length cap of 1000 characters; longer values are\nrejected with `description_too_long`.\n            \nThe property is marked nullable on the DTO (and lacks\n`[Required]`) so the `[ApiController]` automatic 400\nvalidation does not short-circuit with a generic\n`ValidationProblemDetails` before the controller can emit the\ncanonical `missing_description` error code. The \"required\" semantics\nare documented in the operation's XML summary and surfaced via the\n400 example payload."
                  },
                  "GroupId": {
                    "type": "string",
                    "description": "Optional group scope. When set, uploads count against the group's\nstorage quota and become visible to every group member. Omit for\npersonal uploads."
                  }
                }
              },
              "encoding": {
                "Files": {
                  "style": "form"
                },
                "File": {
                  "style": "form"
                },
                "Descriptions": {
                  "style": "form"
                },
                "GroupId": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.UploadAssetsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.UploadAssetsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.UploadAssetsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "Content Too Large",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "415": {
            "description": "Unsupported Media Type",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "get": {
        "tags": [
          "Asset"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "uploadedAt"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "desc"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListAssetsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListAssetsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListAssetsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "delete": {
        "tags": [
          "Asset"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.BulkDeleteAssetsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.BulkDeleteAssetsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.BulkDeleteAssetsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.BulkDeleteAssetsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.BulkDeleteAssetsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.BulkDeleteAssetsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/assets/quota": {
      "get": {
        "tags": [
          "Asset"
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AssetQuota"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AssetQuota"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AssetQuota"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/assets/{assetId}": {
      "get": {
        "tags": [
          "Asset"
        ],
        "parameters": [
          {
            "name": "assetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AssetItem"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AssetItem"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AssetItem"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "patch": {
        "tags": [
          "Asset"
        ],
        "parameters": [
          {
            "name": "assetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.UpdateAssetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.UpdateAssetRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Contracts.UpdateAssetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AssetItem"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AssetItem"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.AssetItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "delete": {
        "tags": [
          "Asset"
        ],
        "parameters": [
          {
            "name": "assetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/data/{slug}": {
      "put": {
        "tags": [
          "DataSlot"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "label",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ifVersion",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.PutDataSlotResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.PutDataSlotResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.PutDataSlotResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.PutDataSlotResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.PutDataSlotResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.PutDataSlotResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "get": {
        "tags": [
          "DataSlot"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetDataSlotResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetDataSlotResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.GetDataSlotResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "delete": {
        "tags": [
          "DataSlot"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/data/quota": {
      "get": {
        "tags": [
          "DataSlot"
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.DataSlotQuota"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.DataSlotQuota"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.DataSlotQuota"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/data": {
      "get": {
        "tags": [
          "DataSlot"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListDataSlotsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListDataSlotsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ListDataSlotsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/api/v1/data/{slug}/usage": {
      "get": {
        "tags": [
          "DataSlot"
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.DataSlotUsageResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.DataSlotUsageResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.DataSlotUsageResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/data/u/{publicSlug}/{publicId}.json": {
      "get": {
        "tags": [
          "DataSlotRead"
        ],
        "summary": "Returns the raw JSON content of a personal data slot.",
        "parameters": [
          {
            "name": "publicSlug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "publicId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/data/g/{groupSlug}/{publicId}.json": {
      "get": {
        "tags": [
          "DataSlotRead"
        ],
        "summary": "Returns the raw JSON content of a group data slot.",
        "parameters": [
          {
            "name": "groupSlug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "publicId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/mcp-registry-auth": {
      "get": {
        "tags": [
          "OAuth"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/oauth-protected-resource": {
      "get": {
        "tags": [
          "OAuth"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthProtectedResourceMetadata"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthProtectedResourceMetadata"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthProtectedResourceMetadata"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/oauth-protected-resource/mcp": {
      "get": {
        "tags": [
          "OAuth"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthProtectedResourceMetadata"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthProtectedResourceMetadata"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthProtectedResourceMetadata"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/oauth-authorization-server": {
      "get": {
        "tags": [
          "OAuth"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthAuthServerMetadata"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthAuthServerMetadata"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthAuthServerMetadata"
                }
              }
            }
          }
        }
      }
    },
    "/oauth/register": {
      "post": {
        "tags": [
          "OAuth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.OAuthDynamicClientRegistrationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.OAuthDynamicClientRegistrationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.OAuthDynamicClientRegistrationRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthClientRegistrationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthClientRegistrationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthClientRegistrationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/oauth/request": {
      "get": {
        "tags": [
          "OAuth"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthAuthorizationRequestInfo"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthAuthorizationRequestInfo"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthAuthorizationRequestInfo"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/oauth/authorize/complete": {
      "post": {
        "tags": [
          "OAuth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.OAuthAuthorizeCompleteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.OAuthAuthorizeCompleteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.OAuthAuthorizeCompleteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthCompleteAuthorizationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthCompleteAuthorizationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthCompleteAuthorizationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "OAuth"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthCompleteAuthorizationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthCompleteAuthorizationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthCompleteAuthorizationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/oauth/authorize/deny": {
      "post": {
        "tags": [
          "OAuth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.OAuthAuthorizeDenyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.OAuthAuthorizeDenyRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.OAuthAuthorizeDenyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthDenyAuthorizationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthDenyAuthorizationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthDenyAuthorizationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      },
      "get": {
        "tags": [
          "OAuth"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthDenyAuthorizationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthDenyAuthorizationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthDenyAuthorizationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          { }
        ]
      }
    },
    "/oauth/token": {
      "post": {
        "tags": [
          "OAuth"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthTokenResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthTokenResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthTokenResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/oauth/revoke": {
      "post": {
        "tags": [
          "OAuth"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/oauth/userinfo": {
      "get": {
        "tags": [
          "OAuth"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthUserInfoResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthUserInfoResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.OAuthUserInfoResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/mcp/manifest": {
      "get": {
        "tags": [
          "Screen.Central"
        ],
        "summary": "MCP tool manifest. Fields follow the Model Context Protocol specification at modelcontextprotocol.io.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          }
        }
      }
    },
    "/.well-known/mcp/server-card.json": {
      "get": {
        "tags": [
          "Screen.Central"
        ],
        "summary": "Static MCP server card in Smithery's format, for scanners that cannot follow an SSE initialize.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          }
        }
      }
    },
    "/api/status": {
      "get": {
        "tags": [
          "Screen.Central"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ServerReadinessResponse"
                }
              }
            }
          }
        }
      }
    },
    "/send": {
      "get": {
        "tags": [
          "Send"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "html",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "b64html",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "token",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "duration",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": -1
            }
          },
          {
            "name": "description",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SendSuccessResponse"
                }
              },
              "text/html": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SendSuccessResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/html": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/html": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/html": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Send"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": { }
            },
            "text/json": {
              "schema": { }
            },
            "application/*+json": {
              "schema": { }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SendSuccessResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SendSuccessResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.SendSuccessResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "Content Too Large",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/send/{displayId}": {
      "post": {
        "tags": [
          "Send"
        ],
        "parameters": [
          {
            "name": "displayId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "duration",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": -1
            }
          },
          {
            "name": "token",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "description",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "text/html": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            },
            "text/plain": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            },
            "application/octet-stream": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            },
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RawHtmlUploadResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RawHtmlUploadResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.RawHtmlUploadResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "Content Too Large",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/agent/store/commissions/redeem": {
      "post": {
        "tags": [
          "StoreAgentCommission"
        ],
        "summary": "Exchange a commission code for the key it authorises. Anonymous and\ncode-gated: the code is the bearer of the right to mint.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.StoreAgentCommissionController.RedeemCommissionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.StoreAgentCommissionController.RedeemCommissionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Screen.Central.Controllers.StoreAgentCommissionController.RedeemCommissionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.StoreAgentCommissionRedeemResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.StoreAgentCommissionRedeemResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Controllers.StoreAgentCommissionRedeemResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen.Central.Contracts.ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Microsoft.AspNetCore.Mvc.ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "Screen.Central.Contracts.ActivateSessionResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.AgentCreateOrganizationRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.AgentPairByCodeResponse": {
        "type": "object",
        "properties": {
          "profileId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "linkedHardwareId": {
            "type": "string",
            "nullable": true
          },
          "mode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "example": {
          "profileId": "dpl_lobby_kitchen",
          "name": "Lobby Kueche",
          "linkedHardwareId": "hw_3f7a9b21c4e8",
          "mode": "premium"
        }
      },
      "Screen.Central.Contracts.AgentRemoveMemberResponse": {
        "type": "object",
        "properties": {
          "orgId": {
            "type": "string",
            "nullable": true
          },
          "targetUserId": {
            "type": "string",
            "nullable": true
          },
          "removed": {
            "type": "boolean"
          },
          "displaysTransferred": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.AgentRenameOrganizationRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.AgentSetDisplayGrantRequest": {
        "type": "object",
        "properties": {
          "accessLevel": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.AgentSetDisplayGrantResponse": {
        "type": "object",
        "properties": {
          "displayId": {
            "type": "string",
            "nullable": true
          },
          "targetUserId": {
            "type": "string",
            "nullable": true
          },
          "accessLevel": {
            "type": "string",
            "nullable": true
          },
          "granted": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.AgentUpdateMemberRoleRequest": {
        "type": "object",
        "properties": {
          "role": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.AllocateSlotsResponse": {
        "type": "object",
        "properties": {
          "orgId": {
            "type": "string",
            "nullable": true
          },
          "allocatedToOrg": {
            "type": "integer",
            "format": "int32"
          },
          "freeAllocatableSlots": {
            "type": "integer",
            "format": "int32"
          },
          "totalAllocatableSlots": {
            "type": "integer",
            "format": "int32"
          },
          "personalDisplayLimit": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.ApiKeyItem": {
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string",
            "nullable": true
          },
          "keyPrefix": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "scope": {
            "type": "string",
            "nullable": true
          },
          "permissions": {
            "type": "string",
            "nullable": true
          },
          "allowedSlotSlugs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "allowedDisplayIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "allowedCategories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdByUserId": {
            "type": "string",
            "nullable": true
          },
          "createdByName": {
            "type": "string",
            "nullable": true
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastUsedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "revokedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "revokedByUserId": {
            "type": "string",
            "nullable": true
          },
          "revokedByName": {
            "type": "string",
            "nullable": true
          },
          "isRevoked": {
            "type": "boolean"
          },
          "isValid": {
            "type": "boolean"
          },
          "expiresSoon": {
            "type": "boolean"
          },
          "rotationRecommended": {
            "type": "boolean"
          },
          "rotationRecommendation": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.AssetItem": {
        "type": "object",
        "properties": {
          "assetId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "mimeType": {
            "type": "string",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "sha256": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "uploadedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.AssetQuota": {
        "type": "object",
        "properties": {
          "usedBytes": {
            "type": "integer",
            "format": "int64"
          },
          "limitBytes": {
            "type": "integer",
            "format": "int64"
          },
          "remainingBytes": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "example": {
          "usedBytes": 47185920,
          "limitBytes": 1073741824,
          "remainingBytes": 1026555904
        }
      },
      "Screen.Central.Contracts.AssignLicenseResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "isPremiumAssigned": {
            "type": "boolean"
          },
          "badgeMode": {
            "type": "string",
            "nullable": true
          },
          "freeLicenses": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.BroadcastContentResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "type": "integer",
            "format": "int32"
          },
          "sent": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.BroadcastDisplayRef"
            },
            "nullable": true
          },
          "sentCount": {
            "type": "integer",
            "format": "int32"
          },
          "skipped": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.SkippedDisplayRef"
            },
            "nullable": true
          },
          "skippedCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.BroadcastDisplayRef": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.BulkDeleteAssetsRequest": {
        "type": "object",
        "properties": {
          "assetIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.BulkDeleteAssetsResponse": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "integer",
            "format": "int32"
          },
          "notFound": {
            "type": "integer",
            "format": "int32"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "quota": {
            "$ref": "#/components/schemas/Screen.Central.Contracts.AssetQuota"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.CapabilitiesMetadata": {
        "type": "object",
        "properties": {
          "inheritedFrom": {
            "type": "string",
            "nullable": true
          },
          "liveStatus": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.ClaimDisplayResponse": {
        "type": "object",
        "properties": {
          "profileId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "linkedHardwareId": {
            "type": "string",
            "nullable": true
          },
          "setupUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.ConfigureDisplayResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "allowCamera": {
            "type": "boolean"
          },
          "allowMicrophone": {
            "type": "boolean"
          },
          "allowGeolocation": {
            "type": "boolean"
          },
          "showMouseCursor": {
            "type": "boolean"
          },
          "showBadgeOverlay": {
            "type": "boolean"
          },
          "watermarkPosition": {
            "type": "string",
            "nullable": true
          },
          "changedSettings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "appliedToLiveDisplay": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.CreateApiKeyResponse": {
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string",
            "nullable": true
          },
          "key": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "scope": {
            "type": "string",
            "nullable": true
          },
          "permissions": {
            "type": "string",
            "nullable": true
          },
          "allowedSlotSlugs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "allowedDisplayIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "allowedCategories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "orgId": {
            "type": "string",
            "nullable": true
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "warning": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.CreateDisplayResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "setupUrl": {
            "type": "string",
            "nullable": true
          },
          "managedUrl": {
            "type": "string",
            "nullable": true
          },
          "pairingUrl": {
            "type": "string",
            "nullable": true
          },
          "pairingExpiresAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "approvalUrl": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.CreateOrgDisplayResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "orgId": {
            "type": "string",
            "nullable": true
          },
          "orgName": {
            "type": "string",
            "nullable": true
          },
          "setupUrl": {
            "type": "string",
            "nullable": true
          },
          "pairingUrl": {
            "type": "string",
            "nullable": true
          },
          "pairingExpiresAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.CreateOrganizationResponse": {
        "type": "object",
        "properties": {
          "orgId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "yourRole": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.CreatePreviewLinkRequest": {
        "type": "object",
        "properties": {
          "ttlSeconds": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.CreatePreviewLinkResponse": {
        "type": "object",
        "properties": {
          "previewUrl": {
            "type": "string",
            "nullable": true
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "ttlSeconds": {
            "type": "integer",
            "format": "int32"
          },
          "displayId": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "contentVersionId": {
            "type": "string",
            "nullable": true
          },
          "mode": {
            "type": "string",
            "nullable": true
          },
          "privacyMode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "example": {
          "previewUrl": "https://agentview.de/preview/abc123def456?ttl=300",
          "expiresAt": "2026-05-20T10:05:00Z",
          "ttlSeconds": 300,
          "displayId": "dpl_lobby_kitchen",
          "displayName": "Lobby Kueche",
          "contentVersionId": "cv_7f8a3b2c1d",
          "mode": "premium",
          "privacyMode": "private"
        }
      },
      "Screen.Central.Contracts.CreateSessionResponse": {
        "type": "object",
        "properties": {
          "sessionRequestId": {
            "type": "string",
            "nullable": true
          },
          "requestedScope": {
            "type": "string",
            "nullable": true
          },
          "loginUrl": {
            "type": "string",
            "nullable": true
          },
          "expiresIn": {
            "type": "integer",
            "format": "int32"
          },
          "pollUrl": {
            "type": "string",
            "nullable": true
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.DataSlotItem": {
        "type": "object",
        "properties": {
          "slotId": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "slotType": {
            "type": "string",
            "nullable": true
          },
          "jsonContent": {
            "type": "string",
            "nullable": true
          },
          "sizeBytes": {
            "type": "integer",
            "format": "int32"
          },
          "contentVersion": {
            "type": "integer",
            "format": "int64"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "readUrl": {
            "type": "string",
            "nullable": true
          },
          "publicId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Full data slot item including JSON content.\nReturned by PUT and GET /api/v1/data/{slug}.\nReadUrl is the public anonymous read URL on the content origin.\nSlotType is either \"value\" (JsonContent is served verbatim) or \"aggregate\"\n(JsonContent is an aggregate-definition document resolved on read)."
      },
      "Screen.Central.Contracts.DataSlotListItem": {
        "type": "object",
        "properties": {
          "slotId": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "slotType": {
            "type": "string",
            "nullable": true
          },
          "sizeBytes": {
            "type": "integer",
            "format": "int32"
          },
          "contentVersion": {
            "type": "integer",
            "format": "int64"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "readUrl": {
            "type": "string",
            "nullable": true
          },
          "publicId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Metadata-only list item. JsonContent is intentionally omitted to prevent\nleaking potentially large JSON blobs in list responses.\nReadUrl is the public anonymous read URL on the content origin."
      },
      "Screen.Central.Contracts.DataSlotQuota": {
        "type": "object",
        "properties": {
          "usedBytes": {
            "type": "integer",
            "format": "int64"
          },
          "limitBytes": {
            "type": "integer",
            "format": "int64"
          },
          "remainingBytes": {
            "type": "integer",
            "format": "int64"
          },
          "suppressed": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Storage quota snapshot for the data-slot pool.\nThe pool is shared with UserAssets (see DisplayLicenseService.GetPersonalUsedBytesAsync).\nShape mirrors AssetQuota exactly so clients can treat them interchangeably.\n            \n\n<b>Suppressed flag:</b> when the caller is an API key with a resource\nwhitelist (slot or display), the server returns\n`UsedBytes = LimitBytes = RemainingBytes = 0` and `Suppressed = true`\nto avoid leaking org-wide storage usage to a narrowly-scoped key. Clients\nMUST check Screen.Central.Contracts.DataSlotQuota.Suppressed first — the three byte counts are\nonly meaningful when it is false. Existing clients that ignore the field\nstill see zero values and degrade gracefully instead of showing a\nmisleading \"0 bytes used / 0 limit\" progress bar."
      },
      "Screen.Central.Contracts.DataSlotUsageItem": {
        "type": "object",
        "properties": {
          "profileId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "One display that references the slot in its inline idle-HTML."
      },
      "Screen.Central.Contracts.DataSlotUsageResponse": {
        "type": "object",
        "properties": {
          "displays": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.DataSlotUsageItem"
            },
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "truncated": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "List of displays whose `IdleHtmlContent` contains a\n`{{slot:<slug>}}` placeholder (with optional `.readUrl`,\n`.slug`, etc. suffix) for the addressed slot. Scope is restricted to\ndisplays the caller can already see (personal slot ⇒ caller's personal\ndisplays; group slot ⇒ same group). Displays in other scopes are excluded\neven if they technically embed the slot's public URL, to avoid leaking\nforeign display info via the slot endpoint."
      },
      "Screen.Central.Contracts.DeleteDisplayResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "nullable": true
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.DeleteOrganizationResponse": {
        "type": "object",
        "properties": {
          "orgId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "deleted": {
            "type": "boolean"
          },
          "displaysReleased": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.DenySessionResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.DisplayCapabilities": {
        "type": "object",
        "properties": {
          "resolvedMode": {
            "type": "string",
            "nullable": true
          },
          "effectiveWhitelist": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "supportsEmbeddedContent": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.DisplayConnectivityInfo": {
        "type": "object",
        "properties": {
          "resolvedMode": {
            "type": "string",
            "nullable": true
          },
          "effectiveWhitelist": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "supportsEmbeddedContent": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.DisplayItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "isOnline": {
            "type": "boolean"
          },
          "isDegraded": {
            "type": "boolean"
          },
          "isReachable": {
            "type": "boolean"
          },
          "statusHint": {
            "type": "string",
            "nullable": true
          },
          "locked": {
            "type": "boolean"
          },
          "approvalUrl": {
            "type": "string",
            "nullable": true
          },
          "setupUrl": {
            "type": "string",
            "nullable": true
          },
          "managedUrl": {
            "type": "string",
            "nullable": true
          },
          "pairingUrl": {
            "type": "string",
            "nullable": true
          },
          "pairingExpiresAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastFallbackPollAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "hasDefaultContent": {
            "type": "boolean"
          },
          "orgId": {
            "type": "string",
            "nullable": true
          },
          "resolution": {
            "type": "string",
            "nullable": true
          },
          "hasTouch": {
            "type": "boolean",
            "nullable": true
          },
          "deviceClass": {
            "type": "string",
            "nullable": true
          },
          "deviceFamily": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Display item in list responses (subset of GetDisplayResponse)."
      },
      "Screen.Central.Contracts.DisplaySettings": {
        "type": "object",
        "properties": {
          "allowCamera": {
            "type": "boolean"
          },
          "allowMicrophone": {
            "type": "boolean"
          },
          "allowGeolocation": {
            "type": "boolean"
          },
          "showMouseCursor": {
            "type": "boolean"
          },
          "showBadgeOverlay": {
            "type": "boolean"
          },
          "watermarkPosition": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Error response shape — unified error envelope used across all controllers."
      },
      "Screen.Central.Contracts.GetAccountResponse": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "plan": {
            "type": "string",
            "nullable": true
          },
          "maxDisplays": {
            "type": "integer",
            "format": "int32"
          },
          "currentDisplays": {
            "type": "integer",
            "format": "int32"
          },
          "remainingDisplays": {
            "type": "integer",
            "format": "int32"
          },
          "grantedScope": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.GetBillingUrlResponse": {
        "type": "object",
        "properties": {
          "billingUrl": {
            "type": "string",
            "nullable": true
          },
          "currentPremiumLicenses": {
            "type": "integer",
            "format": "int32"
          },
          "freeLicenses": {
            "type": "integer",
            "format": "int32"
          },
          "plan": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.GetDataSlotResponse": {
        "type": "object",
        "properties": {
          "slot": {
            "$ref": "#/components/schemas/Screen.Central.Contracts.DataSlotItem"
          },
          "quota": {
            "$ref": "#/components/schemas/Screen.Central.Contracts.DataSlotQuota"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.GetDisplayCapabilitiesResponse": {
        "type": "object",
        "properties": {
          "displayId": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "nullable": true
          },
          "capabilities": {
            "$ref": "#/components/schemas/Screen.Central.Contracts.DisplayCapabilities"
          },
          "connectivity": {
            "$ref": "#/components/schemas/Screen.Central.Contracts.DisplayConnectivityInfo"
          },
          "screen": {
            "nullable": true
          },
          "viewport": {
            "nullable": true
          },
          "classification": {
            "nullable": true
          },
          "runtime": {
            "nullable": true
          },
          "metadata": {
            "$ref": "#/components/schemas/Screen.Central.Contracts.CapabilitiesMetadata"
          }
        },
        "additionalProperties": false,
        "example": {
          "displayId": "DPLLOBBY",
          "status": {
            "isOnline": true,
            "isReachable": true,
            "isDegraded": false,
            "isPending": false,
            "isUnlicensed": false,
            "status": "online",
            "hint": null,
            "lastSeen": "2026-05-28T14:58:12Z",
            "lastFallbackPollAt": null,
            "relayDegraded": false,
            "source": "signalr"
          },
          "capabilities": {
            "resolvedMode": "whitelist-only",
            "effectiveWhitelist": [
              "weather.example.com",
              "openapis.org"
            ],
            "supportsEmbeddedContent": true
          },
          "connectivity": {
            "resolvedMode": "whitelist-only",
            "effectiveWhitelist": [
              "weather.example.com",
              "openapis.org"
            ],
            "supportsEmbeddedContent": true
          },
          "screen": {
            "width": 1920,
            "height": 1080,
            "devicePixelRatio": 1,
            "availableWidth": 1920,
            "availableHeight": 1040,
            "colorDepth": 24,
            "pixelDepth": 24,
            "resolution": "1920x1080",
            "source": "window.screen"
          },
          "viewport": {
            "width": 1920,
            "height": 1080,
            "resolution": "1920x1080",
            "source": "visualViewport"
          },
          "classification": {
            "deviceClass": "desktop",
            "family": "chromium-desktop",
            "source": "userAgentData"
          },
          "runtime": {
            "browser": {
              "name": "Chrome",
              "major": "138",
              "version": "138.0.7204.0",
              "source": "uaParser"
            },
            "engine": {
              "name": "Blink",
              "major": "138",
              "version": "138.0.7204.0",
              "source": "uaParser"
            },
            "platform": {
              "name": "Windows",
              "version": "11",
              "family": "windows",
              "deviceClass": "desktop",
              "legacyPlatform": "Win32",
              "model": null,
              "source": "userAgentData"
            },
            "features": {
              "supportsFetch": true,
              "supportsWebSockets": true,
              "supportsCssVariables": true,
              "supportsBackdropFilter": true,
              "supportsWebGl": true,
              "supportsEsModules": true,
              "supportsIframeSrcdoc": true,
              "supportsServerSentEvents": true,
              "supportsLocalStorage": true,
              "canRenderCustomHtml": true,
              "canRunCustomJavaScript": true
            },
            "input": {
              "hasTouch": false,
              "hasHover": true,
              "hasCoarsePointer": false,
              "hasFinePointer": true,
              "maxTouchPoints": 0,
              "source": "mediaQuery"
            },
            "orientation": {
              "type": "landscape-primary",
              "angle": 0,
              "source": "window.screen.orientation"
            },
            "performance": {
              "deviceMemoryGiB": 16,
              "hardwareConcurrency": 12,
              "isSecureContext": true,
              "prefersReducedMotion": false
            },
            "graphics": {
              "supportsWebGl": true,
              "webGlRenderer": "ANGLE (NVIDIA, GeForce RTX 4060)",
              "webGlVendor": "Google Inc."
            },
            "clientHints": {
              "architecture": "x86",
              "bitness": "64",
              "platform": "Windows",
              "platformVersion": "15.0.0",
              "model": null,
              "mobile": false
            },
            "knownLimitations": [ ],
            "recommendedDeliveryMode": "html_or_url",
            "reportedAt": "2026-05-28T13:02:55Z",
            "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.7204.0 Safari/537.36"
          },
          "metadata": {
            "inheritedFrom": "display-self-report",
            "liveStatus": "online"
          }
        }
      },
      "Screen.Central.Contracts.GetDisplayContentResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "isOnline": {
            "type": "boolean"
          },
          "isDegraded": {
            "type": "boolean"
          },
          "isReachable": {
            "type": "boolean"
          },
          "statusHint": {
            "type": "string",
            "nullable": true
          },
          "hasLiveContent": {
            "type": "boolean"
          },
          "currentFile": {
            "type": "string",
            "nullable": true
          },
          "currentVersion": {
            "type": "string",
            "nullable": true
          },
          "currentContentDescription": {
            "type": "string",
            "nullable": true
          },
          "contentUrl": {
            "type": "string",
            "nullable": true
          },
          "hasIdleContent": {
            "type": "boolean"
          },
          "idleFile": {
            "type": "string",
            "nullable": true
          },
          "idleVersion": {
            "type": "string",
            "nullable": true
          },
          "idleContentDescription": {
            "type": "string",
            "nullable": true
          },
          "idleUpdatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastSeen": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastFallbackPollAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.GetDisplayResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "isOnline": {
            "type": "boolean"
          },
          "isDegraded": {
            "type": "boolean"
          },
          "isReachable": {
            "type": "boolean"
          },
          "statusHint": {
            "type": "string",
            "nullable": true
          },
          "locked": {
            "type": "boolean"
          },
          "approvalUrl": {
            "type": "string",
            "nullable": true
          },
          "setupUrl": {
            "type": "string",
            "nullable": true
          },
          "managedUrl": {
            "type": "string",
            "nullable": true
          },
          "pairingUrl": {
            "type": "string",
            "nullable": true
          },
          "pairingExpiresAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "hasDefaultContent": {
            "type": "boolean"
          },
          "lastSeen": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastFallbackPollAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "resolution": {
            "nullable": true
          },
          "screen": {
            "nullable": true
          },
          "viewport": {
            "nullable": true
          },
          "classification": {
            "nullable": true
          },
          "hasTouch": {
            "nullable": true
          },
          "browser": {
            "type": "string",
            "nullable": true
          },
          "engine": {
            "type": "string",
            "nullable": true
          },
          "platform": {
            "type": "string",
            "nullable": true
          },
          "deviceClass": {
            "type": "string",
            "nullable": true
          },
          "deviceFamily": {
            "type": "string",
            "nullable": true
          },
          "screenSource": {
            "type": "string",
            "nullable": true
          },
          "viewportSource": {
            "type": "string",
            "nullable": true
          },
          "touchSource": {
            "type": "string",
            "nullable": true
          },
          "connectivity": {
            "nullable": true
          },
          "runtime": {
            "nullable": true
          },
          "settings": {
            "$ref": "#/components/schemas/Screen.Central.Contracts.DisplaySettings"
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.GetLicenseInfoResponse": {
        "type": "object",
        "properties": {
          "totalPremiumLicenses": {
            "type": "integer",
            "format": "int32"
          },
          "personalDisplays": {
            "type": "integer",
            "format": "int32"
          },
          "personalPremiumDisplays": {
            "type": "integer",
            "format": "int32"
          },
          "allocatableLicenses": {
            "type": "integer",
            "format": "int32"
          },
          "totalAllocatedToOrgs": {
            "type": "integer",
            "format": "int32"
          },
          "freeAllocatableLicenses": {
            "type": "integer",
            "format": "int32"
          },
          "canAllocate": {
            "type": "boolean"
          },
          "orgAllocations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.OrgAllocationItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "example": {
          "totalPremiumLicenses": 5,
          "personalDisplays": 1,
          "personalPremiumDisplays": 1,
          "allocatableLicenses": 4,
          "totalAllocatedToOrgs": 3,
          "freeAllocatableLicenses": 1,
          "canAllocate": true,
          "orgAllocations": [
            {
              "orgId": "org_lobby_team",
              "name": "Lobby Team",
              "type": "organization",
              "allocatedLicenses": 3,
              "usedDisplays": 2,
              "premiumDisplays": 2
            }
          ]
        }
      },
      "Screen.Central.Contracts.GetOrganizationResponse": {
        "type": "object",
        "properties": {
          "orgId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "contactEmail": {
            "type": "string",
            "nullable": true
          },
          "plan": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "yourRole": {
            "type": "string",
            "nullable": true
          },
          "displayCount": {
            "type": "integer",
            "format": "int32"
          },
          "allocatedSlots": {
            "type": "integer",
            "format": "int32"
          },
          "remainingSlots": {
            "type": "integer",
            "format": "int32"
          },
          "memberCount": {
            "type": "integer",
            "format": "int32"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.OrgMemberItem"
            },
            "nullable": true
          },
          "displays": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.OrgDisplayItem"
            },
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "example": {
          "orgId": "org_lobby_team",
          "name": "Lobby Team",
          "slug": "lobby-team",
          "contactEmail": "lobby@example.com",
          "plan": "premium",
          "isActive": true,
          "yourRole": "owner",
          "displayCount": 2,
          "allocatedSlots": 3,
          "remainingSlots": 1,
          "memberCount": 3,
          "members": [
            {
              "userId": "user_owner_001",
              "name": "Anna Mueller",
              "email": "anna@example.com",
              "role": "owner",
              "allocatedDisplays": 2,
              "joinedAt": "2025-09-01T08:00:00Z"
            },
            {
              "userId": "user_editor_002",
              "name": "Bernd Schulz",
              "email": "bernd@example.com",
              "role": "editor",
              "allocatedDisplays": 0,
              "joinedAt": "2025-10-11T12:00:00Z"
            },
            {
              "userId": "user_viewer_003",
              "name": "Clara Becker",
              "email": "clara@example.com",
              "role": "viewer",
              "allocatedDisplays": 0,
              "joinedAt": "2026-01-04T09:30:00Z"
            }
          ],
          "displays": [
            {
              "id": "DPLLOBBY",
              "name": "Lobby Welcome Screen",
              "status": "online",
              "locked": false
            },
            {
              "id": "DPLKIOSK",
              "name": "Kitchen Tablet",
              "status": "degraded",
              "locked": false
            }
          ],
          "createdAt": "2025-09-01T08:00:00Z"
        }
      },
      "Screen.Central.Contracts.InviteMemberResponse": {
        "type": "object",
        "properties": {
          "inviteToken": {
            "type": "string",
            "nullable": true
          },
          "inviteUrl": {
            "type": "string",
            "nullable": true
          },
          "orgId": {
            "type": "string",
            "nullable": true
          },
          "orgName": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "type": "string",
            "nullable": true
          },
          "inviteeEmail": {
            "type": "string",
            "nullable": true
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.ListApiKeysPageResponse": {
        "type": "object",
        "properties": {
          "keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.ApiKeyItem"
            },
            "nullable": true
          },
          "total": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "example": {
          "keys": [
            {
              "keyId": "key_bistro_publisher",
              "keyPrefix": "avk_2f9b",
              "name": "Bistro Publisher",
              "scope": "content_only",
              "permissions": "read_write",
              "allowedSlotSlugs": [
                "menu-of-the-day",
                "events-feed"
              ],
              "allowedDisplayIds": null,
              "allowedCategories": null,
              "capabilities": [
                "slot.read",
                "slot.write"
              ],
              "groupId": null,
              "createdAt": "2026-04-01T09:00:00Z",
              "createdByUserId": "user_owner_001",
              "createdByName": "Anna Mueller",
              "expiresAt": "2027-04-01T09:00:00Z",
              "lastUsedAt": "2026-05-27T18:41:00Z",
              "revokedAt": null,
              "revokedByUserId": null,
              "revokedByName": null,
              "isRevoked": false,
              "isValid": true,
              "expiresSoon": false,
              "rotationRecommended": false,
              "rotationRecommendation": null
            },
            {
              "keyId": "key_lobby_rotate_me",
              "keyPrefix": "avk_8c1d",
              "name": "Lobby Display Manager (old)",
              "scope": "content_only",
              "permissions": "read_write",
              "allowedSlotSlugs": null,
              "allowedDisplayIds": [
                "DPLLOBBY"
              ],
              "allowedCategories": null,
              "capabilities": [
                "display.read",
                "display.send",
                "slot.read"
              ],
              "groupId": "org_lobby_team",
              "createdAt": "2025-09-15T09:00:00Z",
              "createdByUserId": "user_owner_001",
              "createdByName": "Anna Mueller",
              "expiresAt": null,
              "lastUsedAt": "2026-05-28T07:12:00Z",
              "revokedAt": null,
              "revokedByUserId": null,
              "revokedByName": null,
              "isRevoked": false,
              "isValid": true,
              "expiresSoon": false,
              "rotationRecommended": true,
              "rotationRecommendation": "Key is older than 180 days. Rotate to limit blast radius if exposed."
            }
          ],
          "total": 2,
          "offset": 0,
          "limit": 50
        }
      },
      "Screen.Central.Contracts.ListAssetsResponse": {
        "type": "object",
        "properties": {
          "assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.AssetItem"
            },
            "nullable": true
          },
          "total": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "quota": {
            "$ref": "#/components/schemas/Screen.Central.Contracts.AssetQuota"
          }
        },
        "additionalProperties": false,
        "example": {
          "assets": [
            {
              "assetId": "ast_abc123",
              "name": "logo.png",
              "description": "Cafe Sonnenseite logo, transparent PNG",
              "url": "https://content.agentview.de/assets/ast_abc123",
              "mimeType": "image/png",
              "size": 12345,
              "sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
              "groupId": null,
              "uploadedAt": "2026-05-12T09:15:00Z"
            },
            {
              "assetId": "ast_def456",
              "name": "menu-monday.pdf",
              "description": "Tagesmenue Mo, 18.05.",
              "url": "https://content.agentview.de/assets/ast_def456",
              "mimeType": "application/pdf",
              "size": 184320,
              "sha256": "7d865e959b2466918c9863afca942d0fb89d7c9ac0c99bafc3749504ded97730",
              "groupId": null,
              "uploadedAt": "2026-05-18T07:04:00Z"
            }
          ],
          "total": 2,
          "offset": 0,
          "limit": 50,
          "quota": {
            "usedBytes": 47185920,
            "limitBytes": 1073741824,
            "remainingBytes": 1026555904
          }
        }
      },
      "Screen.Central.Contracts.ListDataSlotsResponse": {
        "type": "object",
        "properties": {
          "slots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.DataSlotListItem"
            },
            "nullable": true
          },
          "total": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "quota": {
            "$ref": "#/components/schemas/Screen.Central.Contracts.DataSlotQuota"
          }
        },
        "additionalProperties": false,
        "example": {
          "slots": [
            {
              "slotId": "slot_a1b2c3",
              "slug": "menu",
              "groupId": null,
              "label": "Tagesmenue",
              "slotType": "value",
              "sizeBytes": 482,
              "contentVersion": 14,
              "createdAt": "2026-04-01T12:00:00Z",
              "updatedAt": "2026-05-20T08:30:00Z",
              "readUrl": "https://agentview.de/api/v1/data/menu/slot_pub_xyz789",
              "publicId": "slot_pub_xyz789"
            }
          ],
          "total": 1,
          "offset": 0,
          "limit": 50,
          "quota": {
            "usedBytes": 482,
            "limitBytes": 1073741824,
            "remainingBytes": 1073741342,
            "suppressed": false
          }
        }
      },
      "Screen.Central.Contracts.ListDisplaysResponse": {
        "type": "object",
        "properties": {
          "displays": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.DisplayItem"
            },
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "maxDisplays": {
            "type": "integer",
            "format": "int32"
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "example": {
          "displays": [
            {
              "id": "DPLLOBBY",
              "name": "Lobby Welcome Screen",
              "status": "online",
              "isOnline": true,
              "isDegraded": false,
              "isReachable": true,
              "statusHint": null,
              "locked": false,
              "approvalUrl": null,
              "setupUrl": null,
              "managedUrl": "https://display.agentview.de/m/DPLLOBBY",
              "pairingUrl": null,
              "pairingExpiresAt": null,
              "createdAt": "2025-11-03T14:22:00Z",
              "lastFallbackPollAt": null,
              "hasDefaultContent": true,
              "orgId": "org_lobby_team",
              "resolution": "1920x1080",
              "hasTouch": false,
              "deviceClass": "tv",
              "deviceFamily": "smart-tv"
            },
            {
              "id": "DPLKIOSK",
              "name": "Kitchen Tablet",
              "status": "degraded",
              "isOnline": false,
              "isDegraded": true,
              "isReachable": true,
              "statusHint": "fallback-only",
              "locked": false,
              "approvalUrl": null,
              "setupUrl": null,
              "managedUrl": "https://display.agentview.de/m/DPLKIOSK",
              "pairingUrl": null,
              "pairingExpiresAt": null,
              "createdAt": "2026-02-14T10:00:00Z",
              "lastFallbackPollAt": "2026-05-28T14:58:12Z",
              "hasDefaultContent": true,
              "orgId": "org_lobby_team",
              "resolution": "1280x800",
              "hasTouch": true,
              "deviceClass": "tablet",
              "deviceFamily": "android-tablet"
            }
          ],
          "count": 2,
          "total": 2,
          "offset": 0,
          "maxDisplays": 10,
          "hint": "Use status, isOnline and isDegraded together — a display can be reachable via fallback polling even when SignalR is down."
        }
      },
      "Screen.Central.Contracts.ListOrgDisplaysResponse": {
        "type": "object",
        "properties": {
          "orgId": {
            "type": "string",
            "nullable": true
          },
          "orgName": {
            "type": "string",
            "nullable": true
          },
          "totalDisplays": {
            "type": "integer",
            "format": "int32"
          },
          "onlineDisplays": {
            "type": "integer",
            "format": "int32"
          },
          "displays": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.OrgDisplayStatusItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.ListOrganizationsResponse": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "organizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.OrgListItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "example": {
          "count": 1,
          "organizations": [
            {
              "orgId": "org_lobby_team",
              "groupId": "org_lobby_team",
              "name": "Lobby Team",
              "type": "organization",
              "role": "owner",
              "displayCount": 2,
              "memberCount": 3,
              "allocatedSlots": 3,
              "plan": "premium",
              "isActive": true
            }
          ]
        }
      },
      "Screen.Central.Contracts.MagicLinkResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.OAuthAuthServerMetadata": {
        "type": "object",
        "properties": {
          "issuer": {
            "type": "string",
            "nullable": true
          },
          "authorization_endpoint": {
            "type": "string",
            "nullable": true
          },
          "token_endpoint": {
            "type": "string",
            "nullable": true
          },
          "revocation_endpoint": {
            "type": "string",
            "nullable": true
          },
          "registration_endpoint": {
            "type": "string",
            "nullable": true
          },
          "client_id_metadata_document_supported": {
            "type": "boolean"
          },
          "response_types_supported": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "grant_types_supported": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "token_endpoint_auth_methods_supported": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "token_endpoint_auth_signing_alg_values_supported": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "code_challenge_methods_supported": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "scopes_supported": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "service_documentation": {
            "type": "string",
            "nullable": true
          },
          "authorization_response_iss_parameter_supported": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "RFC 8414 authorization-server metadata."
      },
      "Screen.Central.Contracts.OAuthAuthorizationRequestInfo": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "nullable": true
          },
          "clientId": {
            "type": "string",
            "nullable": true
          },
          "clientName": {
            "type": "string",
            "nullable": true
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "requestedScope": {
            "type": "string",
            "nullable": true
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "resource": {
            "type": "string",
            "nullable": true
          },
          "redirectUri": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "What the consent screen needs to show for the pending authorization request\nnamed by Screen.Central.Contracts.OAuthAuthorizationRequestInfo.RequestId. The request is consumed on completion and\ncannot be replayed, and Screen.Central.Contracts.OAuthAuthorizationRequestInfo.ExpiresAt is short."
      },
      "Screen.Central.Contracts.OAuthClientRegistrationResponse": {
        "type": "object",
        "properties": {
          "client_id": {
            "type": "string",
            "nullable": true
          },
          "client_id_issued_at": {
            "type": "integer",
            "format": "int64"
          },
          "client_name": {
            "type": "string",
            "nullable": true
          },
          "redirect_uris": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "grant_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "response_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "token_endpoint_auth_method": {
            "type": "string",
            "nullable": true
          },
          "scope": {
            "type": "string",
            "nullable": true
          },
          "application_type": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "RFC 7591 dynamic client registration. No client secret is issued: clients\nare public and PKCE-protected, which is why there is no\n`client_secret` field to look for."
      },
      "Screen.Central.Contracts.OAuthCompleteAuthorizationResponse": {
        "type": "object",
        "properties": {
          "redirectUrl": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "For a caller that asked for JSON rather than a browser redirect.\nScreen.Central.Contracts.OAuthCompleteAuthorizationResponse.RedirectUrl is where the browser would have been sent, so the\nclient can follow it itself."
      },
      "Screen.Central.Contracts.OAuthDenyAuthorizationResponse": {
        "type": "object",
        "properties": {
          "redirectUrl": {
            "type": "string",
            "nullable": true
          },
          "error": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.OAuthProtectedResourceMetadata": {
        "type": "object",
        "properties": {
          "resource": {
            "type": "string",
            "nullable": true
          },
          "authorization_servers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "bearer_methods_supported": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "scopes_supported": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "resource_documentation": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "RFC 9728 protected-resource metadata. Screen.Central.Contracts.OAuthProtectedResourceMetadata.AuthorizationServers is\nwhere a client goes to get a token for Screen.Central.Contracts.OAuthProtectedResourceMetadata.Resource."
      },
      "Screen.Central.Contracts.OAuthTokenResponse": {
        "type": "object",
        "properties": {
          "access_token": {
            "type": "string",
            "nullable": true
          },
          "token_type": {
            "type": "string",
            "nullable": true
          },
          "expires_in": {
            "type": "integer",
            "format": "int32"
          },
          "scope": {
            "type": "string",
            "nullable": true
          },
          "refresh_token": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "RFC 6749 token response.\n            \n\nScreen.Central.Contracts.OAuthTokenResponse.RefreshToken is omitted from the body entirely when the\nrequest did not ask for and receive `offline_access`, rather than sent\nas null. RFC 6749 makes it OPTIONAL, and clients that test for the key\nrather than the value read a null as \"a refresh token I can use\". The\nJsonIgnore is what keeps that promise; without it the field appears on every\nexchange."
      },
      "Screen.Central.Contracts.OAuthUserInfoResponse": {
        "type": "object",
        "properties": {
          "sub": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "preferred_username": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "email_verified": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.OrgAllocationItem": {
        "type": "object",
        "properties": {
          "orgId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "allocatedLicenses": {
            "type": "integer",
            "format": "int32"
          },
          "usedDisplays": {
            "type": "integer",
            "format": "int32"
          },
          "premiumDisplays": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.OrgDisplayItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "locked": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.OrgDisplayStatusItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "ownerUserId": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "isOnline": {
            "type": "boolean"
          },
          "isDegraded": {
            "type": "boolean"
          },
          "isReachable": {
            "type": "boolean"
          },
          "statusHint": {
            "type": "string",
            "nullable": true
          },
          "isPremiumAssigned": {
            "type": "boolean"
          },
          "isLocked": {
            "type": "boolean"
          },
          "lastSeenAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.OrgListItem": {
        "type": "object",
        "properties": {
          "orgId": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "type": "string",
            "nullable": true
          },
          "displayCount": {
            "type": "integer",
            "format": "int32"
          },
          "memberCount": {
            "type": "integer",
            "format": "int32"
          },
          "allocatedSlots": {
            "type": "integer",
            "format": "int32"
          },
          "plan": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.OrgMemberItem": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "type": "string",
            "nullable": true
          },
          "allocatedDisplays": {
            "type": "integer",
            "format": "int32"
          },
          "joinedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.PlanItem": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "string",
            "nullable": true
          },
          "monthlyPrice": {
            "type": "integer",
            "format": "int32"
          },
          "displays": {
            "type": "integer",
            "format": "int32"
          },
          "features": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.PricingResponse": {
        "type": "object",
        "properties": {
          "plans": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.PlanItem"
            },
            "nullable": true
          },
          "extraDisplayPrice": {
            "type": "string",
            "nullable": true
          },
          "extraDisplayMonthlyPrice": {
            "type": "integer",
            "format": "int32"
          },
          "contactEmail": {
            "type": "string",
            "nullable": true
          },
          "pricingUrl": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.PublicApiCategoriesResponse": {
        "type": "object",
        "properties": {
          "totalApis": {
            "type": "integer",
            "format": "int32"
          },
          "totalCategories": {
            "type": "integer",
            "format": "int32"
          },
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.PublicApiCategoryItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.PublicApiCategoryItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "apiCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.PublicApiItem": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "cors": {
            "type": "string",
            "nullable": true
          },
          "link": {
            "type": "string",
            "nullable": true
          },
          "htmlEmbeddingHint": {
            "type": "string",
            "nullable": true
          },
          "corsOk": {
            "type": "boolean"
          },
          "corsAllowOrigin": {
            "type": "string",
            "nullable": true
          },
          "reachable": {
            "type": "boolean"
          },
          "httpStatus": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "contentType": {
            "type": "string",
            "nullable": true
          },
          "responseMs": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "probedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "redirectedTo": {
            "type": "string",
            "nullable": true
          },
          "error": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Single public-API catalog entry. Static fields come from the embedded\ncatalog JSON; `CorsOk` through `Error` are populated from the\nnightly probe (see `PublicApiProbeJob`). When the probe row is\nmissing — typical for the first day after a deploy or for newly-added\nentries — `CorsOk` falls back to the upstream `Cors` string\n(\"yes\"); `Reachable` is reported as `true`; the remaining\nprobe fields are `null`.",
        "example": {
          "slug": "open-meteo",
          "name": "Open-Meteo",
          "description": "Free weather and forecast API with no auth",
          "category": "weather",
          "cors": "yes",
          "link": "https://open-meteo.com/",
          "htmlEmbeddingHint": "fetch('https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&current_weather=true').then(r => r.json()).then(data => { /* use data */ })",
          "corsOk": true,
          "corsAllowOrigin": "*",
          "reachable": true,
          "httpStatus": 200,
          "contentType": "application/json; charset=utf-8",
          "responseMs": 124,
          "probedAt": "2026-05-20T02:14:08Z",
          "redirectedTo": null,
          "error": null
        }
      },
      "Screen.Central.Contracts.PutDataSlotResponse": {
        "type": "object",
        "properties": {
          "slot": {
            "$ref": "#/components/schemas/Screen.Central.Contracts.DataSlotItem"
          },
          "quota": {
            "$ref": "#/components/schemas/Screen.Central.Contracts.DataSlotQuota"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.RawHtmlUploadResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "versionId": {
            "type": "string",
            "nullable": true
          },
          "logicalQuota": {
            "type": "integer",
            "format": "int64"
          },
          "uploadLimit": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.ReadDisplayHtmlResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "contentType": {
            "type": "string",
            "nullable": true
          },
          "hasContent": {
            "type": "boolean"
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "htmlLength": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "source": {
            "type": "string",
            "nullable": true
          },
          "isUrlContent": {
            "type": "boolean",
            "nullable": true
          },
          "originalUrl": {
            "type": "string",
            "nullable": true
          },
          "contentSentAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "contentInfo": {
            "type": "string",
            "nullable": true
          },
          "hasIdleContent": {
            "type": "boolean",
            "nullable": true
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.RemoveDisplayFromOrgResponse": {
        "type": "object",
        "properties": {
          "displayId": {
            "type": "string",
            "nullable": true
          },
          "previousOrgId": {
            "type": "string",
            "nullable": true
          },
          "removed": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.RemoveDisplayGrantResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "profileId": {
            "type": "string",
            "nullable": true
          },
          "targetUserId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.RenameOrganizationResponse": {
        "type": "object",
        "properties": {
          "orgId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.RevokeApiKeyResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "nullable": true
          },
          "keyId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.RevokeSecretResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "secretType": {
            "type": "string",
            "nullable": true
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.RotateApprovalSecretResponse": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true
          },
          "approvalUrl": {
            "type": "string",
            "nullable": true
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.RotateSecretResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "secretType": {
            "type": "string",
            "nullable": true
          },
          "secretIssued": {
            "type": "boolean"
          },
          "managedUrl": {
            "type": "string",
            "nullable": true
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.SearchPublicApisResponse": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "corsOnly": {
            "type": "boolean"
          },
          "totalCatalogApis": {
            "type": "integer",
            "format": "int32"
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.PublicApiItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "example": {
          "query": "weather",
          "category": "weather",
          "corsOnly": true,
          "totalCatalogApis": 603,
          "count": 2,
          "results": [
            {
              "slug": "open-meteo",
              "name": "Open-Meteo",
              "description": "Free weather and forecast API with no auth",
              "category": "weather",
              "cors": "yes",
              "link": "https://open-meteo.com/",
              "htmlEmbeddingHint": "fetch('https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&current_weather=true').then(r => r.json()).then(data => { /* use data */ })",
              "corsOk": true,
              "corsAllowOrigin": "*",
              "reachable": true,
              "httpStatus": 200,
              "contentType": "application/json; charset=utf-8",
              "responseMs": 124,
              "probedAt": "2026-05-20T02:14:08Z",
              "redirectedTo": null,
              "error": null
            },
            {
              "slug": "7timer",
              "name": "7Timer!",
              "description": "Weather forecast and astronomy data",
              "category": "weather",
              "cors": "yes",
              "link": "https://www.7timer.info/doc.php",
              "htmlEmbeddingHint": "fetch('https://www.7timer.info/bin/api.pl?lon=13.41&lat=52.52&product=civillight&output=json').then(r => r.json()).then(data => { /* use data */ })",
              "corsOk": true,
              "corsAllowOrigin": null,
              "reachable": true,
              "httpStatus": null,
              "contentType": null,
              "responseMs": null,
              "probedAt": null,
              "redirectedTo": null,
              "error": null
            }
          ]
        }
      },
      "Screen.Central.Contracts.SendContentResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "displayId": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "logicalQuota": {
            "type": "integer",
            "format": "int64"
          },
          "uploadLimit": {
            "type": "integer",
            "format": "int64"
          },
          "duration": {
            "type": "integer",
            "format": "int32"
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "example": {
          "success": true,
          "displayId": "dpl_lobby_kitchen",
          "displayName": "Lobby Kueche",
          "fileName": "inline.html",
          "size": 2048,
          "logicalQuota": 52428800,
          "uploadLimit": 52428800,
          "duration": -1,
          "hint": "Content is live. Subscribe to /api/v1/agent/events for delivery confirmation."
        }
      },
      "Screen.Central.Contracts.SendCostBreakdown": {
        "type": "object",
        "properties": {
          "free": {
            "type": "integer",
            "format": "int64"
          },
          "paid": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.SendSuccessResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "displayId": {
            "type": "string",
            "nullable": true
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "versionId": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "type": "integer",
            "format": "int32"
          },
          "costBreakdown": {
            "$ref": "#/components/schemas/Screen.Central.Contracts.SendCostBreakdown"
          },
          "payer": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.SendUrlResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "displayId": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.ServerReadinessResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "server": {
            "type": "string",
            "nullable": true
          },
          "version": {
            "type": "string",
            "nullable": true
          },
          "informationalVersion": {
            "type": "string",
            "nullable": true
          },
          "serverTimeUtc": {
            "type": "string",
            "nullable": true
          },
          "startedAtUtc": {
            "type": "string",
            "nullable": true
          },
          "uptimeSeconds": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Liveness plus build identity. Screen.Central.Contracts.ServerReadinessResponse.Status is \"ready\" whenever the\nprocess answers at all, so it is a liveness signal and not a health check:\nit says the server is up, not that its dependencies are."
      },
      "Screen.Central.Contracts.SessionInfoResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "agentIdentifier": {
            "type": "string",
            "nullable": true
          },
          "requestedScope": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.SessionStatusResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "expiresIn": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "requestedScope": {
            "type": "string",
            "nullable": true
          },
          "scope": {
            "type": "string",
            "nullable": true
          },
          "token": {
            "type": "string",
            "nullable": true
          },
          "tokenExpiresAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "user": {
            "$ref": "#/components/schemas/Screen.Central.Contracts.SessionUserInfo"
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "example": {
          "status": "authorized",
          "message": "Session approved. Use the token in the Authorization header.",
          "expiresIn": 7200,
          "requestedScope": "admin",
          "scope": "admin",
          "token": "eyJhbGciOiJIUzI1NiI...SAMPLE_TOKEN_SAMPLE...",
          "tokenExpiresAt": "2026-05-20T12:00:00Z",
          "user": {
            "userId": "usr_demo_rafael",
            "name": "Rafael",
            "email": "demo@agentview.de",
            "maxDisplays": 5,
            "currentDisplays": 2
          },
          "hint": "Token lifetime is 2 hours. Re-request a session before TokenExpiresAt."
        }
      },
      "Screen.Central.Contracts.SessionUserInfo": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "maxDisplays": {
            "type": "integer",
            "format": "int32"
          },
          "currentDisplays": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.SetDefaultContentResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "idleFile": {
            "type": "string",
            "nullable": true
          },
          "idleVersion": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.SetEmbeddableOriginsRequest": {
        "type": "object",
        "properties": {
          "origins": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.SetEmbeddableOriginsResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "embeddableOrigins": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "changed": {
            "type": "boolean"
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.SetOrgConnectivityResponse": {
        "type": "object",
        "properties": {
          "orgId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "defaultConnectivityMode": {
            "type": "string",
            "nullable": true
          },
          "globalWhitelist": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "changedSettings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.SetPrivacyModeRequest": {
        "type": "object",
        "properties": {
          "privacyMode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.SetPrivacyModeResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "privacyMode": {
            "type": "string",
            "nullable": true
          },
          "shareLinkMaxTtlSeconds": {
            "type": "integer",
            "format": "int32"
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.SkippedDisplayRef": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "reason": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.SuccessMessageResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Simple success acknowledgement with a message."
      },
      "Screen.Central.Contracts.TestSendContentResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "simulated": {
            "type": "boolean"
          },
          "displayId": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "hint": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.UpdateAssetRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.UpdateDisplayResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.UpdateMemberRoleResponse": {
        "type": "object",
        "properties": {
          "orgId": {
            "type": "string",
            "nullable": true
          },
          "targetUserId": {
            "type": "string",
            "nullable": true
          },
          "previousRole": {
            "type": "string",
            "nullable": true
          },
          "newRole": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Contracts.UploadAssetsResponse": {
        "type": "object",
        "properties": {
          "assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Contracts.AssetItem"
            },
            "nullable": true
          },
          "quota": {
            "$ref": "#/components/schemas/Screen.Central.Contracts.AssetQuota"
          }
        },
        "additionalProperties": false,
        "example": {
          "assets": [
            {
              "assetId": "ast_abc123",
              "name": "logo.png",
              "description": "Cafe Sonnenseite logo",
              "url": "https://content.agentview.de/assets/ast_abc123",
              "mimeType": "image/png",
              "size": 12345,
              "sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
              "groupId": null,
              "uploadedAt": "2026-05-20T10:00:00Z"
            }
          ],
          "quota": {
            "usedBytes": 47198265,
            "limitBytes": 1073741824,
            "remainingBytes": 1026543559
          }
        }
      },
      "Screen.Central.Controllers.AgentController.AgentMagicLinkRequest": {
        "required": [
          "email",
          "sessionId"
        ],
        "type": "object",
        "properties": {
          "email": {
            "maxLength": 254,
            "minLength": 0,
            "type": "string",
            "format": "email"
          },
          "sessionId": {
            "maxLength": 64,
            "minLength": 0,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.AgentController.CreateApiKeyRequest": {
        "required": [
          "name",
          "scope"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string"
          },
          "groupId": {
            "maxLength": 64,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "scope": {
            "maxLength": 64,
            "minLength": 0,
            "type": "string"
          },
          "expiresInDays": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "permissions": {
            "type": "string",
            "description": "Granular permission: 'read', 'write', or 'read_write' (default).\nApplied orthogonally to Screen.Central.Controllers.AgentController.CreateApiKeyRequest.Scope.",
            "nullable": true
          },
          "allowedSlotSlugs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional list of data-slot slugs the key is allowed to touch.\nEmpty / null means \"no slot restriction\".",
            "nullable": true
          },
          "allowedDisplayIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional list of display profile IDs the key is allowed to touch.\nEmpty / null means \"no display restriction\".",
            "nullable": true
          },
          "allowedCategories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional list of category patterns (slug, `foo/*`, or `foo/**`)\nthat dynamically expand the display whitelist: a request to a\ndisplay passes when EITHER its profile ID is in\nScreen.Central.Controllers.AgentController.CreateApiKeyRequest.AllowedDisplayIds OR it carries a category matching any\npattern here. Empty / null means \"no category-based grant\".\nResolved at request time by\nM:Screen.Central.Controllers.ScreenControllerBase.EnforceApiKeyDisplayScopeAsync(System.String,System.Boolean,Screen.Shared.Data.ScreenDbContext,System.Threading.CancellationToken).",
            "nullable": true
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional list of fine-grained capability identifiers. Valid values\nare the `Cap*` constants on\nScreen.Central.Infrastructure.ApiKeyScopeEvaluator:\n`slot.read`, `slot.write`, `display.read`,\n`display.send`, `display.manage`. Null/empty means \"no\ncapability restriction\". Capabilities are validated against\nScreen.Central.Controllers.AgentController.CreateApiKeyRequest.Permissions for coherence (e.g. a `read` key\ncannot carry a `slot.write` capability).",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.AgentInviteMemberRequest": {
        "required": [
          "role"
        ],
        "type": "object",
        "properties": {
          "role": {
            "maxLength": 64,
            "minLength": 0,
            "type": "string"
          },
          "email": {
            "maxLength": 254,
            "minLength": 0,
            "type": "string",
            "format": "email",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.AgentPairByCodeRequest": {
        "required": [
          "code"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string"
          },
          "profileName": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "targetDisplayId": {
            "maxLength": 64,
            "minLength": 0,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.AgentSessionActivateRequest": {
        "type": "object",
        "properties": {
          "sessionRequestId": {
            "type": "string",
            "nullable": true
          },
          "grantedScope": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.AgentSessionDenyRequest": {
        "type": "object",
        "properties": {
          "sessionRequestId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.AgentSessionRequest": {
        "type": "object",
        "properties": {
          "agentIdentifier": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "scope": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "requestedScope": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.AgentStoreArtifactDto": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "kind": {
            "type": "string",
            "nullable": true
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "contentType": {
            "type": "string",
            "nullable": true
          },
          "sizeBytes": {
            "type": "integer",
            "format": "int32"
          },
          "labelDe": {
            "type": "string",
            "nullable": true
          },
          "labelEn": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.AgentStoreArtifactRequest": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "description": "One of prompt, skill, mcp-config, example-code. Defaults to prompt.",
            "nullable": true
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "contentType": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "labelDe": {
            "type": "string",
            "nullable": true
          },
          "labelEn": {
            "type": "string",
            "nullable": true
          },
          "descriptionDe": {
            "type": "string",
            "nullable": true
          },
          "descriptionEn": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.AgentStoreBundleResponse": {
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string",
            "description": "Pass this to the commit route.",
            "nullable": true
          },
          "expiresAt": {
            "type": "string",
            "description": "When the staged bundle is swept, with nothing committed.",
            "format": "date-time"
          },
          "isValid": {
            "type": "boolean",
            "description": "The bundle validator found no errors."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Bundle-level blocking findings.",
            "nullable": true
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Bundle-level non-blocking findings.",
            "nullable": true
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreBundleTemplateDto"
            },
            "description": "What the bundle would do, per template.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Preview of a staged bundle. Nothing has been written when this is returned."
      },
      "Screen.Central.Controllers.AgentStoreBundleTemplateDto": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "The template the bundle carries.",
            "nullable": true
          },
          "operation": {
            "type": "string",
            "description": "`create` or `update`, decided against the database.",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Findings for this template alone.",
            "nullable": true
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Non-blocking findings for this template.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.AgentStoreCheckResponse": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string",
            "description": "The template that was checked.",
            "nullable": true
          },
          "isValid": {
            "type": "boolean",
            "description": "True when the validator found no errors."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Blocking findings. Publication is impossible while any remain.",
            "nullable": true
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Non-blocking findings, worth fixing while the agent is here.",
            "nullable": true
          },
          "htmlChecked": {
            "type": "boolean",
            "description": "Always false for now, and said out loud: this room cannot read a version's HTML\nfile, so the markup-shaped rules did not run. An agent must not read\n`isValid: true` as \"the markup passed\"."
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Which locales exist. Both are expected; one is a finding.",
            "nullable": true
          },
          "artifactKinds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Which artifact kinds are present, so the agent sees what it added.",
            "nullable": true
          },
          "latestVersionNumber": {
            "type": "integer",
            "description": "Highest version number, or null when none exists yet.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "What the agent learns when it measures its own work before handing in."
      },
      "Screen.Central.Controllers.AgentStoreLocaleDto": {
        "type": "object",
        "properties": {
          "language": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "shortDescription": {
            "type": "string",
            "nullable": true
          },
          "seoTitle": {
            "type": "string",
            "nullable": true
          },
          "metaDescription": {
            "type": "string",
            "nullable": true
          },
          "h1": {
            "type": "string",
            "nullable": true
          },
          "introMarkdown": {
            "type": "string",
            "nullable": true
          },
          "useCasesMarkdown": {
            "type": "string",
            "nullable": true
          },
          "audienceMarkdown": {
            "type": "string",
            "nullable": true
          },
          "setupMarkdown": {
            "type": "string",
            "nullable": true
          },
          "ctaLabel": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.AgentStoreLocaleRequest": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "shortDescription": {
            "type": "string",
            "nullable": true
          },
          "seoTitle": {
            "type": "string",
            "nullable": true
          },
          "metaDescription": {
            "type": "string",
            "nullable": true
          },
          "h1": {
            "type": "string",
            "nullable": true
          },
          "introMarkdown": {
            "type": "string",
            "nullable": true
          },
          "useCasesMarkdown": {
            "type": "string",
            "nullable": true
          },
          "audienceMarkdown": {
            "type": "string",
            "nullable": true
          },
          "setupMarkdown": {
            "type": "string",
            "nullable": true
          },
          "ctaLabel": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Every field is optional: null keeps the stored value, a string replaces it, and\nan empty string clears it. A caller fixing one sentence sends one field."
      },
      "Screen.Central.Controllers.AgentStoreSlotDto": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "slotType": {
            "type": "string",
            "nullable": true
          },
          "placeholderName": {
            "type": "string",
            "nullable": true
          },
          "required": {
            "type": "boolean"
          },
          "defaultJson": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.AgentStoreTemplateResponse": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "categoryId": {
            "type": "string",
            "nullable": true
          },
          "placementKey": {
            "type": "string",
            "nullable": true
          },
          "suiteId": {
            "type": "string",
            "nullable": true
          },
          "locales": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreLocaleDto"
            },
            "nullable": true
          },
          "slots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreSlotDto"
            },
            "nullable": true
          },
          "artifacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Controllers.AgentStoreArtifactDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.AllocateSlotsRequest": {
        "type": "object",
        "properties": {
          "slots": {
            "maximum": 10000,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.BroadcastContentRequest": {
        "type": "object",
        "properties": {
          "displayIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "all": {
            "type": "boolean"
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "base64Html": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "contentDescription": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "duration": {
            "maximum": 86400,
            "minimum": 0,
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.ClaimDisplayRequest": {
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.ConfigureDisplayRequest": {
        "type": "object",
        "properties": {
          "allowCamera": {
            "type": "boolean",
            "nullable": true
          },
          "allowMicrophone": {
            "type": "boolean",
            "nullable": true
          },
          "allowGeolocation": {
            "type": "boolean",
            "nullable": true
          },
          "showMouseCursor": {
            "type": "boolean",
            "nullable": true
          },
          "showBadgeOverlay": {
            "type": "boolean",
            "nullable": true
          },
          "watermarkPosition": {
            "maxLength": 64,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "connectivityMode": {
            "maxLength": 64,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "whitelist": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "strictWhitelist": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.CreateDisplayRequest": {
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.OAuthAuthorizeCompleteRequest": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.OAuthAuthorizeDenyRequest": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.OAuthDynamicClientRegistrationRequest": {
        "type": "object",
        "properties": {
          "redirectUris": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "clientName": {
            "type": "string",
            "nullable": true
          },
          "grantTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "responseTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "tokenEndpointAuthMethod": {
            "type": "string",
            "nullable": true
          },
          "scope": {
            "type": "string",
            "nullable": true
          },
          "applicationType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "Screen.Central.Controllers.SendContentRequest": {
        "type": "object",
        "properties": {
          "html": {
            "type": "string",
            "nullable": true
          },
          "base64Html": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "contentDescription": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "duration": {
            "maximum": 86400,
            "minimum": 0,
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.SendUrlRequest": {
        "type": "object",
        "properties": {
          "url": {
            "maxLength": 2048,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "contentDescription": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "duration": {
            "maximum": 86400,
            "minimum": 0,
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.SetIdleContentRequest": {
        "type": "object",
        "properties": {
          "html": {
            "type": "string",
            "nullable": true
          },
          "contentDescription": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.SetOrgConnectivityRequest": {
        "type": "object",
        "properties": {
          "defaultConnectivityMode": {
            "maxLength": 64,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "globalWhitelist": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.StoreAgentCommissionController.RedeemCommissionRequest": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Controllers.StoreAgentCommissionRedeemResponse": {
        "type": "object",
        "properties": {
          "apiKey": {
            "type": "string",
            "description": "The raw key. Store it in memory, not on disk.",
            "nullable": true
          },
          "commissionId": {
            "type": "string",
            "description": "The job this key belongs to.",
            "nullable": true
          },
          "templateId": {
            "type": "string",
            "description": "The template it may act on, or null for create-only.",
            "nullable": true
          },
          "expiresAt": {
            "type": "string",
            "description": "When the key stops working, with no action needed.",
            "format": "date-time"
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Exactly what it may do, so the agent need not guess.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Screen.Central.Controllers.StoreAgentCommissionRedeemResponse.ApiKey is shown once, here, and is not recoverable afterwards: the\n            code is spent, so an agent that loses this value needs a new commission rather\n            than a retry."
      },
      "Screen.Central.Controllers.UpdateDisplayRequest": {
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Services.Store.Import.BundleValidationReport": {
        "type": "object",
        "properties": {
          "isValid": {
            "type": "boolean"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Services.Store.Import.CommittedTemplateDto": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "newVersionId": {
            "type": "string",
            "nullable": true
          },
          "newVersionNumber": {
            "type": "integer",
            "format": "int32"
          },
          "assetsUploaded": {
            "type": "integer",
            "format": "int32"
          },
          "validation": {
            "$ref": "#/components/schemas/Screen.Central.Services.Store.Import.BundleValidationReport"
          }
        },
        "additionalProperties": false
      },
      "Screen.Central.Services.Store.Import.ImportCommitResult": {
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string",
            "nullable": true
          },
          "suiteId": {
            "type": "string",
            "nullable": true
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Screen.Central.Services.Store.Import.CommittedTemplateDto"
            },
            "nullable": true
          },
          "createdCategorySlugs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "updatedCategorySlugs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "Bearer token returned by the agent session flow.",
        "scheme": "Bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "tags": [
    {
      "name": "Agent"
    },
    {
      "name": "AgentDisplay"
    },
    {
      "name": "AgentDisplayConfig"
    },
    {
      "name": "AgentDisplayContent"
    },
    {
      "name": "AgentDisplayHardware"
    },
    {
      "name": "AgentDisplayState"
    },
    {
      "name": "AgentOrganization"
    },
    {
      "name": "AgentSession"
    },
    {
      "name": "AgentStore"
    },
    {
      "name": "Asset"
    },
    {
      "name": "DataSlot"
    },
    {
      "name": "DataSlotRead"
    },
    {
      "name": "OAuth"
    },
    {
      "name": "Screen.Central"
    },
    {
      "name": "Send"
    },
    {
      "name": "StoreAgentCommission"
    }
  ]
}