Skip to content

Reference

Usage:

$ immichpy [OPTIONS] COMMAND [ARGS]...

Options:

  • -v, --verbose: Show verbose output.
  • --format [pretty|json|table]: Output format of the CLI. [env var: IMMICH_FORMAT; default: pretty]
  • --api-key TEXT: Authorize via API key (get one here). [env var: IMMICH_API_KEY]
  • --access-token TEXT: Authorize via access token. [env var: IMMICH_ACCESS_TOKEN]
  • --base-url TEXT: The server to connect to. [env var: IMMICH_API_URL]
  • -p, --profile TEXT: The profile to use. [env var: IMMICH_PROFILE; default: default]
  • --version: Show version and exit.
  • --install-completion: Install completion for the current shell.
  • --show-completion: Show completion for the current shell, to copy it or customize the installation.
  • --help: Show this message and exit.

Commands:

  • setup: Interactively set up a profile for the CLI...
  • api-keys: An api key can be used to programmatically...
  • activities: An activity is a like or a comment made by...
  • albums: An album is a collection of assets that...
  • assets: An asset is an image or video that has...
  • auth: Endpoints related to user authentication,...
  • auth-admin: Administrative endpoints related to...
  • download: Endpoints for downloading assets or...
  • config: Configure the CLI with server details,...
  • duplicates: Endpoints for managing and identifying...
  • faces: A face is a detected human face within an...
  • jobs: Queues and background jobs are used for...
  • libraries: An external library is made up of input...
  • maintenance-admin: Maintenance mode allows you to put Immich...
  • map: Map endpoints include supplemental...
  • memories: A memory is a specialized collection of...
  • notifications: A notification is a specialized message...
  • notifications-admin: Notification administrative endpoints.
  • partners: A partner is a link with another user that...
  • people: A person is a collection of faces, which...
  • plugins: A plugin is an installed module that makes...
  • queues: Queues and background jobs are used for...
  • search: Endpoints related to searching assets via...
  • server: Information about the current server...
  • sessions: A session represents an authenticated...
  • shared-links: A shared link is a public url that...
  • stacks: A stack is a group of related assets.
  • sync: A collection of endpoints for the new...
  • system-config: Endpoints to view, modify, and validate...
  • system-metadata: Endpoints to view, modify, and validate...
  • tags: A tag is a user-defined label that can be...
  • timeline: Specialized endpoints related to the...
  • trash: Endpoints for managing the trash can,...
  • users: Endpoints for viewing and updating the...
  • users-admin: Administrative endpoints for managing...
  • views: Endpoints for specialized views, such as...
  • workflows: A workflow is a set of actions that run...
  • backups: Manage backups of the Immich database.

immichpy setup

Interactively set up a profile for the CLI to connect to an Immich server.

Usage:

$ immichpy setup [OPTIONS]

