### Retrieve user onboarding Source: https://api.immich.app/endpoints/users Fetches the current onboarding status for the user. This is useful for guiding new users through the initial setup process. ```APIDOC ## GET /users/me/onboarding ### Description Retrieve user onboarding ### Method GET ### Endpoint /users/me/onboarding ``` -------------------------------- ### Install Immich SDK Source: https://api.immich.app/sdk Install the Immich SDK using npm. This command adds the SDK as a dependency to your project. ```bash npm i --save @immich/sdk ``` -------------------------------- ### Start OAuth Source: https://api.immich.app/endpoints/authentication Initiates the OAuth authorization flow. ```APIDOC ## POST /oauth/authorize ### Description Starts the OAuth authorization flow. ### Method POST ### Endpoint /oauth/authorize ``` -------------------------------- ### Setup Pin Code Source: https://api.immich.app/endpoints/authentication Sets up a PIN code for the user. ```APIDOC ## POST /auth/pin-code ### Description Sets up a PIN code for the user. ### Method POST ### Endpoint /auth/pin-code ``` -------------------------------- ### Get Server Information Source: https://api.immich.app/endpoints/server/getAboutInfo Retrieve a list of information about the server, including build details, versions of installed software, and repository information. ```APIDOC ## GET /server/about ### Description Retrieve a list of information about the server. ### Method GET ### Endpoint /server/about ### Response #### Success Response (200) - **build** (String) - Build identifier - **buildImage** (String) - Build image name - **buildImageUrl** (String) - Build image URL - **buildUrl** (String) - Build URL - **exiftool** (String) - ExifTool version - **ffmpeg** (String) - FFmpeg version - **imagemagick** (String) - ImageMagick version - **libvips** (String) - libvips version - **licensed** (Boolean) - Whether the server is licensed - **nodejs** (String) - Node.js version - **repository** (String) - Repository name - **repositoryUrl** (String) - Repository URL - **sourceCommit** (String) - Source commit hash - **sourceRef** (String) - Source reference (branch/tag) - **sourceUrl** (String) - Source URL - **thirdPartyBugFeatureUrl** (String) - Third-party bug/feature URL - **thirdPartyDocumentationUrl** (String) - Third-party documentation URL - **thirdPartySourceUrl** (String) - Third-party source URL - **thirdPartySupportUrl** (String) - Third-party support URL - **version** (String) - Server version - **versionUrl** (String) - URL to version information ### Response Example { "build": "string", "buildImage": "string", "buildImageUrl": "string", "buildUrl": "string", "exiftool": "string", "ffmpeg": "string", "imagemagick": "string", "libvips": "string", "licensed": true, "nodejs": "string", "repository": "string", "repositoryUrl": "string", "sourceCommit": "string", "sourceRef": "string", "sourceUrl": "string", "thirdPartyBugFeatureUrl": "string", "thirdPartyDocumentationUrl": "string", "thirdPartySourceUrl": "string", "thirdPartySupportUrl": "string", "version": "string", "versionUrl": "string" } ``` -------------------------------- ### Detect existing install Source: https://api.immich.app/endpoints/maintenance-%28admin%29 Detects if there is a prior installation of Immich on the system. This can be useful for upgrade or migration scenarios. ```APIDOC ## GET /admin/maintenance/detect-install ### Description Detect existing install. ### Method GET ### Endpoint /admin/maintenance/detect-install ### Status Alpha ``` -------------------------------- ### Detect Existing Install Source: https://api.immich.app/endpoints/maintenance-%28admin%29/detectPriorInstall Collects integrity checks and other heuristics about local data to detect an existing installation. Requires admin authentication and 'maintenance' permission. ```APIDOC ## GET /admin/maintenance/detect-install detectPriorInstall ### Description Collects integrity checks and other heuristics about local data. ### Method GET ### Endpoint /admin/maintenance/detect-install ### Parameters #### Query Parameters None #### Request Body None ### Response #### Success Response (200) - **storage** (MaintenanceDetectInstallStorageFolderDto[]) - Array of storage folder details. ### Response Example ```json { "storage": [ { "storage": "string", "type": "string", "status": "string", "description": "string" } ] } ``` ``` -------------------------------- ### Get System Configuration Source: https://api.immich.app/endpoints/system-config Retrieves the current system configuration settings. ```APIDOC ## GET /system-config ### Description Get system configuration ### Method GET ### Endpoint /system-config ### Response #### Success Response (200) - **config** (object) - The current system configuration settings. ``` -------------------------------- ### Get Server License Source: https://api.immich.app/endpoints/server Retrieves the product key for the server license. ```APIDOC ## GET /server/license ### Description Get product key. ### Method GET ### Endpoint /server/license ``` -------------------------------- ### Get System Configuration Defaults Source: https://api.immich.app/endpoints/system-config Retrieves the default system configuration settings. ```APIDOC ## GET /system-config/defaults ### Description Get system configuration defaults ### Method GET ### Endpoint /system-config/defaults ### Response #### Success Response (200) - **defaults** (object) - The default system configuration settings. ``` -------------------------------- ### List all plugins Source: https://api.immich.app/endpoints/plugins Retrieves a list of all installed plugins. This endpoint is currently in Alpha status. ```APIDOC ## GET /plugins ### Description List all plugins available in the Immich system. These plugins can provide filters and actions for the workflow feature. ### Method GET ### Endpoint /plugins ### Status Alpha ``` -------------------------------- ### Start Database Restore Flow Source: https://api.immich.app/endpoints/database-backups-%28admin%29 Initiates the process to restore the database from a backup. ```APIDOC ## POST /admin/database-backups/start-restore ### Description Start database backup restore flow. ### Method POST ### Endpoint /admin/database-backups/start-restore ### Status Alpha ``` -------------------------------- ### Get Theme Source: https://api.immich.app/endpoints/server/getTheme Retrieve the custom CSS for theming, if it exists. ```APIDOC ## GET /server/theme getTheme ### Description Retrieve the custom CSS, if existent. ### Method GET ### Endpoint /server/theme ### Response #### Success Response (200) - **customCss** (String) - Custom CSS for theming ``` -------------------------------- ### Start OAuth Source: https://api.immich.app/endpoints/authentication/startOAuth Initiates the OAuth authorization process. This endpoint is used to start the OAuth flow by providing necessary parameters for code exchange. ```APIDOC ## POST /oauth/authorize startOAuth ### Description Initiate the OAuth authorization process. ### Method POST ### Endpoint /oauth/authorize ### Parameters #### Request Body - **codeChallenge** (String) - OAuth code challenge (PKCE) - **redirectUri** (String) - Required - OAuth redirect URI - **state** (String) - OAuth state parameter ### Response #### Success Response (200) - **url** (String) - Required - OAuth authorization URL ``` -------------------------------- ### Get Server Configuration Source: https://api.immich.app/endpoints/server Retrieves the current server configuration settings. ```APIDOC ## GET /server/config ### Description Get config. ### Method GET ### Endpoint /server/config ``` -------------------------------- ### Get Storage Template Options Source: https://api.immich.app/endpoints/system-config/getStorageTemplateOptions Retrieves exemplary storage template options available for configuration. ```APIDOC ## GET /system-config/storage-template-options getStorageTemplateOptions ### Description Retrieve exemplary storage template options. ### Method GET ### Endpoint /system-config/storage-template-options ### Response #### Success Response (200) - **dayOptions** (String[]) - Available day format options for storage template - **hourOptions** (String[]) - Available hour format options for storage template - **minuteOptions** (String[]) - Available minute format options for storage template - **monthOptions** (String[]) - Available month format options for storage template - **presetOptions** (String[]) - Available preset template options - **secondOptions** (String[]) - Available second format options for storage template - **weekOptions** (String[]) - Available week format options for storage template - **yearOptions** (String[]) - Available year format options for storage template #### Response Example { "dayOptions": [ "Sunday", "Monday" ], "hourOptions": [ "01", "02" ], "minuteOptions": [ "01", "02" ], "monthOptions": [ "January", "February" ], "presetOptions": [ "daily", "weekly" ], "secondOptions": [ "01", "02" ], "weekOptions": [ "Week 1", "Week 2" ], "yearOptions": [ "2023", "2024" ] } ``` -------------------------------- ### Get Server Version Source: https://api.immich.app/endpoints/server Retrieves the current version of the server. ```APIDOC ## GET /server/version ### Description Get server version. ### Method GET ### Endpoint /server/version ``` -------------------------------- ### Get Server Theme Source: https://api.immich.app/endpoints/server Retrieves the current theme settings of the server. ```APIDOC ## GET /server/theme ### Description Get theme. ### Method GET ### Endpoint /server/theme ``` -------------------------------- ### Get Storage Template Options Source: https://api.immich.app/endpoints/system-config Retrieves the available storage template options. ```APIDOC ## GET /system-config/storage-template-options ### Description Get storage template options ### Method GET ### Endpoint /system-config/storage-template-options ### Response #### Success Response (200) - **options** (array) - A list of available storage template options. ``` -------------------------------- ### Setup Pin Code Source: https://api.immich.app/endpoints/authentication/setupPinCode Sets a new PIN code for the current user. This operation requires the user to have the 'pinCode.create' permission. ```APIDOC ## POST /auth/pin-code setupPinCode ### Description Sets a new PIN code for the current user. ### Method POST ### Endpoint /auth/pin-code ### Parameters #### Request Body - **pinCode** (String) - Required - PIN code (4-6 digits) ### Responses #### Success Response (204) No content is returned upon successful PIN code setup. ``` -------------------------------- ### Get Server Information Source: https://api.immich.app/endpoints/server Retrieves information about the current server deployment, including version and build details. ```APIDOC ## GET /server/about ### Description Get server information. ### Method GET ### Endpoint /server/about ``` -------------------------------- ### Get System Configuration Source: https://api.immich.app/endpoints/system-config/getConfig Retrieves the current system configuration. This endpoint requires administrator authentication and the 'systemConfig.read' permission. ```APIDOC ## GET /system-config getConfig ### Description Retrieve the current system configuration. ### Method GET ### Endpoint /system-config ### Response #### Success Response (200) - **backup** (SystemConfigBackupsDto) - System backup configuration. - **ffmpeg** (SystemConfigFFmpegDto) - FFmpeg configuration. - **image** (SystemConfigImageDto) - Image processing configuration. - **job** (SystemConfigJobDto) - Job processing configuration. - **library** (SystemConfigLibraryDto) - Library management configuration. - **logging** (SystemConfigLoggingDto) - Logging configuration. - **machineLearning** (SystemConfigMachineLearningDto) - Machine learning configuration. - **map** (SystemConfigMapDto) - Map integration configuration. - **metadata** (SystemConfigMetadataDto) - Metadata handling configuration. - **newVersionCheck** (SystemConfigNewVersionCheckDto) - New version check configuration. - **nightlyTasks** (SystemConfigNightlyTasksDto) - Nightly tasks configuration. - **notifications** (SystemConfigNotificationsDto) - Notification settings. - **oauth** (SystemConfigOAuthDto) - OAuth integration configuration. - **passwordLogin** (SystemConfigPasswordLoginDto) - Password login settings. - **reverseGeocoding** (SystemConfigReverseGeocodingDto) - Reverse geocoding service configuration. - **server** (SystemConfigServerDto) - Server settings. - **storageTemplate** (SystemConfigStorageTemplateDto) - Storage template configuration. - **templates** (SystemConfigTemplatesDto) - Template settings. - **theme** (SystemConfigThemeDto) - UI theme configuration. - **trash** (SystemConfigTrashDto) - Trash management configuration. - **user** (SystemConfigUserDto) - User management configuration. ``` -------------------------------- ### Get System Configuration Defaults Source: https://api.immich.app/endpoints/system-config/getConfigDefaults Retrieves the default values for the system configuration. This endpoint requires administrator authentication and the 'systemConfig.read' permission. ```APIDOC ## GET /system-config/defaults getConfigDefaults ### Description Retrieve the default values for the system configuration. ### Method GET ### Endpoint /system-config/defaults ### Response #### Success Response (200) - **backup** (SystemConfigBackupsDto) - Default backup settings. - **ffmpeg** (SystemConfigFFmpegDto) - Default FFmpeg settings. - **image** (SystemConfigImageDto) - Default image processing settings. - **job** (SystemConfigJobDto) - Default job settings. - **library** (SystemConfigLibraryDto) - Default library settings. - **logging** (SystemConfigLoggingDto) - Default logging settings. - **machineLearning** (SystemConfigMachineLearningDto) - Default machine learning settings. - **map** (SystemConfigMapDto) - Default map settings. - **metadata** (SystemConfigMetadataDto) - Default metadata settings. - **newVersionCheck** (SystemConfigNewVersionCheckDto) - Default new version check settings. - **nightlyTasks** (SystemConfigNightlyTasksDto) - Default nightly tasks settings. - **notifications** (SystemConfigNotificationsDto) - Default notification settings. - **oauth** (SystemConfigOAuthDto) - Default OAuth settings. - **passwordLogin** (SystemConfigPasswordLoginDto) - Default password login settings. - **reverseGeocoding** (SystemConfigReverseGeocodingDto) - Default reverse geocoding settings. - **server** (SystemConfigServerDto) - Default server settings. - **storageTemplate** (SystemConfigStorageTemplateDto) - Default storage template settings. - **templates** (SystemConfigTemplatesDto) - Default template settings. - **theme** (SystemConfigThemeDto) - Default theme settings. - **trash** (SystemConfigTrashDto) - Default trash settings. - **user** (SystemConfigUserDto) - Default user settings. ``` -------------------------------- ### Initialize Immich SDK Source: https://api.immich.app/sdk Initialize the SDK with your API key and base URL. You can then import and use typed methods. ```APIDOC import { getAllAlbums, getMyUser, init } from "@immich/sdk"; const API_KEY = ""; // process.env.IMMICH_API_KEY init({ baseUrl: "https://demo.immich.app/api", apiKey: API_KEY }); // Example usage of imported methods: // const albums = await getAllAlbums(); // const user = await getMyUser(); ``` -------------------------------- ### Initialize Immich SDK Source: https://api.immich.app/sdk Initialize the Immich SDK with your API key and the base URL of your Immich instance. Import typed methods after initialization. ```typescript import { getAllAlbums, getMyUser, init } from "@immich/sdk"; const API_KEY = ""; // process.env.IMMICH_API_KEY init({ baseUrl: "https://demo.immich.app/api", apiKey: API_KEY }); ``` -------------------------------- ### GET /assets/random Source: https://api.immich.app/endpoints/deprecated Get random assets. This endpoint is deprecated and will be removed in a future release. ```APIDOC ## GET /assets/random ### Description Get random assets. ### Method GET ### Endpoint /assets/random ### Status Deprecated ``` -------------------------------- ### Get Server Statistics Source: https://api.immich.app/endpoints/server Retrieves statistics about the server. ```APIDOC ## GET /server/statistics ### Description Get statistics. ### Method GET ### Endpoint /server/statistics ``` -------------------------------- ### Create a session Source: https://api.immich.app/endpoints/sessions Initiates a new user login session. ```APIDOC ## POST /sessions ### Description Create a new user session (login). ### Method POST ### Endpoint /sessions ``` -------------------------------- ### Get My Preferences Source: https://api.immich.app/endpoints/users/getMyPreferences Retrieve the preferences for the current user. ```APIDOC ## GET /users/me/preferences ### Description Retrieve the preferences for the current user. ### Method GET ### Endpoint /users/me/preferences ### Response #### Success Response (200) - **albums** (AlbumsResponse) - Description - **cast** (CastResponse) - Description - **download** (DownloadResponse) - Description - **emailNotifications** (EmailNotificationsResponse) - Description - **folders** (FoldersResponse) - Description - **memories** (MemoriesResponse) - Description - **people** (PeopleResponse) - Description - **purchase** (PurchaseResponse) - Description - **ratings** (RatingsResponse) - Description - **sharedLinks** (SharedLinksResponse) - Description - **tags** (TagsResponse) - Description ``` -------------------------------- ### Get a person Source: https://api.immich.app/endpoints/people/getPerson Retrieve a person by their unique identifier. ```APIDOC ## GET /people/{id} ### Description Retrieve a person by id. ### Method GET ### Endpoint /people/{id} ### Parameters #### Path Parameters - **id** (UUID) - Required - The unique identifier of the person. ### Response #### Success Response (200) - **birthDate** (date | Null) - Person date of birth - **color** (String) - Person color (hex) - **id** (String) - Person ID - **isFavorite** (Boolean) - Is favorite - **isHidden** (Boolean) - Is hidden - **name** (String) - Person name - **thumbnailPath** (String) - Thumbnail path - **updatedAt** (DateTime) - Last update date ``` -------------------------------- ### List all plugins Source: https://api.immich.app/endpoints/plugins/getPlugins Retrieve a list of plugins available to the authenticated user. This endpoint is currently in Alpha status and requires the `plugin.read` permission. ```APIDOC ## GET /plugins ### Description Retrieve a list of plugins available to the authenticated user. ### Method GET ### Endpoint /plugins ### Parameters None ### Request Example None ### Response #### Success Response (200) - **body** (PluginResponseDto[]) - An array of plugin objects. #### Response Example ```json [ { "id": "string", "name": "string", "description": "string", "version": "string", "enabled": true, "iconPath": "string", "path": "string", "packagePath": "string", "author": "string", "runOnStartup": true, "requiredModules": [ "string" ], "settings": {} } ] ``` ``` -------------------------------- ### Get a notification Source: https://api.immich.app/endpoints/notifications/getNotification Retrieve a specific notification identified by its ID. ```APIDOC ## GET /notifications/{id} ### Description Retrieve a specific notification identified by id. ### Method GET ### Endpoint /notifications/{id} ### Parameters #### Path Parameters - **id** (UUID) - Required - Notification ID ### Response #### Success Response (200) - **createdAt** (DateTime) - Creation date - **data** (Unknown) - Additional notification data - **description** (String) - Notification description - **id** (String) - Notification ID - **level** (NotificationLevel) - Notification level - **readAt** (DateTime) - Date when notification was read - **title** (String) - Notification title - **type** (NotificationType) - Notification type #### Response Example { "createdAt": "2023-10-27T10:00:00Z", "data": {}, "description": "Your backup has completed successfully.", "id": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "level": "INFO", "readAt": null, "title": "Backup Complete", "type": "BACKUP" } ``` -------------------------------- ### Admin Sign Up Source: https://api.immich.app/endpoints/authentication/signUpAdmin Creates the first administrator user in the system. This endpoint is stable and publicly accessible. ```APIDOC ## POST /auth/admin-sign-up signUpAdmin ### Description Creates the first admin user in the system. ### Method POST ### Endpoint /auth/admin-sign-up ### Parameters #### Request Body - **email** (email) - Required - User email - **name** (String) - Required - User name - **password** (String) - Required - User password ### Response #### Success Response (200) - **avatarColor** (UserAvatarColor) - Avatar color - **createdAt** (DateTime) - Creation date - **deletedAt** (DateTime | Null) - Deletion date - **email** (String) - User email - **id** (String) - User ID - **isAdmin** (Boolean) - Is admin user - **license** (UserLicense | Null) - User license - **name** (String) - User name - **oauthId** (String) - OAuth ID - **profileChangedAt** (DateTime) - Profile change date - **profileImagePath** (String) - Profile image path - **quotaSizeInBytes** (Number | Null) - Storage quota in bytes - **quotaUsageInBytes** (Number | Null) - Storage usage in bytes - **shouldChangePassword** (Boolean) - Require password change on next login - **status** (UserStatus) - User status - **storageLabel** (String | Null) - Storage label - **updatedAt** (DateTime) - Last update date ``` -------------------------------- ### Run an asset job Source: https://api.immich.app/endpoints/assets/runAssetJobs Initiates a job on specified assets. Requires 'job.create' permission. ```APIDOC ## POST /assets/jobs runAssetJobs ### Description Run a specific job on a set of assets. ### Method POST ### Endpoint /assets/jobs ### Parameters #### Request Body - **assetIds** (UUID[]) - Required - Asset IDs - **name** (AssetJobName) - Required - Job name ### Responses #### Success Response (204) - No content ``` -------------------------------- ### Get Server Version History Source: https://api.immich.app/endpoints/server Retrieves the version history of the server. ```APIDOC ## GET /server/version-history ### Description Get version history. ### Method GET ### Endpoint /server/version-history ``` -------------------------------- ### Create Library Source: https://api.immich.app/endpoints/libraries/createLibrary Creates a new external library. Requires administrator authentication and library.create permission. ```APIDOC ## POST /libraries createLibrary ### Description Create a new external library. ### Method POST ### Endpoint /libraries ### Parameters #### Request Body - **exclusionPatterns** (String[]) - Optional - Exclusion patterns (max 128) - **importPaths** (String[]) - Optional - Import paths (max 128) - **name** (String) - Required - Library name - **ownerId** (UUID) - Required - Owner user ID ### Response #### Success Response (200) - **assetCount** (Number) - Number of assets - **createdAt** (DateTime) - Creation date - **exclusionPatterns** (String[]) - Exclusion patterns - **id** (String) - Library ID - **importPaths** (String[]) - Import paths - **name** (String) - Library name - **ownerId** (String) - Owner user ID - **refreshedAt** (DateTime | Null) - Last refresh date - **updatedAt** (DateTime) - Last update date ``` -------------------------------- ### Get Server Storage Source: https://api.immich.app/endpoints/server Retrieves information about the server's storage. ```APIDOC ## GET /server/storage ### Description Get storage. ### Method GET ### Endpoint /server/storage ``` -------------------------------- ### setUserOnboarding Source: https://api.immich.app/endpoints/users/setUserOnboarding Updates the onboarding status of the current user. ```APIDOC ## PUT /users/me/onboarding setUserOnboarding ### Description Update the onboarding status of the current user. ### Method PUT ### Endpoint /users/me/onboarding ### Parameters #### Request Body - **isOnboarded** (Boolean) - Required - Is user onboarded ### Request Example { "isOnboarded": true } ### Response #### Success Response (200) - **isOnboarded** (Boolean) - Is user onboarded #### Response Example { "isOnboarded": true } ``` -------------------------------- ### Get Server License Source: https://api.immich.app/endpoints/server/getServerLicense Retrieves information about whether the server currently has a product key registered. This endpoint is stable and requires admin authentication with serverLicense.read permission. ```APIDOC ## GET /server/license getServerLicense ### Description Retrieve information about whether the server currently has a product key registered. ### Method GET ### Endpoint /server/license ### Response #### Success Response (200) - **activatedAt** (DateTime) - Activation date - **activationKey** (String) - Activation key - **licenseKey** (String) - License key (format: IM(SV|CL)(-XXXX){8}) #### Response Example ```json { "activatedAt": "2023-10-27T10:00:00Z", "activationKey": "ACTIVATION_KEY_EXAMPLE", "licenseKey": "IMSV-ABCDEF12" } ``` ``` -------------------------------- ### Get Server Features Source: https://api.immich.app/endpoints/server Retrieves a list of features supported by the server. ```APIDOC ## GET /server/features ### Description Get features. ### Method GET ### Endpoint /server/features ``` -------------------------------- ### Start Database Restore Flow Source: https://api.immich.app/endpoints/database-backups-%28admin%29/startDatabaseRestoreFlow This endpoint initiates the database restore process. It puts Immich into maintenance mode, which is a prerequisite for restoring a backup. Ensure Immich is not configured before calling this endpoint. This is an Alpha feature. ```APIDOC ## POST /admin/database-backups/start-restore startDatabaseRestoreFlow ### Description Initiates the database restore process by putting Immich into maintenance mode. This endpoint is intended for administrative use and requires Immich to be unconfigured. This is an Alpha feature. ### Method POST ### Endpoint /admin/database-backups/start-restore ### Parameters This endpoint does not accept any parameters. ### Request Body This endpoint does not accept a request body. ### Response #### Success Response (204) This endpoint returns a 204 No Content status code upon successful initiation of the restore flow. #### Response Example (No content) ``` -------------------------------- ### Get APK Links Source: https://api.immich.app/endpoints/server Retrieves the available APK links for the server. ```APIDOC ## GET /server/apk-links ### Description Get APK links. ### Method GET ### Endpoint /server/apk-links ``` -------------------------------- ### Get Version History Source: https://api.immich.app/endpoints/server/getVersionHistory Retrieve a list of past versions the server has been on. ```APIDOC ## GET /server/version-history ### Description Retrieve a list of past versions the server has been on. ### Method GET ### Endpoint /server/version-history ### Responses #### Success Response (200) - **versions** (ServerVersionHistoryResponseDto[]) - An array of server version history objects. ### History - `v2` — Marked as Status:Stable - `v1` — Marked as Status:Beta - `v1` — Added ``` -------------------------------- ### Set User License Source: https://api.immich.app/endpoints/users/setUserLicense Register a product key for the current user. ```APIDOC ## PUT /users/me/license setUserLicense ### Description Register a product key for the current user. ### Method PUT ### Endpoint /users/me/license ### Parameters #### Request Body - **activationKey** (String) - Required - Activation key - **licenseKey** (String) - Required - License key (format: IM(SV|CL)(-XXXX){8}) ### Response #### Success Response (200) - **activatedAt** (DateTime) - Activation date - **activationKey** (String) - Activation key - **licenseKey** (String) - License key (format: IM(SV|CL)(-XXXX){8}) ``` -------------------------------- ### Get a notification Source: https://api.immich.app/endpoints/notifications Retrieves a specific notification by its ID. This endpoint is stable. ```APIDOC ## GET /notifications/{id} ### Description Get a specific notification by its ID. ### Method GET ### Endpoint /notifications/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the notification. ``` -------------------------------- ### Get asset statistics Source: https://api.immich.app/endpoints/assets Retrieves statistics about assets. This is a stable endpoint. ```APIDOC ## GET /assets/statistics ### Description Get asset statistics ### Method GET ### Endpoint /assets/statistics ``` -------------------------------- ### Admin Onboarding Source: https://api.immich.app/endpoints/system-metadata Endpoints to retrieve and update the admin onboarding status. ```APIDOC ## GET /system-metadata/admin-onboarding ### Description Retrieve admin onboarding status. ### Method GET ### Endpoint /system-metadata/admin-onboarding ### Response #### Success Response (200) - **status** (boolean) - Indicates if admin onboarding is complete. ``` ```APIDOC ## POST /system-metadata/admin-onboarding ### Description Update admin onboarding status. ### Method POST ### Endpoint /system-metadata/admin-onboarding ### Request Body - **status** (boolean) - Required - Set to true to mark admin onboarding as complete. ### Response #### Success Response (200) - **status** (boolean) - Indicates if admin onboarding is complete. ``` -------------------------------- ### Set Server License Source: https://api.immich.app/endpoints/server Sets the product key for the server license. ```APIDOC ## PUT /server/license ### Description Set server product key. ### Method PUT ### Endpoint /server/license ``` -------------------------------- ### Create Partner Source: https://api.immich.app/endpoints/partners/createPartner Creates a new partner to share assets with. Requires partner.create permission. ```APIDOC ## POST /partners createPartner ### Description Create a new partner to share assets with. ### Method POST ### Endpoint /partners ### Parameters #### Request Body - **sharedWithId** (UUID) - Required - User ID to share with ### Response #### Success Response (200) - **avatarColor** (UserAvatarColor) - Avatar color - **email** (String) - User email - **id** (String) - User ID - **inTimeline** (Boolean) - Show in timeline - **name** (String) - User name - **profileChangedAt** (DateTime) - Profile change date - **profileImagePath** (String) - Profile image path ``` -------------------------------- ### Get Storage Information Source: https://api.immich.app/endpoints/server/getStorage Retrieves the current storage utilization information of the server. ```APIDOC ## GET /server/storage getStorage ### Description Retrieve the current storage utilization information of the server. ### Method GET ### Endpoint /server/storage ### Response #### Success Response (200) - **diskAvailable** (String) - Available disk space (human-readable format) - **diskAvailableRaw** (Number) - Available disk space in bytes - **diskSize** (String) - Total disk size (human-readable format) - **diskSizeRaw** (Number) - Total disk size in bytes - **diskUsagePercentage** (Number) - Disk usage percentage (0-100) - **diskUse** (String) - Used disk space (human-readable format) - **diskUseRaw** (Number) - Used disk space in bytes ### Response Example ```json { "diskAvailable": "100 GB", "diskAvailableRaw": 107374182400, "diskSize": "1 TB", "diskSizeRaw": 1099511627776, "diskUsagePercentage": 10, "diskUse": "100 GB", "diskUseRaw": 107374182400 } ``` ``` -------------------------------- ### Get APK Links Source: https://api.immich.app/endpoints/server/getApkLinks Retrieve links to the APKs for the current server version. ```APIDOC ## GET /server/apk-links getApkLinks ### Description Retrieve links to the APKs for the current server version. ### Method GET ### Endpoint /server/apk-links ### Response #### Success Response (200) - **arm64v8a** (String) - APK download link for ARM64 v8a architecture - **armeabiv7a** (String) - APK download link for ARM EABI v7a architecture - **universal** (String) - APK download link for universal architecture - **x86_64** (String) - APK download link for x86_64 architecture #### Response Example { "arm64v8a": "string", "armeabiv7a": "string", "universal": "string", "x86_64": "string" } ``` -------------------------------- ### Set Server License Source: https://api.immich.app/endpoints/server/setServerLicense Validates and sets the server product key. Requires administrator authentication and the 'serverLicense.update' permission. ```APIDOC ## PUT /server/license setServerLicense ### Description Validate and set the server product key if successful. ### Method PUT ### Endpoint /server/license ### Parameters #### Request Body - **activationKey** (String) - Required - Activation key - **licenseKey** (String) - Required - License key (format: IM(SV|CL)(-XXXX){8}) ### Response #### Success Response (200) - **activatedAt** (DateTime) - Activation date - **activationKey** (String) - Activation key - **licenseKey** (String) - License key (format: IM(SV|CL)(-XXXX){8}) ``` -------------------------------- ### Get asset metadata Source: https://api.immich.app/endpoints/assets Retrieves the metadata for a specific asset. This is a stable endpoint. ```APIDOC ## GET /assets/{id}/metadata ### Description Get asset metadata ### Method GET ### Endpoint /assets/{id}/metadata ``` -------------------------------- ### Get Person Statistics Source: https://api.immich.app/endpoints/people/getPersonStatistics Retrieves statistics for a specific person identified by their ID. ```APIDOC ## GET /people/{id}/statistics ### Description Retrieve statistics about a specific person. ### Method GET ### Endpoint /people/{id}/statistics ### Parameters #### Path Parameters - **id** (UUID) - Required - The unique identifier of the person. ### Response #### Success Response (200) - **assets** (Number) - Required - The number of assets associated with the person. ``` -------------------------------- ### Run an asset job Source: https://api.immich.app/endpoints/assets Initiates an asset job. This is a stable endpoint. ```APIDOC ## POST /assets/jobs ### Description Run an asset job ### Method POST ### Endpoint /assets/jobs ``` -------------------------------- ### Create a stack Source: https://api.immich.app/endpoints/stacks/createStack Create a new stack by providing a name and a list of asset IDs to include in the stack. If any of the provided asset IDs are primary assets of an existing stack, the existing stack will be merged into the newly created stack. ```APIDOC ## POST /stacks createStack ### Description Create a new stack by providing a name and a list of asset IDs to include in the stack. If any of the provided asset IDs are primary assets of an existing stack, the existing stack will be merged into the newly created stack. ### Method POST ### Endpoint /stacks ### Parameters #### Request Body - **assetIds** (UUID[]) - Required - Asset IDs (first becomes primary, min 2) ### Request Example { "assetIds": [ "uuid1", "uuid2" ] } ### Response #### Success Response (200) - **assets** (AssetResponseDto[]) - Stack assets - **id** (String) - Stack ID - **primaryAssetId** (String) - Primary asset ID #### Response Example { "assets": [ { "id": "assetId1", "originalPath": "/path/to/original/asset1.jpg", "thumbnailPath": "/path/to/thumbnail/asset1.jpg", "type": "IMAGE", "width": 1920, "height": 1080, "createdAt": "2023-01-01T10:00:00Z", "deletedAt": null, "checksum": "checksum1" } ], "id": "stackId123", "primaryAssetId": "uuid1" } ``` -------------------------------- ### Get random assets Source: https://api.immich.app/endpoints/assets Retrieves a selection of random assets. This endpoint is deprecated. ```APIDOC ## GET /assets/random ### Description Get random assets ### Method GET ### Endpoint /assets/random ``` -------------------------------- ### Get Maintenance Status Source: https://api.immich.app/endpoints/maintenance-%28admin%29/getMaintenanceStatus Fetch information about the currently running maintenance action. ```APIDOC ## GET /admin/maintenance/status getMaintenanceStatus ### Description Fetch information about the currently running maintenance action. ### Method GET ### Endpoint /admin/maintenance/status ### Response #### Success Response (200) - **action** (MaintenanceAction) - Maintenance action - **active** (Boolean) - Indicates if a maintenance action is active - **error** (String) - Error message if any occurred during maintenance - **progress** (Number) - Progress of the maintenance action - **task** (String) - The current task being performed during maintenance #### Response Example ```json { "action": "REPAIR", "active": true, "error": null, "progress": 50, "task": "Processing assets" } ``` ``` -------------------------------- ### Login Source: https://api.immich.app/endpoints/authentication/login Login with username and password and receive a session token. ```APIDOC ## POST /auth/login ### Description Login with username and password and receive a session token. ### Method POST ### Endpoint /auth/login ### Parameters #### Request Body - **email** (email) - Required - User email - **password** (String) - Required - User password ### Response #### Success Response (200) - **accessToken** (String) - Access token - **isAdmin** (Boolean) - Is admin user - **isOnboarded** (Boolean) - Is onboarded - **name** (String) - User name - **profileImagePath** (String) - Profile image path - **shouldChangePassword** (Boolean) - Should change password - **userEmail** (String) - User email - **userId** (String) - User ID ### Response Example { "accessToken": "string", "isAdmin": true, "isOnboarded": true, "name": "string", "profileImagePath": "string", "shouldChangePassword": true, "userEmail": "string", "userId": "string" } ``` -------------------------------- ### Get Album Statistics Source: https://api.immich.app/endpoints/albums/getAlbumStatistics Returns statistics about the albums available to the authenticated user. ```APIDOC ## GET /albums/statistics getAlbumStatistics ### Description Returns statistics about the albums available to the authenticated user. ### Method GET ### Endpoint /albums/statistics ### Response #### Success Response (200) - **notShared** (Number) - Number of non-shared albums - **owned** (Number) - Number of owned albums - **shared** (Number) - Number of shared albums #### Response Example { "notShared": 10, "owned": 5, "shared": 2 } ``` -------------------------------- ### Create an album Source: https://api.immich.app/endpoints/albums Creates a new album. ```APIDOC ## POST /albums ### Description Create an album. ### Method POST ### Endpoint /albums ``` -------------------------------- ### Create Memory Source: https://api.immich.app/endpoints/memories/createMemory Creates a new memory by providing a name, description, and a list of asset IDs to include in the memory. ```APIDOC ## POST /memories ### Description Create a new memory by providing a name, description, and a list of asset IDs to include in the memory. ### Method POST ### Endpoint /memories ### Parameters #### Request Body - **assetIds** (UUID[]) - Required - Asset IDs to associate with memory - **data** (OnThisDayDto) - Required - - **hideAt** (DateTime) - Optional - Date when memory should be hidden - **isSaved** (Boolean) - Optional - Is memory saved - **memoryAt** (DateTime) - Required - Memory date - **seenAt** (DateTime) - Optional - Date when memory was seen - **showAt** (DateTime) - Optional - Date when memory should be shown - **type** (MemoryType) - Required - Memory type ### Response #### Success Response (200) - **assets** (AssetResponseDto[]) - Required - - **createdAt** (DateTime) - Required - Creation date - **data** (OnThisDayDto) - Required - - **deletedAt** (DateTime) - Optional - Deletion date - **hideAt** (DateTime) - Optional - Date when memory should be hidden - **id** (String) - Required - Memory ID - **isSaved** (Boolean) - Required - Is memory saved - **memoryAt** (DateTime) - Required - Memory date - **ownerId** (String) - Required - Owner user ID - **seenAt** (DateTime) - Optional - Date when memory was seen - **showAt** (DateTime) - Optional - Date when memory should be shown - **type** (MemoryType) - Required - Memory type - **updatedAt** (DateTime) - Required - Last update date ``` -------------------------------- ### Get Server Version Check Status Source: https://api.immich.app/endpoints/server Retrieves the status of the server version check. ```APIDOC ## GET /server/version-check ### Description Get version check status. ### Method GET ### Endpoint /server/version-check ``` -------------------------------- ### Create Library Source: https://api.immich.app/endpoints/libraries Creates a new external library. This involves specifying input file paths or expressions that Immich will scan for assets. ```APIDOC ## POST /libraries ### Description Create a new library. ### Method POST ### Endpoint /libraries ### Request Body - **name** (string) - Required - The name of the library. - **paths** (array) - Required - An array of strings, where each string is an input file path or expression. ### Response #### Success Response (200) - **id** (string) - The unique identifier of the newly created library. - **name** (string) - The name of the library. - **paths** (array) - The input paths for the library. ``` -------------------------------- ### Admin Sign Up Source: https://api.immich.app/endpoints/authentication Registers an administrator account. ```APIDOC ## POST /auth/admin-sign-up ### Description Registers an administrator account. ### Method POST ### Endpoint /auth/admin-sign-up ``` -------------------------------- ### Get Supported Media Types Source: https://api.immich.app/endpoints/server Retrieves a list of media types supported by the server. ```APIDOC ## GET /server/media-types ### Description Get supported media types. ### Method GET ### Endpoint /server/media-types ``` -------------------------------- ### Get Asset Metadata Source: https://api.immich.app/endpoints/assets/getAssetMetadata Retrieves all metadata key-value pairs associated with the specified asset. ```APIDOC ## GET /assets/{id}/metadata ### Description Retrieve all metadata key-value pairs associated with the specified asset. ### Method GET ### Endpoint /assets/{id}/metadata ### Parameters #### Path Parameters - **id** (UUID) - Required - The unique identifier of the asset. ### Responses #### Success Response (200) - **AssetMetadataResponseDto[]** - An array of metadata objects. ``` -------------------------------- ### Create Partner Source: https://api.immich.app/endpoints/partners Establishes a new partner relationship with another user. ```APIDOC ## POST /partners ### Description Create a partner. ### Method POST ### Endpoint /partners ``` -------------------------------- ### Create Activity Source: https://api.immich.app/endpoints/activities/createActivity Creates a like or a comment for an album, or an asset within an album. ```APIDOC ## POST /activities createActivity ### Description Create a like or a comment for an album, or an asset in an album. ### Method POST ### Endpoint /activities ### Parameters #### Request Body - **albumId** (UUID) - Required - Album ID - **assetId** (UUID) - Optional - Asset ID (if activity is for an asset) - **comment** (String) - Required if type is comment - Comment text - **type** (ReactionType) - Required - Activity type (like or comment) ### Response #### Success Response (200) - **assetId** (String | Null) - Asset ID (if activity is for an asset) - **comment** (String | Null) - Comment text (for comment activities) - **createdAt** (DateTime) - Creation date - **id** (String) - Activity ID - **type** (ReactionType) - Activity type - **user** (UserResponseDto) - User information ```