{ "openapi": "3.1.0", "info": { "title": "PictoPy", "description": "The API calls to PictoPy are done via HTTP requests. This backend is built using FastAPI.", "version": "0.1.0", "contact": { "name": "PictoPy Postman Collection", "url": "https://www.postman.com/aossie-pictopy/pictopy/overview" } }, "servers": [ { "url": "http://localhost:8000", "description": "Local Development server" } ], "paths": { "/health": { "get": { "tags": [ "Health" ], "summary": "Root", "operationId": "root_health_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } } }, "/folders/add-folder": { "post": { "tags": [ "Folders" ], "summary": "Add Folder", "operationId": "add_folder_folders_add_folder_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddFolderRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddFolderResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__folders__ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__folders__ErrorResponse" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__folders__ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__folders__ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/folders/enable-ai-tagging": { "post": { "tags": [ "Folders" ], "summary": "Enable Ai Tagging", "description": "Enable AI tagging for multiple folders.", "operationId": "enable_ai_tagging_folders_enable_ai_tagging_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAITaggingRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAITaggingResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__folders__ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__folders__ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/folders/disable-ai-tagging": { "post": { "tags": [ "Folders" ], "summary": "Disable Ai Tagging", "description": "Disable AI tagging for multiple folders.", "operationId": "disable_ai_tagging_folders_disable_ai_tagging_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAITaggingRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAITaggingResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__folders__ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__folders__ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/folders/delete-folders": { "delete": { "tags": [ "Folders" ], "summary": "Delete Folders", "description": "Delete multiple folders by their IDs.", "operationId": "delete_folders_folders_delete_folders_delete", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteFoldersRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteFoldersResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__folders__ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__folders__ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/folders/sync-folder": { "post": { "tags": [ "Folders" ], "summary": "Sync Folder", "description": "Sync a folder by comparing filesystem folders with database entries and removing extra DB entries.", "operationId": "sync_folder_folders_sync_folder_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SyncFolderRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SyncFolderResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__folders__ErrorResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__folders__ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__folders__ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/folders/all-folders": { "get": { "tags": [ "Folders" ], "summary": "Get All Folders", "description": "Get details of all folders in the database.", "operationId": "get_all_folders_folders_all_folders_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAllFoldersResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__folders__ErrorResponse" } } } } } } }, "/albums/": { "get": { "tags": [ "Albums" ], "summary": "Get Albums", "operationId": "get_albums_albums__get", "parameters": [ { "name": "show_hidden", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Show Hidden" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAlbumsResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Albums" ], "summary": "Create Album", "operationId": "create_album_albums__post", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAlbumRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAlbumResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/albums/{album_id}": { "get": { "tags": [ "Albums" ], "summary": "Get Album", "operationId": "get_album_albums__album_id__get", "parameters": [ { "name": "album_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Album Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAlbumResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Albums" ], "summary": "Update Album", "operationId": "update_album_albums__album_id__put", "parameters": [ { "name": "album_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Album Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAlbumRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SuccessResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Albums" ], "summary": "Delete Album", "operationId": "delete_album_albums__album_id__delete", "parameters": [ { "name": "album_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Album Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SuccessResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/albums/{album_id}/images/get": { "post": { "tags": [ "Albums" ], "summary": "Get Album Images", "operationId": "get_album_images_albums__album_id__images_get_post", "parameters": [ { "name": "album_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Album Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAlbumImagesRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAlbumImagesResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/albums/{album_id}/images": { "post": { "tags": [ "Albums" ], "summary": "Add Images To Album", "operationId": "add_images_to_album_albums__album_id__images_post", "parameters": [ { "name": "album_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Album Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageIdsRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SuccessResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Albums" ], "summary": "Remove Images From Album", "operationId": "remove_images_from_album_albums__album_id__images_delete", "parameters": [ { "name": "album_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Album Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageIdsRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SuccessResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/albums/{album_id}/images/{image_id}": { "delete": { "tags": [ "Albums" ], "summary": "Remove Image From Album", "operationId": "remove_image_from_album_albums__album_id__images__image_id__delete", "parameters": [ { "name": "album_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Album Id" } }, { "name": "image_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Image Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SuccessResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/images/": { "get": { "tags": [ "Images" ], "summary": "Get All Images", "description": "Get all images from the database.", "operationId": "get_all_images_images__get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAllImagesResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__images__ErrorResponse" } } } } } } }, "/face-clusters/{cluster_id}": { "put": { "tags": [ "Face Clusters" ], "summary": "Rename Cluster", "description": "Rename a face cluster by its ID.", "operationId": "rename_cluster_face_clusters__cluster_id__put", "parameters": [ { "name": "cluster_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Cluster Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RenameClusterRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RenameClusterResponse" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__face_clusters__ErrorResponse" } } }, "description": "Bad Request" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__face_clusters__ErrorResponse" } } }, "description": "Not Found" }, "500": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__face_clusters__ErrorResponse" } } }, "description": "Internal Server Error" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/face-clusters/": { "get": { "tags": [ "Face Clusters" ], "summary": "Get All Clusters", "description": "Get metadata for all face clusters including face counts.", "operationId": "get_all_clusters_face_clusters__get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetClustersResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__face_clusters__ErrorResponse" } } } } } } }, "/face-clusters/{cluster_id}/images": { "get": { "tags": [ "Face Clusters" ], "summary": "Get Cluster Images", "description": "Get all images that contain faces belonging to a specific cluster.", "operationId": "get_cluster_images_face_clusters__cluster_id__images_get", "parameters": [ { "name": "cluster_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Cluster Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetClusterImagesResponse" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__face_clusters__ErrorResponse" } } }, "description": "Not Found" }, "500": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__face_clusters__ErrorResponse" } } }, "description": "Internal Server Error" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/face-clusters/face-search": { "post": { "tags": [ "Face Clusters" ], "summary": "Face Tagging", "operationId": "face_tagging_face_clusters_face_search_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddSingleImageRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__face_clusters__ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__face_clusters__ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/user-preferences/": { "get": { "tags": [ "User Preferences" ], "summary": "Get User Preferences", "description": "Get user preferences from metadata.", "operationId": "get_user_preferences_user_preferences__get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetUserPreferencesResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__user_preferences__ErrorResponse" } } } } } }, "put": { "tags": [ "User Preferences" ], "summary": "Update User Preferences", "description": "Update user preferences in metadata.", "operationId": "update_user_preferences_user_preferences__put", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateUserPreferencesRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateUserPreferencesResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__user_preferences__ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/app__schemas__user_preferences__ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } } }, "components": { "schemas": { "AddFolderData": { "properties": { "folder_id": { "type": "string", "title": "Folder Id" }, "folder_path": { "type": "string", "title": "Folder Path" } }, "type": "object", "required": [ "folder_id", "folder_path" ], "title": "AddFolderData" }, "AddFolderRequest": { "properties": { "folder_path": { "type": "string", "title": "Folder Path" }, "parent_folder_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Parent Folder Id" }, "taggingCompleted": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Taggingcompleted", "default": false } }, "type": "object", "required": [ "folder_path" ], "title": "AddFolderRequest" }, "AddFolderResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error" }, "data": { "anyOf": [ { "$ref": "#/components/schemas/AddFolderData" }, { "type": "null" } ] } }, "type": "object", "required": [ "success" ], "title": "AddFolderResponse" }, "AddSingleImageRequest": { "properties": { "path": { "type": "string", "title": "Path" } }, "type": "object", "required": [ "path" ], "title": "AddSingleImageRequest" }, "Album": { "properties": { "album_id": { "type": "string", "title": "Album Id" }, "album_name": { "type": "string", "title": "Album Name" }, "description": { "type": "string", "title": "Description" }, "is_hidden": { "type": "boolean", "title": "Is Hidden" } }, "type": "object", "required": [ "album_id", "album_name", "description", "is_hidden" ], "title": "Album" }, "ClusterMetadata": { "properties": { "cluster_id": { "type": "string", "title": "Cluster Id" }, "cluster_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cluster Name" }, "face_image_base64": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Face Image Base64" }, "face_count": { "type": "integer", "title": "Face Count" } }, "type": "object", "required": [ "cluster_id", "cluster_name", "face_image_base64", "face_count" ], "title": "ClusterMetadata" }, "CreateAlbumRequest": { "properties": { "name": { "type": "string", "minLength": 1, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description", "default": "" }, "is_hidden": { "type": "boolean", "title": "Is Hidden", "default": false }, "password": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Password" } }, "type": "object", "required": [ "name" ], "title": "CreateAlbumRequest" }, "CreateAlbumResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "album_id": { "type": "string", "title": "Album Id" } }, "type": "object", "required": [ "success", "album_id" ], "title": "CreateAlbumResponse" }, "DeleteFoldersData": { "properties": { "deleted_count": { "type": "integer", "title": "Deleted Count" }, "folder_ids": { "items": { "type": "string" }, "type": "array", "title": "Folder Ids" } }, "type": "object", "required": [ "deleted_count", "folder_ids" ], "title": "DeleteFoldersData" }, "DeleteFoldersRequest": { "properties": { "folder_ids": { "items": { "type": "string" }, "type": "array", "title": "Folder Ids" } }, "type": "object", "required": [ "folder_ids" ], "title": "DeleteFoldersRequest" }, "DeleteFoldersResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error" }, "data": { "anyOf": [ { "$ref": "#/components/schemas/DeleteFoldersData" }, { "type": "null" } ] } }, "type": "object", "required": [ "success" ], "title": "DeleteFoldersResponse" }, "FolderDetails": { "properties": { "folder_id": { "type": "string", "title": "Folder Id" }, "folder_path": { "type": "string", "title": "Folder Path" }, "parent_folder_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Parent Folder Id" }, "last_modified_time": { "type": "integer", "title": "Last Modified Time" }, "AI_Tagging": { "type": "boolean", "title": "Ai Tagging" }, "taggingCompleted": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Taggingcompleted" } }, "type": "object", "required": [ "folder_id", "folder_path", "last_modified_time", "AI_Tagging" ], "title": "FolderDetails" }, "GetAlbumImagesRequest": { "properties": { "password": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Password" } }, "type": "object", "title": "GetAlbumImagesRequest" }, "GetAlbumImagesResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "image_ids": { "items": { "type": "string" }, "type": "array", "title": "Image Ids" } }, "type": "object", "required": [ "success", "image_ids" ], "title": "GetAlbumImagesResponse" }, "GetAlbumResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "data": { "$ref": "#/components/schemas/Album" } }, "type": "object", "required": [ "success", "data" ], "title": "GetAlbumResponse" }, "GetAlbumsResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "albums": { "items": { "$ref": "#/components/schemas/Album" }, "type": "array", "title": "Albums" } }, "type": "object", "required": [ "success", "albums" ], "title": "GetAlbumsResponse" }, "GetAllFoldersData": { "properties": { "folders": { "items": { "$ref": "#/components/schemas/FolderDetails" }, "type": "array", "title": "Folders" }, "total_count": { "type": "integer", "title": "Total Count" } }, "type": "object", "required": [ "folders", "total_count" ], "title": "GetAllFoldersData" }, "GetAllFoldersResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error" }, "data": { "anyOf": [ { "$ref": "#/components/schemas/GetAllFoldersData" }, { "type": "null" } ] } }, "type": "object", "required": [ "success" ], "title": "GetAllFoldersResponse" }, "GetAllImagesResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "message": { "type": "string", "title": "Message" }, "data": { "items": { "$ref": "#/components/schemas/ImageData" }, "type": "array", "title": "Data" } }, "type": "object", "required": [ "success", "message", "data" ], "title": "GetAllImagesResponse" }, "GetClusterImagesData": { "properties": { "cluster_id": { "type": "string", "title": "Cluster Id" }, "cluster_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cluster Name" }, "images": { "items": { "$ref": "#/components/schemas/ImageInCluster" }, "type": "array", "title": "Images" }, "total_images": { "type": "integer", "title": "Total Images" } }, "type": "object", "required": [ "cluster_id", "images", "total_images" ], "title": "GetClusterImagesData", "description": "Data model for cluster images response." }, "GetClusterImagesResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error" }, "data": { "anyOf": [ { "$ref": "#/components/schemas/GetClusterImagesData" }, { "type": "null" } ] } }, "type": "object", "required": [ "success" ], "title": "GetClusterImagesResponse", "description": "Response model for getting images in a cluster." }, "GetClustersData": { "properties": { "clusters": { "items": { "$ref": "#/components/schemas/ClusterMetadata" }, "type": "array", "title": "Clusters" } }, "type": "object", "required": [ "clusters" ], "title": "GetClustersData" }, "GetClustersResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error" }, "data": { "anyOf": [ { "$ref": "#/components/schemas/GetClustersData" }, { "type": "null" } ] } }, "type": "object", "required": [ "success" ], "title": "GetClustersResponse" }, "GetUserPreferencesResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "message": { "type": "string", "title": "Message" }, "user_preferences": { "$ref": "#/components/schemas/UserPreferencesData" } }, "type": "object", "required": [ "success", "message", "user_preferences" ], "title": "GetUserPreferencesResponse", "description": "Response model for getting user preferences" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "ImageData": { "properties": { "id": { "type": "string", "title": "Id" }, "path": { "type": "string", "title": "Path" }, "folder_id": { "type": "string", "title": "Folder Id" }, "thumbnailPath": { "type": "string", "title": "Thumbnailpath" }, "metadata": { "type": "object", "title": "Metadata" }, "isTagged": { "type": "boolean", "title": "Istagged" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" } }, "type": "object", "required": [ "id", "path", "folder_id", "thumbnailPath", "metadata", "isTagged" ], "title": "ImageData" }, "ImageIdsRequest": { "properties": { "image_ids": { "items": { "type": "string" }, "type": "array", "title": "Image Ids" } }, "type": "object", "required": [ "image_ids" ], "title": "ImageIdsRequest" }, "ImageInCluster": { "properties": { "id": { "type": "string", "title": "Id" }, "path": { "type": "string", "title": "Path" }, "thumbnailPath": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Thumbnailpath" }, "metadata": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Metadata" }, "face_id": { "type": "integer", "title": "Face Id" }, "confidence": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Confidence" }, "bbox": { "anyOf": [ { "additionalProperties": { "anyOf": [ { "type": "integer" }, { "type": "number" } ] }, "type": "object" }, { "type": "null" } ], "title": "Bbox" } }, "type": "object", "required": [ "id", "path", "face_id" ], "title": "ImageInCluster", "description": "Represents an image that contains faces from a specific cluster." }, "RenameClusterData": { "properties": { "cluster_id": { "type": "string", "title": "Cluster Id" }, "cluster_name": { "type": "string", "title": "Cluster Name" } }, "type": "object", "required": [ "cluster_id", "cluster_name" ], "title": "RenameClusterData" }, "RenameClusterRequest": { "properties": { "cluster_name": { "type": "string", "title": "Cluster Name" } }, "type": "object", "required": [ "cluster_name" ], "title": "RenameClusterRequest" }, "RenameClusterResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error" }, "data": { "anyOf": [ { "$ref": "#/components/schemas/RenameClusterData" }, { "type": "null" } ] } }, "type": "object", "required": [ "success" ], "title": "RenameClusterResponse" }, "SuccessResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "msg": { "type": "string", "title": "Msg" } }, "type": "object", "required": [ "success", "msg" ], "title": "SuccessResponse" }, "SyncFolderData": { "properties": { "deleted_count": { "type": "integer", "title": "Deleted Count" }, "deleted_folders": { "items": { "type": "string" }, "type": "array", "title": "Deleted Folders" }, "added_count": { "type": "integer", "title": "Added Count" }, "added_folders": { "items": { "type": "string" }, "type": "array", "title": "Added Folders" }, "folder_id": { "type": "string", "title": "Folder Id" }, "folder_path": { "type": "string", "title": "Folder Path" } }, "type": "object", "required": [ "deleted_count", "deleted_folders", "added_count", "added_folders", "folder_id", "folder_path" ], "title": "SyncFolderData" }, "SyncFolderRequest": { "properties": { "folder_path": { "type": "string", "title": "Folder Path" }, "folder_id": { "type": "string", "title": "Folder Id" } }, "type": "object", "required": [ "folder_path", "folder_id" ], "title": "SyncFolderRequest" }, "SyncFolderResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error" }, "data": { "anyOf": [ { "$ref": "#/components/schemas/SyncFolderData" }, { "type": "null" } ] } }, "type": "object", "required": [ "success" ], "title": "SyncFolderResponse" }, "UpdateAITaggingData": { "properties": { "updated_count": { "type": "integer", "title": "Updated Count" }, "folder_ids": { "items": { "type": "string" }, "type": "array", "title": "Folder Ids" } }, "type": "object", "required": [ "updated_count", "folder_ids" ], "title": "UpdateAITaggingData" }, "UpdateAITaggingRequest": { "properties": { "folder_ids": { "items": { "type": "string" }, "type": "array", "title": "Folder Ids" } }, "type": "object", "required": [ "folder_ids" ], "title": "UpdateAITaggingRequest" }, "UpdateAITaggingResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error" }, "data": { "anyOf": [ { "$ref": "#/components/schemas/UpdateAITaggingData" }, { "type": "null" } ] } }, "type": "object", "required": [ "success" ], "title": "UpdateAITaggingResponse" }, "UpdateAlbumRequest": { "properties": { "name": { "type": "string", "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description", "default": "" }, "is_hidden": { "type": "boolean", "title": "Is Hidden" }, "current_password": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Current Password" }, "password": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Password" } }, "type": "object", "required": [ "name", "is_hidden" ], "title": "UpdateAlbumRequest" }, "UpdateUserPreferencesRequest": { "properties": { "YOLO_model_size": { "anyOf": [ { "type": "string", "enum": [ "nano", "small", "medium" ] }, { "type": "null" } ], "title": "Yolo Model Size" }, "GPU_Acceleration": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Gpu Acceleration" } }, "type": "object", "title": "UpdateUserPreferencesRequest", "description": "Request model for updating user preferences" }, "UpdateUserPreferencesResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "message": { "type": "string", "title": "Message" }, "user_preferences": { "$ref": "#/components/schemas/UserPreferencesData" } }, "type": "object", "required": [ "success", "message", "user_preferences" ], "title": "UpdateUserPreferencesResponse", "description": "Response model for updating user preferences" }, "UserPreferencesData": { "properties": { "YOLO_model_size": { "type": "string", "enum": [ "nano", "small", "medium" ], "title": "Yolo Model Size", "default": "small" }, "GPU_Acceleration": { "type": "boolean", "title": "Gpu Acceleration", "default": true } }, "type": "object", "title": "UserPreferencesData", "description": "User preferences data structure" }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "app__schemas__face_clusters__ErrorResponse": { "properties": { "success": { "type": "boolean", "title": "Success", "default": false }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error" } }, "type": "object", "title": "ErrorResponse" }, "app__schemas__folders__ErrorResponse": { "properties": { "success": { "type": "boolean", "title": "Success", "default": false }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error" } }, "type": "object", "title": "ErrorResponse" }, "app__schemas__images__ErrorResponse": { "properties": { "success": { "type": "boolean", "title": "Success", "default": false }, "message": { "type": "string", "title": "Message" }, "error": { "type": "string", "title": "Error" } }, "type": "object", "required": [ "message", "error" ], "title": "ErrorResponse" }, "app__schemas__user_preferences__ErrorResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "error": { "type": "string", "title": "Error" }, "message": { "type": "string", "title": "Message" } }, "type": "object", "required": [ "success", "error", "message" ], "title": "ErrorResponse", "description": "Error response model" } } } }