Options:

  • -p, --profile TEXT: Profile name. This can be used to set different server configurations. [default: default]
  • --base-url TEXT: The base URL of the Immich server, including the API path. [default: https://demo.immich.app/api]
  • --api-key TEXT: An API key to use with the profile (recommended)
  • --access-token TEXT: An access token to use with the profile (not recommended)
  • --skip-validation: Skip validation of the server.
  • --help: Show this message and exit.

immichpy api-keys

An api key can be used to programmatically access the Immich API.

Immich API documentation

Usage:

$ immichpy api-keys [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-api-key: Create an API key
  • delete-api-key: Delete an API key
  • get-api-key: Retrieve an API key
  • get-api-keys: List all API keys
  • get-my-api-key: Retrieve the current API key
  • update-api-key: Update an API key

immichpy api-keys create-api-key

Create an API key

Immich API documentation

Usage:

$ immichpy api-keys create-api-key [OPTIONS]

Options:

  • --name TEXT: API key name
  • --permissions [all|activity.create|activity.read|activity.update|activity.delete|activity.statistics|apiKey.create|apiKey.read|apiKey.update|apiKey.delete|asset.read|asset.update|asset.delete|asset.statistics|asset.share|asset.view|asset.download|asset.upload|asset.replace|asset.copy|asset.derive|asset.edit.get|asset.edit.create|asset.edit.delete|album.create|album.read|album.update|album.delete|album.statistics|album.share|album.download|albumAsset.create|albumAsset.delete|albumUser.create|albumUser.update|albumUser.delete|auth.changePassword|authDevice.delete|archive.read|backup.list|backup.download|backup.upload|backup.delete|duplicate.read|duplicate.delete|face.create|face.read|face.update|face.delete|folder.read|job.create|job.read|library.create|library.read|library.update|library.delete|library.statistics|timeline.read|timeline.download|maintenance|map.read|map.search|memory.create|memory.read|memory.update|memory.delete|memory.statistics|memoryAsset.create|memoryAsset.delete|notification.create|notification.read|notification.update|notification.delete|partner.create|partner.read|partner.update|partner.delete|person.create|person.read|person.update|person.delete|person.statistics|person.merge|person.reassign|pinCode.create|pinCode.update|pinCode.delete|plugin.create|plugin.read|plugin.update|plugin.delete|server.about|server.apkLinks|server.storage|server.statistics|server.versionCheck|serverLicense.read|serverLicense.update|serverLicense.delete|session.create|session.read|session.update|session.delete|session.lock|sharedLink.create|sharedLink.read|sharedLink.update|sharedLink.delete|stack.create|stack.read|stack.update|stack.delete|sync.stream|syncCheckpoint.read|syncCheckpoint.update|syncCheckpoint.delete|systemConfig.read|systemConfig.update|systemMetadata.read|systemMetadata.update|tag.create|tag.read|tag.update|tag.delete|tag.asset|user.read|user.update|userLicense.create|userLicense.read|userLicense.update|userLicense.delete|userOnboarding.read|userOnboarding.update|userOnboarding.delete|userPreference.read|userPreference.update|userProfileImage.create|userProfileImage.read|userProfileImage.update|userProfileImage.delete|queue.read|queue.update|queueJob.create|queueJob.read|queueJob.update|queueJob.delete|workflow.create|workflow.read|workflow.update|workflow.delete|adminUser.create|adminUser.read|adminUser.update|adminUser.delete|adminSession.read|adminAuth.unlinkAll]: List of permissions [required]
  • --help: Show this message and exit.

immichpy api-keys delete-api-key

Delete an API key

Immich API documentation

Usage:

$ immichpy api-keys delete-api-key [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy api-keys get-api-key

Retrieve an API key

Immich API documentation

Usage:

$ immichpy api-keys get-api-key [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy api-keys get-api-keys

List all API keys

Immich API documentation

Usage:

$ immichpy api-keys get-api-keys [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy api-keys get-my-api-key

Retrieve the current API key

Immich API documentation

Usage:

$ immichpy api-keys get-my-api-key [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy api-keys update-api-key

Update an API key

Immich API documentation

Usage:

$ immichpy api-keys update-api-key [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --name TEXT: API key name
  • --permissions [all|activity.create|activity.read|activity.update|activity.delete|activity.statistics|apiKey.create|apiKey.read|apiKey.update|apiKey.delete|asset.read|asset.update|asset.delete|asset.statistics|asset.share|asset.view|asset.download|asset.upload|asset.replace|asset.copy|asset.derive|asset.edit.get|asset.edit.create|asset.edit.delete|album.create|album.read|album.update|album.delete|album.statistics|album.share|album.download|albumAsset.create|albumAsset.delete|albumUser.create|albumUser.update|albumUser.delete|auth.changePassword|authDevice.delete|archive.read|backup.list|backup.download|backup.upload|backup.delete|duplicate.read|duplicate.delete|face.create|face.read|face.update|face.delete|folder.read|job.create|job.read|library.create|library.read|library.update|library.delete|library.statistics|timeline.read|timeline.download|maintenance|map.read|map.search|memory.create|memory.read|memory.update|memory.delete|memory.statistics|memoryAsset.create|memoryAsset.delete|notification.create|notification.read|notification.update|notification.delete|partner.create|partner.read|partner.update|partner.delete|person.create|person.read|person.update|person.delete|person.statistics|person.merge|person.reassign|pinCode.create|pinCode.update|pinCode.delete|plugin.create|plugin.read|plugin.update|plugin.delete|server.about|server.apkLinks|server.storage|server.statistics|server.versionCheck|serverLicense.read|serverLicense.update|serverLicense.delete|session.create|session.read|session.update|session.delete|session.lock|sharedLink.create|sharedLink.read|sharedLink.update|sharedLink.delete|stack.create|stack.read|stack.update|stack.delete|sync.stream|syncCheckpoint.read|syncCheckpoint.update|syncCheckpoint.delete|systemConfig.read|systemConfig.update|systemMetadata.read|systemMetadata.update|tag.create|tag.read|tag.update|tag.delete|tag.asset|user.read|user.update|userLicense.create|userLicense.read|userLicense.update|userLicense.delete|userOnboarding.read|userOnboarding.update|userOnboarding.delete|userPreference.read|userPreference.update|userProfileImage.create|userProfileImage.read|userProfileImage.update|userProfileImage.delete|queue.read|queue.update|queueJob.create|queueJob.read|queueJob.update|queueJob.delete|workflow.create|workflow.read|workflow.update|workflow.delete|adminUser.create|adminUser.read|adminUser.update|adminUser.delete|adminSession.read|adminAuth.unlinkAll]: List of permissions
  • --help: Show this message and exit.

immichpy activities

An activity is a like or a comment made by a user on an asset or album.

Immich API documentation

Usage:

$ immichpy activities [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-activity: Create an activity
  • delete-activity: Delete an activity
  • get-activities: List all activities
  • get-activity-statistics: Retrieve activity statistics

immichpy activities create-activity

Create an activity

Immich API documentation

Usage:

$ immichpy activities create-activity [OPTIONS]

Options:

  • --album-id TEXT: Album ID [required]
  • --asset-id TEXT: Asset ID (if activity is for an asset)
  • --comment TEXT: Comment text (required if type is comment)
  • --type TEXT: Activity type (like or comment) [required]
  • --help: Show this message and exit.

immichpy activities delete-activity

Delete an activity

Immich API documentation

Usage:

$ immichpy activities delete-activity [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy activities get-activities

List all activities

Immich API documentation

Usage:

$ immichpy activities get-activities [OPTIONS]

Options:

  • --album-id TEXT: Album ID [required]
  • --asset-id TEXT: Asset ID (if activity is for an asset)
  • --level [album|asset]: Filter by activity level
  • --type [comment|like]: Filter by activity type
  • --user-id TEXT: Filter by user ID
  • --help: Show this message and exit.

immichpy activities get-activity-statistics

Retrieve activity statistics

Immich API documentation

Usage:

$ immichpy activities get-activity-statistics [OPTIONS]

Options:

  • --album-id TEXT: Album ID [required]
  • --asset-id TEXT: Asset ID (if activity is for an asset)
  • --help: Show this message and exit.

immichpy albums

An album is a collection of assets that can be shared with other users or via shared links.

Immich API documentation

Usage:

$ immichpy albums [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • add-assets-to-album: Add assets to an album
  • add-assets-to-albums: Add assets to albums
  • add-users-to-album: Share album with users
  • create-album: Create an album
  • delete-album: Delete an album
  • get-album-info: Retrieve an album
  • get-album-statistics: Retrieve album statistics
  • get-all-albums: List all albums
  • remove-asset-from-album: Remove assets from an album
  • remove-user-from-album: Remove user from album
  • update-album-info: Update an album
  • update-album-user: Update user role

immichpy albums add-assets-to-album

Add assets to an album

Immich API documentation

Usage:

$ immichpy albums add-assets-to-album [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --ids TEXT: IDs to process [required]
  • --key TEXT
  • --slug TEXT
  • --help: Show this message and exit.

immichpy albums add-assets-to-albums

Add assets to albums

Immich API documentation

Usage:

$ immichpy albums add-assets-to-albums [OPTIONS]

Options:

  • --album-ids TEXT: Album IDs [required]
  • --asset-ids TEXT: Asset IDs [required]
  • --key TEXT
  • --slug TEXT
  • --help: Show this message and exit.

immichpy albums add-users-to-album

Share album with users

Immich API documentation

Usage:

$ immichpy albums add-users-to-album [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --album-users TEXT: Album users to add

As a JSON string [required] * --help: Show this message and exit.

immichpy albums create-album

Create an album

Immich API documentation

Usage:

$ immichpy albums create-album [OPTIONS]

Options:

  • --album-name TEXT: Album name [required]
  • --album-users TEXT: Album users

As a JSON string * --asset-ids TEXT: Initial asset IDs * --description TEXT: Album description * --help: Show this message and exit.

immichpy albums delete-album

Delete an album

Immich API documentation

Usage:

$ immichpy albums delete-album [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy albums get-album-info

Retrieve an album

Immich API documentation

Usage:

$ immichpy albums get-album-info [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --key TEXT
  • --slug TEXT
  • --without-assets [true|false]: Exclude assets from response
  • --help: Show this message and exit.

immichpy albums get-album-statistics

Retrieve album statistics

Immich API documentation

Usage:

$ immichpy albums get-album-statistics [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy albums get-all-albums

List all albums

Immich API documentation

Usage:

$ immichpy albums get-all-albums [OPTIONS]

Options:

  • --asset-id TEXT: Filter albums containing this asset ID (ignores shared parameter)
  • --shared [true|false]: Filter by shared status: true = only shared, false = only own, undefined = all
  • --help: Show this message and exit.

immichpy albums remove-asset-from-album

Remove assets from an album

Immich API documentation

Usage:

$ immichpy albums remove-asset-from-album [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --ids TEXT: IDs to process [required]
  • --help: Show this message and exit.

immichpy albums remove-user-from-album

Remove user from album

Immich API documentation

Usage:

$ immichpy albums remove-user-from-album [OPTIONS] ID USER_ID

Arguments:

  • ID: [required]
  • USER_ID: [required]

Options:

  • --help: Show this message and exit.

immichpy albums update-album-info

Update an album

Immich API documentation

Usage:

$ immichpy albums update-album-info [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --album-name TEXT: Album name
  • --album-thumbnail-asset-id TEXT: Album thumbnail asset ID
  • --description TEXT: Album description
  • --is-activity-enabled [true|false]: Enable activity feed
  • --order TEXT: Asset sort order
  • --help: Show this message and exit.

immichpy albums update-album-user

Update user role

Immich API documentation

Usage:

$ immichpy albums update-album-user [OPTIONS] ID USER_ID

Arguments:

  • ID: [required]
  • USER_ID: [required]

Options:

  • --role TEXT: Album user role [required]
  • --help: Show this message and exit.

immichpy assets

An asset is an image or video that has been uploaded to Immich.

Immich API documentation

Usage:

$ immichpy assets [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • check-bulk-upload: Check bulk upload
  • check-existing-assets: Check existing assets
  • copy-asset: Copy asset
  • delete-asset-metadata: Delete asset metadata by key
  • delete-assets: Delete assets
  • delete-bulk-asset-metadata: Delete asset metadata
  • download-asset: Download original asset
  • edit-asset: Apply edits to an existing asset
  • get-all-user-assets-by-device-id: Retrieve assets by device ID (DEPRECATED)
  • get-asset-edits: Retrieve edits for an existing asset
  • get-asset-info: Retrieve an asset
  • get-asset-metadata: Get asset metadata
  • get-asset-metadata-by-key: Retrieve asset metadata by key
  • get-asset-ocr: Retrieve asset OCR data
  • get-asset-statistics: Get asset statistics
  • get-random: Get random assets (DEPRECATED)
  • play-asset-video: Play asset video
  • remove-asset-edits: Remove edits from an existing asset
  • replace-asset: Replace asset (DEPRECATED)
  • run-asset-jobs: Run an asset job
  • update-asset: Update an asset
  • update-asset-metadata: Update asset metadata
  • update-assets: Update assets
  • update-bulk-asset-metadata: Upsert asset metadata
  • upload-asset: Upload asset
  • view-asset: View asset thumbnail
  • download-asset-to-file: Download an asset to a file.
  • play-asset-video-to-file: Save an asset's video stream to a file.
  • view-asset-to-file: Save an asset's thumbnail to a file.
  • upload: Upload assets with smart features.

immichpy assets check-bulk-upload

Check bulk upload

Immich API documentation

Usage:

$ immichpy assets check-bulk-upload [OPTIONS]

Options:

  • --assets TEXT: Assets to check

As a JSON string [required] * --help: Show this message and exit.

immichpy assets check-existing-assets

Check existing assets

Immich API documentation

Usage:

$ immichpy assets check-existing-assets [OPTIONS]

Options:

  • --device-asset-ids TEXT: Device asset IDs to check [required]
  • --device-id TEXT: Device ID [required]
  • --help: Show this message and exit.

immichpy assets copy-asset

Copy asset

Immich API documentation

Usage:

$ immichpy assets copy-asset [OPTIONS]

Options:

  • --albums [true|false]: Copy album associations
  • --favorite [true|false]: Copy favorite status
  • --shared-links [true|false]: Copy shared links
  • --sidecar [true|false]: Copy sidecar file
  • --source-id TEXT: Source asset ID [required]
  • --stack [true|false]: Copy stack association
  • --target-id TEXT: Target asset ID [required]
  • --help: Show this message and exit.

immichpy assets delete-asset-metadata

Delete asset metadata by key

Immich API documentation

Usage:

$ immichpy assets delete-asset-metadata [OPTIONS] ID KEY

Arguments:

  • ID: Asset ID [required]
  • KEY: Metadata key [required]

Options:

  • --help: Show this message and exit.

immichpy assets delete-assets

Delete assets

Immich API documentation

Usage:

$ immichpy assets delete-assets [OPTIONS]

Options:

  • --force [true|false]: Force delete even if in use
  • --ids TEXT: IDs to process [required]
  • --help: Show this message and exit.

immichpy assets delete-bulk-asset-metadata

Delete asset metadata

Immich API documentation

Usage:

$ immichpy assets delete-bulk-asset-metadata [OPTIONS]

Options:

  • --items TEXT: Metadata items to delete

As a JSON string [required] * --help: Show this message and exit.

immichpy assets download-asset

Download original asset

Immich API documentation

Usage:

$ immichpy assets download-asset [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --edited [true|false]: Return edited asset if available
  • --key TEXT
  • --slug TEXT
  • --help: Show this message and exit.

immichpy assets edit-asset

Apply edits to an existing asset

Immich API documentation

Usage:

$ immichpy assets edit-asset [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --edits TEXT: List of edit actions to apply (crop, rotate, or mirror)

As a JSON string [required] * --help: Show this message and exit.

immichpy assets get-all-user-assets-by-device-id

Retrieve assets by device ID

Immich API documentation

Usage:

$ immichpy assets get-all-user-assets-by-device-id [OPTIONS] DEVICE_ID

Arguments:

  • DEVICE_ID: Device ID [required]

Options:

  • --help: Show this message and exit.

immichpy assets get-asset-edits

Retrieve edits for an existing asset

Immich API documentation

Usage:

$ immichpy assets get-asset-edits [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy assets get-asset-info

Retrieve an asset

Immich API documentation

Usage:

$ immichpy assets get-asset-info [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --key TEXT
  • --slug TEXT
  • --help: Show this message and exit.

immichpy assets get-asset-metadata

Get asset metadata

Immich API documentation

Usage:

$ immichpy assets get-asset-metadata [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy assets get-asset-metadata-by-key

Retrieve asset metadata by key

Immich API documentation

Usage:

$ immichpy assets get-asset-metadata-by-key [OPTIONS] ID KEY

Arguments:

  • ID: Asset ID [required]
  • KEY: Metadata key [required]

Options:

  • --help: Show this message and exit.

immichpy assets get-asset-ocr

Retrieve asset OCR data

Immich API documentation

Usage:

$ immichpy assets get-asset-ocr [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy assets get-asset-statistics

Get asset statistics

Immich API documentation

Usage:

$ immichpy assets get-asset-statistics [OPTIONS]

Options:

  • --is-favorite [true|false]: Filter by favorite status
  • --is-trashed [true|false]: Filter by trash status
  • --visibility [archive|timeline|hidden|locked]: Filter by visibility
  • --help: Show this message and exit.

immichpy assets get-random

Get random assets

Immich API documentation

Usage:

$ immichpy assets get-random [OPTIONS]

Options:

  • --count FLOAT RANGE: Number of random assets to return [x>=1]
  • --help: Show this message and exit.

immichpy assets play-asset-video

Play asset video

Immich API documentation

Usage:

$ immichpy assets play-asset-video [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --key TEXT
  • --slug TEXT
  • --help: Show this message and exit.

immichpy assets remove-asset-edits

Remove edits from an existing asset

Immich API documentation

Usage:

$ immichpy assets remove-asset-edits [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy assets replace-asset

Replace asset

Immich API documentation

Usage:

$ immichpy assets replace-asset [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --asset-data PATH: Asset file data [required]
  • --device-asset-id TEXT: Device asset ID [required]
  • --device-id TEXT: Device ID [required]
  • --duration TEXT: Duration (for videos)
  • --file-created-at [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: File creation date [required]
  • --file-modified-at [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: File modification date [required]
  • --filename TEXT: Filename
  • --key TEXT
  • --slug TEXT
  • --help: Show this message and exit.

immichpy assets run-asset-jobs

Run an asset job

Immich API documentation

Usage:

$ immichpy assets run-asset-jobs [OPTIONS]

Options:

  • --asset-ids TEXT: Asset IDs [required]
  • --name TEXT: Job name [required]
  • --help: Show this message and exit.

immichpy assets update-asset

Update an asset

Immich API documentation

Usage:

$ immichpy assets update-asset [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --date-time-original TEXT: Original date and time
  • --description TEXT: Asset description
  • --is-favorite [true|false]: Mark as favorite
  • --latitude FLOAT: Latitude coordinate
  • --live-photo-video-id TEXT: Live photo video ID
  • --longitude FLOAT: Longitude coordinate
  • --rating FLOAT RANGE: Rating [-1<=x<=5]
  • --visibility TEXT: Asset visibility
  • --help: Show this message and exit.

immichpy assets update-asset-metadata

Update asset metadata

Immich API documentation

Usage:

$ immichpy assets update-asset-metadata [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --items TEXT: Metadata items to upsert

As a JSON string [required] * --help: Show this message and exit.

immichpy assets update-assets

Update assets

Immich API documentation

Usage:

$ immichpy assets update-assets [OPTIONS]

Options:

  • --date-time-original TEXT: Original date and time
  • --date-time-relative FLOAT: Relative time offset in seconds
  • --description TEXT: Asset description
  • --duplicate-id TEXT: Duplicate asset ID
  • --ids TEXT: Asset IDs to update [required]
  • --is-favorite [true|false]: Mark as favorite
  • --latitude FLOAT: Latitude coordinate
  • --longitude FLOAT: Longitude coordinate
  • --rating FLOAT RANGE: Rating [-1<=x<=5]
  • --time-zone TEXT: Time zone (IANA timezone)
  • --visibility TEXT: Asset visibility
  • --help: Show this message and exit.

immichpy assets update-bulk-asset-metadata

Upsert asset metadata

Immich API documentation

Usage:

$ immichpy assets update-bulk-asset-metadata [OPTIONS]

Options:

  • --items TEXT: Metadata items to upsert

As a JSON string [required] * --help: Show this message and exit.

immichpy assets upload-asset

Upload asset

Immich API documentation

Usage:

$ immichpy assets upload-asset [OPTIONS]

Options:

  • --asset-data PATH: Asset file data [required]
  • --device-asset-id TEXT: Device asset ID [required]
  • --device-id TEXT: Device ID [required]
  • --duration TEXT: Duration (for videos)
  • --file-created-at [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: File creation date [required]
  • --file-modified-at [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: File modification date [required]
  • --filename TEXT: Filename
  • --is-favorite [true|false]: Mark as favorite
  • --key TEXT
  • --live-photo-video-id TEXT: Live photo video ID
  • --metadata TEXT: Asset metadata items

As a JSON string * --sidecar-data PATH: Sidecar file data * --slug TEXT * --visibility TEXT: Asset visibility * --x-immich-checksum TEXT: sha1 checksum that can be used for duplicate detection before the file is uploaded * --help: Show this message and exit.

immichpy assets view-asset

View asset thumbnail

Immich API documentation

Usage:

$ immichpy assets view-asset [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --edited [true|false]: Return edited asset if available
  • --key TEXT
  • --size [original|fullsize|preview|thumbnail]: Asset media size
  • --slug TEXT
  • --help: Show this message and exit.

immichpy assets download-asset-to-file

Download an asset to a file.

Downloads the original asset file and saves it to the specified output directory. The filename can be specified or will be derived from the response headers.

Usage:

$ immichpy assets download-asset-to-file [OPTIONS] ID OUT_DIR

Arguments:

  • ID: Asset ID (UUID) [required]
  • OUT_DIR: Output directory for the downloaded file [required]

Options:

  • --key TEXT: Public share key (last path segment of /share/<key>)
  • --slug TEXT: Public share slug (last path segment of /s/<slug>)
  • --filename TEXT: Filename to use (defaults to original filename or orig-{asset_id})
  • --show-progress: Show progress bar while downloading
  • --help: Show this message and exit.

immichpy assets play-asset-video-to-file

Save an asset's video stream to a file.

Downloads the video stream for the asset and saves it to the specified output directory. The filename can be specified or will be derived from the response headers.

Usage:

$ immichpy assets play-asset-video-to-file [OPTIONS] ID OUT_DIR

Arguments:

  • ID: Asset ID (UUID) [required]
  • OUT_DIR: Output directory for the video file [required]

Options:

  • --key TEXT: Public share key (last path segment of /share/<key>)
  • --slug TEXT: Public share slug (last path segment of /s/<slug>)
  • --filename TEXT: Filename to use (defaults to original filename or video-{asset_id})
  • --show-progress: Show progress bar while downloading
  • --help: Show this message and exit.

immichpy assets view-asset-to-file

Save an asset's thumbnail to a file.

Downloads the thumbnail for the asset and saves it to the specified output directory. The filename can be specified or will be derived from the response headers.

Usage:

$ immichpy assets view-asset-to-file [OPTIONS] ID OUT_DIR

Arguments:

  • ID: Asset ID (UUID) [required]
  • OUT_DIR: Output directory for the thumbnail file [required]

Options:

  • --key TEXT: Public share key (last path segment of /share/<key>)
  • --slug TEXT: Public share slug (last path segment of /s/<slug>)
  • --size TEXT: Thumbnail size: fullsize, preview, or thumbnail
  • --filename TEXT: Filename to use (defaults to original filename or thumb-{asset_id})
  • --show-progress: Show progress bar while downloading
  • --help: Show this message and exit.

immichpy assets upload

Upload assets with smart features.

Uploads files or directories with duplicate detection, album management, sidecar support, and dry run capability. Directories are automatically walked recursively.

Usage:

$ immichpy assets upload [OPTIONS] PATHS...

Arguments:

  • PATHS...: File or directory paths to upload (can specify multiple) [required]

Options:

  • --ignore-pattern TEXT: Wildcard pattern to ignore files (uses fnmatch, not regex)
  • --include-hidden: Include hidden files (starting with '.')
  • --skip-duplicates: Check for duplicates using SHA1 hashes before uploading
  • --concurrency INTEGER: Number of concurrent uploads [default: 5]
  • --show-progress: Show progress bars
  • --album-name TEXT: Album name to create or use (if not provided, no album operations are performed)
  • --delete-uploads: Delete successfully uploaded files locally
  • --delete-duplicates: Delete rejected duplicate files locally
  • --dry-run: Simulate uploads without actually uploading
  • --help: Show this message and exit.

immichpy auth

Endpoints related to user authentication, including OAuth.

Immich API documentation

Usage:

$ immichpy auth [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • change-password: Change password
  • change-pin-code: Change pin code
  • finish-o-auth: Finish OAuth
  • get-auth-status: Retrieve auth status
  • link-o-auth-account: Link OAuth account
  • lock-auth-session: Lock auth session
  • login: Login
  • logout: Logout
  • redirect-o-auth-to-mobile: Redirect OAuth to mobile
  • reset-pin-code: Reset pin code
  • setup-pin-code: Setup pin code
  • sign-up-admin: Register admin
  • start-o-auth: Start OAuth
  • unlink-o-auth-account: Unlink OAuth account
  • unlock-auth-session: Unlock auth session
  • validate-access-token: Validate access token

immichpy auth change-password

Change password

Immich API documentation

Usage:

$ immichpy auth change-password [OPTIONS]

Options:

  • --invalidate-sessions [true|false]: Invalidate all other sessions
  • --new-password TEXT: New password (min 8 characters)

Example: password [required] * --password TEXT: Current password

Example: password [required] * --help: Show this message and exit.

immichpy auth change-pin-code

Change pin code

Immich API documentation

Usage:

$ immichpy auth change-pin-code [OPTIONS]

Options:

  • --new-pin-code TEXT: New PIN code (4-6 digits)

Example: 123456 [required] * --password TEXT: User password (required if PIN code is not provided) * --pin-code TEXT: New PIN code (4-6 digits)

Example: 123456 * --help: Show this message and exit.

immichpy auth finish-o-auth

Finish OAuth

Immich API documentation

Usage:

$ immichpy auth finish-o-auth [OPTIONS]

Options:

  • --code-verifier TEXT: OAuth code verifier (PKCE)
  • --state TEXT: OAuth state parameter
  • --url TEXT: OAuth callback URL [required]
  • --help: Show this message and exit.

immichpy auth get-auth-status

Retrieve auth status

Immich API documentation

Usage:

$ immichpy auth get-auth-status [OPTIONS]

Options:

  • --help: Show this message and exit.

Link OAuth account

Immich API documentation

Usage:

$ immichpy auth link-o-auth-account [OPTIONS]

Options:

  • --code-verifier TEXT: OAuth code verifier (PKCE)
  • --state TEXT: OAuth state parameter
  • --url TEXT: OAuth callback URL [required]
  • --help: Show this message and exit.

immichpy auth lock-auth-session

Lock auth session

Immich API documentation

Usage:

$ immichpy auth lock-auth-session [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy auth login

Login

Immich API documentation

Usage:

$ immichpy auth login [OPTIONS]

Options:

  • --email TEXT: User email

Example: testuser@email.com [required] * --password TEXT: User password

Example: password [required] * --help: Show this message and exit.

immichpy auth logout

Logout

Immich API documentation

Usage:

$ immichpy auth logout [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy auth redirect-o-auth-to-mobile

Redirect OAuth to mobile

Immich API documentation

Usage:

$ immichpy auth redirect-o-auth-to-mobile [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy auth reset-pin-code

Reset pin code

Immich API documentation

Usage:

$ immichpy auth reset-pin-code [OPTIONS]

Options:

  • --password TEXT: User password (required if PIN code is not provided)
  • --pin-code TEXT: New PIN code (4-6 digits)

Example: 123456 * --help: Show this message and exit.

immichpy auth setup-pin-code

Setup pin code

Immich API documentation

Usage:

$ immichpy auth setup-pin-code [OPTIONS]

Options:

  • --pin-code TEXT: PIN code (4-6 digits)

Example: 123456 [required] * --help: Show this message and exit.

immichpy auth sign-up-admin

Register admin

Immich API documentation

Usage:

$ immichpy auth sign-up-admin [OPTIONS]

Options:

  • --email TEXT: User email

Example: testuser@email.com [required] * --name TEXT: User name

Example: Admin [required] * --password TEXT: User password

Example: password [required] * --help: Show this message and exit.

immichpy auth start-o-auth

Start OAuth

Immich API documentation

Usage:

$ immichpy auth start-o-auth [OPTIONS]

Options:

  • --code-challenge TEXT: OAuth code challenge (PKCE)
  • --redirect-uri TEXT: OAuth redirect URI [required]
  • --state TEXT: OAuth state parameter
  • --help: Show this message and exit.

Unlink OAuth account

Immich API documentation

Usage:

$ immichpy auth unlink-o-auth-account [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy auth unlock-auth-session

Unlock auth session

Immich API documentation

Usage:

$ immichpy auth unlock-auth-session [OPTIONS]

Options:

  • --password TEXT: User password (required if PIN code is not provided)
  • --pin-code TEXT: New PIN code (4-6 digits)

Example: 123456 * --help: Show this message and exit.

immichpy auth validate-access-token

Validate access token

Immich API documentation

Usage:

$ immichpy auth validate-access-token [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy auth-admin

Administrative endpoints related to authentication.

Immich API documentation

Usage:

$ immichpy auth-admin [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • unlink-all-o-auth-accounts-admin: Unlink all OAuth accounts

Unlink all OAuth accounts

Immich API documentation

Usage:

$ immichpy auth-admin unlink-all-o-auth-accounts-admin [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy download

Endpoints for downloading assets or collections of assets.

Immich API documentation

Usage:

$ immichpy download [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • download-archive: Download asset archive
  • get-download-info: Retrieve download information
  • download-archive-to-file: Download one or more asset archives and...

immichpy download download-archive

Download asset archive

Immich API documentation

Usage:

$ immichpy download download-archive [OPTIONS]

Options:

  • --asset-ids TEXT: Asset IDs [required]
  • --key TEXT
  • --slug TEXT
  • --help: Show this message and exit.

immichpy download get-download-info

Retrieve download information

Immich API documentation

Usage:

$ immichpy download get-download-info [OPTIONS]

Options:

  • --album-id TEXT: Album ID to download
  • --archive-size INTEGER RANGE: Archive size limit in bytes [x>=1]
  • --asset-ids TEXT: Asset IDs to download
  • --key TEXT
  • --slug TEXT
  • --user-id TEXT: User ID to download assets from
  • --help: Show this message and exit.

immichpy download download-archive-to-file

Download one or more asset archives and save them to ZIP files.

Downloads archives sequentially (not in parallel) to avoid overloading the server. The download_info parameter can be provided via --json or using dotted flags.

Usage:

$ immichpy download download-archive-to-file [OPTIONS] OUT_DIR

Arguments:

  • OUT_DIR: Output directory for the downloaded ZIP archives [required]

Options:

  • --key TEXT: Public share key (last path segment of /share/<key>)
  • --slug TEXT: Public share slug (last path segment of /s/<slug>)
  • --show-progress: Show progress bars (per-archive bytes + overall archive count)
  • --album-id TEXT: Album ID to download
  • --archive-size INTEGER: Archive size limit in bytes
  • --asset-ids TEXT: Asset IDs to download
  • --user-id TEXT: User ID to download assets from
  • --help: Show this message and exit.

immichpy config

Configure the CLI with server details, profiles, and request settings.

Usage:

$ immichpy config [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • set: Set a value in the config file.
  • get: Get a value from the config file.
  • reset: Reset the configuration by deleting the...
  • open: Open the config file in the default editor.

immichpy config set

Set a value in the config file.

Usage:

$ immichpy config set [OPTIONS] KEY

Arguments:

  • KEY: Dot-separated config key [required]

Options:

  • -v, --value TEXT: Value to set (prompts if not provided) [required]
  • --help: Show this message and exit.

immichpy config get

Get a value from the config file. Secrets are redacted by default.

Usage:

$ immichpy config get [OPTIONS] KEY

Arguments:

  • KEY: The key to get from the config [required]

Options:

  • --show-secrets: Show secret values without redaction
  • --help: Show this message and exit.

immichpy config reset

Reset the configuration by deleting the config file.

Usage:

$ immichpy config reset [OPTIONS]

Options:

  • -y, --yes: Skip confirmation
  • --help: Show this message and exit.

immichpy config open

Open the config file in the default editor.

Usage:

$ immichpy config open [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy duplicates

Endpoints for managing and identifying duplicate assets.

Immich API documentation

Usage:

$ immichpy duplicates [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • delete-duplicate: Delete a duplicate
  • delete-duplicates: Delete duplicates
  • get-asset-duplicates: Retrieve duplicates

immichpy duplicates delete-duplicate

Delete a duplicate

Immich API documentation

Usage:

$ immichpy duplicates delete-duplicate [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy duplicates delete-duplicates

Delete duplicates

Immich API documentation

Usage:

$ immichpy duplicates delete-duplicates [OPTIONS]

Options:

  • --ids TEXT: IDs to process [required]
  • --help: Show this message and exit.

immichpy duplicates get-asset-duplicates

Retrieve duplicates

Immich API documentation

Usage:

$ immichpy duplicates get-asset-duplicates [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy faces

A face is a detected human face within an asset, which can be associated with a person. Faces are normally detected via machine learning, but can also be created via manually.

Immich API documentation

Usage:

$ immichpy faces [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-face: Create a face
  • delete-face: Delete a face
  • get-faces: Retrieve faces for asset
  • reassign-faces-by-id: Re-assign a face to another person

immichpy faces create-face

Create a face

Immich API documentation

Usage:

$ immichpy faces create-face [OPTIONS]

Options:

  • --asset-id TEXT: Asset ID [required]
  • --height INTEGER: Face bounding box height [required]
  • --image-height INTEGER: Image height in pixels [required]
  • --image-width INTEGER: Image width in pixels [required]
  • --person-id TEXT: Person ID [required]
  • --width INTEGER: Face bounding box width [required]
  • --x INTEGER: Face bounding box X coordinate [required]
  • --y INTEGER: Face bounding box Y coordinate [required]
  • --help: Show this message and exit.

immichpy faces delete-face

Delete a face

Immich API documentation

Usage:

$ immichpy faces delete-face [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --force: Force delete even if person has other faces [required]
  • --help: Show this message and exit.

immichpy faces get-faces

Retrieve faces for asset

Immich API documentation

Usage:

$ immichpy faces get-faces [OPTIONS]

Options:

  • --id TEXT: Face ID [required]
  • --help: Show this message and exit.

immichpy faces reassign-faces-by-id

Re-assign a face to another person

Immich API documentation

Usage:

$ immichpy faces reassign-faces-by-id [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --body-id TEXT: Face ID [required]
  • --help: Show this message and exit.

immichpy jobs

Queues and background jobs are used for processing tasks asynchronously. Queues can be paused and resumed as needed.

Immich API documentation

Usage:

$ immichpy jobs [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-job: Create a manual job
  • get-queues-legacy: Retrieve queue counts and status (DEPRECATED)
  • run-queue-command-legacy: Run jobs (DEPRECATED)

immichpy jobs create-job

Create a manual job

Immich API documentation

Usage:

$ immichpy jobs create-job [OPTIONS]

Options:

  • --name TEXT: Job name [required]
  • --help: Show this message and exit.

immichpy jobs get-queues-legacy

Retrieve queue counts and status

Immich API documentation

Usage:

$ immichpy jobs get-queues-legacy [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy jobs run-queue-command-legacy

Run jobs

Immich API documentation

Usage:

$ immichpy jobs run-queue-command-legacy [OPTIONS] NAME:{thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|editor}

Arguments:

  • NAME:{thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|editor}: Queue name [required]

Options:

  • --command TEXT: Queue command to execute [required]
  • --force [true|false]: Force the command execution (if applicable)
  • --help: Show this message and exit.

immichpy libraries

An external library is made up of input file paths or expressions that are scanned for asset files. Discovered files are automatically imported. Assets much be unique within a library, but can be duplicated across libraries. Each user has a default upload library, and can have one or more external libraries.

Immich API documentation

Usage:

$ immichpy libraries [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-library: Create a library
  • delete-library: Delete a library
  • get-all-libraries: Retrieve libraries
  • get-library: Retrieve a library
  • get-library-statistics: Retrieve library statistics
  • scan-library: Scan a library
  • update-library: Update a library
  • validate: Validate library settings

immichpy libraries create-library

Create a library

Immich API documentation

Usage:

$ immichpy libraries create-library [OPTIONS]

Options:

  • --exclusion-patterns TEXT: Exclusion patterns (max 128)
  • --import-paths TEXT: Import paths (max 128)
  • --name TEXT: Library name
  • --owner-id TEXT: Owner user ID [required]
  • --help: Show this message and exit.

immichpy libraries delete-library

Delete a library

Immich API documentation

Usage:

$ immichpy libraries delete-library [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy libraries get-all-libraries

Retrieve libraries

Immich API documentation

Usage:

$ immichpy libraries get-all-libraries [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy libraries get-library

Retrieve a library

Immich API documentation

Usage:

$ immichpy libraries get-library [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy libraries get-library-statistics

Retrieve library statistics

Immich API documentation

Usage:

$ immichpy libraries get-library-statistics [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy libraries scan-library

Scan a library

Immich API documentation

Usage:

$ immichpy libraries scan-library [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy libraries update-library

Update a library

Immich API documentation

Usage:

$ immichpy libraries update-library [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --exclusion-patterns TEXT: Exclusion patterns (max 128)
  • --import-paths TEXT: Import paths (max 128)
  • --name TEXT: Library name
  • --help: Show this message and exit.

immichpy libraries validate

Validate library settings

Immich API documentation

Usage:

$ immichpy libraries validate [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --exclusion-patterns TEXT: Exclusion patterns (max 128)
  • --import-paths TEXT: Import paths to validate (max 128)
  • --help: Show this message and exit.

immichpy maintenance-admin

Maintenance mode allows you to put Immich in a read-only state to perform various operations.

Immich API documentation

Usage:

$ immichpy maintenance-admin [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • detect-prior-install: Detect existing install
  • get-maintenance-status: Get maintenance mode status
  • maintenance-login: Log into maintenance mode
  • set-maintenance-mode: Set maintenance mode

immichpy maintenance-admin detect-prior-install

Detect existing install

Immich API documentation

Usage:

$ immichpy maintenance-admin detect-prior-install [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy maintenance-admin get-maintenance-status

Get maintenance mode status

Immich API documentation

Usage:

$ immichpy maintenance-admin get-maintenance-status [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy maintenance-admin maintenance-login

Log into maintenance mode

Immich API documentation

Usage:

$ immichpy maintenance-admin maintenance-login [OPTIONS]

Options:

  • --token TEXT: Maintenance token
  • --help: Show this message and exit.

immichpy maintenance-admin set-maintenance-mode

Set maintenance mode

Immich API documentation

Usage:

$ immichpy maintenance-admin set-maintenance-mode [OPTIONS]

Options:

  • --action TEXT: Maintenance action [required]
  • --restore-backup-filename TEXT: Restore backup filename
  • --help: Show this message and exit.

immichpy map

Map endpoints include supplemental functionality related to geolocation, such as reverse geocoding and retrieving map markers for assets with geolocation data.

Immich API documentation

Usage:

$ immichpy map [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • get-map-markers: Retrieve map markers
  • reverse-geocode: Reverse geocode coordinates

immichpy map get-map-markers

Retrieve map markers

Immich API documentation

Usage:

$ immichpy map get-map-markers [OPTIONS]

Options:

  • --file-created-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter assets created after this date
  • --file-created-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter assets created before this date
  • --is-archived [true|false]: Filter by archived status
  • --is-favorite [true|false]: Filter by favorite status
  • --with-partners [true|false]: Include partner assets
  • --with-shared-albums [true|false]: Include shared album assets
  • --help: Show this message and exit.

immichpy map reverse-geocode

Reverse geocode coordinates

Immich API documentation

Usage:

$ immichpy map reverse-geocode [OPTIONS]

Options:

  • --lat FLOAT: Latitude (-90 to 90) [required]
  • --lon FLOAT: Longitude (-180 to 180) [required]
  • --help: Show this message and exit.

immichpy memories

A memory is a specialized collection of assets with dedicated viewing implementations in the web and mobile clients. A memory includes fields related to visibility and are automatically generated per user via a background job.

Immich API documentation

Usage:

$ immichpy memories [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • add-memory-assets: Add assets to a memory
  • create-memory: Create a memory
  • delete-memory: Delete a memory
  • get-memory: Retrieve a memory
  • memories-statistics: Retrieve memories statistics
  • remove-memory-assets: Remove assets from a memory
  • search-memories: Retrieve memories
  • update-memory: Update a memory

immichpy memories add-memory-assets

Add assets to a memory

Immich API documentation

Usage:

$ immichpy memories add-memory-assets [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --ids TEXT: IDs to process [required]
  • --help: Show this message and exit.

immichpy memories create-memory

Create a memory

Immich API documentation

Usage:

$ immichpy memories create-memory [OPTIONS]

Options:

  • --asset-ids TEXT: Asset IDs to associate with memory
  • --data-year FLOAT RANGE: Year for on this day memory [x>=1; required]
  • --is-saved [true|false]: Is memory saved
  • --memory-at [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Memory date [required]
  • --seen-at [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Date when memory was seen
  • --type TEXT: Memory type [required]
  • --help: Show this message and exit.

immichpy memories delete-memory

Delete a memory

Immich API documentation

Usage:

$ immichpy memories delete-memory [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy memories get-memory

Retrieve a memory

Immich API documentation

Usage:

$ immichpy memories get-memory [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy memories memories-statistics

Retrieve memories statistics

Immich API documentation

Usage:

$ immichpy memories memories-statistics [OPTIONS]

Options:

  • --for [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by date
  • --is-saved [true|false]: Filter by saved status
  • --is-trashed [true|false]: Include trashed memories
  • --order [asc|desc|random]: Sort order
  • --size INTEGER RANGE: Number of memories to return [x>=1]
  • --type [on_this_day]: Memory type
  • --help: Show this message and exit.

immichpy memories remove-memory-assets

Remove assets from a memory

Immich API documentation

Usage:

$ immichpy memories remove-memory-assets [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --ids TEXT: IDs to process [required]
  • --help: Show this message and exit.

immichpy memories search-memories

Retrieve memories

Immich API documentation

Usage:

$ immichpy memories search-memories [OPTIONS]

Options:

  • --for [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by date
  • --is-saved [true|false]: Filter by saved status
  • --is-trashed [true|false]: Include trashed memories
  • --order [asc|desc|random]: Sort order
  • --size INTEGER RANGE: Number of memories to return [x>=1]
  • --type [on_this_day]: Memory type
  • --help: Show this message and exit.

immichpy memories update-memory

Update a memory

Immich API documentation

Usage:

$ immichpy memories update-memory [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --is-saved [true|false]: Is memory saved
  • --memory-at [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Memory date
  • --seen-at [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Date when memory was seen
  • --help: Show this message and exit.

immichpy notifications

A notification is a specialized message sent to users to inform them of important events. Currently, these notifications are only shown in the Immich web application.

Immich API documentation

Usage:

$ immichpy notifications [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • delete-notification: Delete a notification
  • delete-notifications: Delete notifications
  • get-notification: Get a notification
  • get-notifications: Retrieve notifications
  • update-notification: Update a notification
  • update-notifications: Update notifications

immichpy notifications delete-notification

Delete a notification

Immich API documentation

Usage:

$ immichpy notifications delete-notification [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy notifications delete-notifications

Delete notifications

Immich API documentation

Usage:

$ immichpy notifications delete-notifications [OPTIONS]

Options:

  • --ids TEXT: Notification IDs to delete [required]
  • --help: Show this message and exit.

immichpy notifications get-notification

Get a notification

Immich API documentation

Usage:

$ immichpy notifications get-notification [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy notifications get-notifications

Retrieve notifications

Immich API documentation

Usage:

$ immichpy notifications get-notifications [OPTIONS]

Options:

  • --id TEXT: Filter by notification ID
  • --level [success|error|warning|info]: Filter by notification level
  • --type [JobFailed|BackupFailed|SystemMessage|AlbumInvite|AlbumUpdate|Custom]: Filter by notification type
  • --unread [true|false]: Filter by unread status
  • --help: Show this message and exit.

immichpy notifications update-notification

Update a notification

Immich API documentation

Usage:

$ immichpy notifications update-notification [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --read-at [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Date when notification was read
  • --help: Show this message and exit.

immichpy notifications update-notifications

Update notifications

Immich API documentation

Usage:

$ immichpy notifications update-notifications [OPTIONS]

Options:

  • --ids TEXT: Notification IDs to update [required]
  • --read-at [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Date when notifications were read
  • --help: Show this message and exit.

immichpy notifications-admin

Notification administrative endpoints.

Immich API documentation

Usage:

$ immichpy notifications-admin [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-notification: Create a notification
  • get-notification-template-admin: Render email template
  • send-test-email-admin: Send test email

immichpy notifications-admin create-notification

Create a notification

Immich API documentation

Usage:

$ immichpy notifications-admin create-notification [OPTIONS]

Options:

  • --data TEXT: Additional notification data

As a JSON string * --description TEXT: Notification description * --level TEXT: Notification level * --read-at [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Date when notification was read * --title TEXT: Notification title [required] * --type TEXT: Notification type * --user-id TEXT: User ID to send notification to [required] * --help: Show this message and exit.

immichpy notifications-admin get-notification-template-admin

Render email template

Immich API documentation

Usage:

$ immichpy notifications-admin get-notification-template-admin [OPTIONS] NAME

Arguments:

  • NAME: [required]

Options:

  • --template TEXT: Template name [required]
  • --help: Show this message and exit.

immichpy notifications-admin send-test-email-admin

Send test email

Immich API documentation

Usage:

$ immichpy notifications-admin send-test-email-admin [OPTIONS]

Options:

  • --enabled: Whether SMTP email notifications are enabled [required]
  • --from TEXT: Email address to send from [required]
  • --reply-to TEXT: Email address for replies [required]
  • --transport-host TEXT: SMTP server hostname [required]
  • --transport-ignore-cert: Whether to ignore SSL certificate errors [required]
  • --transport-password TEXT: SMTP password [required]
  • --transport-port FLOAT RANGE: SMTP server port [0<=x<=65535; required]
  • --transport-secure: Whether to use secure connection (TLS/SSL) [required]
  • --transport-username TEXT: SMTP username [required]
  • --help: Show this message and exit.

immichpy partners

A partner is a link with another user that allows sharing of assets between two users.

Immich API documentation

Usage:

$ immichpy partners [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-partner: Create a partner
  • create-partner-deprecated: Create a partner (DEPRECATED)
  • get-partners: Retrieve partners
  • remove-partner: Remove a partner
  • update-partner: Update a partner

immichpy partners create-partner

Create a partner

Immich API documentation

Usage:

$ immichpy partners create-partner [OPTIONS]

Options:

  • --shared-with-id TEXT: User ID to share with [required]
  • --help: Show this message and exit.

immichpy partners create-partner-deprecated

Create a partner

Immich API documentation

Usage:

$ immichpy partners create-partner-deprecated [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy partners get-partners

Retrieve partners

Immich API documentation

Usage:

$ immichpy partners get-partners [OPTIONS]

Options:

  • --direction [shared-by|shared-with]: Partner direction [required]
  • --help: Show this message and exit.

immichpy partners remove-partner

Remove a partner

Immich API documentation

Usage:

$ immichpy partners remove-partner [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy partners update-partner

Update a partner

Immich API documentation

Usage:

$ immichpy partners update-partner [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --in-timeline: Show partner assets in timeline [required]
  • --help: Show this message and exit.

immichpy people

A person is a collection of faces, which can be favorited and named. A person can also be merged into another person. People are automatically created via the face recognition job.

Immich API documentation

Usage:

$ immichpy people [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-person: Create a person
  • delete-people: Delete people
  • delete-person: Delete person
  • get-all-people: Get all people
  • get-person: Get a person
  • get-person-statistics: Get person statistics
  • get-person-thumbnail: Get person thumbnail
  • merge-person: Merge people
  • reassign-faces: Reassign faces
  • update-people: Update people
  • update-person: Update person

immichpy people create-person

Create a person

Immich API documentation

Usage:

$ immichpy people create-person [OPTIONS]

Options:

  • --birth-date TEXT: Person date of birth
  • --color TEXT: Person color (hex)
  • --is-favorite [true|false]: Mark as favorite
  • --is-hidden [true|false]: Person visibility (hidden)
  • --name TEXT: Person name
  • --help: Show this message and exit.

immichpy people delete-people

Delete people

Immich API documentation

Usage:

$ immichpy people delete-people [OPTIONS]

Options:

  • --ids TEXT: IDs to process [required]
  • --help: Show this message and exit.

immichpy people delete-person

Delete person

Immich API documentation

Usage:

$ immichpy people delete-person [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy people get-all-people

Get all people

Immich API documentation

Usage:

$ immichpy people get-all-people [OPTIONS]

Options:

  • --closest-asset-id TEXT: Closest asset ID for similarity search
  • --closest-person-id TEXT: Closest person ID for similarity search
  • --page FLOAT RANGE: Page number for pagination [x>=1]
  • --size FLOAT RANGE: Number of items per page [1<=x<=1000]
  • --with-hidden [true|false]: Include hidden people
  • --help: Show this message and exit.

immichpy people get-person

Get a person

Immich API documentation

Usage:

$ immichpy people get-person [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy people get-person-statistics

Get person statistics

Immich API documentation

Usage:

$ immichpy people get-person-statistics [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy people get-person-thumbnail

Get person thumbnail

Immich API documentation

Usage:

$ immichpy people get-person-thumbnail [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy people merge-person

Merge people

Immich API documentation

Usage:

$ immichpy people merge-person [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --ids TEXT: Person IDs to merge [required]
  • --help: Show this message and exit.

immichpy people reassign-faces

Reassign faces

Immich API documentation

Usage:

$ immichpy people reassign-faces [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --data TEXT: Face update items

As a JSON string [required] * --help: Show this message and exit.

immichpy people update-people

Update people

Immich API documentation

Usage:

$ immichpy people update-people [OPTIONS]

Options:

  • --people TEXT: People to update

As a JSON string [required] * --help: Show this message and exit.

immichpy people update-person

Update person

Immich API documentation

Usage:

$ immichpy people update-person [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --birth-date TEXT: Person date of birth
  • --color TEXT: Person color (hex)
  • --feature-face-asset-id TEXT: Asset ID used for feature face thumbnail
  • --is-favorite [true|false]: Mark as favorite
  • --is-hidden [true|false]: Person visibility (hidden)
  • --name TEXT: Person name
  • --help: Show this message and exit.

immichpy plugins

A plugin is an installed module that makes filters and actions available for the workflow feature.

Immich API documentation

Usage:

$ immichpy plugins [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • get-plugin: Retrieve a plugin
  • get-plugin-triggers: List all plugin triggers
  • get-plugins: List all plugins

immichpy plugins get-plugin

Retrieve a plugin

Immich API documentation

Usage:

$ immichpy plugins get-plugin [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy plugins get-plugin-triggers

List all plugin triggers

Immich API documentation

Usage:

$ immichpy plugins get-plugin-triggers [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy plugins get-plugins

List all plugins

Immich API documentation

Usage:

$ immichpy plugins get-plugins [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy queues

Queues and background jobs are used for processing tasks asynchronously. Queues can be paused and resumed as needed.

Immich API documentation

Usage:

$ immichpy queues [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • empty-queue: Empty a queue
  • get-queue: Retrieve a queue
  • get-queue-jobs: Retrieve queue jobs
  • get-queues: List all queues
  • update-queue: Update a queue

immichpy queues empty-queue

Empty a queue

Immich API documentation

Usage:

$ immichpy queues empty-queue [OPTIONS] NAME:{thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|editor}

Arguments:

  • NAME:{thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|editor}: Queue name [required]

Options:

  • --failed [true|false]: If true, will also remove failed jobs from the queue.
  • --help: Show this message and exit.

immichpy queues get-queue

Retrieve a queue

Immich API documentation

Usage:

$ immichpy queues get-queue [OPTIONS] NAME:{thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|editor}

Arguments:

  • NAME:{thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|editor}: Queue name [required]

Options:

  • --help: Show this message and exit.

immichpy queues get-queue-jobs

Retrieve queue jobs

Immich API documentation

Usage:

$ immichpy queues get-queue-jobs [OPTIONS] NAME:{thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|editor}

Arguments:

  • NAME:{thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|editor}: Queue name [required]

Options:

  • --status [active|failed|completed|delayed|waiting|paused]: Filter jobs by status
  • --help: Show this message and exit.

immichpy queues get-queues

List all queues

Immich API documentation

Usage:

$ immichpy queues get-queues [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy queues update-queue

Update a queue

Immich API documentation

Usage:

$ immichpy queues update-queue [OPTIONS] NAME:{thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|editor}

Arguments:

  • NAME:{thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|editor}: Queue name [required]

Options:

  • --is-paused [true|false]: Whether to pause the queue
  • --help: Show this message and exit.

Endpoints related to searching assets via text, smart search, optical character recognition (OCR), and other filters like person, album, and other metadata. Search endpoints usually support pagination and sorting.

Immich API documentation

Usage:

$ immichpy search [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • get-assets-by-city: Retrieve assets by city
  • get-explore-data: Retrieve explore data
  • get-search-suggestions: Retrieve search suggestions
  • search-asset-statistics: Search asset statistics
  • search-assets: Search assets by metadata
  • search-large-assets: Search large assets
  • search-person: Search people
  • search-places: Search places
  • search-random: Search random assets
  • search-smart: Smart asset search

immichpy search get-assets-by-city

Retrieve assets by city

Immich API documentation

Usage:

$ immichpy search get-assets-by-city [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy search get-explore-data

Retrieve explore data

Immich API documentation

Usage:

$ immichpy search get-explore-data [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy search get-search-suggestions

Retrieve search suggestions

Immich API documentation

Usage:

$ immichpy search get-search-suggestions [OPTIONS]

Options:

  • --country TEXT: Filter by country
  • --include-null [true|false]: Include null values in suggestions
  • --lens-model TEXT: Filter by lens model
  • --make TEXT: Filter by camera make
  • --model TEXT: Filter by camera model
  • --state TEXT: Filter by state/province
  • --type [country|state|city|camera-make|camera-model|camera-lens-model]: Suggestion type [required]
  • --help: Show this message and exit.

immichpy search search-asset-statistics

Search asset statistics

Immich API documentation

Usage:

$ immichpy search search-asset-statistics [OPTIONS]

Options:

  • --album-ids TEXT: Filter by album IDs
  • --city TEXT: Filter by city name
  • --country TEXT: Filter by country name
  • --created-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by creation date (after)
  • --created-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by creation date (before)
  • --description TEXT: Filter by description text
  • --device-id TEXT: Device ID to filter by
  • --is-encoded [true|false]: Filter by encoded status
  • --is-favorite [true|false]: Filter by favorite status
  • --is-motion [true|false]: Filter by motion photo status
  • --is-not-in-album [true|false]: Filter assets not in any album
  • --is-offline [true|false]: Filter by offline status
  • --lens-model TEXT: Filter by lens model
  • --library-id TEXT: Library ID to filter by
  • --make TEXT: Filter by camera make
  • --model TEXT: Filter by camera model
  • --ocr TEXT: Filter by OCR text content
  • --person-ids TEXT: Filter by person IDs
  • --rating FLOAT RANGE: Filter by rating [-1<=x<=5]
  • --state TEXT: Filter by state/province name
  • --tag-ids TEXT: Filter by tag IDs
  • --taken-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by taken date (after)
  • --taken-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by taken date (before)
  • --trashed-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by trash date (after)
  • --trashed-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by trash date (before)
  • --type TEXT: Asset type
  • --updated-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by update date (after)
  • --updated-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by update date (before)
  • --visibility TEXT: Asset visibility
  • --help: Show this message and exit.

immichpy search search-assets

Search assets by metadata

Immich API documentation

Usage:

$ immichpy search search-assets [OPTIONS]

Options:

  • --album-ids TEXT: Filter by album IDs
  • --checksum TEXT: Filter by file checksum
  • --city TEXT: Filter by city name
  • --country TEXT: Filter by country name
  • --created-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by creation date (after)
  • --created-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by creation date (before)
  • --description TEXT: Filter by description text
  • --device-asset-id TEXT: Filter by device asset ID
  • --device-id TEXT: Device ID to filter by
  • --encoded-video-path TEXT: Filter by encoded video file path
  • --id TEXT: Filter by asset ID
  • --is-encoded [true|false]: Filter by encoded status
  • --is-favorite [true|false]: Filter by favorite status
  • --is-motion [true|false]: Filter by motion photo status
  • --is-not-in-album [true|false]: Filter assets not in any album
  • --is-offline [true|false]: Filter by offline status
  • --lens-model TEXT: Filter by lens model
  • --library-id TEXT: Library ID to filter by
  • --make TEXT: Filter by camera make
  • --model TEXT: Filter by camera model
  • --ocr TEXT: Filter by OCR text content
  • --order TEXT: Asset sort order
  • --original-file-name TEXT: Filter by original file name
  • --original-path TEXT: Filter by original file path
  • --page FLOAT RANGE: Page number [x>=1]
  • --person-ids TEXT: Filter by person IDs
  • --preview-path TEXT: Filter by preview file path
  • --rating FLOAT RANGE: Filter by rating [-1<=x<=5]
  • --size FLOAT RANGE: Number of results to return [1<=x<=1000]
  • --state TEXT: Filter by state/province name
  • --tag-ids TEXT: Filter by tag IDs
  • --taken-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by taken date (after)
  • --taken-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by taken date (before)
  • --thumbnail-path TEXT: Filter by thumbnail file path
  • --trashed-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by trash date (after)
  • --trashed-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by trash date (before)
  • --type TEXT: Asset type
  • --updated-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by update date (after)
  • --updated-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by update date (before)
  • --visibility TEXT: Asset visibility
  • --with-deleted [true|false]: Include deleted assets
  • --with-exif [true|false]: Include EXIF data in response
  • --with-people [true|false]: Include assets with people
  • --with-stacked [true|false]: Include stacked assets
  • --help: Show this message and exit.

immichpy search search-large-assets

Search large assets

Immich API documentation

Usage:

$ immichpy search search-large-assets [OPTIONS]

Options:

  • --album-ids TEXT: Filter by album IDs
  • --city TEXT: Filter by city name
  • --country TEXT: Filter by country name
  • --created-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by creation date (after)
  • --created-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by creation date (before)
  • --device-id TEXT: Device ID to filter by
  • --is-encoded [true|false]: Filter by encoded status
  • --is-favorite [true|false]: Filter by favorite status
  • --is-motion [true|false]: Filter by motion photo status
  • --is-not-in-album [true|false]: Filter assets not in any album
  • --is-offline [true|false]: Filter by offline status
  • --lens-model TEXT: Filter by lens model
  • --library-id TEXT: Library ID to filter by
  • --make TEXT: Filter by camera make
  • --min-file-size INTEGER RANGE: Minimum file size in bytes [x>=0]
  • --model TEXT: Filter by camera model
  • --ocr TEXT: Filter by OCR text content
  • --person-ids TEXT: Filter by person IDs
  • --rating FLOAT RANGE: Filter by rating [-1<=x<=5]
  • --size FLOAT RANGE: Number of results to return [1<=x<=1000]
  • --state TEXT: Filter by state/province name
  • --tag-ids TEXT: Filter by tag IDs
  • --taken-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by taken date (after)
  • --taken-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by taken date (before)
  • --trashed-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by trash date (after)
  • --trashed-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by trash date (before)
  • --type [IMAGE|VIDEO|AUDIO|OTHER]: Asset type filter
  • --updated-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by update date (after)
  • --updated-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by update date (before)
  • --visibility [archive|timeline|hidden|locked]: Filter by visibility
  • --with-deleted [true|false]: Include deleted assets
  • --with-exif [true|false]: Include EXIF data in response
  • --help: Show this message and exit.

immichpy search search-person

Search people

Immich API documentation

Usage:

$ immichpy search search-person [OPTIONS]

Options:

  • --name TEXT: Person name to search for [required]
  • --with-hidden [true|false]: Include hidden people
  • --help: Show this message and exit.

immichpy search search-places

Search places

Immich API documentation

Usage:

$ immichpy search search-places [OPTIONS]

Options:

  • --name TEXT: Place name to search for [required]
  • --help: Show this message and exit.

immichpy search search-random

Search random assets

Immich API documentation

Usage:

$ immichpy search search-random [OPTIONS]

Options:

  • --album-ids TEXT: Filter by album IDs
  • --city TEXT: Filter by city name
  • --country TEXT: Filter by country name
  • --created-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by creation date (after)
  • --created-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by creation date (before)
  • --device-id TEXT: Device ID to filter by
  • --is-encoded [true|false]: Filter by encoded status
  • --is-favorite [true|false]: Filter by favorite status
  • --is-motion [true|false]: Filter by motion photo status
  • --is-not-in-album [true|false]: Filter assets not in any album
  • --is-offline [true|false]: Filter by offline status
  • --lens-model TEXT: Filter by lens model
  • --library-id TEXT: Library ID to filter by
  • --make TEXT: Filter by camera make
  • --model TEXT: Filter by camera model
  • --ocr TEXT: Filter by OCR text content
  • --person-ids TEXT: Filter by person IDs
  • --rating FLOAT RANGE: Filter by rating [-1<=x<=5]
  • --size FLOAT RANGE: Number of results to return [1<=x<=1000]
  • --state TEXT: Filter by state/province name
  • --tag-ids TEXT: Filter by tag IDs
  • --taken-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by taken date (after)
  • --taken-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by taken date (before)
  • --trashed-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by trash date (after)
  • --trashed-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by trash date (before)
  • --type TEXT: Asset type
  • --updated-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by update date (after)
  • --updated-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by update date (before)
  • --visibility TEXT: Asset visibility
  • --with-deleted [true|false]: Include deleted assets
  • --with-exif [true|false]: Include EXIF data in response
  • --with-people [true|false]: Include assets with people
  • --with-stacked [true|false]: Include stacked assets
  • --help: Show this message and exit.

immichpy search search-smart

Smart asset search

Immich API documentation

Usage:

$ immichpy search search-smart [OPTIONS]

Options:

  • --album-ids TEXT: Filter by album IDs
  • --city TEXT: Filter by city name
  • --country TEXT: Filter by country name
  • --created-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by creation date (after)
  • --created-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by creation date (before)
  • --device-id TEXT: Device ID to filter by
  • --is-encoded [true|false]: Filter by encoded status
  • --is-favorite [true|false]: Filter by favorite status
  • --is-motion [true|false]: Filter by motion photo status
  • --is-not-in-album [true|false]: Filter assets not in any album
  • --is-offline [true|false]: Filter by offline status
  • --language TEXT: Search language code
  • --lens-model TEXT: Filter by lens model
  • --library-id TEXT: Library ID to filter by
  • --make TEXT: Filter by camera make
  • --model TEXT: Filter by camera model
  • --ocr TEXT: Filter by OCR text content
  • --page FLOAT RANGE: Page number [x>=1]
  • --person-ids TEXT: Filter by person IDs
  • --query TEXT: Natural language search query
  • --query-asset-id TEXT: Asset ID to use as search reference
  • --rating FLOAT RANGE: Filter by rating [-1<=x<=5]
  • --size FLOAT RANGE: Number of results to return [1<=x<=1000]
  • --state TEXT: Filter by state/province name
  • --tag-ids TEXT: Filter by tag IDs
  • --taken-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by taken date (after)
  • --taken-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by taken date (before)
  • --trashed-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by trash date (after)
  • --trashed-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by trash date (before)
  • --type TEXT: Asset type
  • --updated-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by update date (after)
  • --updated-before [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Filter by update date (before)
  • --visibility TEXT: Asset visibility
  • --with-deleted [true|false]: Include deleted assets
  • --with-exif [true|false]: Include EXIF data in response
  • --help: Show this message and exit.

immichpy server

Information about the current server deployment, including version and build information, available features, supported media types, and more.

Immich API documentation

Usage:

$ immichpy server [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • delete-server-license: Delete server product key
  • get-about-info: Get server information
  • get-apk-links: Get APK links
  • get-server-config: Get config
  • get-server-features: Get features
  • get-server-license: Get product key
  • get-server-statistics: Get statistics
  • get-server-version: Get server version
  • get-storage: Get storage
  • get-supported-media-types: Get supported media types
  • get-theme: Get theme
  • get-version-check: Get version check status
  • get-version-history: Get version history
  • ping-server: Ping
  • set-server-license: Set server product key

immichpy server delete-server-license

Delete server product key

Immich API documentation

Usage:

$ immichpy server delete-server-license [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-about-info

Get server information

Immich API documentation

Usage:

$ immichpy server get-about-info [OPTIONS]

Options:

  • --help: Show this message and exit.

Get APK links

Immich API documentation

Usage:

$ immichpy server get-apk-links [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-server-config

Get config

Immich API documentation

Usage:

$ immichpy server get-server-config [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-server-features

Get features

Immich API documentation

Usage:

$ immichpy server get-server-features [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-server-license

Get product key

Immich API documentation

Usage:

$ immichpy server get-server-license [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-server-statistics

Get statistics

Immich API documentation

Usage:

$ immichpy server get-server-statistics [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-server-version

Get server version

Immich API documentation

Usage:

$ immichpy server get-server-version [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-storage

Get storage

Immich API documentation

Usage:

$ immichpy server get-storage [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-supported-media-types

Get supported media types

Immich API documentation

Usage:

$ immichpy server get-supported-media-types [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-theme

Get theme

Immich API documentation

Usage:

$ immichpy server get-theme [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-version-check

Get version check status

Immich API documentation

Usage:

$ immichpy server get-version-check [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-version-history

Get version history

Immich API documentation

Usage:

$ immichpy server get-version-history [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server ping-server

Ping

Immich API documentation

Usage:

$ immichpy server ping-server [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server set-server-license

Set server product key

Immich API documentation

Usage:

$ immichpy server set-server-license [OPTIONS]

Options:

  • --activation-key TEXT: Activation key [required]
  • --license-key TEXT: License key (format: IM(SV|CL)(-XXXX){8}) [required]
  • --help: Show this message and exit.

immichpy sessions

A session represents an authenticated login session for a user. Sessions also appear in the web application as "Authorized devices".

Immich API documentation

Usage:

$ immichpy sessions [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-session: Create a session
  • delete-all-sessions: Delete all sessions
  • delete-session: Delete a session
  • get-sessions: Retrieve sessions
  • lock-session: Lock a session
  • update-session: Update a session

immichpy sessions create-session

Create a session

Immich API documentation

Usage:

$ immichpy sessions create-session [OPTIONS]

Options:

  • --device-os TEXT: Device OS
  • --device-type TEXT: Device type
  • --duration FLOAT RANGE: Session duration in seconds [x>=1]
  • --help: Show this message and exit.

immichpy sessions delete-all-sessions

Delete all sessions

Immich API documentation

Usage:

$ immichpy sessions delete-all-sessions [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy sessions delete-session

Delete a session

Immich API documentation

Usage:

$ immichpy sessions delete-session [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy sessions get-sessions

Retrieve sessions

Immich API documentation

Usage:

$ immichpy sessions get-sessions [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy sessions lock-session

Lock a session

Immich API documentation

Usage:

$ immichpy sessions lock-session [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy sessions update-session

Update a session

Immich API documentation

Usage:

$ immichpy sessions update-session [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --is-pending-sync-reset [true|false]: Reset pending sync state
  • --help: Show this message and exit.

A shared link is a public url that provides access to a specific album, asset, or collection of assets. A shared link can be protected with a password, include a specific slug, allow or disallow downloads, and optionally include an expiration date.

Immich API documentation

Usage:

$ immichpy shared-links [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • add-shared-link-assets: Add assets to a shared link
  • create-shared-link: Create a shared link
  • get-all-shared-links: Retrieve all shared links
  • get-my-shared-link: Retrieve current shared link
  • get-shared-link-by-id: Retrieve a shared link
  • remove-shared-link: Delete a shared link
  • remove-shared-link-assets: Remove assets from a shared link
  • update-shared-link: Update a shared link

Add assets to a shared link

Immich API documentation

Usage:

$ immichpy shared-links add-shared-link-assets [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --asset-ids TEXT: Asset IDs [required]
  • --key TEXT
  • --slug TEXT
  • --help: Show this message and exit.

Create a shared link

Immich API documentation

Usage:

$ immichpy shared-links create-shared-link [OPTIONS]

Options:

  • --album-id TEXT: Album ID (for album sharing)
  • --allow-download [true|false]: Allow downloads
  • --allow-upload [true|false]: Allow uploads
  • --asset-ids TEXT: Asset IDs (for individual assets)
  • --description TEXT: Link description
  • --expires-at [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Expiration date
  • --password TEXT: Link password
  • --show-metadata [true|false]: Show metadata
  • --slug TEXT: Custom URL slug
  • --type TEXT: Shared link type [required]
  • --help: Show this message and exit.

Retrieve all shared links

Immich API documentation

Usage:

$ immichpy shared-links get-all-shared-links [OPTIONS]

Options:

  • --album-id TEXT: Filter by album ID
  • --id TEXT: Filter by shared link ID
  • --help: Show this message and exit.

Retrieve current shared link

Immich API documentation

Usage:

$ immichpy shared-links get-my-shared-link [OPTIONS]

Options:

  • --key TEXT
  • --password TEXT: Link passwordpassword
  • --slug TEXT
  • --token TEXT: Access token
  • --help: Show this message and exit.

Retrieve a shared link

Immich API documentation

Usage:

$ immichpy shared-links get-shared-link-by-id [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

Delete a shared link

Immich API documentation

Usage:

$ immichpy shared-links remove-shared-link [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

Remove assets from a shared link

Immich API documentation

Usage:

$ immichpy shared-links remove-shared-link-assets [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --asset-ids TEXT: Asset IDs [required]
  • --key TEXT
  • --slug TEXT
  • --help: Show this message and exit.

Update a shared link

Immich API documentation

Usage:

$ immichpy shared-links update-shared-link [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --allow-download [true|false]: Allow downloads
  • --allow-upload [true|false]: Allow uploads
  • --change-expiry-time [true|false]: Whether to change the expiry time. Few clients cannot send null to set the expiryTime to never. Setting this flag and not sending expiryAt is considered as null instead. Clients that can send null values can ignore this.
  • --description TEXT: Link description
  • --expires-at [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Expiration date
  • --password TEXT: Link password
  • --show-metadata [true|false]: Show metadata
  • --slug TEXT: Custom URL slug
  • --help: Show this message and exit.

immichpy stacks

A stack is a group of related assets. One asset is the "primary" asset, and the rest are "child" assets. On the main timeline, stack parents are included by default, while child assets are hidden.

Immich API documentation

Usage:

$ immichpy stacks [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-stack: Create a stack
  • delete-stack: Delete a stack
  • delete-stacks: Delete stacks
  • get-stack: Retrieve a stack
  • remove-asset-from-stack: Remove an asset from a stack
  • search-stacks: Retrieve stacks
  • update-stack: Update a stack

immichpy stacks create-stack

Create a stack

Immich API documentation

Usage:

$ immichpy stacks create-stack [OPTIONS]

Options:

  • --asset-ids TEXT: Asset IDs (first becomes primary, min 2) [required]
  • --help: Show this message and exit.

immichpy stacks delete-stack

Delete a stack

Immich API documentation

Usage:

$ immichpy stacks delete-stack [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy stacks delete-stacks

Delete stacks

Immich API documentation

Usage:

$ immichpy stacks delete-stacks [OPTIONS]

Options:

  • --ids TEXT: IDs to process [required]
  • --help: Show this message and exit.

immichpy stacks get-stack

Retrieve a stack

Immich API documentation

Usage:

$ immichpy stacks get-stack [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy stacks remove-asset-from-stack

Remove an asset from a stack

Immich API documentation

Usage:

$ immichpy stacks remove-asset-from-stack [OPTIONS] ASSET_ID ID

Arguments:

  • ASSET_ID: [required]
  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy stacks search-stacks

Retrieve stacks

Immich API documentation

Usage:

$ immichpy stacks search-stacks [OPTIONS]

Options:

  • --primary-asset-id TEXT: Filter by primary asset ID
  • --help: Show this message and exit.

immichpy stacks update-stack

Update a stack

Immich API documentation

Usage:

$ immichpy stacks update-stack [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --primary-asset-id TEXT: Primary asset ID
  • --help: Show this message and exit.

immichpy sync

A collection of endpoints for the new mobile synchronization implementation.

Immich API documentation

Usage:

$ immichpy sync [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • delete-sync-ack: Delete acknowledgements
  • get-delta-sync: Get delta sync for user (DEPRECATED)
  • get-full-sync-for-user: Get full sync for user (DEPRECATED)
  • get-sync-ack: Retrieve acknowledgements
  • get-sync-stream: Stream sync changes
  • send-sync-ack: Acknowledge changes

immichpy sync delete-sync-ack

Delete acknowledgements

Immich API documentation

Usage:

$ immichpy sync delete-sync-ack [OPTIONS]

Options:

  • --types [AuthUserV1|UserV1|UserDeleteV1|AssetV1|AssetDeleteV1|AssetExifV1|AssetMetadataV1|AssetMetadataDeleteV1|PartnerV1|PartnerDeleteV1|PartnerAssetV1|PartnerAssetBackfillV1|PartnerAssetDeleteV1|PartnerAssetExifV1|PartnerAssetExifBackfillV1|PartnerStackBackfillV1|PartnerStackDeleteV1|PartnerStackV1|AlbumV1|AlbumDeleteV1|AlbumUserV1|AlbumUserBackfillV1|AlbumUserDeleteV1|AlbumAssetCreateV1|AlbumAssetUpdateV1|AlbumAssetBackfillV1|AlbumAssetExifCreateV1|AlbumAssetExifUpdateV1|AlbumAssetExifBackfillV1|AlbumToAssetV1|AlbumToAssetDeleteV1|AlbumToAssetBackfillV1|MemoryV1|MemoryDeleteV1|MemoryToAssetV1|MemoryToAssetDeleteV1|StackV1|StackDeleteV1|PersonV1|PersonDeleteV1|AssetFaceV1|AssetFaceDeleteV1|UserMetadataV1|UserMetadataDeleteV1|SyncAckV1|SyncResetV1|SyncCompleteV1]: Sync entity types to delete acks for
  • --help: Show this message and exit.

immichpy sync get-delta-sync

Get delta sync for user

Immich API documentation

Usage:

$ immichpy sync get-delta-sync [OPTIONS]

Options:

  • --updated-after [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Sync assets updated after this date [required]
  • --user-ids TEXT: User IDs to sync [required]
  • --help: Show this message and exit.

immichpy sync get-full-sync-for-user

Get full sync for user

Immich API documentation

Usage:

$ immichpy sync get-full-sync-for-user [OPTIONS]

Options:

  • --last-id TEXT: Last asset ID (pagination)
  • --limit INTEGER RANGE: Maximum number of assets to return [x>=1; required]
  • --updated-until [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]: Sync assets updated until this date [required]
  • --user-id TEXT: Filter by user ID
  • --help: Show this message and exit.

immichpy sync get-sync-ack

Retrieve acknowledgements

Immich API documentation

Usage:

$ immichpy sync get-sync-ack [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy sync get-sync-stream

Stream sync changes

Immich API documentation

Usage:

$ immichpy sync get-sync-stream [OPTIONS]

Options:

  • --reset [true|false]: Reset sync state
  • --types [AlbumsV1|AlbumUsersV1|AlbumToAssetsV1|AlbumAssetsV1|AlbumAssetExifsV1|AssetsV1|AssetExifsV1|AssetMetadataV1|AuthUsersV1|MemoriesV1|MemoryToAssetsV1|PartnersV1|PartnerAssetsV1|PartnerAssetExifsV1|PartnerStacksV1|StacksV1|UsersV1|PeopleV1|AssetFacesV1|UserMetadataV1]: Sync request types [required]
  • --help: Show this message and exit.

immichpy sync send-sync-ack

Acknowledge changes

Immich API documentation

Usage:

$ immichpy sync send-sync-ack [OPTIONS]

Options:

  • --acks TEXT: Acknowledgment IDs (max 1000) [required]
  • --help: Show this message and exit.

immichpy system-config

Endpoints to view, modify, and validate the system configuration settings.

Immich API documentation

Usage:

$ immichpy system-config [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • get-config: Get system configuration
  • get-config-defaults: Get system configuration defaults
  • get-storage-template-options: Get storage template options
  • update-config: Update system configuration

immichpy system-config get-config

Get system configuration

Immich API documentation

Usage:

$ immichpy system-config get-config [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy system-config get-config-defaults

Get system configuration defaults

Immich API documentation

Usage:

$ immichpy system-config get-config-defaults [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy system-config get-storage-template-options

Get storage template options

Immich API documentation

Usage:

$ immichpy system-config get-storage-template-options [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy system-config update-config

Update system configuration

Immich API documentation

Usage:

$ immichpy system-config update-config [OPTIONS]

Options:

  • --backup-database-cron-expression TEXT: Cron expression [required]
  • --backup-database-enabled: Enabled [required]
  • --backup-database-keep-last-amount FLOAT RANGE: Keep last amount [x>=1; required]
  • --ffmpeg-accel TEXT: Transcode hardware acceleration [required]
  • --ffmpeg-accel-decode: Accelerated decode [required]
  • --ffmpeg-accepted-audio-codecs [mp3|aac|libopus|pcm_s16le]: Accepted audio codecs [required]
  • --ffmpeg-accepted-containers [mov|mp4|ogg|webm]: Accepted containers [required]
  • --ffmpeg-accepted-video-codecs [h264|hevc|vp9|av1]: Accepted video codecs [required]
  • --ffmpeg-bframes INTEGER RANGE: B-frames [-1<=x<=16; required]
  • --ffmpeg-cq-mode TEXT: CQ mode [required]
  • --ffmpeg-crf INTEGER RANGE: CRF [0<=x<=51; required]
  • --ffmpeg-gop-size INTEGER RANGE: GOP size [x>=0; required]
  • --ffmpeg-max-bitrate TEXT: Max bitrate [required]
  • --ffmpeg-preferred-hw-device TEXT: Preferred hardware device [required]
  • --ffmpeg-preset TEXT: Preset [required]
  • --ffmpeg-refs INTEGER RANGE: References [0<=x<=6; required]
  • --ffmpeg-target-audio-codec TEXT: Target audio codec [required]
  • --ffmpeg-target-resolution TEXT: Target resolution [required]
  • --ffmpeg-target-video-codec TEXT: Target video codec [required]
  • --ffmpeg-temporal-aq: Temporal AQ [required]
  • --ffmpeg-threads INTEGER RANGE: Threads [x>=0; required]
  • --ffmpeg-tonemap TEXT: Tone mapping [required]
  • --ffmpeg-transcode TEXT: Transcode policy [required]
  • --ffmpeg-two-pass: Two pass [required]
  • --image-colorspace TEXT: Colorspace [required]
  • --image-extract-embedded: Extract embedded [required]
  • --image-fullsize-enabled: Enabled [required]
  • --image-fullsize-format TEXT: Image format [required]
  • --image-fullsize-progressive [true|false]: Progressive
  • --image-fullsize-quality INTEGER RANGE: Quality [1<=x<=100; required]
  • --image-preview-format TEXT: Image format [required]
  • --image-preview-progressive [true|false]
  • --image-preview-quality INTEGER RANGE: Quality [1<=x<=100; required]
  • --image-preview-size INTEGER RANGE: Size [x>=1; required]
  • --image-thumbnail-format TEXT: Image format [required]
  • --image-thumbnail-progressive [true|false]
  • --image-thumbnail-quality INTEGER RANGE: Quality [1<=x<=100; required]
  • --image-thumbnail-size INTEGER RANGE: Size [x>=1; required]
  • --job-background-task-concurrency INTEGER RANGE: Concurrency [x>=1; required]
  • --job-editor-concurrency INTEGER RANGE: Concurrency [x>=1; required]
  • --job-face-detection-concurrency INTEGER RANGE: Concurrency [x>=1; required]
  • --job-library-concurrency INTEGER RANGE: Concurrency [x>=1; required]
  • --job-metadata-extraction-concurrency INTEGER RANGE: Concurrency [x>=1; required]
  • --job-migration-concurrency INTEGER RANGE: Concurrency [x>=1; required]
  • --job-notifications-concurrency INTEGER RANGE: Concurrency [x>=1; required]
  • --job-ocr-concurrency INTEGER RANGE: Concurrency [x>=1; required]
  • --job-search-concurrency INTEGER RANGE: Concurrency [x>=1; required]
  • --job-sidecar-concurrency INTEGER RANGE: Concurrency [x>=1; required]
  • --job-smart-search-concurrency INTEGER RANGE: Concurrency [x>=1; required]
  • --job-thumbnail-generation-concurrency INTEGER RANGE: Concurrency [x>=1; required]
  • --job-video-conversion-concurrency INTEGER RANGE: Concurrency [x>=1; required]
  • --job-workflow-concurrency INTEGER RANGE: Concurrency [x>=1; required]
  • --library-scan-cron-expression TEXT: [required]
  • --library-scan-enabled: Enabled [required]
  • --library-watch-enabled: Enabled [required]
  • --logging-enabled: Enabled [required]
  • --logging-level TEXT: [required]
  • --machine-learning-availability-checks-enabled: Enabled [required]
  • --machine-learning-availability-checks-interval FLOAT: [required]
  • --machine-learning-availability-checks-timeout FLOAT: [required]
  • --machine-learning-clip-enabled: Whether the task is enabled [required]
  • --machine-learning-clip-model-name TEXT: Name of the model to use [required]
  • --machine-learning-duplicate-detection-enabled: Whether the task is enabled [required]
  • --machine-learning-duplicate-detection-max-distance FLOAT RANGE: Maximum distance threshold for duplicate detection [0.001<=x<=0.1; required]
  • --machine-learning-enabled: Enabled [required]
  • --machine-learning-facial-recognition-enabled: Whether the task is enabled [required]
  • --machine-learning-facial-recognition-max-distance FLOAT RANGE: Maximum distance threshold for face recognition [0.1<=x<=2; required]
  • --machine-learning-facial-recognition-min-faces INTEGER RANGE: Minimum number of faces required for recognition [x>=1; required]
  • --machine-learning-facial-recognition-min-score FLOAT RANGE: Minimum confidence score for face detection [0.1<=x<=1; required]
  • --machine-learning-facial-recognition-model-name TEXT: Name of the model to use [required]
  • --machine-learning-ocr-enabled: Whether the task is enabled [required]
  • --machine-learning-ocr-max-resolution INTEGER RANGE: Maximum resolution for OCR processing [x>=1; required]
  • --machine-learning-ocr-min-detection-score FLOAT RANGE: Minimum confidence score for text detection [0.1<=x<=1; required]
  • --machine-learning-ocr-min-recognition-score FLOAT RANGE: Minimum confidence score for text recognition [0.1<=x<=1; required]
  • --machine-learning-ocr-model-name TEXT: Name of the model to use [required]
  • --machine-learning-urls TEXT: [required]
  • --map-dark-style TEXT: [required]
  • --map-enabled: Enabled [required]
  • --map-light-style TEXT: [required]
  • --metadata-faces-import: Import [required]
  • --new-version-check-enabled: Enabled [required]
  • --nightly-tasks-cluster-new-faces: Cluster new faces [required]
  • --nightly-tasks-database-cleanup: Database cleanup [required]
  • --nightly-tasks-generate-memories: Generate memories [required]
  • --nightly-tasks-missing-thumbnails: Missing thumbnails [required]
  • --nightly-tasks-start-time TEXT: [required]
  • --nightly-tasks-sync-quota-usage: Sync quota usage [required]
  • --notifications-smtp-enabled: Whether SMTP email notifications are enabled [required]
  • --notifications-smtp-from TEXT: Email address to send from [required]
  • --notifications-smtp-reply-to TEXT: Email address for replies [required]
  • --notifications-smtp-transport-host TEXT: SMTP server hostname [required]
  • --notifications-smtp-transport-ignore-cert: Whether to ignore SSL certificate errors [required]
  • --notifications-smtp-transport-password TEXT: SMTP password [required]
  • --notifications-smtp-transport-port FLOAT RANGE: SMTP server port [0<=x<=65535; required]
  • --notifications-smtp-transport-secure: Whether to use secure connection (TLS/SSL) [required]
  • --notifications-smtp-transport-username TEXT: SMTP username [required]
  • --oauth-auto-launch: Auto launch [required]
  • --oauth-auto-register: Auto register [required]
  • --oauth-button-text TEXT: Button text [required]
  • --oauth-client-id TEXT: Client ID [required]
  • --oauth-client-secret TEXT: Client secret [required]
  • --oauth-default-storage-quota INTEGER RANGE: Default storage quota [x>=0; required]
  • --oauth-enabled: Enabled [required]
  • --oauth-issuer-url TEXT: Issuer URL [required]
  • --oauth-mobile-override-enabled: Mobile override enabled [required]
  • --oauth-mobile-redirect-uri TEXT: Mobile redirect URI [required]
  • --oauth-profile-signing-algorithm TEXT: Profile signing algorithm [required]
  • --oauth-role-claim TEXT: Role claim [required]
  • --oauth-scope TEXT: Scope [required]
  • --oauth-signing-algorithm TEXT: [required]
  • --oauth-storage-label-claim TEXT: Storage label claim [required]
  • --oauth-storage-quota-claim TEXT: Storage quota claim [required]
  • --oauth-timeout INTEGER RANGE: Timeout [x>=1; required]
  • --oauth-token-endpoint-auth-method TEXT: Token endpoint auth method [required]
  • --password-login-enabled: Enabled [required]
  • --reverse-geocoding-enabled: Enabled [required]
  • --server-external-domain TEXT: External domain [required]
  • --server-login-page-message TEXT: Login page message [required]
  • --server-public-users: Public users [required]
  • --storage-template-enabled: Enabled [required]
  • --storage-template-hash-verification-enabled: Hash verification enabled [required]
  • --storage-template-template TEXT: Template [required]
  • --templates-email-album-invite-template TEXT: [required]
  • --templates-email-album-update-template TEXT: [required]
  • --templates-email-welcome-template TEXT: [required]
  • --theme-custom-css TEXT: Custom CSS for theming [required]
  • --trash-days INTEGER RANGE: Days [x>=0; required]
  • --trash-enabled: Enabled [required]
  • --user-delete-delay INTEGER RANGE: Delete delay [x>=1; required]
  • --help: Show this message and exit.

immichpy system-metadata

Endpoints to view, modify, and validate the system metadata, which includes information about things like admin onboarding status.

Immich API documentation

Usage:

$ immichpy system-metadata [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • get-admin-onboarding: Retrieve admin onboarding
  • get-reverse-geocoding-state: Retrieve reverse geocoding state
  • get-version-check-state: Retrieve version check state
  • update-admin-onboarding: Update admin onboarding

immichpy system-metadata get-admin-onboarding

Retrieve admin onboarding

Immich API documentation

Usage:

$ immichpy system-metadata get-admin-onboarding [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy system-metadata get-reverse-geocoding-state

Retrieve reverse geocoding state

Immich API documentation

Usage:

$ immichpy system-metadata get-reverse-geocoding-state [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy system-metadata get-version-check-state

Retrieve version check state

Immich API documentation

Usage:

$ immichpy system-metadata get-version-check-state [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy system-metadata update-admin-onboarding

Update admin onboarding

Immich API documentation

Usage:

$ immichpy system-metadata update-admin-onboarding [OPTIONS]

Options:

  • --is-onboarded: Is admin onboarded [required]
  • --help: Show this message and exit.

immichpy tags

A tag is a user-defined label that can be applied to assets for organizational purposes. Tags can also be hierarchical, allowing for parent-child relationships between tags.

Immich API documentation

Usage:

$ immichpy tags [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • bulk-tag-assets: Tag assets
  • create-tag: Create a tag
  • delete-tag: Delete a tag
  • get-all-tags: Retrieve tags
  • get-tag-by-id: Retrieve a tag
  • tag-assets: Tag assets
  • untag-assets: Untag assets
  • update-tag: Update a tag
  • upsert-tags: Upsert tags

immichpy tags bulk-tag-assets

Tag assets

Immich API documentation

Usage:

$ immichpy tags bulk-tag-assets [OPTIONS]

Options:

  • --asset-ids TEXT: Asset IDs [required]
  • --tag-ids TEXT: Tag IDs [required]
  • --help: Show this message and exit.

immichpy tags create-tag

Create a tag

Immich API documentation

Usage:

$ immichpy tags create-tag [OPTIONS]

Options:

  • --color TEXT: Tag color (hex)
  • --name TEXT: Tag name [required]
  • --parent-id TEXT: Parent tag ID
  • --help: Show this message and exit.

immichpy tags delete-tag

Delete a tag

Immich API documentation

Usage:

$ immichpy tags delete-tag [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy tags get-all-tags

Retrieve tags

Immich API documentation

Usage:

$ immichpy tags get-all-tags [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy tags get-tag-by-id

Retrieve a tag

Immich API documentation

Usage:

$ immichpy tags get-tag-by-id [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy tags tag-assets

Tag assets

Immich API documentation

Usage:

$ immichpy tags tag-assets [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --ids TEXT: IDs to process [required]
  • --help: Show this message and exit.

immichpy tags untag-assets

Untag assets

Immich API documentation

Usage:

$ immichpy tags untag-assets [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --ids TEXT: IDs to process [required]
  • --help: Show this message and exit.

immichpy tags update-tag

Update a tag

Immich API documentation

Usage:

$ immichpy tags update-tag [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --color TEXT: Tag color (hex)
  • --help: Show this message and exit.

immichpy tags upsert-tags

Upsert tags

Immich API documentation

Usage:

$ immichpy tags upsert-tags [OPTIONS]

Options:

  • --tags TEXT: Tag names to upsert [required]
  • --help: Show this message and exit.

immichpy timeline

Specialized endpoints related to the timeline implementation used in the web application. External applications or tools should not use or rely on these endpoints, as they are subject to change without notice.

Immich API documentation

Usage:

$ immichpy timeline [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • get-time-bucket: Get time bucket
  • get-time-buckets: Get time buckets

immichpy timeline get-time-bucket

Get time bucket

Immich API documentation

Usage:

$ immichpy timeline get-time-bucket [OPTIONS]

Options:

  • --album-id TEXT: Filter assets belonging to a specific album
  • --is-favorite [true|false]: Filter by favorite status (true for favorites only, false for non-favorites only)
  • --is-trashed [true|false]: Filter by trash status (true for trashed assets only, false for non-trashed only)
  • --key TEXT
  • --order [asc|desc]: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)
  • --person-id TEXT: Filter assets containing a specific person (face recognition)
  • --slug TEXT
  • --tag-id TEXT: Filter assets with a specific tag
  • --time-bucket TEXT: Time bucket identifier in YYYY-MM-DD format (e.g., "2024-01-01" for January 2024)2024-01-01 [required]
  • --user-id TEXT: Filter assets by specific user ID
  • --visibility [archive|timeline|hidden|locked]: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)
  • --with-coordinates [true|false]: Include location data in the response
  • --with-partners [true|false]: Include assets shared by partners
  • --with-stacked [true|false]: Include stacked assets in the response. When true, only primary assets from stacks are returned.
  • --help: Show this message and exit.

immichpy timeline get-time-buckets

Get time buckets

Immich API documentation

Usage:

$ immichpy timeline get-time-buckets [OPTIONS]

Options:

  • --album-id TEXT: Filter assets belonging to a specific album
  • --is-favorite [true|false]: Filter by favorite status (true for favorites only, false for non-favorites only)
  • --is-trashed [true|false]: Filter by trash status (true for trashed assets only, false for non-trashed only)
  • --key TEXT
  • --order [asc|desc]: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)
  • --person-id TEXT: Filter assets containing a specific person (face recognition)
  • --slug TEXT
  • --tag-id TEXT: Filter assets with a specific tag
  • --user-id TEXT: Filter assets by specific user ID
  • --visibility [archive|timeline|hidden|locked]: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)
  • --with-coordinates [true|false]: Include location data in the response
  • --with-partners [true|false]: Include assets shared by partners
  • --with-stacked [true|false]: Include stacked assets in the response. When true, only primary assets from stacks are returned.
  • --help: Show this message and exit.

immichpy trash

Endpoints for managing the trash can, which includes assets that have been discarded. Items in the trash are automatically deleted after a configured amount of time.

Immich API documentation

Usage:

$ immichpy trash [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • empty-trash: Empty trash
  • restore-assets: Restore assets
  • restore-trash: Restore trash

immichpy trash empty-trash

Empty trash

Immich API documentation

Usage:

$ immichpy trash empty-trash [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy trash restore-assets

Restore assets

Immich API documentation

Usage:

$ immichpy trash restore-assets [OPTIONS]

Options:

  • --ids TEXT: IDs to process [required]
  • --help: Show this message and exit.

immichpy trash restore-trash

Restore trash

Immich API documentation

Usage:

$ immichpy trash restore-trash [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users

Endpoints for viewing and updating the current users, including product key information, profile picture data, onboarding progress, and more.

Immich API documentation

Usage:

$ immichpy users [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-profile-image: Create user profile image
  • delete-profile-image: Delete user profile image
  • delete-user-license: Delete user product key
  • delete-user-onboarding: Delete user onboarding
  • get-my-preferences: Get my preferences
  • get-my-user: Get current user
  • get-profile-image: Retrieve user profile image
  • get-user: Retrieve a user
  • get-user-license: Retrieve user product key
  • get-user-onboarding: Retrieve user onboarding
  • search-users: Get all users
  • set-user-license: Set user product key
  • set-user-onboarding: Update user onboarding
  • update-my-preferences: Update my preferences
  • update-my-user: Update current user
  • get-profile-image-to-file: Download a user's profile image and save...

immichpy users create-profile-image

Create user profile image

Immich API documentation

Usage:

$ immichpy users create-profile-image [OPTIONS]

Options:

  • --file PATH: Profile image file [required]
  • --help: Show this message and exit.

immichpy users delete-profile-image

Delete user profile image

Immich API documentation

Usage:

$ immichpy users delete-profile-image [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users delete-user-license

Delete user product key

Immich API documentation

Usage:

$ immichpy users delete-user-license [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users delete-user-onboarding

Delete user onboarding

Immich API documentation

Usage:

$ immichpy users delete-user-onboarding [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users get-my-preferences

Get my preferences

Immich API documentation

Usage:

$ immichpy users get-my-preferences [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users get-my-user

Get current user

Immich API documentation

Usage:

$ immichpy users get-my-user [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users get-profile-image

Retrieve user profile image

Immich API documentation

Usage:

$ immichpy users get-profile-image [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy users get-user

Retrieve a user

Immich API documentation

Usage:

$ immichpy users get-user [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy users get-user-license

Retrieve user product key

Immich API documentation

Usage:

$ immichpy users get-user-license [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users get-user-onboarding

Retrieve user onboarding

Immich API documentation

Usage:

$ immichpy users get-user-onboarding [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users search-users

Get all users

Immich API documentation

Usage:

$ immichpy users search-users [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users set-user-license

Set user product key

Immich API documentation

Usage:

$ immichpy users set-user-license [OPTIONS]

Options:

  • --activation-key TEXT: Activation key [required]
  • --license-key TEXT: License key (format: IM(SV|CL)(-XXXX){8}) [required]
  • --help: Show this message and exit.

immichpy users set-user-onboarding

Update user onboarding

Immich API documentation

Usage:

$ immichpy users set-user-onboarding [OPTIONS]

Options:

  • --is-onboarded: Is user onboarded [required]
  • --help: Show this message and exit.

immichpy users update-my-preferences

Update my preferences

Immich API documentation

Usage:

$ immichpy users update-my-preferences [OPTIONS]

Options:

  • --albums-default-asset-order TEXT: Asset sort order
  • --avatar-color TEXT: Avatar color
  • --cast-g-cast-enabled [true|false]: Whether Google Cast is enabled
  • --download-archive-size INTEGER RANGE: Maximum archive size in bytes [x>=1]
  • --download-include-embedded-videos [true|false]: Whether to include embedded videos in downloads
  • --email-notifications-album-invite [true|false]: Whether to receive email notifications for album invites
  • --email-notifications-album-update [true|false]: Whether to receive email notifications for album updates
  • --email-notifications-enabled [true|false]: Whether email notifications are enabled
  • --folders-enabled [true|false]: Whether folders are enabled
  • --folders-sidebar-web [true|false]: Whether folders appear in web sidebar
  • --memories-duration INTEGER RANGE: Memory duration in seconds [x>=1]
  • --memories-enabled [true|false]: Whether memories are enabled
  • --people-enabled [true|false]: Whether people are enabled
  • --people-sidebar-web [true|false]: Whether people appear in web sidebar
  • --purchase-hide-buy-button-until TEXT: Date until which to hide buy button
  • --purchase-show-support-badge [true|false]: Whether to show support badge
  • --ratings-enabled [true|false]: Whether ratings are enabled
  • --shared-links-enabled [true|false]: Whether shared links are enabled
  • --shared-links-sidebar-web [true|false]: Whether shared links appear in web sidebar
  • --tags-enabled [true|false]: Whether tags are enabled
  • --tags-sidebar-web [true|false]: Whether tags appear in web sidebar
  • --help: Show this message and exit.

immichpy users update-my-user

Update current user

Immich API documentation

Usage:

$ immichpy users update-my-user [OPTIONS]

Options:

  • --avatar-color TEXT: Avatar color
  • --email TEXT: User email
  • --name TEXT: User name
  • --password TEXT: User password (deprecated, use change password endpoint)
  • --help: Show this message and exit.

immichpy users get-profile-image-to-file

Download a user's profile image and save it to a file.

Downloads the profile image for the specified user and saves it to the specified output directory. The filename can be specified or will be derived from the response headers.

Usage:

$ immichpy users get-profile-image-to-file [OPTIONS] ID OUT_DIR

Arguments:

  • ID: User ID (UUID) [required]
  • OUT_DIR: Output directory for the profile image file [required]

Options:

  • --filename TEXT: Filename to use (defaults to original filename or profile-{user_id})
  • --show-progress: Show progress bar while downloading
  • --help: Show this message and exit.

immichpy users-admin

Administrative endpoints for managing users, including creating, updating, deleting, and restoring users. Also includes endpoints for resetting passwords and PIN codes.

Immich API documentation

Usage:

$ immichpy users-admin [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-user-admin: Create a user
  • delete-user-admin: Delete a user
  • get-user-admin: Retrieve a user
  • get-user-preferences-admin: Retrieve user preferences
  • get-user-sessions-admin: Retrieve user sessions
  • get-user-statistics-admin: Retrieve user statistics
  • restore-user-admin: Restore a deleted user
  • search-users-admin: Search users
  • update-user-admin: Update a user
  • update-user-preferences-admin: Update user preferences

immichpy users-admin create-user-admin

Create a user

Immich API documentation

Usage:

$ immichpy users-admin create-user-admin [OPTIONS]

Options:

  • --avatar-color TEXT: Avatar color
  • --email TEXT: User email [required]
  • --is-admin [true|false]: Grant admin privileges
  • --name TEXT: User name [required]
  • --notify [true|false]: Send notification email
  • --password TEXT: User password [required]
  • --quota-size-in-bytes INTEGER RANGE: Storage quota in bytes [x>=0]
  • --should-change-password [true|false]: Require password change on next login
  • --storage-label TEXT: Storage label
  • --help: Show this message and exit.

immichpy users-admin delete-user-admin

Delete a user

Immich API documentation

Usage:

$ immichpy users-admin delete-user-admin [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --force [true|false]: Force delete even if user has assets
  • --help: Show this message and exit.

immichpy users-admin get-user-admin

Retrieve a user

Immich API documentation

Usage:

$ immichpy users-admin get-user-admin [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy users-admin get-user-preferences-admin

Retrieve user preferences

Immich API documentation

Usage:

$ immichpy users-admin get-user-preferences-admin [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy users-admin get-user-sessions-admin

Retrieve user sessions

Immich API documentation

Usage:

$ immichpy users-admin get-user-sessions-admin [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy users-admin get-user-statistics-admin

Retrieve user statistics

Immich API documentation

Usage:

$ immichpy users-admin get-user-statistics-admin [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --is-favorite [true|false]: Filter by favorite status
  • --is-trashed [true|false]: Filter by trash status
  • --visibility [archive|timeline|hidden|locked]: Filter by visibility
  • --help: Show this message and exit.

immichpy users-admin restore-user-admin

Restore a deleted user

Immich API documentation

Usage:

$ immichpy users-admin restore-user-admin [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy users-admin search-users-admin

Search users

Immich API documentation

Usage:

$ immichpy users-admin search-users-admin [OPTIONS]

Options:

  • --id TEXT: User ID filter
  • --with-deleted [true|false]: Include deleted users
  • --help: Show this message and exit.

immichpy users-admin update-user-admin

Update a user

Immich API documentation

Usage:

$ immichpy users-admin update-user-admin [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --avatar-color TEXT: Avatar color
  • --email TEXT: User email
  • --is-admin [true|false]: Grant admin privileges
  • --name TEXT: User name
  • --password TEXT: User password
  • --pin-code TEXT: PIN code

Example: 123456 * --quota-size-in-bytes INTEGER RANGE: Storage quota in bytes [x>=0] * --should-change-password [true|false]: Require password change on next login * --storage-label TEXT: Storage label * --help: Show this message and exit.

immichpy users-admin update-user-preferences-admin

Update user preferences

Immich API documentation

Usage:

$ immichpy users-admin update-user-preferences-admin [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --albums-default-asset-order TEXT: Asset sort order
  • --avatar-color TEXT: Avatar color
  • --cast-g-cast-enabled [true|false]: Whether Google Cast is enabled
  • --download-archive-size INTEGER RANGE: Maximum archive size in bytes [x>=1]
  • --download-include-embedded-videos [true|false]: Whether to include embedded videos in downloads
  • --email-notifications-album-invite [true|false]: Whether to receive email notifications for album invites
  • --email-notifications-album-update [true|false]: Whether to receive email notifications for album updates
  • --email-notifications-enabled [true|false]: Whether email notifications are enabled
  • --folders-enabled [true|false]: Whether folders are enabled
  • --folders-sidebar-web [true|false]: Whether folders appear in web sidebar
  • --memories-duration INTEGER RANGE: Memory duration in seconds [x>=1]
  • --memories-enabled [true|false]: Whether memories are enabled
  • --people-enabled [true|false]: Whether people are enabled
  • --people-sidebar-web [true|false]: Whether people appear in web sidebar
  • --purchase-hide-buy-button-until TEXT: Date until which to hide buy button
  • --purchase-show-support-badge [true|false]: Whether to show support badge
  • --ratings-enabled [true|false]: Whether ratings are enabled
  • --shared-links-enabled [true|false]: Whether shared links are enabled
  • --shared-links-sidebar-web [true|false]: Whether shared links appear in web sidebar
  • --tags-enabled [true|false]: Whether tags are enabled
  • --tags-sidebar-web [true|false]: Whether tags appear in web sidebar
  • --help: Show this message and exit.

immichpy views

Endpoints for specialized views, such as the folder view.

Immich API documentation

Usage:

$ immichpy views [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • get-assets-by-original-path: Retrieve assets by original path
  • get-unique-original-paths: Retrieve unique paths

immichpy views get-assets-by-original-path

Retrieve assets by original path

Immich API documentation

Usage:

$ immichpy views get-assets-by-original-path [OPTIONS]

Options:

  • --path TEXT: [required]
  • --help: Show this message and exit.

immichpy views get-unique-original-paths

Retrieve unique paths

Immich API documentation

Usage:

$ immichpy views get-unique-original-paths [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy workflows

A workflow is a set of actions that run whenever a triggering event occurs. Workflows also can include filters to further limit execution.

Immich API documentation

Usage:

$ immichpy workflows [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-workflow: Create a workflow
  • delete-workflow: Delete a workflow
  • get-workflow: Retrieve a workflow
  • get-workflows: List all workflows
  • update-workflow: Update a workflow

immichpy workflows create-workflow

Create a workflow

Immich API documentation

Usage:

$ immichpy workflows create-workflow [OPTIONS]

Options:

  • --actions TEXT: Workflow actions

As a JSON string [required] * --description TEXT: Workflow description * --enabled [true|false]: Workflow enabled * --filters TEXT: Workflow filters

As a JSON string [required] * --name TEXT: Workflow name [required] * --trigger-type TEXT: Trigger type [required] * --help: Show this message and exit.

immichpy workflows delete-workflow

Delete a workflow

Immich API documentation

Usage:

$ immichpy workflows delete-workflow [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy workflows get-workflow

Retrieve a workflow

Immich API documentation

Usage:

$ immichpy workflows get-workflow [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --help: Show this message and exit.

immichpy workflows get-workflows

List all workflows

Immich API documentation

Usage:

$ immichpy workflows get-workflows [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy workflows update-workflow

Update a workflow

Immich API documentation

Usage:

$ immichpy workflows update-workflow [OPTIONS] ID

Arguments:

  • ID: [required]

Options:

  • --actions TEXT: Workflow actions

As a JSON string * --description TEXT: Workflow description * --enabled [true|false]: Workflow enabled * --filters TEXT: Workflow filters

As a JSON string * --name TEXT: Workflow name * --trigger-type TEXT: Trigger type * --help: Show this message and exit.

immichpy backups

Manage backups of the Immich database.

Immich API documentation

Usage:

$ immichpy backups [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • delete-database-backup: Delete database backup
  • download-database-backup: Download database backup
  • list-database-backups: List database backups
  • start-database-restore-flow: Start database backup restore flow
  • upload-database-backup: Upload database backup

immichpy backups delete-database-backup

Delete database backup

Immich API documentation

Usage:

$ immichpy backups delete-database-backup [OPTIONS]

Options:

  • --backups TEXT: [required]
  • --help: Show this message and exit.

immichpy backups download-database-backup

Download database backup

Immich API documentation

Usage:

$ immichpy backups download-database-backup [OPTIONS] FILENAME

Arguments:

  • FILENAME: [required]

Options:

  • --help: Show this message and exit.

immichpy backups list-database-backups

List database backups

Immich API documentation

Usage:

$ immichpy backups list-database-backups [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy backups start-database-restore-flow

Start database backup restore flow

Immich API documentation

Usage:

$ immichpy backups start-database-restore-flow [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy backups upload-database-backup

Upload database backup

Immich API documentation

Usage:

$ immichpy backups upload-database-backup [OPTIONS]

Options:

  • --file PATH
  • --help: Show this message and exit.