{
  "openapi": "3.1.0",
  "info": {
    "title": "SoFinder HTTP API",
    "version": "1.0",
    "description": "Stable same-origin authenticated API. Mutations also require X-CSRF-TOKEN."
  },
  "servers": [{"url": "/sofinder"}],
  "security": [{"sessionCookie": []}],
  "paths": {
    "/api/config": {"get": {"operationId": "getConfig", "responses": {"200": {"description": "Versioned discovery data", "content": {"application/json": {"schema": {"type": "object", "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "./schema/config-data.schema.json"}}}}}}}}},
    "/api/capabilities": {"get": {"operationId": "getCapabilities", "responses": {"200": {"description": "Versioned machine-readable capability catalog", "content": {"application/json": {"schema": {"type": "object", "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "./schema/capability-catalog.schema.json"}}}}}}}}},
    "/health": {"get": {"operationId": "getHealth", "responses": {"200": {"$ref": "#/components/responses/Health"}, "503": {"$ref": "#/components/responses/Error"}}}},
    "/live": {"get": {"operationId": "getLiveness", "responses": {"200": {"description": "Process and bundle initialization status", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LivenessEnvelope"}}}}}}},
    "/metrics": {"get": {"operationId": "getMetrics", "responses": {"200": {"description": "Prometheus text exposition", "content": {"text/plain": {"schema": {"type": "string"}}}}}}},
    "/api/security/status": {"get": {"operationId": "getSecurityStatus", "responses": {"200": {"$ref": "#/components/responses/SecurityStatus"}}}},
    "/api/entries": {
      "get": {"operationId": "listEntries", "parameters": [{"$ref": "#/components/parameters/resource"}, {"$ref": "#/components/parameters/path"}, {"name": "search", "in": "query", "schema": {"type": "string", "default": ""}}, {"name": "searchMode", "in": "query", "schema": {"enum": ["name", "tags"], "default": "name"}}, {"name": "sort", "in": "query", "schema": {"enum": ["name", "size", "type", "modified"], "default": "name"}}, {"name": "direction", "in": "query", "schema": {"enum": ["asc", "desc"], "default": "asc"}}, {"name": "offset", "in": "query", "schema": {"type": "integer", "minimum": 0, "default": 0}}, {"name": "limit", "in": "query", "schema": {"type": "integer", "minimum": 10, "maximum": 500, "default": 100}}, {"name": "cursor", "in": "query", "schema": {"type": "string"}}], "responses": {"200": {"$ref": "#/components/responses/EntryList"}}},
      "delete": {"operationId": "deleteEntry", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"$ref": "#/components/requestBodies/EntryPath"}, "responses": {"200": {"$ref": "#/components/responses/DeleteResult"}, "409": {"$ref": "#/components/responses/Error"}}}
    },
    "/api/assets/search": {"get": {"operationId": "searchAssets", "parameters": [{"name": "q", "in": "query", "schema": {"type": "string", "maxLength": 200}}, {"name": "resources", "in": "query", "schema": {"type": "string", "description": "Comma-separated visible resource names"}}, {"name": "path", "in": "query", "schema": {"type": "string"}}, {"name": "fields", "in": "query", "schema": {"type": "string", "default": "name,title,alt,tags"}}, {"name": "tags", "in": "query", "schema": {"type": "string"}}, {"name": "extensions", "in": "query", "schema": {"type": "string"}}, {"name": "type", "in": "query", "schema": {"enum": ["all", "image", "document", "audio", "video", "archive", "other"]}}, {"name": "minSize", "in": "query", "schema": {"type": "integer", "minimum": 0}}, {"name": "maxSize", "in": "query", "schema": {"type": "integer", "minimum": 0}}, {"name": "modifiedAfter", "in": "query", "schema": {"type": "integer", "minimum": 0}}, {"name": "modifiedBefore", "in": "query", "schema": {"type": "integer", "minimum": 0}}, {"name": "offset", "in": "query", "schema": {"type": "integer", "minimum": 0, "default": 0}}, {"name": "limit", "in": "query", "schema": {"type": "integer", "minimum": 1, "maximum": 100, "default": 50}}], "responses": {"200": {"$ref": "#/components/responses/AssetSearch"}, "400": {"$ref": "#/components/responses/Error"}, "403": {"$ref": "#/components/responses/Error"}}}},
    "/api/assets/resolve": {"get": {"operationId": "resolveAsset", "parameters": [{"$ref": "#/components/parameters/resource"}, {"$ref": "#/components/parameters/path"}], "responses": {"200": {"$ref": "#/components/responses/Asset"}, "404": {"$ref": "#/components/responses/Error"}}}},
    "/api/assets/{id}": {"get": {"operationId": "getAsset", "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string", "pattern": "^[a-f0-9-]{36}$"}}], "responses": {"200": {"$ref": "#/components/responses/Asset"}, "404": {"$ref": "#/components/responses/Error"}}}},
    "/api/assets/{id}/metadata": {"patch": {"operationId": "updateAssetMetadata", "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string", "pattern": "^[a-f0-9-]{36}$"}}, {"$ref": "#/components/parameters/csrf"}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssetMetadataRequest"}}}}, "responses": {"200": {"$ref": "#/components/responses/AssetMetadata"}, "403": {"$ref": "#/components/responses/Error"}, "404": {"$ref": "#/components/responses/Error"}, "409": {"$ref": "#/components/responses/Error"}, "422": {"$ref": "#/components/responses/Error"}}}},
    "/api/assets/{id}/usages": {"get": {"operationId": "listAssetUsages", "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string", "pattern": "^[a-f0-9-]{36}$"}}], "responses": {"200": {"$ref": "#/components/responses/AssetUsageList"}, "404": {"$ref": "#/components/responses/Error"}}}},
    "/api/assets/{id}/usages/{referenceId}": {"put": {"operationId": "putAssetUsage", "parameters": [{"$ref": "#/components/parameters/id"}, {"name": "referenceId", "in": "path", "required": true, "schema": {"type": "string", "pattern": "^[A-Za-z0-9._:-]{1,160}$"}}, {"$ref": "#/components/parameters/csrf"}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssetUsageRequest"}}}}, "responses": {"200": {"$ref": "#/components/responses/AssetUsage"}, "422": {"$ref": "#/components/responses/Error"}}}, "delete": {"operationId": "deleteAssetUsage", "parameters": [{"$ref": "#/components/parameters/id"}, {"name": "referenceId", "in": "path", "required": true, "schema": {"type": "string"}}, {"$ref": "#/components/parameters/csrf"}], "responses": {"200": {"$ref": "#/components/responses/Empty"}}}},
    "/api/assets/delete-check": {"post": {"operationId": "checkAssetDeletion", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssetDeleteCheckRequest"}}}}, "responses": {"200": {"$ref": "#/components/responses/AssetDeleteCheck"}, "422": {"$ref": "#/components/responses/Error"}}}},
    "/api/assets/access-sessions": {"post": {"operationId": "createAssetAccessSession", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssetAccessSessionRequest"}}}}, "responses": {"201": {"$ref": "#/components/responses/AssetAccessSession"}, "422": {"$ref": "#/components/responses/Error"}}}},
    "/api/assets/access-sessions/{id}": {"delete": {"operationId": "revokeAssetAccessSession", "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string", "pattern": "^[a-f0-9]{32}$"}}, {"$ref": "#/components/parameters/csrf"}], "responses": {"200": {"$ref": "#/components/responses/Empty"}, "404": {"$ref": "#/components/responses/Error"}}}},
    "/asset-session/{token}/{assetId}": {"get": {"operationId": "consumeAssetAccessSession", "parameters": [{"name": "token", "in": "path", "required": true, "schema": {"type": "string", "pattern": "^[A-Za-z0-9._-]{76}$"}}, {"name": "assetId", "in": "path", "required": true, "schema": {"type": "string", "pattern": "^[a-f0-9-]{36}$"}}], "responses": {"200": {"description": "Revision-bound private asset content"}, "403": {"$ref": "#/components/responses/Error"}, "410": {"$ref": "#/components/responses/Error"}}}},
    "/api/folders": {"post": {"operationId": "createFolder", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"$ref": "#/components/requestBodies/EntryName"}, "responses": {"201": {"$ref": "#/components/responses/EntryResult"}}}},
    "/api/uploads": {"post": {"operationId": "uploadFile", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"description": "Multipart upload field plus resource/path policy fields", "required": true, "content": {"multipart/form-data": {"schema": {"$ref": "#/components/schemas/UploadRequest"}}}}, "responses": {"201": {"$ref": "#/components/responses/EntryResult"}, "413": {"$ref": "#/components/responses/Error"}, "415": {"$ref": "#/components/responses/Error"}}}},
    "/api/uploads/chunks": {"post": {"operationId": "uploadChunk", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"description": "Multipart resumable chunk bound to the authenticated actor and trusted workspace", "required": true, "content": {"multipart/form-data": {"schema": {"$ref": "#/components/schemas/ChunkUploadRequest"}}}}, "responses": {"200": {"$ref": "#/components/responses/ChunkUpload"}, "201": {"$ref": "#/components/responses/ChunkUpload"}, "404": {"$ref": "#/components/responses/Error"}, "409": {"$ref": "#/components/responses/Error"}}}},
    "/api/uploads/chunks/{id}": {
      "parameters": [{"$ref": "#/components/parameters/id"}],
      "get": {"operationId": "getChunkStatus", "responses": {"200": {"$ref": "#/components/responses/ChunkStatus"}, "404": {"$ref": "#/components/responses/Error"}}},
      "delete": {"operationId": "cancelChunkUpload", "parameters": [{"$ref": "#/components/parameters/csrf"}], "responses": {"200": {"$ref": "#/components/responses/Empty"}, "404": {"$ref": "#/components/responses/Error"}}}
    },
    "/api/entries/rename": {"patch": {"operationId": "renameEntry", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"$ref": "#/components/requestBodies/Rename"}, "responses": {"200": {"$ref": "#/components/responses/EntryResult"}}}},
    "/api/entries/copy": {"post": {"operationId": "copyEntry", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"$ref": "#/components/requestBodies/Transfer"}, "responses": {"200": {"$ref": "#/components/responses/EntryResult"}}}},
    "/api/entries/move": {"post": {"operationId": "moveEntry", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"$ref": "#/components/requestBodies/Transfer"}, "responses": {"200": {"$ref": "#/components/responses/EntryResult"}}}},
    "/api/entries/batch": {"post": {"operationId": "batchEntries", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"$ref": "#/components/requestBodies/Batch"}, "responses": {"200": {"$ref": "#/components/responses/BatchResult"}}}},
    "/api/entries/batch-rename": {"post": {"operationId": "batchRenameEntries", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"$ref": "#/components/requestBodies/BatchRename"}, "responses": {"200": {"$ref": "#/components/responses/BatchResult"}}}},
    "/api/download": {"get": {"operationId": "downloadEntry", "parameters": [{"$ref": "#/components/parameters/resource"}, {"$ref": "#/components/parameters/path"}], "responses": {"200": {"description": "File attachment", "content": {"application/octet-stream": {"schema": {"type": "string", "contentEncoding": "binary"}}}}}}},
    "/api/content": {"get": {"operationId": "streamContent", "parameters": [{"$ref": "#/components/parameters/resource"}, {"$ref": "#/components/parameters/path"}], "responses": {"200": {"description": "Authorized content"}, "206": {"description": "Single byte range"}, "416": {"$ref": "#/components/responses/Error"}}}},
    "/api/signed-url": {"get": {"operationId": "issueSignedUrl", "parameters": [{"$ref": "#/components/parameters/resource"}, {"$ref": "#/components/parameters/path"}, {"name": "ttl", "in": "query", "schema": {"type": "integer", "minimum": 30}}, {"name": "disposition", "in": "query", "schema": {"enum": ["inline", "attachment"]}}], "responses": {"200": {"$ref": "#/components/responses/SignedUrl"}, "422": {"$ref": "#/components/responses/Error"}}}},
    "/signed/{token}": {"get": {"operationId": "consumeSignedUrl", "security": [], "parameters": [{"name": "token", "in": "path", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "Revision-bound temporary file content"}, "206": {"description": "Single byte range"}, "403": {"$ref": "#/components/responses/Error"}, "410": {"$ref": "#/components/responses/Error"}}}},
    "/api/checksum": {"get": {"operationId": "getChecksum", "parameters": [{"$ref": "#/components/parameters/resource"}, {"$ref": "#/components/parameters/path"}], "responses": {"200": {"$ref": "#/components/responses/Checksum"}}}},
    "/api/preview/text": {"get": {"operationId": "getTextPreview", "parameters": [{"$ref": "#/components/parameters/resource"}, {"$ref": "#/components/parameters/path"}], "responses": {"200": {"$ref": "#/components/responses/TextPreview"}, "415": {"$ref": "#/components/responses/Error"}}}},
    "/api/preview/document": {"get": {"operationId": "getDocumentPreview", "parameters": [{"$ref": "#/components/parameters/resource"}, {"$ref": "#/components/parameters/path"}], "responses": {"200": {"description": "Inline sandboxed PDF preview", "content": {"application/pdf": {"schema": {"type": "string", "contentEncoding": "binary"}}}}, "202": {"description": "Office preview conversion is pending", "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 1}}}, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorEnvelope"}}}}, "413": {"$ref": "#/components/responses/Error"}, "415": {"$ref": "#/components/responses/Error"}, "503": {"$ref": "#/components/responses/Error"}}}},
    "/api/preview/document/jobs": {"post": {"operationId": "createDocumentPreviewJob", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DocumentPreviewJobRequest"}}}}, "responses": {"200": {"$ref": "#/components/responses/DocumentPreviewJob"}, "202": {"$ref": "#/components/responses/DocumentPreviewJob"}, "400": {"$ref": "#/components/responses/Error"}, "403": {"$ref": "#/components/responses/Error"}, "404": {"$ref": "#/components/responses/Error"}, "413": {"$ref": "#/components/responses/Error"}, "415": {"$ref": "#/components/responses/Error"}, "422": {"$ref": "#/components/responses/Error"}, "503": {"$ref": "#/components/responses/Error"}}}},
    "/api/preview/document/jobs/{id}": {"get": {"operationId": "getDocumentPreviewJob", "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string", "pattern": "^[a-f0-9]{48}$"}}], "responses": {"200": {"$ref": "#/components/responses/DocumentPreviewJob"}, "202": {"$ref": "#/components/responses/DocumentPreviewJob"}, "404": {"$ref": "#/components/responses/Error"}}}},
    "/api/trash": {"get": {"operationId": "listTrash", "parameters": [{"$ref": "#/components/parameters/resource"}], "responses": {"200": {"$ref": "#/components/responses/TrashList"}}}},
    "/api/trash/{id}/restore": {"post": {"operationId": "restoreTrash", "parameters": [{"$ref": "#/components/parameters/id"}, {"$ref": "#/components/parameters/csrf"}], "requestBody": {"$ref": "#/components/requestBodies/Trash"}, "responses": {"200": {"$ref": "#/components/responses/EntryResult"}}}},
    "/api/trash/{id}": {"delete": {"operationId": "deleteTrash", "parameters": [{"$ref": "#/components/parameters/id"}, {"$ref": "#/components/parameters/csrf"}], "requestBody": {"$ref": "#/components/requestBodies/Trash"}, "responses": {"200": {"$ref": "#/components/responses/Empty"}}}},
    "/api/images/thumbnail": {"get": {"operationId": "getThumbnail", "parameters": [{"$ref": "#/components/parameters/resource"}, {"$ref": "#/components/parameters/path"}], "responses": {"200": {"description": "Browser-safe thumbnail"}}}},
    "/api/images/info": {"get": {"operationId": "getImageInfo", "parameters": [{"$ref": "#/components/parameters/resource"}, {"$ref": "#/components/parameters/path"}], "responses": {"200": {"$ref": "#/components/responses/ImageInfo"}}}},
    "/api/images/variant": {"get": {"operationId": "getImageVariant", "parameters": [{"$ref": "#/components/parameters/resource"}, {"$ref": "#/components/parameters/path"}, {"name": "width", "in": "query", "required": true, "schema": {"type": "integer", "minimum": 32, "maximum": 8192}}, {"name": "format", "in": "query", "schema": {"enum": ["original", "webp", "avif"], "default": "original"}}, {"name": "v", "in": "query", "schema": {"type": "string"}}], "responses": {"200": {"description": "Authorized cached responsive image variant"}, "404": {"$ref": "#/components/responses/Error"}, "422": {"$ref": "#/components/responses/Error"}}}},
    "/api/images/edit": {"patch": {"operationId": "editImage", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"$ref": "#/components/requestBodies/ImageEdit"}, "responses": {"200": {"$ref": "#/components/responses/ImageEditResult"}, "415": {"$ref": "#/components/responses/Error"}, "422": {"$ref": "#/components/responses/Error"}}}},
    "/api/images/batch": {"patch": {"operationId": "batchEditImages", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"$ref": "#/components/requestBodies/ImageBatch"}, "responses": {"200": {"$ref": "#/components/responses/ImageBatchResult"}, "415": {"$ref": "#/components/responses/Error"}, "422": {"$ref": "#/components/responses/Error"}}}},
    "/api/archive": {"post": {"operationId": "downloadArchive", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"$ref": "#/components/requestBodies/Archive"}, "responses": {"200": {"description": "Bounded ZIP archive"}}}},
    "/api/metadata": {
      "get": {"operationId": "getMetadata", "parameters": [{"$ref": "#/components/parameters/resource"}], "responses": {"200": {"$ref": "#/components/responses/Metadata"}}},
      "patch": {"operationId": "updateMetadata", "parameters": [{"$ref": "#/components/parameters/csrf"}], "requestBody": {"$ref": "#/components/requestBodies/Metadata"}, "responses": {"200": {"$ref": "#/components/responses/Metadata"}}}
    },
    "/compat/ckeditor4/upload": {"post": {"operationId": "ckeditor4Upload", "requestBody": {"description": "CKEditor multipart upload", "required": true, "content": {"multipart/form-data": {"schema": {"$ref": "#/components/schemas/CkeditorUploadRequest"}}}}, "responses": {"200": {"description": "CKEditor callback or JSON response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CkeditorUploadResponse"}}, "text/html": {"schema": {"type": "string"}}}}}}}
  },
  "components": {
    "securitySchemes": {"sessionCookie": {"type": "apiKey", "in": "cookie", "name": "PHPSESSID"}},
    "parameters": {
      "resource": {"name": "resource", "in": "query", "schema": {"type": "string", "default": "Files"}},
      "path": {"name": "path", "in": "query", "schema": {"type": "string"}},
      "id": {"name": "id", "in": "path", "required": true, "schema": {"type": "string"}},
      "csrf": {"name": "X-CSRF-TOKEN", "in": "header", "required": true, "schema": {"type": "string"}}
    },
    "requestBodies": {
      "JsonMutation": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MutationRequest"}}}},
      "EntryPath": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EntryPathRequest"}}}},
      "EntryName": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EntryNameRequest"}}}},
      "Rename": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RenameRequest"}}}},
      "Transfer": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TransferRequest"}}}},
      "Batch": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BatchRequest"}}}},
      "BatchRename": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BatchRenameRequest"}}}},
      "Trash": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TrashRequest"}}}},
      "Archive": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ArchiveRequest"}}}},
      "Metadata": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MetadataRequest"}}}},
      "ImageEdit": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageEditRequest"}}}},
      "ImageBatch": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageBatchRequest"}}}}
    },
    "schemas": {
      "SuccessEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/ApiData"}}},
      "ErrorEnvelope": {"$ref": "./schema/error-envelope.schema.json"},
      "PickerEntry": {"$ref": "./schema/picker-entry.schema.json"},
      "AssetReference": {"$ref": "./schema/asset-reference.schema.json"},
      "ImageActions": {"$ref": "./schema/image-actions.schema.json"},
      "Entry": {"type": "object", "additionalProperties": false, "required": ["path", "name", "directory", "size", "modifiedAt", "mimeType", "url", "capabilities"], "properties": {"path": {"type": "string"}, "name": {"type": "string"}, "directory": {"type": "boolean"}, "size": {"type": "integer", "minimum": 0}, "modifiedAt": {"type": "integer", "minimum": 0}, "mimeType": {"type": ["string", "null"]}, "url": {"type": ["string", "null"]}, "capabilities": {"type": "object", "additionalProperties": {"type": "boolean"}}}},
      "EntryResult": {"type": "object", "additionalProperties": false, "required": ["entry"], "properties": {"entry": {"$ref": "#/components/schemas/Entry"}, "asset": {"oneOf": [{"$ref": "#/components/schemas/AssetReference"}, {"type": "null"}]}}},
      "AssetResult": {"type": "object", "additionalProperties": false, "required": ["asset"], "properties": {"asset": {"$ref": "#/components/schemas/AssetReference"}, "metadata": {"$ref": "#/components/schemas/AssetMetadata"}}},
      "AssetSearchItem": {"type": "object", "additionalProperties": false, "required": ["resource", "entry", "assetId", "metadata"], "properties": {"resource": {"type": "string"}, "entry": {"$ref": "#/components/schemas/Entry"}, "assetId": {"type": ["string", "null"]}, "metadata": {"$ref": "#/components/schemas/AssetMetadata"}}},
      "AssetSearchResult": {"type": "object", "additionalProperties": false, "required": ["items", "total", "offset", "limit", "scanned", "truncated", "facets"], "properties": {"items": {"type": "array", "items": {"$ref": "#/components/schemas/AssetSearchItem"}}, "total": {"type": "integer", "minimum": 0}, "offset": {"type": "integer", "minimum": 0}, "limit": {"type": "integer", "minimum": 1, "maximum": 100}, "scanned": {"type": "integer", "minimum": 0}, "truncated": {"type": "boolean"}, "facets": {"type": "object", "additionalProperties": false, "required": ["resources", "types", "extensions"], "properties": {"resources": {"type": "object", "additionalProperties": {"type": "integer", "minimum": 0}}, "types": {"type": "object", "additionalProperties": {"type": "integer", "minimum": 0}}, "extensions": {"type": "object", "additionalProperties": {"type": "integer", "minimum": 0}}}}}},
      "AssetSearchEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/AssetSearchResult"}}},
      "StorageCapabilities": {"type": "object", "additionalProperties": false, "required": ["search", "sort", "cursorPagination", "atomicMove", "nativeCopy", "recoverableDelete", "publicUrl"], "properties": {"search": {"type": "boolean"}, "sort": {"type": "boolean"}, "cursorPagination": {"type": "boolean"}, "atomicMove": {"type": "boolean"}, "nativeCopy": {"type": "boolean"}, "recoverableDelete": {"type": "boolean"}, "publicUrl": {"type": "boolean"}}},
      "EntryList": {"type": "object", "additionalProperties": false, "required": ["entries", "total", "path", "offset", "limit", "nextCursor", "sort", "direction", "capabilities", "storageCapabilities"], "properties": {"entries": {"type": "array", "items": {"$ref": "#/components/schemas/Entry"}}, "total": {"type": ["integer", "null"], "minimum": 0}, "path": {"type": "string"}, "offset": {"type": "integer", "minimum": 0}, "limit": {"type": "integer", "minimum": 1, "maximum": 500}, "nextCursor": {"type": ["string", "null"]}, "sort": {"enum": ["name", "size", "type", "modified"]}, "direction": {"enum": ["asc", "desc"]}, "capabilities": {"type": "object", "additionalProperties": {"type": "boolean"}}, "storageCapabilities": {"$ref": "#/components/schemas/StorageCapabilities"}}},
      "EmptyData": {"type": "object", "additionalProperties": false, "maxProperties": 0},
      "HealthData": {"type": "object", "additionalProperties": false, "required": ["status", "checks"], "properties": {"status": {"enum": ["ready", "degraded", "down"]}, "checks": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["name", "status", "message"], "properties": {"name": {"type": "string"}, "status": {"enum": ["ready", "degraded", "down"]}, "message": {"type": "string", "maxLength": 256}}}}}},
      "SecurityStatusData": {"type": "object", "additionalProperties": false, "required": ["malwareScanning", "documentPreview"], "properties": {"malwareScanning": {"type": "object", "additionalProperties": false, "required": ["enabled", "provider", "status", "message", "counts", "recent", "mode", "lastSuccessfulAt"], "properties": {"enabled": {"type": "boolean"}, "provider": {"enum": ["clamav", null]}, "status": {"enum": ["disabled", "ready", "degraded", "down"]}, "message": {"type": "string"}, "counts": {"type": "object", "additionalProperties": false, "required": ["pending", "passed", "quarantined", "failed"], "properties": {"pending": {"type": "integer", "minimum": 0}, "passed": {"type": "integer", "minimum": 0}, "quarantined": {"type": "integer", "minimum": 0}, "failed": {"type": "integer", "minimum": 0}}}, "recent": {"type": "array", "items": {"$ref": "#/components/schemas/MalwareScanEvent"}}, "mode": {"enum": ["local", "shared"]}, "lastSuccessfulAt": {"type": ["integer", "null"]}}}, "documentPreview": {"oneOf": [{"type": "null"}, {"type": "object", "additionalProperties": false, "required": ["pdfEnabled", "officeEnabled", "available", "binary", "version", "cacheWritable", "cacheCount", "lastSuccessfulAt", "configuredMode", "effectiveMode", "queueAvailable", "counts"], "properties": {"pdfEnabled": {"type": "boolean"}, "officeEnabled": {"type": "boolean"}, "available": {"type": "boolean"}, "binary": {"type": "string"}, "version": {"type": ["string", "null"]}, "cacheWritable": {"type": "boolean"}, "cacheCount": {"type": "integer", "minimum": 0}, "lastSuccessfulAt": {"type": ["integer", "null"]}, "configuredMode": {"enum": ["auto", "inline", "messenger"]}, "effectiveMode": {"enum": ["inline", "messenger"]}, "queueAvailable": {"type": "boolean"}, "counts": {"type": "object", "additionalProperties": false, "required": ["queued", "running", "ready", "failed", "expired"], "properties": {"queued": {"type": "integer", "minimum": 0}, "running": {"type": "integer", "minimum": 0}, "ready": {"type": "integer", "minimum": 0}, "failed": {"type": "integer", "minimum": 0}, "expired": {"type": "integer", "minimum": 0}}}}}]}}},
      "MalwareScanEvent": {"type": "object", "additionalProperties": false, "required": ["id", "fileName", "resource", "bytes", "status", "code", "startedAt", "finishedAt", "durationMilliseconds"], "properties": {"id": {"type": "string", "pattern": "^[a-f0-9]{24}$"}, "fileName": {"type": "string", "maxLength": 255}, "resource": {"type": "string", "maxLength": 64}, "bytes": {"type": "integer", "minimum": 0}, "status": {"enum": ["pending", "passed", "quarantined", "failed"]}, "code": {"type": ["string", "null"]}, "startedAt": {"type": "integer"}, "finishedAt": {"type": ["integer", "null"]}, "durationMilliseconds": {"type": ["integer", "null"], "minimum": 0}}},
      "SignedUrlData": {"type": "object", "additionalProperties": false, "required": ["url", "expiresAt"], "properties": {"url": {"type": "string"}, "expiresAt": {"type": "integer"}}},
      "ChecksumData": {"type": "object", "additionalProperties": false, "required": ["algorithm", "checksum", "size"], "properties": {"algorithm": {"const": "sha256"}, "checksum": {"type": "string", "pattern": "^[a-f0-9]{64}$"}, "size": {"type": "integer", "minimum": 0}}},
      "TextPreviewData": {"type": "object", "additionalProperties": false, "required": ["content", "truncated", "mimeType", "size"], "properties": {"content": {"type": "string"}, "truncated": {"type": "boolean"}, "mimeType": {"type": "string"}, "size": {"type": "integer", "minimum": 0}}},
      "UploadStateData": {"type": "object", "additionalProperties": false, "required": ["complete"], "properties": {"complete": {"type": "boolean"}, "entry": {"$ref": "#/components/schemas/Entry"}, "asset": {"oneOf": [{"$ref": "#/components/schemas/AssetReference"}, {"type": "null"}]}, "received": {"type": "array", "uniqueItems": true, "items": {"type": "integer", "minimum": 0}}}},
      "BatchData": {"type": "object", "additionalProperties": false, "required": ["operation", "total", "succeeded", "failed", "results"], "properties": {"operation": {"enum": ["copy", "move", "delete", "rename", "image"]}, "total": {"type": "integer", "minimum": 0}, "succeeded": {"type": "integer", "minimum": 0}, "failed": {"type": "integer", "minimum": 0}, "purgedItems": {"type": "integer", "minimum": 0}, "purgedBytes": {"type": "integer", "minimum": 0}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["path", "success"], "properties": {"path": {"type": "string"}, "success": {"type": "boolean"}, "entry": {"$ref": "#/components/schemas/Entry"}, "error": {"type": "object", "additionalProperties": false, "required": ["code", "message"], "properties": {"code": {"type": "string"}, "message": {"type": "string"}}}, "trash": {"$ref": "#/components/schemas/FlexibleBoundedData"}}}}}},
      "MetadataData": {"type": "object", "additionalProperties": false, "required": ["favorites", "quickAccess", "quickAccessEntries", "tags", "recent"], "properties": {"favorites": {"type": "array", "items": {"type": "string"}}, "quickAccess": {"type": "array", "maxItems": 12, "items": {"type": "string"}}, "quickAccessEntries": {"type": "array", "maxItems": 12, "items": {"type": "object", "additionalProperties": false, "required": ["path", "name", "directory", "mimeType", "exists"], "properties": {"path": {"type": "string"}, "name": {"type": "string"}, "directory": {"type": ["boolean", "null"]}, "mimeType": {"type": ["string", "null"]}, "exists": {"type": "boolean"}}}}, "tags": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}}, "recent": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["path", "touchedAt"], "properties": {"path": {"type": "string"}, "touchedAt": {"type": "integer"}}}}}},
      "FlexibleBoundedData": {"type": "object", "minProperties": 1, "maxProperties": 32, "propertyNames": {"pattern": "^[A-Za-z][A-Za-z0-9_-]{0,63}$"}, "additionalProperties": {"type": ["string", "integer", "number", "boolean", "null", "array", "object"]}},
      "ApiData": {"oneOf": [{"$ref": "#/components/schemas/EntryResult"}, {"$ref": "#/components/schemas/EntryList"}, {"$ref": "#/components/schemas/AssetSearchResult"}, {"$ref": "#/components/schemas/EmptyData"}, {"$ref": "#/components/schemas/HealthData"}, {"$ref": "#/components/schemas/SecurityStatusData"}, {"$ref": "#/components/schemas/SignedUrlData"}, {"$ref": "#/components/schemas/ChecksumData"}, {"$ref": "#/components/schemas/TextPreviewData"}, {"$ref": "#/components/schemas/UploadStateData"}, {"$ref": "#/components/schemas/BatchData"}, {"$ref": "#/components/schemas/MetadataData"}, {"$ref": "#/components/schemas/FlexibleBoundedData"}]},
      "EntryPathRequest": {"type": "object", "additionalProperties": false, "required": ["resource", "path"], "properties": {"resource": {"type": "string", "minLength": 1}, "path": {"type": "string", "minLength": 1}}},
      "EntryNameRequest": {"type": "object", "additionalProperties": false, "required": ["resource", "path", "name"], "properties": {"resource": {"type": "string", "minLength": 1}, "path": {"type": "string"}, "name": {"type": "string", "minLength": 1}}},
      "RenameRequest": {"type": "object", "additionalProperties": false, "required": ["resource", "path", "name"], "properties": {"resource": {"type": "string", "minLength": 1}, "path": {"type": "string", "minLength": 1}, "name": {"type": "string", "minLength": 1}, "overwrite": {"type": "boolean"}}},
      "TransferRequest": {"type": "object", "additionalProperties": false, "required": ["resource", "path", "destination"], "properties": {"resource": {"type": "string"}, "path": {"type": "string"}, "destination": {"type": "string"}, "autoRename": {"type": "boolean"}, "overwrite": {"type": "boolean"}}},
      "BatchRequest": {"type": "object", "additionalProperties": false, "required": ["operation", "resource", "paths"], "properties": {"operation": {"enum": ["copy", "move", "delete"]}, "resource": {"type": "string"}, "paths": {"type": "array", "minItems": 1, "maxItems": 1000, "uniqueItems": true, "items": {"type": "string"}}, "destination": {"type": "string"}, "autoRename": {"type": "boolean"}}},
      "BatchRenameRequest": {"type": "object", "additionalProperties": false, "required": ["resource", "renames"], "properties": {"resource": {"type": "string"}, "renames": {"type": "array", "minItems": 1, "maxItems": 1000, "items": {"type": "object", "additionalProperties": false, "required": ["path", "name"], "properties": {"path": {"type": "string"}, "name": {"type": "string"}}}}}},
      "TrashRequest": {"type": "object", "additionalProperties": false, "required": ["resource"], "properties": {"resource": {"type": "string"}, "conflict": {"enum": ["cancel", "overwrite", "rename"]}}},
      "ArchiveRequest": {"type": "object", "additionalProperties": false, "required": ["resource", "paths"], "properties": {"resource": {"type": "string"}, "paths": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "string"}}}},
      "MetadataRequest": {"type": "object", "additionalProperties": false, "required": ["resource", "path", "action"], "properties": {"resource": {"type": "string"}, "path": {"type": "string"}, "action": {"enum": ["favorite", "quick_access", "tags", "touch", "forget"]}, "favorite": {"type": "boolean"}, "pinned": {"type": "boolean"}, "tags": {"type": "array", "uniqueItems": true, "items": {"type": "string"}}}},
      "AltTranslations": {"type": "object", "maxProperties": 20, "propertyNames": {"pattern": "^[a-z]{2,3}(?:-[a-z0-9]{2,8})*$"}, "additionalProperties": {"type": "string", "maxLength": 1000}},
      "AssetMetadata": {"type": "object", "additionalProperties": false, "required": ["alt", "title", "tags", "version", "updatedAt"], "properties": {"alt": {"type": ["string", "null"], "maxLength": 1000}, "altTranslations": {"$ref": "#/components/schemas/AltTranslations"}, "title": {"type": ["string", "null"], "maxLength": 200}, "tags": {"type": "array", "maxItems": 20, "uniqueItems": true, "items": {"type": "string", "maxLength": 50}}, "version": {"type": "integer", "minimum": 1}, "updatedAt": {"type": "integer", "minimum": 0}}},
      "AssetMetadataRequest": {"type": "object", "additionalProperties": false, "required": ["version"], "properties": {"alt": {"type": ["string", "null"], "maxLength": 1000}, "altTranslations": {"$ref": "#/components/schemas/AltTranslations"}, "title": {"type": ["string", "null"], "maxLength": 200}, "tags": {"type": "array", "maxItems": 20, "uniqueItems": true, "items": {"type": "string", "maxLength": 50}}, "version": {"type": "integer", "minimum": 1}}},
      "AssetUsageData": {"type": "object", "additionalProperties": false, "required": ["referenceId", "label", "url", "context", "updatedAt"], "properties": {"referenceId": {"type": "string", "maxLength": 160}, "label": {"type": "string", "maxLength": 200}, "url": {"type": ["string", "null"], "maxLength": 2000}, "context": {"type": ["string", "null"], "maxLength": 100}, "updatedAt": {"type": "integer", "minimum": 0}}},
      "AssetUsageRequest": {"type": "object", "additionalProperties": false, "required": ["label"], "properties": {"label": {"type": "string", "minLength": 1, "maxLength": 200}, "url": {"type": ["string", "null"], "maxLength": 2000}, "context": {"type": ["string", "null"], "maxLength": 100}}},
      "AssetDeleteCheckRequest": {"type": "object", "additionalProperties": false, "required": ["resource", "paths"], "properties": {"resource": {"type": "string"}, "paths": {"type": "array", "minItems": 1, "maxItems": 1000, "uniqueItems": true, "items": {"type": "string"}}}},
      "AssetAccessSessionRequest": {"type": "object", "additionalProperties": false, "required": ["assetIds"], "properties": {"assetIds": {"type": "array", "minItems": 1, "maxItems": 500, "uniqueItems": true, "items": {"type": "string", "pattern": "^[a-f0-9-]{36}$"}}, "ttl": {"type": "integer", "minimum": 60, "maximum": 604800}}},
      "AssetUsageListEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"type": "object", "additionalProperties": false, "required": ["items", "total"], "properties": {"items": {"type": "array", "items": {"$ref": "#/components/schemas/AssetUsageData"}}, "total": {"type": "integer", "minimum": 0}}}}},
      "AssetUsageEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"type": "object", "additionalProperties": false, "required": ["usage"], "properties": {"usage": {"$ref": "#/components/schemas/AssetUsageData"}}}}},
      "AssetDeleteCheckEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"type": "object", "additionalProperties": false, "required": ["safe", "complete", "total", "assets"], "properties": {"safe": {"type": "boolean"}, "complete": {"type": "boolean"}, "total": {"type": "integer", "minimum": 0}, "assets": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["assetId", "path", "usages", "total"], "properties": {"assetId": {"type": "string"}, "path": {"type": "string"}, "usages": {"type": "array", "items": {"$ref": "#/components/schemas/AssetUsageData"}}, "total": {"type": "integer", "minimum": 1}}}}}}}},
      "AssetAccessSessionEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"type": "object", "additionalProperties": false, "required": ["id", "expiresAt", "assets"], "properties": {"id": {"type": "string", "pattern": "^[a-f0-9]{32}$"}, "expiresAt": {"type": "integer", "minimum": 0}, "assets": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["assetId", "resource", "path", "url"], "properties": {"assetId": {"type": "string"}, "resource": {"type": "string"}, "path": {"type": "string"}, "url": {"type": "string"}}}}}}}},
      "AssetMetadataEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"type": "object", "additionalProperties": false, "required": ["metadata"], "properties": {"metadata": {"$ref": "#/components/schemas/AssetMetadata"}}}}},
      "MutationRequest": {"oneOf": [{"$ref": "#/components/schemas/EntryPathRequest"}, {"$ref": "#/components/schemas/EntryNameRequest"}, {"$ref": "#/components/schemas/TransferRequest"}, {"$ref": "#/components/schemas/BatchRequest"}, {"$ref": "#/components/schemas/BatchRenameRequest"}, {"$ref": "#/components/schemas/TrashRequest"}, {"$ref": "#/components/schemas/ArchiveRequest"}, {"$ref": "#/components/schemas/MetadataRequest"}]},
      "UploadRequest": {"type": "object", "additionalProperties": false, "required": ["resource", "path", "upload"], "properties": {"resource": {"type": "string"}, "path": {"type": "string"}, "overwrite": {"enum": ["0", "1"]}, "autoRename": {"enum": ["0", "1"]}, "upload": {"type": "string", "contentEncoding": "binary"}}},
      "ChunkUploadRequest": {"type": "object", "additionalProperties": false, "required": ["resource", "path", "name", "uploadId", "index", "total", "chunk"], "properties": {"resource": {"type": "string"}, "path": {"type": "string"}, "name": {"type": "string"}, "uploadId": {"type": "string"}, "index": {"type": "integer", "minimum": 0}, "total": {"type": "integer", "minimum": 1, "maximum": 1000}, "overwrite": {"enum": ["0", "1"]}, "autoRename": {"enum": ["0", "1"]}, "chunk": {"type": "string", "contentEncoding": "binary"}}},
      "ChunkStatusData": {"type": "object", "additionalProperties": false, "required": ["id", "total", "resource", "path", "name", "overwrite", "autoRename", "workspace", "received", "complete", "updatedAt"], "properties": {"id": {"type": "string", "pattern": "^[A-Za-z0-9_-]{16,80}$"}, "total": {"type": "integer", "minimum": 1}, "resource": {"type": "string"}, "path": {"type": "string"}, "name": {"type": "string"}, "overwrite": {"type": "boolean"}, "autoRename": {"type": "boolean"}, "workspace": {"type": "string"}, "received": {"type": "array", "uniqueItems": true, "items": {"type": "integer", "minimum": 0}}, "complete": {"type": "boolean"}, "updatedAt": {"type": "integer", "minimum": 0}}},
      "ChunkUploadEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"oneOf": [{"type": "object", "additionalProperties": false, "required": ["complete"], "properties": {"complete": {"const": false}}}, {"type": "object", "additionalProperties": false, "required": ["complete", "entry", "asset"], "properties": {"complete": {"const": true}, "entry": {"$ref": "#/components/schemas/Entry"}, "asset": {"oneOf": [{"$ref": "#/components/schemas/AssetReference"}, {"type": "null"}]}}}]}}},
      "ChunkStatusEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/ChunkStatusData"}}},
      "EmptyEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/EmptyData"}}},
      "TrashItem": {"type": "object", "additionalProperties": false, "required": ["id", "resource", "path", "directory", "size", "deletedAt", "expiresAt"], "properties": {"id": {"type": "string"}, "resource": {"type": "string"}, "path": {"type": "string"}, "directory": {"type": "boolean"}, "size": {"type": "integer", "minimum": 0}, "deletedAt": {"type": "integer", "minimum": 0}, "expiresAt": {"type": "integer", "minimum": 0}}},
      "DeleteData": {"type": "object", "additionalProperties": false, "required": ["trash"], "properties": {"trash": {"oneOf": [{"$ref": "#/components/schemas/TrashItem"}, {"type": "null"}]}}},
      "TrashListData": {"type": "object", "additionalProperties": false, "required": ["items", "total", "offset", "limit", "usedItems", "usedBytes", "maxItems", "maxBytes"], "properties": {"items": {"type": "array", "items": {"$ref": "#/components/schemas/TrashItem"}}, "total": {"type": "integer", "minimum": 0}, "offset": {"type": "integer", "minimum": 0}, "limit": {"type": "integer", "minimum": 1}, "usedItems": {"type": "integer", "minimum": 0}, "usedBytes": {"type": "integer", "minimum": 0}, "maxItems": {"type": "integer", "minimum": 0}, "maxBytes": {"type": "integer", "minimum": 0}}},
      "ImageInfoData": {"type": "object", "additionalProperties": false, "required": ["width", "height"], "properties": {"width": {"type": "integer", "minimum": 1}, "height": {"type": "integer", "minimum": 1}}},
      "ImageDimensionsAndSize": {"type": "object", "additionalProperties": false, "required": ["width", "height", "size"], "properties": {"width": {"type": "integer", "minimum": 1}, "height": {"type": "integer", "minimum": 1}, "size": {"type": "integer", "minimum": 0}}},
      "ImageEditData": {"type": "object", "additionalProperties": false, "required": ["entry", "original", "result"], "properties": {"entry": {"$ref": "#/components/schemas/Entry"}, "original": {"$ref": "#/components/schemas/ImageDimensionsAndSize"}, "result": {"$ref": "#/components/schemas/ImageDimensionsAndSize"}}},
      "ImageBatchData": {"type": "object", "additionalProperties": false, "required": ["total", "succeeded", "failed", "items"], "properties": {"total": {"type": "integer", "minimum": 0}, "succeeded": {"type": "integer", "minimum": 0}, "failed": {"type": "integer", "minimum": 0}, "items": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["path", "success"], "properties": {"path": {"type": "string"}, "success": {"type": "boolean"}, "entry": {"$ref": "#/components/schemas/Entry"}, "error": {"type": "object", "additionalProperties": false, "required": ["code", "message"], "properties": {"code": {"type": "string"}, "message": {"type": "string"}}}}}}}},
      "EntryResultEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/EntryResult"}}},
      "EntryListEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/EntryList"}}},
      "DeleteEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/DeleteData"}}},
      "BatchEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/BatchData"}}},
      "HealthEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/HealthData"}}},
      "SecurityStatusEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/SecurityStatusData"}}},
      "SignedUrlEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/SignedUrlData"}}},
      "ChecksumEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/ChecksumData"}}},
      "TextPreviewEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/TextPreviewData"}}},
      "TrashListEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/TrashListData"}}},
      "ImageInfoEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/ImageInfoData"}}},
      "ImageEditEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"oneOf": [{"$ref": "#/components/schemas/ImageEditData"}, {"$ref": "#/components/schemas/EntryResult"}]}}},
      "ImageBatchEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/ImageBatchData"}}},
      "MetadataEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/MetadataData"}}},
      "CkeditorUploadRequest": {"type": "object", "additionalProperties": false, "required": ["upload"], "properties": {"upload": {"type": "string", "contentEncoding": "binary"}, "CKEditor": {"type": "string"}, "CKEditorFuncNum": {"type": "integer"}, "langCode": {"type": "string"}}},
      "CkeditorUploadResponse": {"type": "object", "additionalProperties": false, "required": ["uploaded"], "properties": {"uploaded": {"type": "integer", "enum": [0, 1]}, "fileName": {"type": "string"}, "url": {"type": "string"}, "error": {"type": "object", "additionalProperties": false, "required": ["message"], "properties": {"message": {"type": "string"}}}}},
      "ImageSave": {"type": "object", "additionalProperties": false, "required": ["mode"], "properties": {"mode": {"enum": ["copy", "overwrite"]}, "name": {"type": "string"}}},
      "ImageEditRequest": {"type": "object", "additionalProperties": false, "required": ["resource", "path", "actions", "save"], "properties": {"resource": {"type": "string", "minLength": 1}, "path": {"type": "string", "minLength": 1}, "actions": {"$ref": "#/components/schemas/ImageActions"}, "save": {"$ref": "#/components/schemas/ImageSave"}}},
      "ImageBatchRequest": {"type": "object", "additionalProperties": false, "required": ["resource", "paths", "actions", "save"], "properties": {"resource": {"type": "string", "minLength": 1}, "paths": {"type": "array", "minItems": 1, "maxItems": 100, "uniqueItems": true, "items": {"type": "string", "minLength": 1}}, "actions": {"$ref": "#/components/schemas/ImageActions"}, "save": {"$ref": "#/components/schemas/ImageSave"}}}
      ,"LivenessEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"type": "object", "additionalProperties": false, "required": ["status"], "properties": {"status": {"const": "ready"}}}}}
      ,"DocumentPreviewJobRequest": {"type": "object", "additionalProperties": false, "required": ["resource", "path"], "properties": {"resource": {"type": "string", "minLength": 1}, "path": {"type": "string", "minLength": 1}, "retry": {"type": "boolean", "default": false}}}
      ,"DocumentPreviewJobData": {"type": "object", "additionalProperties": false, "required": ["id", "status", "retryAfter", "error", "source", "key", "resource", "path", "previewUrl", "mode", "cached", "createdAt", "startedAt", "updatedAt", "finishedAt", "durationMilliseconds"], "properties": {"id": {"type": "string", "pattern": "^(?:[a-f0-9]{48})?$"}, "status": {"enum": ["queued", "running", "ready", "failed", "expired"]}, "retryAfter": {"type": "integer", "minimum": 0}, "error": {"oneOf": [{"type": "null"}, {"type": "object", "additionalProperties": false, "required": ["code", "message"], "properties": {"code": {"type": "string"}, "message": {"type": "string"}}}]}, "source": {"enum": ["pdf", "office"]}, "key": {"type": "string", "pattern": "^[a-f0-9]{64}$"}, "resource": {"type": "string"}, "path": {"type": "string"}, "previewUrl": {"type": ["string", "null"]}, "mode": {"enum": ["inline", "messenger"]}, "cached": {"type": "boolean"}, "createdAt": {"type": "integer"}, "startedAt": {"type": ["integer", "null"]}, "updatedAt": {"type": "integer"}, "finishedAt": {"type": ["integer", "null"]}, "durationMilliseconds": {"type": ["integer", "null"], "minimum": 0}}}
      ,"DocumentPreviewJobEnvelope": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/DocumentPreviewJobData"}}}
    },
    "responses": {
      "Success": {"description": "Successful SoFinder envelope", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SuccessEnvelope"}}}},
      "Error": {"description": "Stable machine-readable error envelope", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorEnvelope"}}}},
      "AssetSearch": {"description": "Bounded workspace-authorized asset search", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssetSearchEnvelope"}}}},
      "AssetUsageList": {"description": "Registered host content references", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssetUsageListEnvelope"}}}},
      "AssetUsage": {"description": "Registered asset usage reference", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssetUsageEnvelope"}}}},
      "AssetDeleteCheck": {"description": "Asset usage-aware deletion preflight", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssetDeleteCheckEnvelope"}}}},
      "AssetAccessSession": {"description": "Revocable revision-bound private asset session", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssetAccessSessionEnvelope"}}}},
      "DocumentPreviewJob": {"description": "Idempotent document preview job state", "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 1}}}, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DocumentPreviewJobEnvelope"}}}}
      ,"Asset": {"description": "Stable editor-facing asset reference", "content": {"application/json": {"schema": {"type": "object", "additionalProperties": false, "required": ["success", "data"], "properties": {"success": {"const": true}, "data": {"$ref": "#/components/schemas/AssetResult"}}}}}}
      ,"AssetMetadata": {"description": "Updated versioned asset metadata", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssetMetadataEnvelope"}}}}
      ,"ChunkUpload": {"description": "Incomplete chunk acknowledgement or completed upload result", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ChunkUploadEnvelope"}}}}
      ,"ChunkStatus": {"description": "Workspace-bound resumable upload session", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ChunkStatusEnvelope"}}}}
      ,"Empty": {"description": "Successful operation with no result fields", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EmptyEnvelope"}}}}
      ,"Health": {"description": "Readiness status and bounded dependency checks", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HealthEnvelope"}}}}
      ,"SecurityStatus": {"description": "Operational malware and document preview status", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SecurityStatusEnvelope"}}}}
      ,"EntryList": {"description": "Typed directory listing", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EntryListEnvelope"}}}}
      ,"EntryResult": {"description": "Typed entry and optional editor asset", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EntryResultEnvelope"}}}}
      ,"DeleteResult": {"description": "Deletion and optional recoverable trash record", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DeleteEnvelope"}}}}
      ,"BatchResult": {"description": "Bounded batch operation result", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BatchEnvelope"}}}}
      ,"SignedUrl": {"description": "Short-lived revision-bound delivery URL", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SignedUrlEnvelope"}}}}
      ,"Checksum": {"description": "SHA-256 checksum", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ChecksumEnvelope"}}}}
      ,"TextPreview": {"description": "Bounded read-only text preview", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TextPreviewEnvelope"}}}}
      ,"TrashList": {"description": "Paginated trash records and quota use", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TrashListEnvelope"}}}}
      ,"ImageInfo": {"description": "Decoded image dimensions", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageInfoEnvelope"}}}}
      ,"ImageEditResult": {"description": "Processed image result", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageEditEnvelope"}}}}
      ,"ImageBatchResult": {"description": "Batch image processing result", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImageBatchEnvelope"}}}}
      ,"Metadata": {"description": "User-scoped file metadata", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MetadataEnvelope"}}}}
    }
  }
}
