{ "openapi": "3.0.0", "paths": { "/album": { "get": { "operationId": "getAllAlbums", "parameters": [ { "name": "shared", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "assetId", "required": false, "in": "query", "description": "Only returns albums that contain the asset\nIgnores the shared parameter\nundefined: get all albums", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AlbumResponseDto" } } } } } }, "tags": [ "Album" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "post": { "operationId": "createAlbum", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAlbumDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlbumResponseDto" } } } } }, "tags": [ "Album" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/album/count": { "get": { "operationId": "getAlbumCount", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlbumCountResponseDto" } } } } }, "tags": [ "Album" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/album/{id}": { "patch": { "operationId": "updateAlbumInfo", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAlbumDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlbumResponseDto" } } } } }, "tags": [ "Album" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "delete": { "operationId": "deleteAlbum", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Album" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "get": { "operationId": "getAlbumInfo", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } }, { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlbumResponseDto" } } } } }, "tags": [ "Album" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/album/{id}/assets": { "put": { "operationId": "addAssetsToAlbum", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } }, { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddAssetsDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddAssetsResponseDto" } } } } }, "tags": [ "Album" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "delete": { "operationId": "removeAssetFromAlbum", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RemoveAssetsDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlbumResponseDto" } } } } }, "tags": [ "Album" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/album/{id}/user/{userId}": { "delete": { "operationId": "removeUserFromAlbum", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } }, { "name": "userId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Album" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/album/{id}/users": { "put": { "operationId": "addUsersToAlbum", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddUsersDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlbumResponseDto" } } } } }, "tags": [ "Album" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/api-key": { "post": { "operationId": "createKey", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIKeyCreateDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIKeyCreateResponseDto" } } } } }, "tags": [ "API Key" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "get": { "operationId": "getKeys", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/APIKeyResponseDto" } } } } } }, "tags": [ "API Key" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/api-key/{id}": { "get": { "operationId": "getKey", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIKeyResponseDto" } } } } }, "tags": [ "API Key" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "put": { "operationId": "updateKey", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIKeyUpdateDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIKeyResponseDto" } } } } }, "tags": [ "API Key" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "delete": { "operationId": "deleteKey", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "API Key" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset": { "get": { "operationId": "getAllAssets", "description": "Get all AssetEntity belong to the user", "parameters": [ { "name": "userId", "required": false, "in": "query", "schema": { "format": "uuid", "type": "string" } }, { "name": "isFavorite", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "isArchived", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "withoutThumbs", "required": false, "in": "query", "description": "Include assets without thumbnails", "schema": { "type": "boolean" } }, { "name": "skip", "required": false, "in": "query", "schema": { "type": "number" } }, { "name": "if-none-match", "in": "header", "description": "ETag of data already cached on the client", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AssetResponseDto" } } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "delete": { "operationId": "deleteAsset", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteAssetDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DeleteAssetResponseDto" } } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/assetById/{id}": { "get": { "operationId": "getAssetById", "description": "Get a single asset's information", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } }, { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetResponseDto" } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/bulk-upload-check": { "post": { "operationId": "bulkUploadCheck", "description": "Checks if assets exist by checksums", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetBulkUploadCheckDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetBulkUploadCheckResponseDto" } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/check": { "post": { "operationId": "checkDuplicateAsset", "description": "Check duplicated asset before uploading - for Web upload used", "parameters": [ { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CheckDuplicateAssetDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CheckDuplicateAssetResponseDto" } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/count-by-time-bucket": { "post": { "operationId": "getAssetCountByTimeBucket", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAssetCountByTimeBucketDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetCountByTimeBucketResponseDto" } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/count-by-user-id": { "get": { "operationId": "getAssetCountByUserId", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetCountByUserIdResponseDto" } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/curated-locations": { "get": { "operationId": "getCuratedLocations", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CuratedLocationsResponseDto" } } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/curated-objects": { "get": { "operationId": "getCuratedObjects", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CuratedObjectsResponseDto" } } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/download": { "get": { "operationId": "getDownloadInfo", "parameters": [ { "name": "assetIds", "required": false, "in": "query", "schema": { "format": "uuid", "type": "array", "items": { "type": "string" } } }, { "name": "albumId", "required": false, "in": "query", "schema": { "format": "uuid", "type": "string" } }, { "name": "userId", "required": false, "in": "query", "schema": { "format": "uuid", "type": "string" } }, { "name": "archiveSize", "required": false, "in": "query", "schema": { "type": "number" } }, { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DownloadResponseDto" } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "post": { "operationId": "downloadArchive", "parameters": [ { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetIdsDto" } } } }, "responses": { "200": { "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } }, "description": "" } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/download/{id}": { "post": { "operationId": "downloadFile", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } }, { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } }, "description": "" } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/exist": { "post": { "operationId": "checkExistingAssets", "description": "Checks if multiple assets exist on the server and returns all existing - used by background backup", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CheckExistingAssetsDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CheckExistingAssetsResponseDto" } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/file/{id}": { "get": { "operationId": "serveFile", "parameters": [ { "name": "isThumb", "required": false, "in": "query", "schema": { "title": "Is serve thumbnail (resize) file", "type": "boolean" } }, { "name": "isWeb", "required": false, "in": "query", "schema": { "title": "Is request made from web", "type": "boolean" } }, { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } }, { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } }, "description": "" } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/import": { "post": { "operationId": "importFile", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImportAssetDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetFileUploadResponseDto" } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/map-marker": { "get": { "operationId": "getMapMarkers", "parameters": [ { "name": "isFavorite", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "fileCreatedAfter", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "fileCreatedBefore", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/MapMarkerResponseDto" } } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/memory-lane": { "get": { "operationId": "getMemoryLane", "parameters": [ { "name": "timestamp", "required": true, "in": "query", "description": "Get pictures for +24 hours from this time going back x years", "schema": { "format": "date-time", "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/MemoryLaneResponseDto" } } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/search": { "post": { "operationId": "searchAsset", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchAssetDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AssetResponseDto" } } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/search-terms": { "get": { "operationId": "getAssetSearchTerms", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/stat/archive": { "get": { "operationId": "getArchivedAssetCountByUserId", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetCountByUserIdResponseDto" } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/thumbnail/{id}": { "get": { "operationId": "getAssetThumbnail", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } }, { "name": "format", "required": false, "in": "query", "schema": { "$ref": "#/components/schemas/ThumbnailFormat" } }, { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "image/jpeg": { "schema": { "type": "string", "format": "binary" } }, "image/webp": { "schema": { "type": "string", "format": "binary" } } }, "description": "" } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/time-bucket": { "post": { "operationId": "getAssetByTimeBucket", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAssetByTimeBucketDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AssetResponseDto" } } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/upload": { "post": { "operationId": "uploadFile", "parameters": [ { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "requestBody": { "required": true, "description": "Asset Upload Information", "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/CreateAssetDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetFileUploadResponseDto" } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/{deviceId}": { "get": { "operationId": "getUserAssetsByDeviceId", "description": "Get all asset of a device that are in the database, ID only.", "parameters": [ { "name": "deviceId", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/asset/{id}": { "put": { "operationId": "updateAsset", "description": "Update an asset", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAssetDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetResponseDto" } } } } }, "tags": [ "Asset" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/auth/admin-sign-up": { "post": { "operationId": "adminSignUp", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SignUpDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminSignupResponseDto" } } } }, "400": { "description": "The server already has an admin" } }, "tags": [ "Authentication" ] } }, "/auth/change-password": { "post": { "operationId": "changePassword", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChangePasswordDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } } } }, "tags": [ "Authentication" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/auth/devices": { "get": { "operationId": "getAuthDevices", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AuthDeviceResponseDto" } } } } } }, "tags": [ "Authentication" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "delete": { "operationId": "logoutAuthDevices", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "Authentication" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/auth/devices/{id}": { "delete": { "operationId": "logoutAuthDevice", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Authentication" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/auth/login": { "post": { "operationId": "login", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginCredentialDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginResponseDto" } } } } }, "tags": [ "Authentication" ] } }, "/auth/logout": { "post": { "operationId": "logout", "parameters": [], "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogoutResponseDto" } } } } }, "tags": [ "Authentication" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/auth/validateToken": { "post": { "operationId": "validateAccessToken", "parameters": [], "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateAccessTokenResponseDto" } } } } }, "tags": [ "Authentication" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/jobs": { "get": { "operationId": "getAllJobsStatus", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AllJobStatusResponseDto" } } } } }, "tags": [ "Job" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/jobs/{id}": { "put": { "operationId": "sendJobCommand", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "$ref": "#/components/schemas/JobName" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JobCommandDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JobStatusDto" } } } } }, "tags": [ "Job" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/oauth/callback": { "post": { "operationId": "callback", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthCallbackDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginResponseDto" } } } } }, "tags": [ "OAuth" ] } }, "/oauth/config": { "post": { "operationId": "generateConfig", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthConfigDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthConfigResponseDto" } } } } }, "tags": [ "OAuth" ] } }, "/oauth/link": { "post": { "operationId": "link", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthCallbackDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } } } }, "tags": [ "OAuth" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/oauth/mobile-redirect": { "get": { "operationId": "mobileRedirect", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "OAuth" ] } }, "/oauth/unlink": { "post": { "operationId": "unlink", "parameters": [], "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } } } }, "tags": [ "OAuth" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/partner": { "get": { "operationId": "getPartners", "parameters": [ { "name": "direction", "required": true, "in": "query", "schema": { "enum": [ "shared-by", "shared-with" ], "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UserResponseDto" } } } } } }, "tags": [ "Partner" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/partner/{id}": { "post": { "operationId": "createPartner", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } } } }, "tags": [ "Partner" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "delete": { "operationId": "removePartner", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Partner" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/person": { "get": { "operationId": "getAllPeople", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PersonResponseDto" } } } } } }, "tags": [ "Person" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/person/{id}": { "get": { "operationId": "getPerson", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonResponseDto" } } } } }, "tags": [ "Person" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "put": { "operationId": "updatePerson", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonUpdateDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonResponseDto" } } } } }, "tags": [ "Person" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/person/{id}/assets": { "get": { "operationId": "getPersonAssets", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AssetResponseDto" } } } } } }, "tags": [ "Person" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/person/{id}/thumbnail": { "get": { "operationId": "getPersonThumbnail", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "image/jpeg": { "schema": { "type": "string", "format": "binary" } } }, "description": "" } }, "tags": [ "Person" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/search": { "get": { "operationId": "search", "parameters": [ { "name": "q", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "query", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "clip", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "type", "required": false, "in": "query", "schema": { "enum": [ "IMAGE", "VIDEO", "AUDIO", "OTHER" ], "type": "string" } }, { "name": "isFavorite", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "isArchived", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "exifInfo.city", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "exifInfo.state", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "exifInfo.country", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "exifInfo.make", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "exifInfo.model", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "smartInfo.objects", "required": false, "in": "query", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "smartInfo.tags", "required": false, "in": "query", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "recent", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "motion", "required": false, "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchResponseDto" } } } } }, "tags": [ "Search" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/search/config": { "get": { "operationId": "getSearchConfig", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchConfigResponseDto" } } } } }, "tags": [ "Search" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/search/explore": { "get": { "operationId": "getExploreData", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SearchExploreResponseDto" } } } } } }, "tags": [ "Search" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/server-info": { "get": { "operationId": "getServerInfo", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerInfoResponseDto" } } } } }, "tags": [ "Server Info" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/server-info/ping": { "get": { "operationId": "pingServer", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerPingResponse" } } } } }, "tags": [ "Server Info" ] } }, "/server-info/stats": { "get": { "operationId": "getStats", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerStatsResponseDto" } } } } }, "tags": [ "Server Info" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/server-info/version": { "get": { "operationId": "getServerVersion", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerVersionReponseDto" } } } } }, "tags": [ "Server Info" ] } }, "/shared-link": { "get": { "operationId": "getAllSharedLinks", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SharedLinkResponseDto" } } } } } }, "tags": [ "Shared Link" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "post": { "operationId": "createSharedLink", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SharedLinkCreateDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SharedLinkResponseDto" } } } } }, "tags": [ "Shared Link" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/shared-link/me": { "get": { "operationId": "getMySharedLink", "parameters": [ { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SharedLinkResponseDto" } } } } }, "tags": [ "Shared Link" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/shared-link/{id}": { "get": { "operationId": "getSharedLinkById", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SharedLinkResponseDto" } } } } }, "tags": [ "Shared Link" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "patch": { "operationId": "updateSharedLink", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SharedLinkEditDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SharedLinkResponseDto" } } } } }, "tags": [ "Shared Link" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "delete": { "operationId": "removeSharedLink", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Shared Link" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/shared-link/{id}/assets": { "put": { "operationId": "addSharedLinkAssets", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } }, { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetIdsDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AssetIdsResponseDto" } } } } } }, "tags": [ "Shared Link" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "delete": { "operationId": "removeSharedLinkAssets", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } }, { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetIdsDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AssetIdsResponseDto" } } } } } }, "tags": [ "Shared Link" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/system-config": { "get": { "operationId": "getConfig", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemConfigDto" } } } } }, "tags": [ "System Config" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "put": { "operationId": "updateConfig", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemConfigDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemConfigDto" } } } } }, "tags": [ "System Config" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/system-config/defaults": { "get": { "operationId": "getDefaults", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemConfigDto" } } } } }, "tags": [ "System Config" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/system-config/storage-template-options": { "get": { "operationId": "getStorageTemplateOptions", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemConfigTemplateStorageOptionDto" } } } } }, "tags": [ "System Config" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/tag": { "post": { "operationId": "createTag", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTagDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TagResponseDto" } } } } }, "tags": [ "Tag" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "get": { "operationId": "getAllTags", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TagResponseDto" } } } } } }, "tags": [ "Tag" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/tag/{id}": { "get": { "operationId": "getTagById", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TagResponseDto" } } } } }, "tags": [ "Tag" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "patch": { "operationId": "updateTag", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTagDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TagResponseDto" } } } } }, "tags": [ "Tag" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "delete": { "operationId": "deleteTag", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Tag" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/tag/{id}/assets": { "get": { "operationId": "getTagAssets", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AssetResponseDto" } } } } } }, "tags": [ "Tag" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "put": { "operationId": "tagAssets", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetIdsDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AssetIdsResponseDto" } } } } } }, "tags": [ "Tag" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "delete": { "operationId": "untagAssets", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetIdsDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AssetIdsResponseDto" } } } } } }, "tags": [ "Tag" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/user": { "get": { "operationId": "getAllUsers", "parameters": [ { "name": "isAll", "required": true, "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UserResponseDto" } } } } } }, "tags": [ "User" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "post": { "operationId": "createUser", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateUserDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } } } }, "tags": [ "User" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] }, "put": { "operationId": "updateUser", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateUserDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } } } }, "tags": [ "User" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/user/count": { "get": { "operationId": "getUserCount", "parameters": [ { "name": "admin", "required": false, "in": "query", "schema": { "default": false, "type": "boolean" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserCountResponseDto" } } } } }, "tags": [ "User" ] } }, "/user/info/{userId}": { "get": { "operationId": "getUserById", "parameters": [ { "name": "userId", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } } } }, "tags": [ "User" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/user/me": { "get": { "operationId": "getMyUserInfo", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } } } }, "tags": [ "User" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/user/profile-image": { "post": { "operationId": "createProfileImage", "parameters": [], "requestBody": { "required": true, "description": "A new avatar for the user", "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/CreateProfileImageDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateProfileImageResponseDto" } } } } }, "tags": [ "User" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/user/profile-image/{userId}": { "get": { "operationId": "getProfileImage", "parameters": [ { "name": "userId", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object" } } } } }, "tags": [ "User" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/user/{userId}": { "delete": { "operationId": "deleteUser", "parameters": [ { "name": "userId", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } } } }, "tags": [ "User" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } }, "/user/{userId}/restore": { "post": { "operationId": "restoreUser", "parameters": [ { "name": "userId", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } } } }, "tags": [ "User" ], "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ] } } }, "info": { "title": "Immich", "description": "Immich API", "version": "1.66.1", "contact": {} }, "tags": [], "servers": [ { "url": "/api" } ], "components": { "securitySchemes": { "bearer": { "scheme": "Bearer", "bearerFormat": "JWT", "type": "http", "in": "header" }, "cookie": { "type": "apiKey", "in": "cookie", "name": "immich_access_token" }, "api_key": { "type": "apiKey", "in": "header", "name": "x-api-key" } }, "schemas": { "APIKeyCreateDto": { "type": "object", "properties": { "name": { "type": "string" } } }, "APIKeyCreateResponseDto": { "type": "object", "properties": { "secret": { "type": "string" }, "apiKey": { "$ref": "#/components/schemas/APIKeyResponseDto" } }, "required": [ "secret", "apiKey" ] }, "APIKeyResponseDto": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string" }, "updatedAt": { "format": "date-time", "type": "string" } }, "required": [ "id", "name", "createdAt", "updatedAt" ] }, "APIKeyUpdateDto": { "type": "object", "properties": { "name": { "type": "string" } }, "required": [ "name" ] }, "AddAssetsDto": { "type": "object", "properties": { "assetIds": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "required": [ "assetIds" ] }, "AddAssetsResponseDto": { "type": "object", "properties": { "successfullyAdded": { "type": "integer" }, "alreadyInAlbum": { "type": "array", "items": { "type": "string" } }, "album": { "$ref": "#/components/schemas/AlbumResponseDto" } }, "required": [ "successfullyAdded", "alreadyInAlbum" ] }, "AddUsersDto": { "type": "object", "properties": { "sharedUserIds": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "required": [ "sharedUserIds" ] }, "AdminSignupResponseDto": { "type": "object", "properties": { "id": { "type": "string" }, "email": { "type": "string" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string" } }, "required": [ "id", "email", "firstName", "lastName", "createdAt" ] }, "AlbumCountResponseDto": { "type": "object", "properties": { "owned": { "type": "integer" }, "shared": { "type": "integer" }, "notShared": { "type": "integer" } }, "required": [ "owned", "shared", "notShared" ] }, "AlbumResponseDto": { "type": "object", "properties": { "assetCount": { "type": "integer" }, "id": { "type": "string" }, "ownerId": { "type": "string" }, "albumName": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string" }, "updatedAt": { "format": "date-time", "type": "string" }, "albumThumbnailAssetId": { "type": "string", "nullable": true }, "shared": { "type": "boolean" }, "sharedUsers": { "type": "array", "items": { "$ref": "#/components/schemas/UserResponseDto" } }, "assets": { "type": "array", "items": { "$ref": "#/components/schemas/AssetResponseDto" } }, "owner": { "$ref": "#/components/schemas/UserResponseDto" }, "lastModifiedAssetTimestamp": { "format": "date-time", "type": "string" } }, "required": [ "assetCount", "id", "ownerId", "albumName", "createdAt", "updatedAt", "albumThumbnailAssetId", "shared", "sharedUsers", "assets", "owner" ] }, "AllJobStatusResponseDto": { "type": "object", "properties": { "thumbnailGeneration": { "$ref": "#/components/schemas/JobStatusDto" }, "metadataExtraction": { "$ref": "#/components/schemas/JobStatusDto" }, "videoConversion": { "$ref": "#/components/schemas/JobStatusDto" }, "objectTagging": { "$ref": "#/components/schemas/JobStatusDto" }, "clipEncoding": { "$ref": "#/components/schemas/JobStatusDto" }, "storageTemplateMigration": { "$ref": "#/components/schemas/JobStatusDto" }, "backgroundTask": { "$ref": "#/components/schemas/JobStatusDto" }, "search": { "$ref": "#/components/schemas/JobStatusDto" }, "recognizeFaces": { "$ref": "#/components/schemas/JobStatusDto" }, "sidecar": { "$ref": "#/components/schemas/JobStatusDto" } }, "required": [ "thumbnailGeneration", "metadataExtraction", "videoConversion", "objectTagging", "clipEncoding", "storageTemplateMigration", "backgroundTask", "search", "recognizeFaces", "sidecar" ] }, "AssetBulkUploadCheckDto": { "type": "object", "properties": { "assets": { "type": "array", "items": { "$ref": "#/components/schemas/AssetBulkUploadCheckItem" } } }, "required": [ "assets" ] }, "AssetBulkUploadCheckItem": { "type": "object", "properties": { "id": { "type": "string" }, "checksum": { "type": "string", "description": "base64 or hex encoded sha1 hash" } }, "required": [ "id", "checksum" ] }, "AssetBulkUploadCheckResponseDto": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/AssetBulkUploadCheckResult" } } }, "required": [ "results" ] }, "AssetBulkUploadCheckResult": { "type": "object", "properties": { "id": { "type": "string" }, "action": { "type": "string", "enum": [ "accept", "reject" ] }, "reason": { "type": "string", "enum": [ "duplicate", "unsupported-format" ] }, "assetId": { "type": "string" } }, "required": [ "id", "action" ] }, "AssetCountByTimeBucket": { "type": "object", "properties": { "timeBucket": { "type": "string" }, "count": { "type": "integer" } }, "required": [ "timeBucket", "count" ] }, "AssetCountByTimeBucketResponseDto": { "type": "object", "properties": { "totalCount": { "type": "integer" }, "buckets": { "type": "array", "items": { "$ref": "#/components/schemas/AssetCountByTimeBucket" } } }, "required": [ "totalCount", "buckets" ] }, "AssetCountByUserIdResponseDto": { "type": "object", "properties": { "audio": { "type": "integer", "default": 0 }, "photos": { "type": "integer", "default": 0 }, "videos": { "type": "integer", "default": 0 }, "other": { "type": "integer", "default": 0 }, "total": { "type": "integer", "default": 0 } }, "required": [ "audio", "photos", "videos", "other", "total" ] }, "AssetFileUploadResponseDto": { "type": "object", "properties": { "id": { "type": "string" }, "duplicate": { "type": "boolean" } }, "required": [ "id", "duplicate" ] }, "AssetIdsDto": { "type": "object", "properties": { "assetIds": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "required": [ "assetIds" ] }, "AssetIdsResponseDto": { "type": "object", "properties": { "assetId": { "type": "string" }, "success": { "type": "boolean" }, "error": { "enum": [ "duplicate", "no_permission", "not_found" ], "type": "string" } }, "required": [ "assetId", "success" ] }, "AssetResponseDto": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/AssetTypeEnum" }, "id": { "type": "string" }, "deviceAssetId": { "type": "string" }, "ownerId": { "type": "string" }, "deviceId": { "type": "string" }, "originalPath": { "type": "string" }, "originalFileName": { "type": "string" }, "resized": { "type": "boolean" }, "thumbhash": { "type": "string", "nullable": true, "description": "base64 encoded thumbhash" }, "fileCreatedAt": { "format": "date-time", "type": "string" }, "fileModifiedAt": { "format": "date-time", "type": "string" }, "updatedAt": { "format": "date-time", "type": "string" }, "isFavorite": { "type": "boolean" }, "isArchived": { "type": "boolean" }, "mimeType": { "type": "string", "nullable": true }, "duration": { "type": "string" }, "exifInfo": { "$ref": "#/components/schemas/ExifResponseDto" }, "smartInfo": { "$ref": "#/components/schemas/SmartInfoResponseDto" }, "livePhotoVideoId": { "type": "string", "nullable": true }, "tags": { "type": "array", "items": { "$ref": "#/components/schemas/TagResponseDto" } }, "people": { "type": "array", "items": { "$ref": "#/components/schemas/PersonResponseDto" } }, "checksum": { "type": "string", "description": "base64 encoded sha1 hash" } }, "required": [ "type", "id", "deviceAssetId", "ownerId", "deviceId", "originalPath", "originalFileName", "resized", "thumbhash", "fileCreatedAt", "fileModifiedAt", "updatedAt", "isFavorite", "isArchived", "mimeType", "duration", "checksum" ] }, "AssetTypeEnum": { "type": "string", "enum": [ "IMAGE", "VIDEO", "AUDIO", "OTHER" ] }, "AudioCodec": { "type": "string", "enum": [ "mp3", "aac", "opus" ] }, "AuthDeviceResponseDto": { "type": "object", "properties": { "id": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "current": { "type": "boolean" }, "deviceType": { "type": "string" }, "deviceOS": { "type": "string" } }, "required": [ "id", "createdAt", "updatedAt", "current", "deviceType", "deviceOS" ] }, "ChangePasswordDto": { "type": "object", "properties": { "password": { "type": "string", "example": "password" }, "newPassword": { "type": "string", "example": "password" } }, "required": [ "password", "newPassword" ] }, "CheckDuplicateAssetDto": { "type": "object", "properties": { "deviceAssetId": { "type": "string" }, "deviceId": { "type": "string" } }, "required": [ "deviceAssetId", "deviceId" ] }, "CheckDuplicateAssetResponseDto": { "type": "object", "properties": { "isExist": { "type": "boolean" }, "id": { "type": "string" } }, "required": [ "isExist" ] }, "CheckExistingAssetsDto": { "type": "object", "properties": { "deviceAssetIds": { "type": "array", "items": { "type": "string" } }, "deviceId": { "type": "string" } }, "required": [ "deviceAssetIds", "deviceId" ] }, "CheckExistingAssetsResponseDto": { "type": "object", "properties": { "existingIds": { "type": "array", "items": { "type": "string" } } }, "required": [ "existingIds" ] }, "CreateAlbumDto": { "type": "object", "properties": { "albumName": { "type": "string" }, "sharedWithUserIds": { "type": "array", "items": { "type": "string", "format": "uuid" } }, "assetIds": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "required": [ "albumName" ] }, "CreateAssetDto": { "type": "object", "properties": { "assetType": { "$ref": "#/components/schemas/AssetTypeEnum" }, "assetData": { "type": "string", "format": "binary" }, "livePhotoData": { "type": "string", "format": "binary" }, "sidecarData": { "type": "string", "format": "binary" }, "isReadOnly": { "type": "boolean", "default": false }, "fileExtension": { "type": "string" }, "deviceAssetId": { "type": "string" }, "deviceId": { "type": "string" }, "fileCreatedAt": { "format": "date-time", "type": "string" }, "fileModifiedAt": { "format": "date-time", "type": "string" }, "isFavorite": { "type": "boolean" }, "isArchived": { "type": "boolean" }, "isVisible": { "type": "boolean" }, "duration": { "type": "string" } }, "required": [ "assetType", "assetData", "fileExtension", "deviceAssetId", "deviceId", "fileCreatedAt", "fileModifiedAt", "isFavorite" ] }, "CreateProfileImageDto": { "type": "object", "properties": { "file": { "type": "string", "format": "binary" } }, "required": [ "file" ] }, "CreateProfileImageResponseDto": { "type": "object", "properties": { "userId": { "type": "string" }, "profileImagePath": { "type": "string" } }, "required": [ "userId", "profileImagePath" ] }, "CreateTagDto": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/TagTypeEnum" }, "name": { "type": "string" } }, "required": [ "type", "name" ] }, "CreateUserDto": { "type": "object", "properties": { "email": { "type": "string" }, "password": { "type": "string" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "storageLabel": { "type": "string", "nullable": true }, "externalPath": { "type": "string", "nullable": true } }, "required": [ "email", "password", "firstName", "lastName" ] }, "CuratedLocationsResponseDto": { "type": "object", "properties": { "id": { "type": "string" }, "city": { "type": "string" }, "resizePath": { "type": "string" }, "deviceAssetId": { "type": "string" }, "deviceId": { "type": "string" } }, "required": [ "id", "city", "resizePath", "deviceAssetId", "deviceId" ] }, "CuratedObjectsResponseDto": { "type": "object", "properties": { "id": { "type": "string" }, "object": { "type": "string" }, "resizePath": { "type": "string" }, "deviceAssetId": { "type": "string" }, "deviceId": { "type": "string" } }, "required": [ "id", "object", "resizePath", "deviceAssetId", "deviceId" ] }, "DeleteAssetDto": { "type": "object", "properties": { "ids": { "title": "Array of asset IDs to delete", "example": [ "bf973405-3f2a-48d2-a687-2ed4167164be", "dd41870b-5d00-46d2-924e-1d8489a0aa0f", "fad77c3f-deef-4e7e-9608-14c1aa4e559a" ], "type": "array", "items": { "type": "string" } } }, "required": [ "ids" ] }, "DeleteAssetResponseDto": { "type": "object", "properties": { "status": { "$ref": "#/components/schemas/DeleteAssetStatus" }, "id": { "type": "string" } }, "required": [ "status", "id" ] }, "DeleteAssetStatus": { "type": "string", "enum": [ "SUCCESS", "FAILED" ] }, "DownloadArchiveInfo": { "type": "object", "properties": { "size": { "type": "integer" }, "assetIds": { "type": "array", "items": { "type": "string" } } }, "required": [ "size", "assetIds" ] }, "DownloadResponseDto": { "type": "object", "properties": { "totalSize": { "type": "integer" }, "archives": { "type": "array", "items": { "$ref": "#/components/schemas/DownloadArchiveInfo" } } }, "required": [ "totalSize", "archives" ] }, "ExifResponseDto": { "type": "object", "properties": { "fileSizeInByte": { "type": "integer", "nullable": true, "default": null, "format": "int64" }, "make": { "type": "string", "nullable": true, "default": null }, "model": { "type": "string", "nullable": true, "default": null }, "exifImageWidth": { "type": "number", "nullable": true, "default": null }, "exifImageHeight": { "type": "number", "nullable": true, "default": null }, "orientation": { "type": "string", "nullable": true, "default": null }, "dateTimeOriginal": { "format": "date-time", "type": "string", "nullable": true, "default": null }, "modifyDate": { "format": "date-time", "type": "string", "nullable": true, "default": null }, "timeZone": { "type": "string", "nullable": true, "default": null }, "lensModel": { "type": "string", "nullable": true, "default": null }, "fNumber": { "type": "number", "nullable": true, "default": null }, "focalLength": { "type": "number", "nullable": true, "default": null }, "iso": { "type": "number", "nullable": true, "default": null }, "exposureTime": { "type": "string", "nullable": true, "default": null }, "latitude": { "type": "number", "nullable": true, "default": null }, "longitude": { "type": "number", "nullable": true, "default": null }, "city": { "type": "string", "nullable": true, "default": null }, "state": { "type": "string", "nullable": true, "default": null }, "country": { "type": "string", "nullable": true, "default": null }, "description": { "type": "string", "nullable": true, "default": null } } }, "GetAssetByTimeBucketDto": { "type": "object", "properties": { "timeBucket": { "title": "Array of date time buckets", "example": [ "2015-06-01T00:00:00.000Z", "2016-02-01T00:00:00.000Z", "2016-03-01T00:00:00.000Z" ], "type": "array", "items": { "type": "string" } }, "userId": { "type": "string", "format": "uuid" }, "withoutThumbs": { "type": "boolean", "description": "Include assets without thumbnails" } }, "required": [ "timeBucket" ] }, "GetAssetCountByTimeBucketDto": { "type": "object", "properties": { "timeGroup": { "$ref": "#/components/schemas/TimeGroupEnum" }, "userId": { "type": "string", "format": "uuid" }, "withoutThumbs": { "type": "boolean", "description": "Include assets without thumbnails" } }, "required": [ "timeGroup" ] }, "ImportAssetDto": { "type": "object", "properties": { "assetType": { "$ref": "#/components/schemas/AssetTypeEnum" }, "isReadOnly": { "type": "boolean", "default": true }, "assetPath": { "type": "string" }, "sidecarPath": { "type": "string" }, "deviceAssetId": { "type": "string" }, "deviceId": { "type": "string" }, "fileCreatedAt": { "format": "date-time", "type": "string" }, "fileModifiedAt": { "format": "date-time", "type": "string" }, "isFavorite": { "type": "boolean" }, "isArchived": { "type": "boolean" }, "isVisible": { "type": "boolean" }, "duration": { "type": "string" } }, "required": [ "assetType", "assetPath", "deviceAssetId", "deviceId", "fileCreatedAt", "fileModifiedAt", "isFavorite" ] }, "JobCommand": { "type": "string", "enum": [ "start", "pause", "resume", "empty" ] }, "JobCommandDto": { "type": "object", "properties": { "command": { "$ref": "#/components/schemas/JobCommand" }, "force": { "type": "boolean" } }, "required": [ "command", "force" ] }, "JobCountsDto": { "type": "object", "properties": { "active": { "type": "integer" }, "completed": { "type": "integer" }, "failed": { "type": "integer" }, "delayed": { "type": "integer" }, "waiting": { "type": "integer" }, "paused": { "type": "integer" } }, "required": [ "active", "completed", "failed", "delayed", "waiting", "paused" ] }, "JobName": { "type": "string", "enum": [ "thumbnailGeneration", "metadataExtraction", "videoConversion", "objectTagging", "recognizeFaces", "clipEncoding", "backgroundTask", "storageTemplateMigration", "search", "sidecar" ] }, "JobSettingsDto": { "type": "object", "properties": { "concurrency": { "type": "integer" } }, "required": [ "concurrency" ] }, "JobStatusDto": { "type": "object", "properties": { "jobCounts": { "$ref": "#/components/schemas/JobCountsDto" }, "queueStatus": { "$ref": "#/components/schemas/QueueStatusDto" } }, "required": [ "jobCounts", "queueStatus" ] }, "LoginCredentialDto": { "type": "object", "properties": { "email": { "type": "string", "example": "testuser@email.com" }, "password": { "type": "string", "example": "password" } }, "required": [ "email", "password" ] }, "LoginResponseDto": { "type": "object", "properties": { "accessToken": { "type": "string", "readOnly": true }, "userId": { "type": "string", "readOnly": true }, "userEmail": { "type": "string", "readOnly": true }, "firstName": { "type": "string", "readOnly": true }, "lastName": { "type": "string", "readOnly": true }, "profileImagePath": { "type": "string", "readOnly": true }, "isAdmin": { "type": "boolean", "readOnly": true }, "shouldChangePassword": { "type": "boolean", "readOnly": true } }, "required": [ "accessToken", "userId", "userEmail", "firstName", "lastName", "profileImagePath", "isAdmin", "shouldChangePassword" ] }, "LogoutResponseDto": { "type": "object", "properties": { "successful": { "type": "boolean" }, "redirectUri": { "type": "string" } }, "required": [ "successful", "redirectUri" ] }, "MapMarkerResponseDto": { "type": "object", "properties": { "id": { "type": "string" }, "lat": { "type": "number", "format": "double" }, "lon": { "type": "number", "format": "double" } }, "required": [ "id", "lat", "lon" ] }, "MemoryLaneResponseDto": { "type": "object", "properties": { "title": { "type": "string" }, "assets": { "type": "array", "items": { "$ref": "#/components/schemas/AssetResponseDto" } } }, "required": [ "title", "assets" ] }, "OAuthCallbackDto": { "type": "object", "properties": { "url": { "type": "string" } }, "required": [ "url" ] }, "OAuthConfigDto": { "type": "object", "properties": { "redirectUri": { "type": "string" } }, "required": [ "redirectUri" ] }, "OAuthConfigResponseDto": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "passwordLoginEnabled": { "type": "boolean" }, "url": { "type": "string" }, "buttonText": { "type": "string" }, "autoLaunch": { "type": "boolean" } }, "required": [ "enabled", "passwordLoginEnabled" ] }, "PersonResponseDto": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "thumbnailPath": { "type": "string" } }, "required": [ "id", "name", "thumbnailPath" ] }, "PersonUpdateDto": { "type": "object", "properties": { "name": { "type": "string", "description": "Person name." }, "featureFaceAssetId": { "type": "string", "description": "Asset is used to get the feature face thumbnail." } } }, "QueueStatusDto": { "type": "object", "properties": { "isActive": { "type": "boolean" }, "isPaused": { "type": "boolean" } }, "required": [ "isActive", "isPaused" ] }, "RemoveAssetsDto": { "type": "object", "properties": { "assetIds": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "required": [ "assetIds" ] }, "SearchAlbumResponseDto": { "type": "object", "properties": { "total": { "type": "integer" }, "count": { "type": "integer" }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/AlbumResponseDto" } }, "facets": { "type": "array", "items": { "$ref": "#/components/schemas/SearchFacetResponseDto" } } }, "required": [ "total", "count", "items", "facets" ] }, "SearchAssetDto": { "type": "object", "properties": { "searchTerm": { "type": "string" } }, "required": [ "searchTerm" ] }, "SearchAssetResponseDto": { "type": "object", "properties": { "total": { "type": "integer" }, "count": { "type": "integer" }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/AssetResponseDto" } }, "facets": { "type": "array", "items": { "$ref": "#/components/schemas/SearchFacetResponseDto" } } }, "required": [ "total", "count", "items", "facets" ] }, "SearchConfigResponseDto": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "required": [ "enabled" ] }, "SearchExploreItem": { "type": "object", "properties": { "value": { "type": "string" }, "data": { "$ref": "#/components/schemas/AssetResponseDto" } }, "required": [ "value", "data" ] }, "SearchExploreResponseDto": { "type": "object", "properties": { "fieldName": { "type": "string" }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/SearchExploreItem" } } }, "required": [ "fieldName", "items" ] }, "SearchFacetCountResponseDto": { "type": "object", "properties": { "count": { "type": "integer" }, "value": { "type": "string" } }, "required": [ "count", "value" ] }, "SearchFacetResponseDto": { "type": "object", "properties": { "fieldName": { "type": "string" }, "counts": { "type": "array", "items": { "$ref": "#/components/schemas/SearchFacetCountResponseDto" } } }, "required": [ "fieldName", "counts" ] }, "SearchResponseDto": { "type": "object", "properties": { "albums": { "$ref": "#/components/schemas/SearchAlbumResponseDto" }, "assets": { "$ref": "#/components/schemas/SearchAssetResponseDto" } }, "required": [ "albums", "assets" ] }, "ServerInfoResponseDto": { "type": "object", "properties": { "diskSizeRaw": { "type": "integer", "format": "int64" }, "diskUseRaw": { "type": "integer", "format": "int64" }, "diskAvailableRaw": { "type": "integer", "format": "int64" }, "diskUsagePercentage": { "type": "number", "format": "float" }, "diskSize": { "type": "string" }, "diskUse": { "type": "string" }, "diskAvailable": { "type": "string" } }, "required": [ "diskSizeRaw", "diskUseRaw", "diskAvailableRaw", "diskUsagePercentage", "diskSize", "diskUse", "diskAvailable" ] }, "ServerPingResponse": { "type": "object", "properties": { "res": { "type": "string", "readOnly": true, "example": "pong" } }, "required": [ "res" ] }, "ServerStatsResponseDto": { "type": "object", "properties": { "photos": { "type": "integer", "default": 0 }, "videos": { "type": "integer", "default": 0 }, "usage": { "type": "integer", "default": 0, "format": "int64" }, "usageByUser": { "default": [], "title": "Array of usage for each user", "example": [ { "photos": 1, "videos": 1, "diskUsageRaw": 1 } ], "type": "array", "items": { "$ref": "#/components/schemas/UsageByUserDto" } } }, "required": [ "photos", "videos", "usage", "usageByUser" ] }, "ServerVersionReponseDto": { "type": "object", "properties": { "major": { "type": "integer" }, "minor": { "type": "integer" }, "patch": { "type": "integer" } }, "required": [ "major", "minor", "patch" ] }, "SharedLinkCreateDto": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/SharedLinkType" }, "assetIds": { "type": "array", "items": { "type": "string", "format": "uuid" } }, "albumId": { "type": "string", "format": "uuid" }, "description": { "type": "string" }, "expiresAt": { "format": "date-time", "type": "string", "nullable": true, "default": null }, "allowUpload": { "type": "boolean", "default": false }, "allowDownload": { "type": "boolean", "default": true }, "showExif": { "type": "boolean", "default": true } }, "required": [ "type" ] }, "SharedLinkEditDto": { "type": "object", "properties": { "description": { "type": "string" }, "expiresAt": { "format": "date-time", "type": "string", "nullable": true }, "allowUpload": { "type": "boolean" }, "allowDownload": { "type": "boolean" }, "showExif": { "type": "boolean" } } }, "SharedLinkResponseDto": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/SharedLinkType" }, "id": { "type": "string" }, "description": { "type": "string", "nullable": true }, "userId": { "type": "string" }, "key": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string" }, "expiresAt": { "format": "date-time", "type": "string", "nullable": true }, "assets": { "type": "array", "items": { "$ref": "#/components/schemas/AssetResponseDto" } }, "album": { "$ref": "#/components/schemas/AlbumResponseDto" }, "allowUpload": { "type": "boolean" }, "allowDownload": { "type": "boolean" }, "showExif": { "type": "boolean" } }, "required": [ "type", "id", "description", "userId", "key", "createdAt", "expiresAt", "assets", "allowUpload", "allowDownload", "showExif" ] }, "SharedLinkType": { "type": "string", "enum": [ "ALBUM", "INDIVIDUAL" ] }, "SignUpDto": { "type": "object", "properties": { "email": { "type": "string", "example": "testuser@email.com" }, "password": { "type": "string", "example": "password" }, "firstName": { "type": "string", "example": "Admin" }, "lastName": { "type": "string", "example": "Doe" } }, "required": [ "email", "password", "firstName", "lastName" ] }, "SmartInfoResponseDto": { "type": "object", "properties": { "tags": { "nullable": true, "type": "array", "items": { "type": "string" } }, "objects": { "nullable": true, "type": "array", "items": { "type": "string" } } } }, "SystemConfigDto": { "type": "object", "properties": { "ffmpeg": { "$ref": "#/components/schemas/SystemConfigFFmpegDto" }, "oauth": { "$ref": "#/components/schemas/SystemConfigOAuthDto" }, "passwordLogin": { "$ref": "#/components/schemas/SystemConfigPasswordLoginDto" }, "storageTemplate": { "$ref": "#/components/schemas/SystemConfigStorageTemplateDto" }, "job": { "$ref": "#/components/schemas/SystemConfigJobDto" } }, "required": [ "ffmpeg", "oauth", "passwordLogin", "storageTemplate", "job" ] }, "SystemConfigFFmpegDto": { "type": "object", "properties": { "crf": { "type": "integer" }, "threads": { "type": "integer" }, "targetVideoCodec": { "$ref": "#/components/schemas/VideoCodec" }, "targetAudioCodec": { "$ref": "#/components/schemas/AudioCodec" }, "transcode": { "$ref": "#/components/schemas/TranscodePolicy" }, "preset": { "type": "string" }, "targetResolution": { "type": "string" }, "maxBitrate": { "type": "string" }, "twoPass": { "type": "boolean" } }, "required": [ "crf", "threads", "targetVideoCodec", "targetAudioCodec", "transcode", "preset", "targetResolution", "maxBitrate", "twoPass" ] }, "SystemConfigJobDto": { "type": "object", "properties": { "thumbnailGeneration": { "$ref": "#/components/schemas/JobSettingsDto" }, "metadataExtraction": { "$ref": "#/components/schemas/JobSettingsDto" }, "videoConversion": { "$ref": "#/components/schemas/JobSettingsDto" }, "objectTagging": { "$ref": "#/components/schemas/JobSettingsDto" }, "clipEncoding": { "$ref": "#/components/schemas/JobSettingsDto" }, "storageTemplateMigration": { "$ref": "#/components/schemas/JobSettingsDto" }, "backgroundTask": { "$ref": "#/components/schemas/JobSettingsDto" }, "search": { "$ref": "#/components/schemas/JobSettingsDto" }, "recognizeFaces": { "$ref": "#/components/schemas/JobSettingsDto" }, "sidecar": { "$ref": "#/components/schemas/JobSettingsDto" } }, "required": [ "thumbnailGeneration", "metadataExtraction", "videoConversion", "objectTagging", "clipEncoding", "storageTemplateMigration", "backgroundTask", "search", "recognizeFaces", "sidecar" ] }, "SystemConfigOAuthDto": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "issuerUrl": { "type": "string" }, "clientId": { "type": "string" }, "clientSecret": { "type": "string" }, "scope": { "type": "string" }, "buttonText": { "type": "string" }, "autoRegister": { "type": "boolean" }, "autoLaunch": { "type": "boolean" }, "mobileOverrideEnabled": { "type": "boolean" }, "mobileRedirectUri": { "type": "string" } }, "required": [ "enabled", "issuerUrl", "clientId", "clientSecret", "scope", "buttonText", "autoRegister", "autoLaunch", "mobileOverrideEnabled", "mobileRedirectUri" ] }, "SystemConfigPasswordLoginDto": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "required": [ "enabled" ] }, "SystemConfigStorageTemplateDto": { "type": "object", "properties": { "template": { "type": "string" } }, "required": [ "template" ] }, "SystemConfigTemplateStorageOptionDto": { "type": "object", "properties": { "yearOptions": { "type": "array", "items": { "type": "string" } }, "monthOptions": { "type": "array", "items": { "type": "string" } }, "dayOptions": { "type": "array", "items": { "type": "string" } }, "hourOptions": { "type": "array", "items": { "type": "string" } }, "minuteOptions": { "type": "array", "items": { "type": "string" } }, "secondOptions": { "type": "array", "items": { "type": "string" } }, "presetOptions": { "type": "array", "items": { "type": "string" } } }, "required": [ "yearOptions", "monthOptions", "dayOptions", "hourOptions", "minuteOptions", "secondOptions", "presetOptions" ] }, "TagResponseDto": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/TagTypeEnum" }, "id": { "type": "string" }, "name": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "type", "id", "name", "userId" ] }, "TagTypeEnum": { "type": "string", "enum": [ "OBJECT", "FACE", "CUSTOM" ] }, "ThumbnailFormat": { "type": "string", "enum": [ "JPEG", "WEBP" ] }, "TimeGroupEnum": { "type": "string", "enum": [ "day", "month" ] }, "TranscodePolicy": { "type": "string", "enum": [ "all", "optimal", "required", "disabled" ] }, "UpdateAlbumDto": { "type": "object", "properties": { "albumName": { "type": "string" }, "albumThumbnailAssetId": { "type": "string", "format": "uuid" } } }, "UpdateAssetDto": { "type": "object", "properties": { "tagIds": { "title": "Array of tag IDs to add to the asset", "example": [ "bf973405-3f2a-48d2-a687-2ed4167164be", "dd41870b-5d00-46d2-924e-1d8489a0aa0f", "fad77c3f-deef-4e7e-9608-14c1aa4e559a" ], "type": "array", "items": { "type": "string" } }, "isFavorite": { "type": "boolean" }, "isArchived": { "type": "boolean" }, "description": { "type": "string" } } }, "UpdateTagDto": { "type": "object", "properties": { "name": { "type": "string" } } }, "UpdateUserDto": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "email": { "type": "string" }, "password": { "type": "string" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "storageLabel": { "type": "string" }, "externalPath": { "type": "string" }, "isAdmin": { "type": "boolean" }, "shouldChangePassword": { "type": "boolean" } }, "required": [ "id" ] }, "UsageByUserDto": { "type": "object", "properties": { "userId": { "type": "string" }, "userFirstName": { "type": "string" }, "userLastName": { "type": "string" }, "photos": { "type": "integer" }, "videos": { "type": "integer" }, "usage": { "type": "integer", "format": "int64" } }, "required": [ "userId", "userFirstName", "userLastName", "photos", "videos", "usage" ] }, "UserCountResponseDto": { "type": "object", "properties": { "userCount": { "type": "integer" } }, "required": [ "userCount" ] }, "UserResponseDto": { "type": "object", "properties": { "id": { "type": "string" }, "email": { "type": "string" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "storageLabel": { "type": "string", "nullable": true }, "externalPath": { "type": "string", "nullable": true }, "profileImagePath": { "type": "string" }, "shouldChangePassword": { "type": "boolean" }, "isAdmin": { "type": "boolean" }, "createdAt": { "format": "date-time", "type": "string" }, "deletedAt": { "format": "date-time", "type": "string", "nullable": true }, "updatedAt": { "format": "date-time", "type": "string" }, "oauthId": { "type": "string" } }, "required": [ "id", "email", "firstName", "lastName", "storageLabel", "externalPath", "profileImagePath", "shouldChangePassword", "isAdmin", "createdAt", "deletedAt", "updatedAt", "oauthId" ] }, "ValidateAccessTokenResponseDto": { "type": "object", "properties": { "authStatus": { "type": "boolean" } }, "required": [ "authStatus" ] }, "VideoCodec": { "type": "string", "enum": [ "h264", "hevc", "vp9" ] } } } }