{
  "openapi": "3.0.1",
  "info": {
    "title": "virtual-printer.online API",
    "description": "Virtual printer management API. Printing happens over raw TCP to each printer's listener (Settings.TcpListenPort / Settings.PublicHost), not over HTTP.",
    "version": "v1"
  },
  "paths": {
    "/api/Auth/login": {
      "post": {
        "tags": [
          "Auth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Auth.Requests.LoginRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Auth.Requests.LoginRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Auth.Requests.LoginRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Auth.Responses.LoginResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Auth.Responses.LoginResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Auth.Responses.LoginResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/Auth/logout": {
      "post": {
        "tags": [
          "Auth"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Auth/session-cookie": {
      "post": {
        "tags": [
          "Auth"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Media/{mediaId}": {
      "get": {
        "tags": [
          "Media"
        ],
        "parameters": [
          {
            "name": "mediaId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Printers": {
      "post": {
        "tags": [
          "Printers"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.CreatePrinterRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.CreatePrinterRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.CreatePrinterRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Printers"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/Printers/{id}/nv-images": {
      "get": {
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterNvImageResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterNvImageResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterNvImageResponseDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/Printers/{id}/nv-images/{slot}": {
      "put": {
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "slot",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "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/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterNvImageResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterNvImageResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterNvImageResponseDto"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "slot",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Printers/sidebar": {
      "get": {
        "tags": [
          "Printers"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterSidebarSnapshotDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterSidebarSnapshotDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterSidebarSnapshotDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/Printers/sidebar/stream": {
      "get": {
        "tags": [
          "Printers"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Printers/{id}/runtime/stream": {
      "get": {
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Printers/{id}/documents/canvas/stream": {
      "get": {
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Printers/{id}/documents/canvas": {
      "get": {
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "BeforeId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Documents.Responses.Canvas.CanvasDocumentListResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Documents.Responses.Canvas.CanvasDocumentListResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Documents.Responses.Canvas.CanvasDocumentListResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/Printers/{id}/documents": {
      "delete": {
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Printers/{id}/documents/import": {
      "post": {
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.ImportDocumentRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.ImportDocumentRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.ImportDocumentRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Printers/{id}/documents/last-viewed": {
      "post": {
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Documents.Requests.SetLastViewedDocumentRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Documents.Requests.SetLastViewedDocumentRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Documents.Requests.SetLastViewedDocumentRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Printers/{id}": {
      "get": {
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.UpdatePrinterRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.UpdatePrinterRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.UpdatePrinterRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Printers/{id}/operational-flags": {
      "patch": {
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.UpdatePrinterOperationalFlagsRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.UpdatePrinterOperationalFlagsRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.UpdatePrinterOperationalFlagsRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterOperationalFlagsDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterOperationalFlagsDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterOperationalFlagsDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/Printers/{id}/drawers": {
      "patch": {
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.UpdatePrinterDrawerStateRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.UpdatePrinterDrawerStateRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.UpdatePrinterDrawerStateRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterRuntimeStatusDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterRuntimeStatusDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterRuntimeStatusDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/Printers/{id}/pin": {
      "post": {
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.PinPrinterRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.PinPrinterRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.PinPrinterRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/Workspaces": {
      "post": {
        "tags": [
          "Workspaces"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Requests.CreateWorkspaceRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Requests.CreateWorkspaceRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Requests.CreateWorkspaceRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.WorkspaceDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.WorkspaceDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.WorkspaceDto"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Workspaces"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.WorkspaceDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.WorkspaceDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.WorkspaceDto"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Workspaces"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Requests.UpdateWorkspaceRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Requests.UpdateWorkspaceRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Requests.UpdateWorkspaceRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.WorkspaceDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.WorkspaceDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.WorkspaceDto"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Workspaces"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Workspaces/summary": {
      "get": {
        "tags": [
          "Workspaces"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.WorkspaceSummaryDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.WorkspaceSummaryDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.WorkspaceSummaryDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/Workspaces/admin-statistics": {
      "get": {
        "tags": [
          "Workspaces"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.AdminWorkspaceStatisticsDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.AdminWorkspaceStatisticsDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.AdminWorkspaceStatisticsDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/Workspaces/greeting": {
      "get": {
        "tags": [
          "Workspaces"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.GreetingResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.GreetingResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.GreetingResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/Workspaces/retention/cleanup-summary": {
      "get": {
        "tags": [
          "Workspaces"
        ],
        "parameters": [
          {
            "name": "retentionDaysOverride",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.DocumentRetentionCleanupSummaryDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.DocumentRetentionCleanupSummaryDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.DocumentRetentionCleanupSummaryDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/Workspaces/retention/cleanup": {
      "post": {
        "tags": [
          "Workspaces"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Requests.RunDocumentRetentionCleanupRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Requests.RunDocumentRetentionCleanupRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Requests.RunDocumentRetentionCleanupRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.DocumentRetentionCleanupResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.DocumentRetentionCleanupResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.DocumentRetentionCleanupResultDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/Workspaces/connections": {
      "get": {
        "tags": [
          "Workspaces"
        ],
        "parameters": [
          {
            "name": "minutes",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.TcpConnectionEntryDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.TcpConnectionEntryDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.TcpConnectionEntryDto"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "VirtualPrinter.Web.Contracts.Auth.Requests.LoginRequestDto": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Auth.Responses.LoginResponseDto": {
        "type": "object",
        "properties": {
          "accessToken": {
            "type": "string",
            "nullable": true
          },
          "tokenType": {
            "type": "string",
            "nullable": true
          },
          "expiresInSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "workspace": {
            "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.WorkspaceDto"
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Common.Pagination.PagedResult`1[[VirtualPrinter.Web.Contracts.Documents.Responses.Canvas.RenderedDocumentDto, VirtualPrinter.Web.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Documents.Responses.Canvas.RenderedDocumentDto"
            },
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextBeforeId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "nextBeforeCreatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Documents.Requests.SetLastViewedDocumentRequestDto": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Documents.Responses.Canvas.CanvasDocumentListResponseDto": {
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Common.Pagination.PagedResult`1[[VirtualPrinter.Web.Contracts.Documents.Responses.Canvas.RenderedDocumentDto, VirtualPrinter.Web.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Documents.Responses.Canvas.CanvasDto": {
        "type": "object",
        "properties": {
          "widthInDots": {
            "type": "integer",
            "format": "int32"
          },
          "heightInDots": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Documents.Responses.Canvas.Elements.CanvasElementDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Documents.Responses.Canvas.Elements.CanvasElementDto": {
        "type": "object",
        "properties": {
          "commandRaw": {
            "type": "string",
            "nullable": true
          },
          "commandDescription": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "lengthInBytes": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Documents.Responses.Canvas.RenderedDocumentDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "printJobId": {
            "type": "string",
            "format": "uuid"
          },
          "printerId": {
            "type": "string",
            "format": "uuid"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "protocol": {
            "type": "string",
            "nullable": true
          },
          "canvases": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Documents.Responses.Canvas.CanvasDto"
            },
            "nullable": true
          },
          "clientAddress": {
            "type": "string",
            "nullable": true
          },
          "bytesReceived": {
            "type": "integer",
            "format": "int32"
          },
          "bytesSent": {
            "type": "integer",
            "format": "int32"
          },
          "errorMessages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Printers.Requests.CreatePrinterRequestDto": {
        "type": "object",
        "properties": {
          "printer": {
            "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.PrinterDto"
          },
          "settings": {
            "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.PrinterSettingsDto"
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Printers.Requests.ImportDocumentRequestDto": {
        "type": "object",
        "properties": {
          "data": {
            "type": "string",
            "nullable": true
          },
          "format": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Printers.Requests.PinPrinterRequestDto": {
        "type": "object",
        "properties": {
          "isPinned": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Printers.Requests.PrinterDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "displayName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Printers.Requests.PrinterSettingsDto": {
        "type": "object",
        "properties": {
          "protocol": {
            "type": "string",
            "nullable": true
          },
          "widthInDots": {
            "type": "integer",
            "format": "int32"
          },
          "heightInDots": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "emulateBufferCapacity": {
            "type": "boolean"
          },
          "bufferDrainRate": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "bufferMaxCapacity": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Printers.Requests.UpdatePrinterDrawerStateRequestDto": {
        "type": "object",
        "properties": {
          "drawer1State": {
            "type": "string",
            "nullable": true
          },
          "drawer2State": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Printers.Requests.UpdatePrinterOperationalFlagsRequestDto": {
        "type": "object",
        "properties": {
          "isCoverOpen": {
            "type": "boolean",
            "nullable": true
          },
          "isPaperOut": {
            "type": "boolean",
            "nullable": true
          },
          "isOffline": {
            "type": "boolean",
            "nullable": true
          },
          "hasError": {
            "type": "boolean",
            "nullable": true
          },
          "isPaperNearEnd": {
            "type": "boolean",
            "nullable": true
          },
          "targetState": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Printers.Requests.UpdatePrinterRequestDto": {
        "type": "object",
        "properties": {
          "printer": {
            "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.PrinterDto"
          },
          "settings": {
            "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Requests.PrinterSettingsDto"
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Printers.Responses.PrinterDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "ownerWorkspaceId": {
            "type": "string",
            "format": "uuid"
          },
          "ownerWorkspaceName": {
            "type": "string",
            "nullable": true
          },
          "isPinned": {
            "type": "boolean"
          },
          "lastViewedDocumentId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "lastDocumentReceivedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastApiReadAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastWebReadAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Printers.Responses.PrinterNvImageResponseDto": {
        "type": "object",
        "properties": {
          "slot": {
            "type": "integer",
            "format": "int32"
          },
          "widthInDots": {
            "type": "integer",
            "format": "int32"
          },
          "heightInDots": {
            "type": "integer",
            "format": "int32"
          },
          "mediaUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Printers.Responses.PrinterOperationalFlagsDto": {
        "type": "object",
        "properties": {
          "printerId": {
            "type": "string",
            "format": "uuid"
          },
          "targetState": {
            "type": "string",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "isCoverOpen": {
            "type": "boolean"
          },
          "isPaperOut": {
            "type": "boolean"
          },
          "isOffline": {
            "type": "boolean"
          },
          "hasError": {
            "type": "boolean"
          },
          "isPaperNearEnd": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Printers.Responses.PrinterResponseDto": {
        "type": "object",
        "properties": {
          "printer": {
            "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterDto"
          },
          "settings": {
            "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterSettingsDto"
          },
          "operationalFlags": {
            "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterOperationalFlagsDto"
          },
          "runtimeStatus": {
            "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterRuntimeStatusDto"
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Printers.Responses.PrinterRuntimeStatusDto": {
        "type": "object",
        "properties": {
          "printerId": {
            "type": "string",
            "format": "uuid"
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "bufferedBytes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "bufferedBytesDeltaBps": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "drawer1State": {
            "type": "string",
            "nullable": true
          },
          "drawer2State": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Printers.Responses.PrinterSettingsDto": {
        "type": "object",
        "properties": {
          "protocol": {
            "type": "string",
            "nullable": true
          },
          "widthInDots": {
            "type": "integer",
            "format": "int32"
          },
          "heightInDots": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tcpListenPort": {
            "type": "integer",
            "format": "int32"
          },
          "emulateBufferCapacity": {
            "type": "boolean"
          },
          "bufferDrainRate": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "bufferMaxCapacity": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "publicHost": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Printers.Responses.PrinterSidebarSnapshotDto": {
        "type": "object",
        "properties": {
          "printer": {
            "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterDto"
          },
          "runtimeStatus": {
            "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Printers.Responses.PrinterRuntimeStatusDto"
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Workspaces.Requests.CreateWorkspaceRequestDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "workspaceName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Workspaces.Requests.RunDocumentRetentionCleanupRequestDto": {
        "type": "object",
        "properties": {
          "maxDocuments": {
            "type": "integer",
            "format": "int32"
          },
          "retentionDaysOverride": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Workspaces.Requests.UpdateWorkspaceRequestDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "documentRetentionDays": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tcpWhitelistEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "tcpWhitelistEntries": {
            "type": "string",
            "nullable": true
          },
          "lightColorScheme": {
            "type": "string",
            "nullable": true
          },
          "darkColorScheme": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Workspaces.Responses.AdminWorkspaceStatisticsDto": {
        "type": "object",
        "properties": {
          "totalWorkspaces": {
            "type": "integer",
            "format": "int32"
          },
          "activeWorkspacesLast24h": {
            "type": "integer",
            "format": "int32"
          },
          "activeWorkspacesLast7d": {
            "type": "integer",
            "format": "int32"
          },
          "totalPrinters": {
            "type": "integer",
            "format": "int32"
          },
          "totalDocuments": {
            "type": "integer",
            "format": "int64"
          },
          "totalMedia": {
            "type": "integer",
            "format": "int64"
          },
          "totalMediaBytes": {
            "type": "integer",
            "format": "int64"
          },
          "documentsLast24h": {
            "type": "integer",
            "format": "int64"
          },
          "documentsLast7d": {
            "type": "integer",
            "format": "int64"
          },
          "mediaLast24h": {
            "type": "integer",
            "format": "int64"
          },
          "mediaLast7d": {
            "type": "integer",
            "format": "int64"
          },
          "lastDocumentAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "workspaces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualPrinter.Web.Contracts.Workspaces.Responses.AdminWorkspaceStatisticsRowDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Workspaces.Responses.AdminWorkspaceStatisticsRowDto": {
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "format": "uuid"
          },
          "workspaceName": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "type": "string",
            "nullable": true
          },
          "printerCount": {
            "type": "integer",
            "format": "int32"
          },
          "documentCount": {
            "type": "integer",
            "format": "int64"
          },
          "mediaCount": {
            "type": "integer",
            "format": "int64"
          },
          "mediaBytes": {
            "type": "integer",
            "format": "int64"
          },
          "documentsLast24h": {
            "type": "integer",
            "format": "int64"
          },
          "lastDocumentAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "documentRetentionDays": {
            "type": "integer",
            "format": "int32"
          },
          "lastApiReadAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastWebReadAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Workspaces.Responses.DocumentRetentionCleanupResultDto": {
        "type": "object",
        "properties": {
          "deletedDocuments": {
            "type": "integer",
            "format": "int32"
          },
          "deletedMedia": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Workspaces.Responses.DocumentRetentionCleanupSummaryDto": {
        "type": "object",
        "properties": {
          "expiredDocuments": {
            "type": "integer",
            "format": "int32"
          },
          "retentionMediaFiles": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Workspaces.Responses.GreetingResponseDto": {
        "type": "object",
        "properties": {
          "morning": {
            "type": "string",
            "nullable": true
          },
          "afternoon": {
            "type": "string",
            "nullable": true
          },
          "evening": {
            "type": "string",
            "nullable": true
          },
          "general": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Workspaces.Responses.TcpConnectionEntryDto": {
        "type": "object",
        "properties": {
          "clientIp": {
            "type": "string",
            "nullable": true
          },
          "connectedAt": {
            "type": "string",
            "format": "date-time"
          },
          "allowed": {
            "type": "boolean"
          },
          "connectionType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Workspaces.Responses.WorkspaceDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "role": {
            "type": "string",
            "nullable": true
          },
          "documentRetentionDays": {
            "type": "integer",
            "format": "int32"
          },
          "tcpWhitelistEnabled": {
            "type": "boolean"
          },
          "tcpWhitelistEntries": {
            "type": "string",
            "nullable": true
          },
          "lastApiReadAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastWebReadAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lightColorScheme": {
            "type": "string",
            "nullable": true
          },
          "darkColorScheme": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VirtualPrinter.Web.Contracts.Workspaces.Responses.WorkspaceSummaryDto": {
        "type": "object",
        "properties": {
          "totalPrinters": {
            "type": "integer",
            "format": "int32"
          },
          "totalDocuments": {
            "type": "integer",
            "format": "int64"
          },
          "documentsLast24h": {
            "type": "integer",
            "format": "int64"
          },
          "lastDocumentAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "Paste the AccessToken from POST /api/auth/login (without the 'Bearer ' prefix).",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ]
}