{ "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": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/AlbumResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Album" ] }, "post": { "operationId": "createAlbum", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAlbumDto" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlbumResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Album" ] } }, "/album/count": { "get": { "operationId": "getAlbumCount", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlbumCountResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Album" ] } }, "/album/{id}": { "delete": { "operationId": "deleteAlbum", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Album" ] }, "get": { "operationId": "getAlbumInfo", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } }, { "name": "withoutAssets", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlbumResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Album" ] }, "patch": { "operationId": "updateAlbumInfo", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAlbumDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlbumResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Album" ] } }, "/album/{id}/assets": { "delete": { "operationId": "removeAssetFromAlbum", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkIdsDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/BulkIdResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Album" ] }, "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": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkIdsDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/BulkIdResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Album" ] } }, "/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": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Album" ] } }, "/album/{id}/users": { "put": { "operationId": "addUsersToAlbum", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddUsersDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AlbumResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Album" ] } }, "/api-key": { "get": { "operationId": "getKeys", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/APIKeyResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "API Key" ] }, "post": { "operationId": "createKey", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIKeyCreateDto" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIKeyCreateResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "API Key" ] } }, "/api-key/{id}": { "delete": { "operationId": "deleteKey", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "API Key" ] }, "get": { "operationId": "getKey", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIKeyResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "API Key" ] }, "put": { "operationId": "updateKey", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIKeyUpdateDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIKeyResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "API Key" ] } }, "/asset": { "delete": { "operationId": "deleteAsset", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteAssetDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/DeleteAssetResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] }, "get": { "description": "Get all AssetEntity belong to the user", "operationId": "getAllAssets", "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": "updatedAfter", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "if-none-match", "in": "header", "description": "ETag of data already cached on the client", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/AssetResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] }, "put": { "operationId": "updateAssets", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetBulkUpdateDto" } } }, "required": true }, "responses": { "204": { "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/assetById/{id}": { "get": { "description": "Get a single asset's information", "operationId": "getAssetById", "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/json": { "schema": { "$ref": "#/components/schemas/AssetResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/bulk-upload-check": { "post": { "description": "Checks if assets exist by checksums", "operationId": "bulkUploadCheck", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetBulkUploadCheckDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetBulkUploadCheckResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/check": { "post": { "description": "Check duplicated asset before uploading - for Web upload used", "operationId": "checkDuplicateAsset", "parameters": [ { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CheckDuplicateAssetDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CheckDuplicateAssetResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/curated-locations": { "get": { "operationId": "getCuratedLocations", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/CuratedLocationsResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/curated-objects": { "get": { "operationId": "getCuratedObjects", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/CuratedObjectsResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/download/archive": { "post": { "operationId": "downloadArchive", "parameters": [ { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetIdsDto" } } }, "required": true }, "responses": { "200": { "content": { "application/octet-stream": { "schema": { "format": "binary", "type": "string" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/download/info": { "post": { "operationId": "getDownloadInfo", "parameters": [ { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DownloadInfoDto" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DownloadResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/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": { "format": "binary", "type": "string" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/exist": { "post": { "description": "Checks if multiple assets exist on the server and returns all existing - used by background backup", "operationId": "checkExistingAssets", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CheckExistingAssetsDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CheckExistingAssetsResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/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": { "format": "binary", "type": "string" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/import": { "post": { "operationId": "importFile", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImportAssetDto" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetFileUploadResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/jobs": { "post": { "operationId": "runAssetJobs", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetJobsDto" } } }, "required": true }, "responses": { "204": { "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/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": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/MapMarkerResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/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": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/MemoryLaneResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/search": { "post": { "operationId": "searchAsset", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchAssetDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/AssetResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/search-terms": { "get": { "operationId": "getAssetSearchTerms", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "type": "string" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/statistics": { "get": { "operationId": "getAssetStats", "parameters": [ { "name": "isArchived", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "isFavorite", "required": false, "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetStatsResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/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": { "format": "binary", "type": "string" } }, "image/webp": { "schema": { "format": "binary", "type": "string" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/time-bucket": { "get": { "operationId": "getByTimeBucket", "parameters": [ { "name": "size", "required": true, "in": "query", "schema": { "$ref": "#/components/schemas/TimeBucketSize" } }, { "name": "userId", "required": false, "in": "query", "schema": { "format": "uuid", "type": "string" } }, { "name": "albumId", "required": false, "in": "query", "schema": { "format": "uuid", "type": "string" } }, { "name": "personId", "required": false, "in": "query", "schema": { "format": "uuid", "type": "string" } }, { "name": "isArchived", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "isFavorite", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "timeBucket", "required": true, "in": "query", "schema": { "type": "string" } }, { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/AssetResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] }, { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/time-buckets": { "get": { "operationId": "getTimeBuckets", "parameters": [ { "name": "size", "required": true, "in": "query", "schema": { "$ref": "#/components/schemas/TimeBucketSize" } }, { "name": "userId", "required": false, "in": "query", "schema": { "format": "uuid", "type": "string" } }, { "name": "albumId", "required": false, "in": "query", "schema": { "format": "uuid", "type": "string" } }, { "name": "personId", "required": false, "in": "query", "schema": { "format": "uuid", "type": "string" } }, { "name": "isArchived", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "isFavorite", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/TimeBucketResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] }, { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/upload": { "post": { "operationId": "uploadFile", "parameters": [ { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/CreateAssetDto" } } }, "description": "Asset Upload Information", "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetFileUploadResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/{deviceId}": { "get": { "description": "Get all asset of a device that are in the database, ID only.", "operationId": "getUserAssetsByDeviceId", "parameters": [ { "name": "deviceId", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "type": "string" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/asset/{id}": { "put": { "description": "Update an asset", "operationId": "updateAsset", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAssetDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Asset" ] } }, "/audit/deletes": { "get": { "operationId": "getAuditDeletes", "parameters": [ { "name": "entityType", "required": true, "in": "query", "schema": { "$ref": "#/components/schemas/EntityType" } }, { "name": "userId", "required": false, "in": "query", "schema": { "format": "uuid", "type": "string" } }, { "name": "after", "required": true, "in": "query", "schema": { "format": "date-time", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuditDeletesResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Audit" ] } }, "/auth/admin-sign-up": { "post": { "operationId": "adminSignUp", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SignUpDto" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdminSignupResponseDto" } } }, "description": "" }, "400": { "description": "The server already has an admin" } }, "tags": [ "Authentication" ] } }, "/auth/change-password": { "post": { "operationId": "changePassword", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChangePasswordDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Authentication" ] } }, "/auth/devices": { "delete": { "operationId": "logoutAuthDevices", "parameters": [], "responses": { "204": { "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Authentication" ] }, "get": { "operationId": "getAuthDevices", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/AuthDeviceResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Authentication" ] } }, "/auth/devices/{id}": { "delete": { "operationId": "logoutAuthDevice", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "204": { "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Authentication" ] } }, "/auth/login": { "post": { "operationId": "login", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginCredentialDto" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginResponseDto" } } }, "description": "" } }, "tags": [ "Authentication" ] } }, "/auth/logout": { "post": { "operationId": "logout", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogoutResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Authentication" ] } }, "/auth/validateToken": { "post": { "operationId": "validateAccessToken", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateAccessTokenResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Authentication" ] } }, "/jobs": { "get": { "operationId": "getAllJobsStatus", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AllJobStatusResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Job" ] } }, "/jobs/{id}": { "put": { "operationId": "sendJobCommand", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "$ref": "#/components/schemas/JobName" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JobCommandDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JobStatusDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Job" ] } }, "/oauth/callback": { "post": { "operationId": "callback", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthCallbackDto" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginResponseDto" } } }, "description": "" } }, "tags": [ "OAuth" ] } }, "/oauth/config": { "post": { "operationId": "generateConfig", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthConfigDto" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthConfigResponseDto" } } }, "description": "" } }, "tags": [ "OAuth" ] } }, "/oauth/link": { "post": { "operationId": "link", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthCallbackDto" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "OAuth" ] } }, "/oauth/mobile-redirect": { "get": { "operationId": "mobileRedirect", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "OAuth" ] } }, "/oauth/unlink": { "post": { "operationId": "unlink", "parameters": [], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "OAuth" ] } }, "/partner": { "get": { "operationId": "getPartners", "parameters": [ { "name": "direction", "required": true, "in": "query", "schema": { "enum": [ "shared-by", "shared-with" ], "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/UserResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Partner" ] } }, "/partner/{id}": { "delete": { "operationId": "removePartner", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Partner" ] }, "post": { "operationId": "createPartner", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Partner" ] } }, "/person": { "get": { "operationId": "getAllPeople", "parameters": [ { "name": "withHidden", "required": false, "in": "query", "schema": { "default": false, "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PeopleResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Person" ] }, "put": { "operationId": "updatePeople", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PeopleUpdateDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/BulkIdResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Person" ] } }, "/person/{id}": { "get": { "operationId": "getPerson", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Person" ] }, "put": { "operationId": "updatePerson", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonUpdateDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Person" ] } }, "/person/{id}/assets": { "get": { "operationId": "getPersonAssets", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/AssetResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Person" ] } }, "/person/{id}/merge": { "post": { "operationId": "mergePerson", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MergePersonDto" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/BulkIdResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Person" ] } }, "/person/{id}/thumbnail": { "get": { "operationId": "getPersonThumbnail", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "image/jpeg": { "schema": { "format": "binary", "type": "string" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Person" ] } }, "/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": "exifInfo.projectionType", "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": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Search" ] } }, "/search/config": { "get": { "operationId": "getSearchConfig", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchConfigResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Search" ] } }, "/search/explore": { "get": { "operationId": "getExploreData", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/SearchExploreResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Search" ] } }, "/server-info": { "get": { "operationId": "getServerInfo", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerInfoResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Server Info" ] } }, "/server-info/features": { "get": { "operationId": "getServerFeatures", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerFeaturesDto" } } }, "description": "" } }, "tags": [ "Server Info" ] } }, "/server-info/media-types": { "get": { "operationId": "getSupportedMediaTypes", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerMediaTypesResponseDto" } } }, "description": "" } }, "tags": [ "Server Info" ] } }, "/server-info/ping": { "get": { "operationId": "pingServer", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerPingResponse" } } }, "description": "" } }, "tags": [ "Server Info" ] } }, "/server-info/stats": { "get": { "operationId": "getStats", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerStatsResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Server Info" ] } }, "/server-info/version": { "get": { "operationId": "getServerVersion", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerVersionResponseDto" } } }, "description": "" } }, "tags": [ "Server Info" ] } }, "/shared-link": { "get": { "operationId": "getAllSharedLinks", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/SharedLinkResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Shared Link" ] }, "post": { "operationId": "createSharedLink", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SharedLinkCreateDto" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SharedLinkResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Shared Link" ] } }, "/shared-link/me": { "get": { "operationId": "getMySharedLink", "parameters": [ { "name": "key", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SharedLinkResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Shared Link" ] } }, "/shared-link/{id}": { "delete": { "operationId": "removeSharedLink", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Shared Link" ] }, "get": { "operationId": "getSharedLinkById", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SharedLinkResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Shared Link" ] }, "patch": { "operationId": "updateSharedLink", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SharedLinkEditDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SharedLinkResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Shared Link" ] } }, "/shared-link/{id}/assets": { "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": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetIdsDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/AssetIdsResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Shared Link" ] }, "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": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetIdsDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/AssetIdsResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Shared Link" ] } }, "/system-config": { "get": { "operationId": "getConfig", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemConfigDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "System Config" ] }, "put": { "operationId": "updateConfig", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemConfigDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemConfigDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "System Config" ] } }, "/system-config/defaults": { "get": { "operationId": "getDefaults", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemConfigDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "System Config" ] } }, "/system-config/storage-template-options": { "get": { "operationId": "getStorageTemplateOptions", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemConfigTemplateStorageOptionDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "System Config" ] } }, "/tag": { "get": { "operationId": "getAllTags", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/TagResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Tag" ] }, "post": { "operationId": "createTag", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTagDto" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TagResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Tag" ] } }, "/tag/{id}": { "delete": { "operationId": "deleteTag", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Tag" ] }, "get": { "operationId": "getTagById", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TagResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Tag" ] }, "patch": { "operationId": "updateTag", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTagDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TagResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Tag" ] } }, "/tag/{id}/assets": { "delete": { "operationId": "untagAssets", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetIdsDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/AssetIdsResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Tag" ] }, "get": { "operationId": "getTagAssets", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/AssetResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Tag" ] }, "put": { "operationId": "tagAssets", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetIdsDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/AssetIdsResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "Tag" ] } }, "/user": { "get": { "operationId": "getAllUsers", "parameters": [ { "name": "isAll", "required": true, "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/UserResponseDto" }, "type": "array" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "User" ] }, "post": { "operationId": "createUser", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateUserDto" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "User" ] }, "put": { "operationId": "updateUser", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateUserDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "User" ] } }, "/user/count": { "get": { "operationId": "getUserCount", "parameters": [ { "name": "admin", "required": false, "in": "query", "schema": { "default": false, "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserCountResponseDto" } } }, "description": "" } }, "tags": [ "User" ] } }, "/user/info/{id}": { "get": { "operationId": "getUserById", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "User" ] } }, "/user/me": { "get": { "operationId": "getMyUserInfo", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "User" ] } }, "/user/profile-image": { "post": { "operationId": "createProfileImage", "parameters": [], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/CreateProfileImageDto" } } }, "description": "A new avatar for the user", "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateProfileImageResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "User" ] } }, "/user/profile-image/{id}": { "get": { "operationId": "getProfileImage", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "User" ] } }, "/user/{id}": { "delete": { "operationId": "deleteUser", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "User" ] } }, "/user/{id}/restore": { "post": { "operationId": "restoreUser", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponseDto" } } }, "description": "" } }, "security": [ { "bearer": [] }, { "cookie": [] }, { "api_key": [] } ], "tags": [ "User" ] } } }, "info": { "title": "Immich", "description": "Immich API", "version": "1.74.0", "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": { "properties": { "name": { "type": "string" } }, "type": "object" }, "APIKeyCreateResponseDto": { "properties": { "apiKey": { "$ref": "#/components/schemas/APIKeyResponseDto" }, "secret": { "type": "string" } }, "required": [ "secret", "apiKey" ], "type": "object" }, "APIKeyResponseDto": { "properties": { "createdAt": { "format": "date-time", "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "updatedAt": { "format": "date-time", "type": "string" } }, "required": [ "id", "name", "createdAt", "updatedAt" ], "type": "object" }, "APIKeyUpdateDto": { "properties": { "name": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "AddUsersDto": { "properties": { "sharedUserIds": { "items": { "format": "uuid", "type": "string" }, "type": "array" } }, "required": [ "sharedUserIds" ], "type": "object" }, "AdminSignupResponseDto": { "properties": { "createdAt": { "format": "date-time", "type": "string" }, "email": { "type": "string" }, "firstName": { "type": "string" }, "id": { "type": "string" }, "lastName": { "type": "string" } }, "required": [ "id", "email", "firstName", "lastName", "createdAt" ], "type": "object" }, "AlbumCountResponseDto": { "properties": { "notShared": { "type": "integer" }, "owned": { "type": "integer" }, "shared": { "type": "integer" } }, "required": [ "owned", "shared", "notShared" ], "type": "object" }, "AlbumResponseDto": { "properties": { "albumName": { "type": "string" }, "albumThumbnailAssetId": { "nullable": true, "type": "string" }, "assetCount": { "type": "integer" }, "assets": { "items": { "$ref": "#/components/schemas/AssetResponseDto" }, "type": "array" }, "createdAt": { "format": "date-time", "type": "string" }, "description": { "type": "string" }, "endDate": { "format": "date-time", "type": "string" }, "hasSharedLink": { "type": "boolean" }, "id": { "type": "string" }, "lastModifiedAssetTimestamp": { "format": "date-time", "type": "string" }, "owner": { "$ref": "#/components/schemas/UserResponseDto" }, "ownerId": { "type": "string" }, "shared": { "type": "boolean" }, "sharedUsers": { "items": { "$ref": "#/components/schemas/UserResponseDto" }, "type": "array" }, "startDate": { "format": "date-time", "type": "string" }, "updatedAt": { "format": "date-time", "type": "string" } }, "required": [ "assetCount", "id", "ownerId", "albumName", "description", "createdAt", "updatedAt", "albumThumbnailAssetId", "shared", "sharedUsers", "hasSharedLink", "assets", "owner" ], "type": "object" }, "AllJobStatusResponseDto": { "properties": { "backgroundTask": { "$ref": "#/components/schemas/JobStatusDto" }, "clipEncoding": { "$ref": "#/components/schemas/JobStatusDto" }, "metadataExtraction": { "$ref": "#/components/schemas/JobStatusDto" }, "objectTagging": { "$ref": "#/components/schemas/JobStatusDto" }, "recognizeFaces": { "$ref": "#/components/schemas/JobStatusDto" }, "search": { "$ref": "#/components/schemas/JobStatusDto" }, "sidecar": { "$ref": "#/components/schemas/JobStatusDto" }, "storageTemplateMigration": { "$ref": "#/components/schemas/JobStatusDto" }, "thumbnailGeneration": { "$ref": "#/components/schemas/JobStatusDto" }, "videoConversion": { "$ref": "#/components/schemas/JobStatusDto" } }, "required": [ "thumbnailGeneration", "metadataExtraction", "videoConversion", "objectTagging", "clipEncoding", "storageTemplateMigration", "backgroundTask", "search", "recognizeFaces", "sidecar" ], "type": "object" }, "AssetBulkUpdateDto": { "properties": { "ids": { "items": { "format": "uuid", "type": "string" }, "type": "array" }, "isArchived": { "type": "boolean" }, "isFavorite": { "type": "boolean" } }, "required": [ "ids" ], "type": "object" }, "AssetBulkUploadCheckDto": { "properties": { "assets": { "items": { "$ref": "#/components/schemas/AssetBulkUploadCheckItem" }, "type": "array" } }, "required": [ "assets" ], "type": "object" }, "AssetBulkUploadCheckItem": { "properties": { "checksum": { "description": "base64 or hex encoded sha1 hash", "type": "string" }, "id": { "type": "string" } }, "required": [ "id", "checksum" ], "type": "object" }, "AssetBulkUploadCheckResponseDto": { "properties": { "results": { "items": { "$ref": "#/components/schemas/AssetBulkUploadCheckResult" }, "type": "array" } }, "required": [ "results" ], "type": "object" }, "AssetBulkUploadCheckResult": { "properties": { "action": { "enum": [ "accept", "reject" ], "type": "string" }, "assetId": { "type": "string" }, "id": { "type": "string" }, "reason": { "enum": [ "duplicate", "unsupported-format" ], "type": "string" } }, "required": [ "id", "action" ], "type": "object" }, "AssetFileUploadResponseDto": { "properties": { "duplicate": { "type": "boolean" }, "id": { "type": "string" } }, "required": [ "id", "duplicate" ], "type": "object" }, "AssetIdsDto": { "properties": { "assetIds": { "items": { "format": "uuid", "type": "string" }, "type": "array" } }, "required": [ "assetIds" ], "type": "object" }, "AssetIdsResponseDto": { "properties": { "assetId": { "type": "string" }, "error": { "enum": [ "duplicate", "no_permission", "not_found" ], "type": "string" }, "success": { "type": "boolean" } }, "required": [ "assetId", "success" ], "type": "object" }, "AssetJobName": { "enum": [ "regenerate-thumbnail", "refresh-metadata", "transcode-video" ], "type": "string" }, "AssetJobsDto": { "properties": { "assetIds": { "items": { "format": "uuid", "type": "string" }, "type": "array" }, "name": { "$ref": "#/components/schemas/AssetJobName" } }, "required": [ "assetIds", "name" ], "type": "object" }, "AssetResponseDto": { "properties": { "checksum": { "description": "base64 encoded sha1 hash", "type": "string" }, "deviceAssetId": { "type": "string" }, "deviceId": { "type": "string" }, "duration": { "type": "string" }, "exifInfo": { "$ref": "#/components/schemas/ExifResponseDto" }, "fileCreatedAt": { "format": "date-time", "type": "string" }, "fileModifiedAt": { "format": "date-time", "type": "string" }, "id": { "type": "string" }, "isArchived": { "type": "boolean" }, "isFavorite": { "type": "boolean" }, "livePhotoVideoId": { "nullable": true, "type": "string" }, "originalFileName": { "type": "string" }, "originalPath": { "type": "string" }, "ownerId": { "type": "string" }, "people": { "items": { "$ref": "#/components/schemas/PersonResponseDto" }, "type": "array" }, "resized": { "type": "boolean" }, "smartInfo": { "$ref": "#/components/schemas/SmartInfoResponseDto" }, "tags": { "items": { "$ref": "#/components/schemas/TagResponseDto" }, "type": "array" }, "thumbhash": { "description": "base64 encoded thumbhash", "nullable": true, "type": "string" }, "type": { "$ref": "#/components/schemas/AssetTypeEnum" }, "updatedAt": { "format": "date-time", "type": "string" } }, "required": [ "type", "id", "deviceAssetId", "ownerId", "deviceId", "originalPath", "originalFileName", "resized", "thumbhash", "fileCreatedAt", "fileModifiedAt", "updatedAt", "isFavorite", "isArchived", "duration", "checksum" ], "type": "object" }, "AssetStatsResponseDto": { "properties": { "images": { "type": "integer" }, "total": { "type": "integer" }, "videos": { "type": "integer" } }, "required": [ "images", "videos", "total" ], "type": "object" }, "AssetTypeEnum": { "enum": [ "IMAGE", "VIDEO", "AUDIO", "OTHER" ], "type": "string" }, "AudioCodec": { "enum": [ "mp3", "aac", "opus" ], "type": "string" }, "AuditDeletesResponseDto": { "properties": { "ids": { "items": { "type": "string" }, "type": "array" }, "needsFullSync": { "type": "boolean" } }, "required": [ "needsFullSync", "ids" ], "type": "object" }, "AuthDeviceResponseDto": { "properties": { "createdAt": { "type": "string" }, "current": { "type": "boolean" }, "deviceOS": { "type": "string" }, "deviceType": { "type": "string" }, "id": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "id", "createdAt", "updatedAt", "current", "deviceType", "deviceOS" ], "type": "object" }, "BulkIdResponseDto": { "properties": { "error": { "enum": [ "duplicate", "no_permission", "not_found", "unknown" ], "type": "string" }, "id": { "type": "string" }, "success": { "type": "boolean" } }, "required": [ "id", "success" ], "type": "object" }, "BulkIdsDto": { "properties": { "ids": { "items": { "format": "uuid", "type": "string" }, "type": "array" } }, "required": [ "ids" ], "type": "object" }, "ChangePasswordDto": { "properties": { "newPassword": { "example": "password", "type": "string" }, "password": { "example": "password", "type": "string" } }, "required": [ "password", "newPassword" ], "type": "object" }, "CheckDuplicateAssetDto": { "properties": { "deviceAssetId": { "type": "string" }, "deviceId": { "type": "string" } }, "required": [ "deviceAssetId", "deviceId" ], "type": "object" }, "CheckDuplicateAssetResponseDto": { "properties": { "id": { "type": "string" }, "isExist": { "type": "boolean" } }, "required": [ "isExist" ], "type": "object" }, "CheckExistingAssetsDto": { "properties": { "deviceAssetIds": { "items": { "type": "string" }, "type": "array" }, "deviceId": { "type": "string" } }, "required": [ "deviceAssetIds", "deviceId" ], "type": "object" }, "CheckExistingAssetsResponseDto": { "properties": { "existingIds": { "items": { "type": "string" }, "type": "array" } }, "required": [ "existingIds" ], "type": "object" }, "CreateAlbumDto": { "properties": { "albumName": { "type": "string" }, "assetIds": { "items": { "format": "uuid", "type": "string" }, "type": "array" }, "description": { "type": "string" }, "sharedWithUserIds": { "items": { "format": "uuid", "type": "string" }, "type": "array" } }, "required": [ "albumName" ], "type": "object" }, "CreateAssetDto": { "properties": { "assetData": { "format": "binary", "type": "string" }, "deviceAssetId": { "type": "string" }, "deviceId": { "type": "string" }, "duration": { "type": "string" }, "fileCreatedAt": { "format": "date-time", "type": "string" }, "fileModifiedAt": { "format": "date-time", "type": "string" }, "isArchived": { "type": "boolean" }, "isFavorite": { "type": "boolean" }, "isReadOnly": { "default": false, "type": "boolean" }, "isVisible": { "type": "boolean" }, "livePhotoData": { "format": "binary", "type": "string" }, "sidecarData": { "format": "binary", "type": "string" } }, "required": [ "assetData", "deviceAssetId", "deviceId", "fileCreatedAt", "fileModifiedAt", "isFavorite" ], "type": "object" }, "CreateProfileImageDto": { "properties": { "file": { "format": "binary", "type": "string" } }, "required": [ "file" ], "type": "object" }, "CreateProfileImageResponseDto": { "properties": { "profileImagePath": { "type": "string" }, "userId": { "type": "string" } }, "required": [ "userId", "profileImagePath" ], "type": "object" }, "CreateTagDto": { "properties": { "name": { "type": "string" }, "type": { "$ref": "#/components/schemas/TagTypeEnum" } }, "required": [ "type", "name" ], "type": "object" }, "CreateUserDto": { "properties": { "email": { "type": "string" }, "externalPath": { "nullable": true, "type": "string" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "memoriesEnabled": { "type": "boolean" }, "password": { "type": "string" }, "storageLabel": { "nullable": true, "type": "string" } }, "required": [ "email", "password", "firstName", "lastName" ], "type": "object" }, "CuratedLocationsResponseDto": { "properties": { "city": { "type": "string" }, "deviceAssetId": { "type": "string" }, "deviceId": { "type": "string" }, "id": { "type": "string" }, "resizePath": { "type": "string" } }, "required": [ "id", "city", "resizePath", "deviceAssetId", "deviceId" ], "type": "object" }, "CuratedObjectsResponseDto": { "properties": { "deviceAssetId": { "type": "string" }, "deviceId": { "type": "string" }, "id": { "type": "string" }, "object": { "type": "string" }, "resizePath": { "type": "string" } }, "required": [ "id", "object", "resizePath", "deviceAssetId", "deviceId" ], "type": "object" }, "DeleteAssetDto": { "properties": { "ids": { "example": [ "bf973405-3f2a-48d2-a687-2ed4167164be", "dd41870b-5d00-46d2-924e-1d8489a0aa0f", "fad77c3f-deef-4e7e-9608-14c1aa4e559a" ], "items": { "type": "string" }, "title": "Array of asset IDs to delete", "type": "array" } }, "required": [ "ids" ], "type": "object" }, "DeleteAssetResponseDto": { "properties": { "id": { "type": "string" }, "status": { "$ref": "#/components/schemas/DeleteAssetStatus" } }, "required": [ "status", "id" ], "type": "object" }, "DeleteAssetStatus": { "enum": [ "SUCCESS", "FAILED" ], "type": "string" }, "DownloadArchiveInfo": { "properties": { "assetIds": { "items": { "type": "string" }, "type": "array" }, "size": { "type": "integer" } }, "required": [ "size", "assetIds" ], "type": "object" }, "DownloadInfoDto": { "properties": { "albumId": { "format": "uuid", "type": "string" }, "archiveSize": { "type": "integer" }, "assetIds": { "items": { "format": "uuid", "type": "string" }, "type": "array" }, "userId": { "format": "uuid", "type": "string" } }, "type": "object" }, "DownloadResponseDto": { "properties": { "archives": { "items": { "$ref": "#/components/schemas/DownloadArchiveInfo" }, "type": "array" }, "totalSize": { "type": "integer" } }, "required": [ "totalSize", "archives" ], "type": "object" }, "EntityType": { "enum": [ "ASSET", "ALBUM" ], "type": "string" }, "ExifResponseDto": { "properties": { "city": { "default": null, "nullable": true, "type": "string" }, "country": { "default": null, "nullable": true, "type": "string" }, "dateTimeOriginal": { "default": null, "format": "date-time", "nullable": true, "type": "string" }, "description": { "default": null, "nullable": true, "type": "string" }, "exifImageHeight": { "default": null, "nullable": true, "type": "number" }, "exifImageWidth": { "default": null, "nullable": true, "type": "number" }, "exposureTime": { "default": null, "nullable": true, "type": "string" }, "fNumber": { "default": null, "nullable": true, "type": "number" }, "fileSizeInByte": { "default": null, "format": "int64", "nullable": true, "type": "integer" }, "focalLength": { "default": null, "nullable": true, "type": "number" }, "iso": { "default": null, "nullable": true, "type": "number" }, "latitude": { "default": null, "nullable": true, "type": "number" }, "lensModel": { "default": null, "nullable": true, "type": "string" }, "longitude": { "default": null, "nullable": true, "type": "number" }, "make": { "default": null, "nullable": true, "type": "string" }, "model": { "default": null, "nullable": true, "type": "string" }, "modifyDate": { "default": null, "format": "date-time", "nullable": true, "type": "string" }, "orientation": { "default": null, "nullable": true, "type": "string" }, "projectionType": { "default": null, "nullable": true, "type": "string" }, "state": { "default": null, "nullable": true, "type": "string" }, "timeZone": { "default": null, "nullable": true, "type": "string" } }, "type": "object" }, "ImportAssetDto": { "properties": { "assetPath": { "type": "string" }, "deviceAssetId": { "type": "string" }, "deviceId": { "type": "string" }, "duration": { "type": "string" }, "fileCreatedAt": { "format": "date-time", "type": "string" }, "fileModifiedAt": { "format": "date-time", "type": "string" }, "isArchived": { "type": "boolean" }, "isFavorite": { "type": "boolean" }, "isReadOnly": { "default": true, "type": "boolean" }, "isVisible": { "type": "boolean" }, "sidecarPath": { "type": "string" } }, "required": [ "assetPath", "deviceAssetId", "deviceId", "fileCreatedAt", "fileModifiedAt", "isFavorite" ], "type": "object" }, "JobCommand": { "enum": [ "start", "pause", "resume", "empty" ], "type": "string" }, "JobCommandDto": { "properties": { "command": { "$ref": "#/components/schemas/JobCommand" }, "force": { "type": "boolean" } }, "required": [ "command", "force" ], "type": "object" }, "JobCountsDto": { "properties": { "active": { "type": "integer" }, "completed": { "type": "integer" }, "delayed": { "type": "integer" }, "failed": { "type": "integer" }, "paused": { "type": "integer" }, "waiting": { "type": "integer" } }, "required": [ "active", "completed", "failed", "delayed", "waiting", "paused" ], "type": "object" }, "JobName": { "enum": [ "thumbnailGeneration", "metadataExtraction", "videoConversion", "objectTagging", "recognizeFaces", "clipEncoding", "backgroundTask", "storageTemplateMigration", "search", "sidecar" ], "type": "string" }, "JobSettingsDto": { "properties": { "concurrency": { "type": "integer" } }, "required": [ "concurrency" ], "type": "object" }, "JobStatusDto": { "properties": { "jobCounts": { "$ref": "#/components/schemas/JobCountsDto" }, "queueStatus": { "$ref": "#/components/schemas/QueueStatusDto" } }, "required": [ "jobCounts", "queueStatus" ], "type": "object" }, "LoginCredentialDto": { "properties": { "email": { "example": "testuser@email.com", "type": "string" }, "password": { "example": "password", "type": "string" } }, "required": [ "email", "password" ], "type": "object" }, "LoginResponseDto": { "properties": { "accessToken": { "readOnly": true, "type": "string" }, "firstName": { "readOnly": true, "type": "string" }, "isAdmin": { "readOnly": true, "type": "boolean" }, "lastName": { "readOnly": true, "type": "string" }, "profileImagePath": { "readOnly": true, "type": "string" }, "shouldChangePassword": { "readOnly": true, "type": "boolean" }, "userEmail": { "readOnly": true, "type": "string" }, "userId": { "readOnly": true, "type": "string" } }, "required": [ "accessToken", "userId", "userEmail", "firstName", "lastName", "profileImagePath", "isAdmin", "shouldChangePassword" ], "type": "object" }, "LogoutResponseDto": { "properties": { "redirectUri": { "type": "string" }, "successful": { "type": "boolean" } }, "required": [ "successful", "redirectUri" ], "type": "object" }, "MapMarkerResponseDto": { "properties": { "id": { "type": "string" }, "lat": { "format": "double", "type": "number" }, "lon": { "format": "double", "type": "number" } }, "required": [ "id", "lat", "lon" ], "type": "object" }, "MemoryLaneResponseDto": { "properties": { "assets": { "items": { "$ref": "#/components/schemas/AssetResponseDto" }, "type": "array" }, "title": { "type": "string" } }, "required": [ "title", "assets" ], "type": "object" }, "MergePersonDto": { "properties": { "ids": { "items": { "format": "uuid", "type": "string" }, "type": "array" } }, "required": [ "ids" ], "type": "object" }, "OAuthCallbackDto": { "properties": { "url": { "type": "string" } }, "required": [ "url" ], "type": "object" }, "OAuthConfigDto": { "properties": { "redirectUri": { "type": "string" } }, "required": [ "redirectUri" ], "type": "object" }, "OAuthConfigResponseDto": { "properties": { "autoLaunch": { "type": "boolean" }, "buttonText": { "type": "string" }, "enabled": { "type": "boolean" }, "passwordLoginEnabled": { "type": "boolean" }, "url": { "type": "string" } }, "required": [ "enabled", "passwordLoginEnabled" ], "type": "object" }, "PeopleResponseDto": { "properties": { "people": { "items": { "$ref": "#/components/schemas/PersonResponseDto" }, "type": "array" }, "total": { "type": "integer" }, "visible": { "type": "integer" } }, "required": [ "total", "visible", "people" ], "type": "object" }, "PeopleUpdateDto": { "properties": { "people": { "items": { "$ref": "#/components/schemas/PeopleUpdateItem" }, "type": "array" } }, "required": [ "people" ], "type": "object" }, "PeopleUpdateItem": { "properties": { "birthDate": { "description": "Person date of birth.", "format": "date", "nullable": true, "type": "string" }, "featureFaceAssetId": { "description": "Asset is used to get the feature face thumbnail.", "type": "string" }, "id": { "description": "Person id.", "type": "string" }, "isHidden": { "description": "Person visibility", "type": "boolean" }, "name": { "description": "Person name.", "type": "string" } }, "required": [ "id" ], "type": "object" }, "PersonResponseDto": { "properties": { "birthDate": { "format": "date", "nullable": true, "type": "string" }, "id": { "type": "string" }, "isHidden": { "type": "boolean" }, "name": { "type": "string" }, "thumbnailPath": { "type": "string" } }, "required": [ "birthDate", "id", "name", "thumbnailPath", "isHidden" ], "type": "object" }, "PersonUpdateDto": { "properties": { "birthDate": { "description": "Person date of birth.", "format": "date", "nullable": true, "type": "string" }, "featureFaceAssetId": { "description": "Asset is used to get the feature face thumbnail.", "type": "string" }, "isHidden": { "description": "Person visibility", "type": "boolean" }, "name": { "description": "Person name.", "type": "string" } }, "type": "object" }, "QueueStatusDto": { "properties": { "isActive": { "type": "boolean" }, "isPaused": { "type": "boolean" } }, "required": [ "isActive", "isPaused" ], "type": "object" }, "SearchAlbumResponseDto": { "properties": { "count": { "type": "integer" }, "facets": { "items": { "$ref": "#/components/schemas/SearchFacetResponseDto" }, "type": "array" }, "items": { "items": { "$ref": "#/components/schemas/AlbumResponseDto" }, "type": "array" }, "total": { "type": "integer" } }, "required": [ "total", "count", "items", "facets" ], "type": "object" }, "SearchAssetDto": { "properties": { "searchTerm": { "type": "string" } }, "required": [ "searchTerm" ], "type": "object" }, "SearchAssetResponseDto": { "properties": { "count": { "type": "integer" }, "facets": { "items": { "$ref": "#/components/schemas/SearchFacetResponseDto" }, "type": "array" }, "items": { "items": { "$ref": "#/components/schemas/AssetResponseDto" }, "type": "array" }, "total": { "type": "integer" } }, "required": [ "total", "count", "items", "facets" ], "type": "object" }, "SearchConfigResponseDto": { "properties": { "enabled": { "type": "boolean" } }, "required": [ "enabled" ], "type": "object" }, "SearchExploreItem": { "properties": { "data": { "$ref": "#/components/schemas/AssetResponseDto" }, "value": { "type": "string" } }, "required": [ "value", "data" ], "type": "object" }, "SearchExploreResponseDto": { "properties": { "fieldName": { "type": "string" }, "items": { "items": { "$ref": "#/components/schemas/SearchExploreItem" }, "type": "array" } }, "required": [ "fieldName", "items" ], "type": "object" }, "SearchFacetCountResponseDto": { "properties": { "count": { "type": "integer" }, "value": { "type": "string" } }, "required": [ "count", "value" ], "type": "object" }, "SearchFacetResponseDto": { "properties": { "counts": { "items": { "$ref": "#/components/schemas/SearchFacetCountResponseDto" }, "type": "array" }, "fieldName": { "type": "string" } }, "required": [ "fieldName", "counts" ], "type": "object" }, "SearchResponseDto": { "properties": { "albums": { "$ref": "#/components/schemas/SearchAlbumResponseDto" }, "assets": { "$ref": "#/components/schemas/SearchAssetResponseDto" } }, "required": [ "albums", "assets" ], "type": "object" }, "ServerFeaturesDto": { "properties": { "machineLearning": { "type": "boolean" }, "oauth": { "type": "boolean" }, "oauthAutoLaunch": { "type": "boolean" }, "passwordLogin": { "type": "boolean" }, "search": { "type": "boolean" } }, "required": [ "machineLearning", "search", "oauth", "oauthAutoLaunch", "passwordLogin" ], "type": "object" }, "ServerInfoResponseDto": { "properties": { "diskAvailable": { "type": "string" }, "diskAvailableRaw": { "format": "int64", "type": "integer" }, "diskSize": { "type": "string" }, "diskSizeRaw": { "format": "int64", "type": "integer" }, "diskUsagePercentage": { "format": "float", "type": "number" }, "diskUse": { "type": "string" }, "diskUseRaw": { "format": "int64", "type": "integer" } }, "required": [ "diskSizeRaw", "diskUseRaw", "diskAvailableRaw", "diskUsagePercentage", "diskSize", "diskUse", "diskAvailable" ], "type": "object" }, "ServerMediaTypesResponseDto": { "properties": { "image": { "items": { "type": "string" }, "type": "array" }, "sidecar": { "items": { "type": "string" }, "type": "array" }, "video": { "items": { "type": "string" }, "type": "array" } }, "required": [ "video", "image", "sidecar" ], "type": "object" }, "ServerPingResponse": { "properties": { "res": { "example": "pong", "readOnly": true, "type": "string" } }, "required": [ "res" ], "type": "object" }, "ServerStatsResponseDto": { "properties": { "photos": { "default": 0, "type": "integer" }, "usage": { "default": 0, "format": "int64", "type": "integer" }, "usageByUser": { "default": [], "example": [ { "photos": 1, "videos": 1, "diskUsageRaw": 1 } ], "items": { "$ref": "#/components/schemas/UsageByUserDto" }, "title": "Array of usage for each user", "type": "array" }, "videos": { "default": 0, "type": "integer" } }, "required": [ "photos", "videos", "usage", "usageByUser" ], "type": "object" }, "ServerVersionResponseDto": { "properties": { "major": { "type": "integer" }, "minor": { "type": "integer" }, "patch": { "type": "integer" } }, "required": [ "major", "minor", "patch" ], "type": "object" }, "SharedLinkCreateDto": { "properties": { "albumId": { "format": "uuid", "type": "string" }, "allowDownload": { "default": true, "type": "boolean" }, "allowUpload": { "default": false, "type": "boolean" }, "assetIds": { "items": { "format": "uuid", "type": "string" }, "type": "array" }, "description": { "type": "string" }, "expiresAt": { "default": null, "format": "date-time", "nullable": true, "type": "string" }, "showExif": { "default": true, "type": "boolean" }, "type": { "$ref": "#/components/schemas/SharedLinkType" } }, "required": [ "type" ], "type": "object" }, "SharedLinkEditDto": { "properties": { "allowDownload": { "type": "boolean" }, "allowUpload": { "type": "boolean" }, "description": { "type": "string" }, "expiresAt": { "format": "date-time", "nullable": true, "type": "string" }, "showExif": { "type": "boolean" } }, "type": "object" }, "SharedLinkResponseDto": { "properties": { "album": { "$ref": "#/components/schemas/AlbumResponseDto" }, "allowDownload": { "type": "boolean" }, "allowUpload": { "type": "boolean" }, "assets": { "items": { "$ref": "#/components/schemas/AssetResponseDto" }, "type": "array" }, "createdAt": { "format": "date-time", "type": "string" }, "description": { "nullable": true, "type": "string" }, "expiresAt": { "format": "date-time", "nullable": true, "type": "string" }, "id": { "type": "string" }, "key": { "type": "string" }, "showExif": { "type": "boolean" }, "type": { "$ref": "#/components/schemas/SharedLinkType" }, "userId": { "type": "string" } }, "required": [ "type", "id", "description", "userId", "key", "createdAt", "expiresAt", "assets", "allowUpload", "allowDownload", "showExif" ], "type": "object" }, "SharedLinkType": { "enum": [ "ALBUM", "INDIVIDUAL" ], "type": "string" }, "SignUpDto": { "properties": { "email": { "example": "testuser@email.com", "type": "string" }, "firstName": { "example": "Admin", "type": "string" }, "lastName": { "example": "Doe", "type": "string" }, "password": { "example": "password", "type": "string" } }, "required": [ "email", "password", "firstName", "lastName" ], "type": "object" }, "SmartInfoResponseDto": { "properties": { "objects": { "items": { "type": "string" }, "nullable": true, "type": "array" }, "tags": { "items": { "type": "string" }, "nullable": true, "type": "array" } }, "type": "object" }, "SystemConfigDto": { "properties": { "ffmpeg": { "$ref": "#/components/schemas/SystemConfigFFmpegDto" }, "job": { "$ref": "#/components/schemas/SystemConfigJobDto" }, "oauth": { "$ref": "#/components/schemas/SystemConfigOAuthDto" }, "passwordLogin": { "$ref": "#/components/schemas/SystemConfigPasswordLoginDto" }, "storageTemplate": { "$ref": "#/components/schemas/SystemConfigStorageTemplateDto" }, "thumbnail": { "$ref": "#/components/schemas/SystemConfigThumbnailDto" } }, "required": [ "ffmpeg", "oauth", "passwordLogin", "storageTemplate", "job", "thumbnail" ], "type": "object" }, "SystemConfigFFmpegDto": { "properties": { "accel": { "$ref": "#/components/schemas/TranscodeHWAccel" }, "crf": { "type": "integer" }, "maxBitrate": { "type": "string" }, "preset": { "type": "string" }, "targetAudioCodec": { "$ref": "#/components/schemas/AudioCodec" }, "targetResolution": { "type": "string" }, "targetVideoCodec": { "$ref": "#/components/schemas/VideoCodec" }, "threads": { "type": "integer" }, "tonemap": { "$ref": "#/components/schemas/ToneMapping" }, "transcode": { "$ref": "#/components/schemas/TranscodePolicy" }, "twoPass": { "type": "boolean" } }, "required": [ "crf", "threads", "targetVideoCodec", "targetAudioCodec", "transcode", "accel", "tonemap", "preset", "targetResolution", "maxBitrate", "twoPass" ], "type": "object" }, "SystemConfigJobDto": { "properties": { "backgroundTask": { "$ref": "#/components/schemas/JobSettingsDto" }, "clipEncoding": { "$ref": "#/components/schemas/JobSettingsDto" }, "metadataExtraction": { "$ref": "#/components/schemas/JobSettingsDto" }, "objectTagging": { "$ref": "#/components/schemas/JobSettingsDto" }, "recognizeFaces": { "$ref": "#/components/schemas/JobSettingsDto" }, "search": { "$ref": "#/components/schemas/JobSettingsDto" }, "sidecar": { "$ref": "#/components/schemas/JobSettingsDto" }, "storageTemplateMigration": { "$ref": "#/components/schemas/JobSettingsDto" }, "thumbnailGeneration": { "$ref": "#/components/schemas/JobSettingsDto" }, "videoConversion": { "$ref": "#/components/schemas/JobSettingsDto" } }, "required": [ "thumbnailGeneration", "metadataExtraction", "videoConversion", "objectTagging", "clipEncoding", "storageTemplateMigration", "backgroundTask", "search", "recognizeFaces", "sidecar" ], "type": "object" }, "SystemConfigOAuthDto": { "properties": { "autoLaunch": { "type": "boolean" }, "autoRegister": { "type": "boolean" }, "buttonText": { "type": "string" }, "clientId": { "type": "string" }, "clientSecret": { "type": "string" }, "enabled": { "type": "boolean" }, "issuerUrl": { "type": "string" }, "mobileOverrideEnabled": { "type": "boolean" }, "mobileRedirectUri": { "type": "string" }, "scope": { "type": "string" }, "storageLabelClaim": { "type": "string" } }, "required": [ "enabled", "issuerUrl", "clientId", "clientSecret", "scope", "storageLabelClaim", "buttonText", "autoRegister", "autoLaunch", "mobileOverrideEnabled", "mobileRedirectUri" ], "type": "object" }, "SystemConfigPasswordLoginDto": { "properties": { "enabled": { "type": "boolean" } }, "required": [ "enabled" ], "type": "object" }, "SystemConfigStorageTemplateDto": { "properties": { "template": { "type": "string" } }, "required": [ "template" ], "type": "object" }, "SystemConfigTemplateStorageOptionDto": { "properties": { "dayOptions": { "items": { "type": "string" }, "type": "array" }, "hourOptions": { "items": { "type": "string" }, "type": "array" }, "minuteOptions": { "items": { "type": "string" }, "type": "array" }, "monthOptions": { "items": { "type": "string" }, "type": "array" }, "presetOptions": { "items": { "type": "string" }, "type": "array" }, "secondOptions": { "items": { "type": "string" }, "type": "array" }, "yearOptions": { "items": { "type": "string" }, "type": "array" } }, "required": [ "yearOptions", "monthOptions", "dayOptions", "hourOptions", "minuteOptions", "secondOptions", "presetOptions" ], "type": "object" }, "SystemConfigThumbnailDto": { "properties": { "jpegSize": { "type": "integer" }, "webpSize": { "type": "integer" } }, "required": [ "webpSize", "jpegSize" ], "type": "object" }, "TagResponseDto": { "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "type": { "$ref": "#/components/schemas/TagTypeEnum" }, "userId": { "type": "string" } }, "required": [ "type", "id", "name", "userId" ], "type": "object" }, "TagTypeEnum": { "enum": [ "OBJECT", "FACE", "CUSTOM" ], "type": "string" }, "ThumbnailFormat": { "enum": [ "JPEG", "WEBP" ], "type": "string" }, "TimeBucketResponseDto": { "properties": { "count": { "type": "integer" }, "timeBucket": { "type": "string" } }, "required": [ "timeBucket", "count" ], "type": "object" }, "TimeBucketSize": { "enum": [ "DAY", "MONTH" ], "type": "string" }, "ToneMapping": { "enum": [ "hable", "mobius", "reinhard", "disabled" ], "type": "string" }, "TranscodeHWAccel": { "enum": [ "nvenc", "qsv", "vaapi", "disabled" ], "type": "string" }, "TranscodePolicy": { "enum": [ "all", "optimal", "required", "disabled" ], "type": "string" }, "UpdateAlbumDto": { "properties": { "albumName": { "type": "string" }, "albumThumbnailAssetId": { "format": "uuid", "type": "string" }, "description": { "type": "string" } }, "type": "object" }, "UpdateAssetDto": { "properties": { "description": { "type": "string" }, "isArchived": { "type": "boolean" }, "isFavorite": { "type": "boolean" }, "tagIds": { "example": [ "bf973405-3f2a-48d2-a687-2ed4167164be", "dd41870b-5d00-46d2-924e-1d8489a0aa0f", "fad77c3f-deef-4e7e-9608-14c1aa4e559a" ], "items": { "type": "string" }, "title": "Array of tag IDs to add to the asset", "type": "array" } }, "type": "object" }, "UpdateTagDto": { "properties": { "name": { "type": "string" } }, "type": "object" }, "UpdateUserDto": { "properties": { "email": { "type": "string" }, "externalPath": { "type": "string" }, "firstName": { "type": "string" }, "id": { "format": "uuid", "type": "string" }, "isAdmin": { "type": "boolean" }, "lastName": { "type": "string" }, "memoriesEnabled": { "type": "boolean" }, "password": { "type": "string" }, "shouldChangePassword": { "type": "boolean" }, "storageLabel": { "type": "string" } }, "required": [ "id" ], "type": "object" }, "UsageByUserDto": { "properties": { "photos": { "type": "integer" }, "usage": { "format": "int64", "type": "integer" }, "userFirstName": { "type": "string" }, "userId": { "type": "string" }, "userLastName": { "type": "string" }, "videos": { "type": "integer" } }, "required": [ "userId", "userFirstName", "userLastName", "photos", "videos", "usage" ], "type": "object" }, "UserCountResponseDto": { "properties": { "userCount": { "type": "integer" } }, "required": [ "userCount" ], "type": "object" }, "UserResponseDto": { "properties": { "createdAt": { "format": "date-time", "type": "string" }, "deletedAt": { "format": "date-time", "nullable": true, "type": "string" }, "email": { "type": "string" }, "externalPath": { "nullable": true, "type": "string" }, "firstName": { "type": "string" }, "id": { "type": "string" }, "isAdmin": { "type": "boolean" }, "lastName": { "type": "string" }, "memoriesEnabled": { "type": "boolean" }, "oauthId": { "type": "string" }, "profileImagePath": { "type": "string" }, "shouldChangePassword": { "type": "boolean" }, "storageLabel": { "nullable": true, "type": "string" }, "updatedAt": { "format": "date-time", "type": "string" } }, "required": [ "id", "email", "firstName", "lastName", "storageLabel", "externalPath", "profileImagePath", "shouldChangePassword", "isAdmin", "createdAt", "deletedAt", "updatedAt", "oauthId" ], "type": "object" }, "ValidateAccessTokenResponseDto": { "properties": { "authStatus": { "type": "boolean" } }, "required": [ "authStatus" ], "type": "object" }, "VideoCodec": { "enum": [ "h264", "hevc", "vp9" ], "type": "string" } } } }