mirror of
https://github.com/immich-app/immich.git
synced 2026-01-21 09:03:19 -08:00
* feat: ProcessRepository#createSpawnDuplexStream
* test: write tests for ProcessRepository#createSpawnDuplexStream
* feat: StorageRepository#createGzip,createGunzip,createPlainReadStream
* feat: backups util (args, create, restore, progress)
* feat: wait on maintenance operation lock on boot
* chore: use backup util from backup.service.ts
test: update backup.service.ts tests with new util
* feat: list/delete backups (maintenance services)
* chore: open api
fix: missing action in cli.service.ts
* chore: add missing repositories to MaintenanceModule
* refactor: move logSecret into module init
* feat: initialise StorageCore in maintenance mode
* feat: authenticate websocket requests in maintenance mode
* test: add mock for new storage fns
* feat: add MaintenanceEphemeralStateRepository
refactor: cache the secret in memory
* test: update service worker tests
* feat: add external maintenance mode status
* feat: synchronised status, restore db action
* test: backup restore service tests
* refactor: DRY end maintenance
* feat: list and delete backup routes
* feat: start action on boot
* fix: should set status on restore end
* refactor: add maintenanceStore to hold writables
* feat: sync status to web app
* feat: web impl.
* test: various utils for testings
* test: web e2e tests
* test: e2e maintenance spec
* test: update cli spec
* chore: e2e lint
* chore: lint fixes
* chore: lint fixes
* feat: start restore flow route
* test: update e2e tests
* chore: remove neon lights on maintenance action pages
* fix: use 'startRestoreFlow' on onboarding page
* chore: ignore any library folder in `docker/`
* fix: load status on boot
* feat: upload backups
* refactor: permit any .sql(.gz) to be listed/restored
* feat: download backups from list
* fix: permit uploading just .sql files
* feat: restore just .sql files
* fix: don't show backups list if logged out
* feat: system integrity check in restore flow
* test: not providing failed backups in API anymore
* test: util should also not try to use failedBackups
* fix: actually assign inputStream
* test: correct test backup prep.
* fix: ensure task is defined to show error
* test: fix docker cp command
* test: update e2e web spec to select next button
* test: update e2e api tests
* test: refactor timeouts
* chore: remove `showDelete` from maint. settings
* chore: lint
* chore: lint
* fix: make sure backups are correctly sorted for clean up
* test: update service spec
* test: adjust e2e timeout
* test: increase web timeouts for ci
* chore: move gitignore changes
* chore: additional filename validation
* refactor: better typings for integrity API
* feat: higher accuracy progress tracking
* chore: delay lock retry
* refactor: remove old maintenance settings
* refactor: clean up tailwind classes
* refactor: use while loop rather than recursive calls
* test: update service specs
* chore: check canParse too
* chore: lint
* fix: logic error causing infinite loop
* refactor: use <ProgressBar /> from ui library
* fix: create or overwrite file
* chore: i18n pass, update progress bar
* fix: wrong translation string
* chore: update colour variables
* test: update web test for new maint. page
* chore: format, fix key
* test: update tests to be more linter complaint & use new routines
* chore: update onClick -> onAction, title -> breadcrumbs
* fix: use wrench icon in admin settings sidebar
* chore: add translation strings to accordion
* chore: lint
* refactor: move maintenance worker init into service
* refactor: `maintenanceStatus` -> `getMaintenanceStatus`
refactor: `integrityCheck` -> `detectPriorInstall`
chore: add `v2.4.0` version
refactor: `/backups/list` -> `/backups`
refactor: use sendFile in download route
refactor: use separate backups permissions
chore: correct descriptions
refactor: permit handler that doesn't return promise for sendfile
* refactor: move status impl into service
refactor: add active flag to maintenance status
* refactor: split into database backup controller
* test: split api e2e tests and passing
* fix: move end button into authed default maint page
* fix: also show in restore flow
* fix: import getMaintenanceStatus
* test: split web e2e tests
* refactor: ensure detect install is consistently named
* chore: ensure admin for detect install while out of maint.
* refactor: remove state repository
* test: update maint. worker service spec
* test: split backup service spec
* refactor: rename db backup routes
* refactor: instead of param, allow bulk backup deletion
* test: update sdk use in e2e test
* test: correct deleteBackup call
* fix: correct type for serverinstall response dto
* chore: validate filename for deletion
* test: wip
* test: backups no longer take path param
* refactor: scope util to database-backups instead of backups
* fix: update worker controller with new route
* chore: use new admin page actions
* chore: remove stray comment
* test: rename outdated test
* refactor: getter pattern for maintenance secret
* refactor: `createSpawnDuplexStream` -> `spawnDuplexStream`
* refactor: prefer `Object.assign`
* refactor: remove useless try {} block
* refactor: prefer `type Props`
refactor: prefer arrow function
* refactor: use luxon API for minutesAgo
* chore: remove change to gitignore
* refactor: prefer `type Props`
* refactor: remove async from onMount
* refactor: use luxon toRelative for relative time
* refactor: duplicate logic check
* chore: open api
* refactor: begin moving code into web//services
* refactor: don't use template string with $t
* test: use dialog role to match prompt
* refactor: split actions into flow/restore
* test: fix action value
* refactor: move more service calls into web//services
* chore: should void fn return
* chore: bump 2.4.0 to 2.5.0 in controller
* chore: bump 2.4.0 to 2.5.0 in controller
* refactor: use events for web//services
* chore: open api
* chore: open api
* refactor: don't await returned promise
* refactor: remove redundant check
* refactor: add `type: command` to actions
* refactor: split backup entries into own component
* refactor: split restore flow into separate components
* refactor(web): split BackupDelete event
* chore: stylings
* chore: stylings
* fix: don't log query failure on first boot
* feat: support pg_dumpall backups
* feat: display information about each backup
* chore: i18n
* feat: rollback to restore point on migrations failure
* feat: health check after restore
* chore: format
* refactor: split health check into separate function
* refactor: split health into repository
test: write tests covering rollbacks
* fix: omit 'health' requirement from createDbBackup
* test(e2e): rollback test
* fix: wrap text in backup entry
* fix: don't shrink context menu button
* fix: correct CREATE DB syntax for postgres
* test: rename backups generated by test
* feat: add filesize to backup response dto
* feat: restore list
* feat: ui work
* fix: e2e test
* fix: e2e test
* pr feedback
* pr feedback
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
openapi
Immich API
This Dart package is automatically generated by the OpenAPI Generator project:
- API version: 2.4.1
- Generator version: 7.8.0
- Build package: org.openapitools.codegen.languages.DartClientCodegen
Requirements
Dart 2.12 or later
Installation & Usage
Github
If this Dart package is published to Github, add the following dependency to your pubspec.yaml
dependencies:
openapi:
git: https://github.com/GIT_USER_ID/GIT_REPO_ID.git
Local
To use the package in your local drive, add the following dependency to your pubspec.yaml
dependencies:
openapi:
path: /path/to/openapi
Tests
TODO
Getting Started
Please follow the installation procedure and then run the following:
import 'package:openapi/api.dart';
// TODO Configure API key authorization: cookie
//defaultApiClient.getAuthentication<ApiKeyAuth>('cookie').apiKey = 'YOUR_API_KEY';
// uncomment below to setup prefix (e.g. Bearer) for API key, if needed
//defaultApiClient.getAuthentication<ApiKeyAuth>('cookie').apiKeyPrefix = 'Bearer';
// TODO Configure API key authorization: api_key
//defaultApiClient.getAuthentication<ApiKeyAuth>('api_key').apiKey = 'YOUR_API_KEY';
// uncomment below to setup prefix (e.g. Bearer) for API key, if needed
//defaultApiClient.getAuthentication<ApiKeyAuth>('api_key').apiKeyPrefix = 'Bearer';
// TODO Configure HTTP Bearer authorization: bearer
// Case 1. Use String Token
//defaultApiClient.getAuthentication<HttpBearerAuth>('bearer').setAccessToken('YOUR_ACCESS_TOKEN');
// Case 2. Use Function which generate token.
// String yourTokenGeneratorFunction() { ... }
//defaultApiClient.getAuthentication<HttpBearerAuth>('bearer').setAccessToken(yourTokenGeneratorFunction);
final api_instance = APIKeysApi();
final aPIKeyCreateDto = APIKeyCreateDto(); // APIKeyCreateDto |
try {
final result = api_instance.createApiKey(aPIKeyCreateDto);
print(result);
} catch (e) {
print('Exception when calling APIKeysApi->createApiKey: $e\n');
}
Documentation for API Endpoints
All URIs are relative to /api
| Class | Method | HTTP request | Description |
|---|---|---|---|
| APIKeysApi | createApiKey | POST /api-keys | Create an API key |
| APIKeysApi | deleteApiKey | DELETE /api-keys/{id} | Delete an API key |
| APIKeysApi | getApiKey | GET /api-keys/{id} | Retrieve an API key |
| APIKeysApi | getApiKeys | GET /api-keys | List all API keys |
| APIKeysApi | getMyApiKey | GET /api-keys/me | Retrieve the current API key |
| APIKeysApi | updateApiKey | PUT /api-keys/{id} | Update an API key |
| ActivitiesApi | createActivity | POST /activities | Create an activity |
| ActivitiesApi | deleteActivity | DELETE /activities/{id} | Delete an activity |
| ActivitiesApi | getActivities | GET /activities | List all activities |
| ActivitiesApi | getActivityStatistics | GET /activities/statistics | Retrieve activity statistics |
| AlbumsApi | addAssetsToAlbum | PUT /albums/{id}/assets | Add assets to an album |
| AlbumsApi | addAssetsToAlbums | PUT /albums/assets | Add assets to albums |
| AlbumsApi | addUsersToAlbum | PUT /albums/{id}/users | Share album with users |
| AlbumsApi | createAlbum | POST /albums | Create an album |
| AlbumsApi | deleteAlbum | DELETE /albums/{id} | Delete an album |
| AlbumsApi | getAlbumInfo | GET /albums/{id} | Retrieve an album |
| AlbumsApi | getAlbumStatistics | GET /albums/statistics | Retrieve album statistics |
| AlbumsApi | getAllAlbums | GET /albums | List all albums |
| AlbumsApi | removeAssetFromAlbum | DELETE /albums/{id}/assets | Remove assets from an album |
| AlbumsApi | removeUserFromAlbum | DELETE /albums/{id}/user/{userId} | Remove user from album |
| AlbumsApi | updateAlbumInfo | PATCH /albums/{id} | Update an album |
| AlbumsApi | updateAlbumUser | PUT /albums/{id}/user/{userId} | Update user role |
| AssetsApi | checkBulkUpload | POST /assets/bulk-upload-check | Check bulk upload |
| AssetsApi | checkExistingAssets | POST /assets/exist | Check existing assets |
| AssetsApi | copyAsset | PUT /assets/copy | Copy asset |
| AssetsApi | deleteAssetMetadata | DELETE /assets/{id}/metadata/{key} | Delete asset metadata by key |
| AssetsApi | deleteAssets | DELETE /assets | Delete assets |
| AssetsApi | deleteBulkAssetMetadata | DELETE /assets/metadata | Delete asset metadata |
| AssetsApi | downloadAsset | GET /assets/{id}/original | Download original asset |
| AssetsApi | editAsset | PUT /assets/{id}/edits | Apply edits to an existing asset |
| AssetsApi | getAllUserAssetsByDeviceId | GET /assets/device/{deviceId} | Retrieve assets by device ID |
| AssetsApi | getAssetEdits | GET /assets/{id}/edits | Retrieve edits for an existing asset |
| AssetsApi | getAssetInfo | GET /assets/{id} | Retrieve an asset |
| AssetsApi | getAssetMetadata | GET /assets/{id}/metadata | Get asset metadata |
| AssetsApi | getAssetMetadataByKey | GET /assets/{id}/metadata/{key} | Retrieve asset metadata by key |
| AssetsApi | getAssetOcr | GET /assets/{id}/ocr | Retrieve asset OCR data |
| AssetsApi | getAssetStatistics | GET /assets/statistics | Get asset statistics |
| AssetsApi | getRandom | GET /assets/random | Get random assets |
| AssetsApi | playAssetVideo | GET /assets/{id}/video/playback | Play asset video |
| AssetsApi | removeAssetEdits | DELETE /assets/{id}/edits | Remove edits from an existing asset |
| AssetsApi | replaceAsset | PUT /assets/{id}/original | Replace asset |
| AssetsApi | runAssetJobs | POST /assets/jobs | Run an asset job |
| AssetsApi | updateAsset | PUT /assets/{id} | Update an asset |
| AssetsApi | updateAssetMetadata | PUT /assets/{id}/metadata | Update asset metadata |
| AssetsApi | updateAssets | PUT /assets | Update assets |
| AssetsApi | updateBulkAssetMetadata | PUT /assets/metadata | Upsert asset metadata |
| AssetsApi | uploadAsset | POST /assets | Upload asset |
| AssetsApi | viewAsset | GET /assets/{id}/thumbnail | View asset thumbnail |
| AuthenticationApi | changePassword | POST /auth/change-password | Change password |
| AuthenticationApi | changePinCode | PUT /auth/pin-code | Change pin code |
| AuthenticationApi | finishOAuth | POST /oauth/callback | Finish OAuth |
| AuthenticationApi | getAuthStatus | GET /auth/status | Retrieve auth status |
| AuthenticationApi | linkOAuthAccount | POST /oauth/link | Link OAuth account |
| AuthenticationApi | lockAuthSession | POST /auth/session/lock | Lock auth session |
| AuthenticationApi | login | POST /auth/login | Login |
| AuthenticationApi | logout | POST /auth/logout | Logout |
| AuthenticationApi | redirectOAuthToMobile | GET /oauth/mobile-redirect | Redirect OAuth to mobile |
| AuthenticationApi | resetPinCode | DELETE /auth/pin-code | Reset pin code |
| AuthenticationApi | setupPinCode | POST /auth/pin-code | Setup pin code |
| AuthenticationApi | signUpAdmin | POST /auth/admin-sign-up | Register admin |
| AuthenticationApi | startOAuth | POST /oauth/authorize | Start OAuth |
| AuthenticationApi | unlinkOAuthAccount | POST /oauth/unlink | Unlink OAuth account |
| AuthenticationApi | unlockAuthSession | POST /auth/session/unlock | Unlock auth session |
| AuthenticationApi | validateAccessToken | POST /auth/validateToken | Validate access token |
| AuthenticationAdminApi | unlinkAllOAuthAccountsAdmin | POST /admin/auth/unlink-all | Unlink all OAuth accounts |
| DatabaseBackupsAdminApi | deleteDatabaseBackup | DELETE /admin/database-backups | Delete database backup |
| DatabaseBackupsAdminApi | downloadDatabaseBackup | GET /admin/database-backups/{filename} | Download database backup |
| DatabaseBackupsAdminApi | listDatabaseBackups | GET /admin/database-backups | List database backups |
| DatabaseBackupsAdminApi | startDatabaseRestoreFlow | POST /admin/database-backups/start-restore | Start database backup restore flow |
| DatabaseBackupsAdminApi | uploadDatabaseBackup | POST /admin/database-backups/upload | Upload database backup |
| DeprecatedApi | createPartnerDeprecated | POST /partners/{id} | Create a partner |
| DeprecatedApi | getAllUserAssetsByDeviceId | GET /assets/device/{deviceId} | Retrieve assets by device ID |
| DeprecatedApi | getDeltaSync | POST /sync/delta-sync | Get delta sync for user |
| DeprecatedApi | getFullSyncForUser | POST /sync/full-sync | Get full sync for user |
| DeprecatedApi | getQueuesLegacy | GET /jobs | Retrieve queue counts and status |
| DeprecatedApi | getRandom | GET /assets/random | Get random assets |
| DeprecatedApi | replaceAsset | PUT /assets/{id}/original | Replace asset |
| DeprecatedApi | runQueueCommandLegacy | PUT /jobs/{name} | Run jobs |
| DownloadApi | downloadArchive | POST /download/archive | Download asset archive |
| DownloadApi | getDownloadInfo | POST /download/info | Retrieve download information |
| DuplicatesApi | deleteDuplicate | DELETE /duplicates/{id} | Delete a duplicate |
| DuplicatesApi | deleteDuplicates | DELETE /duplicates | Delete duplicates |
| DuplicatesApi | getAssetDuplicates | GET /duplicates | Retrieve duplicates |
| FacesApi | createFace | POST /faces | Create a face |
| FacesApi | deleteFace | DELETE /faces/{id} | Delete a face |
| FacesApi | getFaces | GET /faces | Retrieve faces for asset |
| FacesApi | reassignFacesById | PUT /faces/{id} | Re-assign a face to another person |
| JobsApi | createJob | POST /jobs | Create a manual job |
| JobsApi | getQueuesLegacy | GET /jobs | Retrieve queue counts and status |
| JobsApi | runQueueCommandLegacy | PUT /jobs/{name} | Run jobs |
| LibrariesApi | createLibrary | POST /libraries | Create a library |
| LibrariesApi | deleteLibrary | DELETE /libraries/{id} | Delete a library |
| LibrariesApi | getAllLibraries | GET /libraries | Retrieve libraries |
| LibrariesApi | getLibrary | GET /libraries/{id} | Retrieve a library |
| LibrariesApi | getLibraryStatistics | GET /libraries/{id}/statistics | Retrieve library statistics |
| LibrariesApi | scanLibrary | POST /libraries/{id}/scan | Scan a library |
| LibrariesApi | updateLibrary | PUT /libraries/{id} | Update a library |
| LibrariesApi | validate | POST /libraries/{id}/validate | Validate library settings |
| MaintenanceAdminApi | detectPriorInstall | GET /admin/maintenance/detect-install | Detect existing install |
| MaintenanceAdminApi | getMaintenanceStatus | GET /admin/maintenance/status | Get maintenance mode status |
| MaintenanceAdminApi | maintenanceLogin | POST /admin/maintenance/login | Log into maintenance mode |
| MaintenanceAdminApi | setMaintenanceMode | POST /admin/maintenance | Set maintenance mode |
| MapApi | getMapMarkers | GET /map/markers | Retrieve map markers |
| MapApi | reverseGeocode | GET /map/reverse-geocode | Reverse geocode coordinates |
| MemoriesApi | addMemoryAssets | PUT /memories/{id}/assets | Add assets to a memory |
| MemoriesApi | createMemory | POST /memories | Create a memory |
| MemoriesApi | deleteMemory | DELETE /memories/{id} | Delete a memory |
| MemoriesApi | getMemory | GET /memories/{id} | Retrieve a memory |
| MemoriesApi | memoriesStatistics | GET /memories/statistics | Retrieve memories statistics |
| MemoriesApi | removeMemoryAssets | DELETE /memories/{id}/assets | Remove assets from a memory |
| MemoriesApi | searchMemories | GET /memories | Retrieve memories |
| MemoriesApi | updateMemory | PUT /memories/{id} | Update a memory |
| NotificationsApi | deleteNotification | DELETE /notifications/{id} | Delete a notification |
| NotificationsApi | deleteNotifications | DELETE /notifications | Delete notifications |
| NotificationsApi | getNotification | GET /notifications/{id} | Get a notification |
| NotificationsApi | getNotifications | GET /notifications | Retrieve notifications |
| NotificationsApi | updateNotification | PUT /notifications/{id} | Update a notification |
| NotificationsApi | updateNotifications | PUT /notifications | Update notifications |
| NotificationsAdminApi | createNotification | POST /admin/notifications | Create a notification |
| NotificationsAdminApi | getNotificationTemplateAdmin | POST /admin/notifications/templates/{name} | Render email template |
| NotificationsAdminApi | sendTestEmailAdmin | POST /admin/notifications/test-email | Send test email |
| PartnersApi | createPartner | POST /partners | Create a partner |
| PartnersApi | createPartnerDeprecated | POST /partners/{id} | Create a partner |
| PartnersApi | getPartners | GET /partners | Retrieve partners |
| PartnersApi | removePartner | DELETE /partners/{id} | Remove a partner |
| PartnersApi | updatePartner | PUT /partners/{id} | Update a partner |
| PeopleApi | createPerson | POST /people | Create a person |
| PeopleApi | deletePeople | DELETE /people | Delete people |
| PeopleApi | deletePerson | DELETE /people/{id} | Delete person |
| PeopleApi | getAllPeople | GET /people | Get all people |
| PeopleApi | getPerson | GET /people/{id} | Get a person |
| PeopleApi | getPersonStatistics | GET /people/{id}/statistics | Get person statistics |
| PeopleApi | getPersonThumbnail | GET /people/{id}/thumbnail | Get person thumbnail |
| PeopleApi | mergePerson | POST /people/{id}/merge | Merge people |
| PeopleApi | reassignFaces | PUT /people/{id}/reassign | Reassign faces |
| PeopleApi | updatePeople | PUT /people | Update people |
| PeopleApi | updatePerson | PUT /people/{id} | Update person |
| PluginsApi | getPlugin | GET /plugins/{id} | Retrieve a plugin |
| PluginsApi | getPluginTriggers | GET /plugins/triggers | List all plugin triggers |
| PluginsApi | getPlugins | GET /plugins | List all plugins |
| QueuesApi | emptyQueue | DELETE /queues/{name}/jobs | Empty a queue |
| QueuesApi | getQueue | GET /queues/{name} | Retrieve a queue |
| QueuesApi | getQueueJobs | GET /queues/{name}/jobs | Retrieve queue jobs |
| QueuesApi | getQueues | GET /queues | List all queues |
| QueuesApi | updateQueue | PUT /queues/{name} | Update a queue |
| SearchApi | getAssetsByCity | GET /search/cities | Retrieve assets by city |
| SearchApi | getExploreData | GET /search/explore | Retrieve explore data |
| SearchApi | getSearchSuggestions | GET /search/suggestions | Retrieve search suggestions |
| SearchApi | searchAssetStatistics | POST /search/statistics | Search asset statistics |
| SearchApi | searchAssets | POST /search/metadata | Search assets by metadata |
| SearchApi | searchLargeAssets | POST /search/large-assets | Search large assets |
| SearchApi | searchPerson | GET /search/person | Search people |
| SearchApi | searchPlaces | GET /search/places | Search places |
| SearchApi | searchRandom | POST /search/random | Search random assets |
| SearchApi | searchSmart | POST /search/smart | Smart asset search |
| ServerApi | deleteServerLicense | DELETE /server/license | Delete server product key |
| ServerApi | getAboutInfo | GET /server/about | Get server information |
| ServerApi | getApkLinks | GET /server/apk-links | Get APK links |
| ServerApi | getServerConfig | GET /server/config | Get config |
| ServerApi | getServerFeatures | GET /server/features | Get features |
| ServerApi | getServerLicense | GET /server/license | Get product key |
| ServerApi | getServerStatistics | GET /server/statistics | Get statistics |
| ServerApi | getServerVersion | GET /server/version | Get server version |
| ServerApi | getStorage | GET /server/storage | Get storage |
| ServerApi | getSupportedMediaTypes | GET /server/media-types | Get supported media types |
| ServerApi | getTheme | GET /server/theme | Get theme |
| ServerApi | getVersionCheck | GET /server/version-check | Get version check status |
| ServerApi | getVersionHistory | GET /server/version-history | Get version history |
| ServerApi | pingServer | GET /server/ping | Ping |
| ServerApi | setServerLicense | PUT /server/license | Set server product key |
| SessionsApi | createSession | POST /sessions | Create a session |
| SessionsApi | deleteAllSessions | DELETE /sessions | Delete all sessions |
| SessionsApi | deleteSession | DELETE /sessions/{id} | Delete a session |
| SessionsApi | getSessions | GET /sessions | Retrieve sessions |
| SessionsApi | lockSession | POST /sessions/{id}/lock | Lock a session |
| SessionsApi | updateSession | PUT /sessions/{id} | Update a session |
| SharedLinksApi | addSharedLinkAssets | PUT /shared-links/{id}/assets | Add assets to a shared link |
| SharedLinksApi | createSharedLink | POST /shared-links | Create a shared link |
| SharedLinksApi | getAllSharedLinks | GET /shared-links | Retrieve all shared links |
| SharedLinksApi | getMySharedLink | GET /shared-links/me | Retrieve current shared link |
| SharedLinksApi | getSharedLinkById | GET /shared-links/{id} | Retrieve a shared link |
| SharedLinksApi | removeSharedLink | DELETE /shared-links/{id} | Delete a shared link |
| SharedLinksApi | removeSharedLinkAssets | DELETE /shared-links/{id}/assets | Remove assets from a shared link |
| SharedLinksApi | updateSharedLink | PATCH /shared-links/{id} | Update a shared link |
| StacksApi | createStack | POST /stacks | Create a stack |
| StacksApi | deleteStack | DELETE /stacks/{id} | Delete a stack |
| StacksApi | deleteStacks | DELETE /stacks | Delete stacks |
| StacksApi | getStack | GET /stacks/{id} | Retrieve a stack |
| StacksApi | removeAssetFromStack | DELETE /stacks/{id}/assets/{assetId} | Remove an asset from a stack |
| StacksApi | searchStacks | GET /stacks | Retrieve stacks |
| StacksApi | updateStack | PUT /stacks/{id} | Update a stack |
| SyncApi | deleteSyncAck | DELETE /sync/ack | Delete acknowledgements |
| SyncApi | getDeltaSync | POST /sync/delta-sync | Get delta sync for user |
| SyncApi | getFullSyncForUser | POST /sync/full-sync | Get full sync for user |
| SyncApi | getSyncAck | GET /sync/ack | Retrieve acknowledgements |
| SyncApi | getSyncStream | POST /sync/stream | Stream sync changes |
| SyncApi | sendSyncAck | POST /sync/ack | Acknowledge changes |
| SystemConfigApi | getConfig | GET /system-config | Get system configuration |
| SystemConfigApi | getConfigDefaults | GET /system-config/defaults | Get system configuration defaults |
| SystemConfigApi | getStorageTemplateOptions | GET /system-config/storage-template-options | Get storage template options |
| SystemConfigApi | updateConfig | PUT /system-config | Update system configuration |
| SystemMetadataApi | getAdminOnboarding | GET /system-metadata/admin-onboarding | Retrieve admin onboarding |
| SystemMetadataApi | getReverseGeocodingState | GET /system-metadata/reverse-geocoding-state | Retrieve reverse geocoding state |
| SystemMetadataApi | getVersionCheckState | GET /system-metadata/version-check-state | Retrieve version check state |
| SystemMetadataApi | updateAdminOnboarding | POST /system-metadata/admin-onboarding | Update admin onboarding |
| TagsApi | bulkTagAssets | PUT /tags/assets | Tag assets |
| TagsApi | createTag | POST /tags | Create a tag |
| TagsApi | deleteTag | DELETE /tags/{id} | Delete a tag |
| TagsApi | getAllTags | GET /tags | Retrieve tags |
| TagsApi | getTagById | GET /tags/{id} | Retrieve a tag |
| TagsApi | tagAssets | PUT /tags/{id}/assets | Tag assets |
| TagsApi | untagAssets | DELETE /tags/{id}/assets | Untag assets |
| TagsApi | updateTag | PUT /tags/{id} | Update a tag |
| TagsApi | upsertTags | PUT /tags | Upsert tags |
| TimelineApi | getTimeBucket | GET /timeline/bucket | Get time bucket |
| TimelineApi | getTimeBuckets | GET /timeline/buckets | Get time buckets |
| TrashApi | emptyTrash | POST /trash/empty | Empty trash |
| TrashApi | restoreAssets | POST /trash/restore/assets | Restore assets |
| TrashApi | restoreTrash | POST /trash/restore | Restore trash |
| UsersApi | createProfileImage | POST /users/profile-image | Create user profile image |
| UsersApi | deleteProfileImage | DELETE /users/profile-image | Delete user profile image |
| UsersApi | deleteUserLicense | DELETE /users/me/license | Delete user product key |
| UsersApi | deleteUserOnboarding | DELETE /users/me/onboarding | Delete user onboarding |
| UsersApi | getMyPreferences | GET /users/me/preferences | Get my preferences |
| UsersApi | getMyUser | GET /users/me | Get current user |
| UsersApi | getProfileImage | GET /users/{id}/profile-image | Retrieve user profile image |
| UsersApi | getUser | GET /users/{id} | Retrieve a user |
| UsersApi | getUserLicense | GET /users/me/license | Retrieve user product key |
| UsersApi | getUserOnboarding | GET /users/me/onboarding | Retrieve user onboarding |
| UsersApi | searchUsers | GET /users | Get all users |
| UsersApi | setUserLicense | PUT /users/me/license | Set user product key |
| UsersApi | setUserOnboarding | PUT /users/me/onboarding | Update user onboarding |
| UsersApi | updateMyPreferences | PUT /users/me/preferences | Update my preferences |
| UsersApi | updateMyUser | PUT /users/me | Update current user |
| UsersAdminApi | createUserAdmin | POST /admin/users | Create a user |
| UsersAdminApi | deleteUserAdmin | DELETE /admin/users/{id} | Delete a user |
| UsersAdminApi | getUserAdmin | GET /admin/users/{id} | Retrieve a user |
| UsersAdminApi | getUserPreferencesAdmin | GET /admin/users/{id}/preferences | Retrieve user preferences |
| UsersAdminApi | getUserSessionsAdmin | GET /admin/users/{id}/sessions | Retrieve user sessions |
| UsersAdminApi | getUserStatisticsAdmin | GET /admin/users/{id}/statistics | Retrieve user statistics |
| UsersAdminApi | restoreUserAdmin | POST /admin/users/{id}/restore | Restore a deleted user |
| UsersAdminApi | searchUsersAdmin | GET /admin/users | Search users |
| UsersAdminApi | updateUserAdmin | PUT /admin/users/{id} | Update a user |
| UsersAdminApi | updateUserPreferencesAdmin | PUT /admin/users/{id}/preferences | Update user preferences |
| ViewsApi | getAssetsByOriginalPath | GET /view/folder | Retrieve assets by original path |
| ViewsApi | getUniqueOriginalPaths | GET /view/folder/unique-paths | Retrieve unique paths |
| WorkflowsApi | createWorkflow | POST /workflows | Create a workflow |
| WorkflowsApi | deleteWorkflow | DELETE /workflows/{id} | Delete a workflow |
| WorkflowsApi | getWorkflow | GET /workflows/{id} | Retrieve a workflow |
| WorkflowsApi | getWorkflows | GET /workflows | List all workflows |
| WorkflowsApi | updateWorkflow | PUT /workflows/{id} | Update a workflow |
Documentation For Models
- APIKeyCreateDto
- APIKeyCreateResponseDto
- APIKeyResponseDto
- APIKeyUpdateDto
- ActivityCreateDto
- ActivityResponseDto
- ActivityStatisticsResponseDto
- AddUsersDto
- AdminOnboardingUpdateDto
- AlbumResponseDto
- AlbumStatisticsResponseDto
- AlbumUserAddDto
- AlbumUserCreateDto
- AlbumUserResponseDto
- AlbumUserRole
- AlbumsAddAssetsDto
- AlbumsAddAssetsResponseDto
- AlbumsResponse
- AlbumsUpdate
- AssetBulkDeleteDto
- AssetBulkUpdateDto
- AssetBulkUploadCheckDto
- AssetBulkUploadCheckItem
- AssetBulkUploadCheckResponseDto
- AssetBulkUploadCheckResult
- AssetCopyDto
- AssetDeltaSyncDto
- AssetDeltaSyncResponseDto
- AssetEditAction
- AssetEditActionCrop
- AssetEditActionListDto
- AssetEditActionListDtoEditsInner
- AssetEditActionMirror
- AssetEditActionRotate
- AssetEditsDto
- AssetFaceCreateDto
- AssetFaceDeleteDto
- AssetFaceResponseDto
- AssetFaceUpdateDto
- AssetFaceUpdateItem
- AssetFaceWithoutPersonResponseDto
- AssetFullSyncDto
- AssetIdsDto
- AssetIdsResponseDto
- AssetJobName
- AssetJobsDto
- AssetMediaResponseDto
- AssetMediaSize
- AssetMediaStatus
- AssetMetadataBulkDeleteDto
- AssetMetadataBulkDeleteItemDto
- AssetMetadataBulkResponseDto
- AssetMetadataBulkUpsertDto
- AssetMetadataBulkUpsertItemDto
- AssetMetadataResponseDto
- AssetMetadataUpsertDto
- AssetMetadataUpsertItemDto
- AssetOcrResponseDto
- AssetOrder
- AssetResponseDto
- AssetStackResponseDto
- AssetStatsResponseDto
- AssetTypeEnum
- AssetVisibility
- AudioCodec
- AuthStatusResponseDto
- AvatarUpdate
- BulkIdErrorReason
- BulkIdResponseDto
- BulkIdsDto
- CLIPConfig
- CQMode
- CastResponse
- CastUpdate
- ChangePasswordDto
- CheckExistingAssetsDto
- CheckExistingAssetsResponseDto
- Colorspace
- ContributorCountResponseDto
- CreateAlbumDto
- CreateLibraryDto
- CreateProfileImageResponseDto
- CropParameters
- DatabaseBackupConfig
- DatabaseBackupDeleteDto
- DatabaseBackupDto
- DatabaseBackupListResponseDto
- DownloadArchiveInfo
- DownloadInfoDto
- DownloadResponse
- DownloadResponseDto
- DownloadUpdate
- DuplicateDetectionConfig
- DuplicateResponseDto
- EmailNotificationsResponse
- EmailNotificationsUpdate
- ExifResponseDto
- FaceDto
- FacialRecognitionConfig
- FoldersResponse
- FoldersUpdate
- ImageFormat
- JobCreateDto
- JobName
- JobSettingsDto
- LibraryResponseDto
- LibraryStatsResponseDto
- LicenseKeyDto
- LicenseResponseDto
- LogLevel
- LoginCredentialDto
- LoginResponseDto
- LogoutResponseDto
- MachineLearningAvailabilityChecksDto
- MaintenanceAction
- MaintenanceAuthDto
- MaintenanceDetectInstallResponseDto
- MaintenanceDetectInstallStorageFolderDto
- MaintenanceLoginDto
- MaintenanceStatusResponseDto
- ManualJobName
- MapMarkerResponseDto
- MapReverseGeocodeResponseDto
- MemoriesResponse
- MemoriesUpdate
- MemoryCreateDto
- MemoryResponseDto
- MemorySearchOrder
- MemoryStatisticsResponseDto
- MemoryType
- MemoryUpdateDto
- MergePersonDto
- MetadataSearchDto
- MirrorAxis
- MirrorParameters
- NotificationCreateDto
- NotificationDeleteAllDto
- NotificationDto
- NotificationLevel
- NotificationType
- NotificationUpdateAllDto
- NotificationUpdateDto
- OAuthAuthorizeResponseDto
- OAuthCallbackDto
- OAuthConfigDto
- OAuthTokenEndpointAuthMethod
- OcrConfig
- OnThisDayDto
- OnboardingDto
- OnboardingResponseDto
- PartnerCreateDto
- PartnerDirection
- PartnerResponseDto
- PartnerUpdateDto
- PeopleResponse
- PeopleResponseDto
- PeopleUpdate
- PeopleUpdateDto
- PeopleUpdateItem
- Permission
- PersonCreateDto
- PersonResponseDto
- PersonStatisticsResponseDto
- PersonUpdateDto
- PersonWithFacesResponseDto
- PinCodeChangeDto
- PinCodeResetDto
- PinCodeSetupDto
- PlacesResponseDto
- PluginActionResponseDto
- PluginContextType
- PluginFilterResponseDto
- PluginResponseDto
- PluginTriggerResponseDto
- PluginTriggerType
- PurchaseResponse
- PurchaseUpdate
- QueueCommand
- QueueCommandDto
- QueueDeleteDto
- QueueJobResponseDto
- QueueJobStatus
- QueueName
- QueueResponseDto
- QueueResponseLegacyDto
- QueueStatisticsDto
- QueueStatusLegacyDto
- QueueUpdateDto
- QueuesResponseLegacyDto
- RandomSearchDto
- RatingsResponse
- RatingsUpdate
- ReactionLevel
- ReactionType
- ReverseGeocodingStateResponseDto
- RotateParameters
- SearchAlbumResponseDto
- SearchAssetResponseDto
- SearchExploreItem
- SearchExploreResponseDto
- SearchFacetCountResponseDto
- SearchFacetResponseDto
- SearchResponseDto
- SearchStatisticsResponseDto
- SearchSuggestionType
- ServerAboutResponseDto
- ServerApkLinksDto
- ServerConfigDto
- ServerFeaturesDto
- ServerMediaTypesResponseDto
- ServerPingResponse
- ServerStatsResponseDto
- ServerStorageResponseDto
- ServerThemeDto
- ServerVersionHistoryResponseDto
- ServerVersionResponseDto
- SessionCreateDto
- SessionCreateResponseDto
- SessionResponseDto
- SessionUnlockDto
- SessionUpdateDto
- SetMaintenanceModeDto
- SharedLinkCreateDto
- SharedLinkEditDto
- SharedLinkResponseDto
- SharedLinkType
- SharedLinksResponse
- SharedLinksUpdate
- SignUpDto
- SmartSearchDto
- SourceType
- StackCreateDto
- StackResponseDto
- StackUpdateDto
- StatisticsSearchDto
- StorageFolder
- SyncAckDeleteDto
- SyncAckDto
- SyncAckSetDto
- SyncAlbumDeleteV1
- SyncAlbumToAssetDeleteV1
- SyncAlbumToAssetV1
- SyncAlbumUserDeleteV1
- SyncAlbumUserV1
- SyncAlbumV1
- SyncAssetDeleteV1
- SyncAssetExifV1
- SyncAssetFaceDeleteV1
- SyncAssetFaceV1
- SyncAssetMetadataDeleteV1
- SyncAssetMetadataV1
- SyncAssetV1
- SyncAuthUserV1
- SyncEntityType
- SyncMemoryAssetDeleteV1
- SyncMemoryAssetV1
- SyncMemoryDeleteV1
- SyncMemoryV1
- SyncPartnerDeleteV1
- SyncPartnerV1
- SyncPersonDeleteV1
- SyncPersonV1
- SyncRequestType
- SyncStackDeleteV1
- SyncStackV1
- SyncStreamDto
- SyncUserDeleteV1
- SyncUserMetadataDeleteV1
- SyncUserMetadataV1
- SyncUserV1
- SystemConfigBackupsDto
- SystemConfigDto
- SystemConfigFFmpegDto
- SystemConfigFacesDto
- SystemConfigGeneratedFullsizeImageDto
- SystemConfigGeneratedImageDto
- SystemConfigImageDto
- SystemConfigJobDto
- SystemConfigLibraryDto
- SystemConfigLibraryScanDto
- SystemConfigLibraryWatchDto
- SystemConfigLoggingDto
- SystemConfigMachineLearningDto
- SystemConfigMapDto
- SystemConfigMetadataDto
- SystemConfigNewVersionCheckDto
- SystemConfigNightlyTasksDto
- SystemConfigNotificationsDto
- SystemConfigOAuthDto
- SystemConfigPasswordLoginDto
- SystemConfigReverseGeocodingDto
- SystemConfigServerDto
- SystemConfigSmtpDto
- SystemConfigSmtpTransportDto
- SystemConfigStorageTemplateDto
- SystemConfigTemplateEmailsDto
- SystemConfigTemplateStorageOptionDto
- SystemConfigTemplatesDto
- SystemConfigThemeDto
- SystemConfigTrashDto
- SystemConfigUserDto
- TagBulkAssetsDto
- TagBulkAssetsResponseDto
- TagCreateDto
- TagResponseDto
- TagUpdateDto
- TagUpsertDto
- TagsResponse
- TagsUpdate
- TemplateDto
- TemplateResponseDto
- TestEmailResponseDto
- TimeBucketAssetResponseDto
- TimeBucketsResponseDto
- ToneMapping
- TranscodeHWAccel
- TranscodePolicy
- TrashResponseDto
- UpdateAlbumDto
- UpdateAlbumUserDto
- UpdateAssetDto
- UpdateLibraryDto
- UsageByUserDto
- UserAdminCreateDto
- UserAdminDeleteDto
- UserAdminResponseDto
- UserAdminUpdateDto
- UserAvatarColor
- UserLicense
- UserMetadataKey
- UserPreferencesResponseDto
- UserPreferencesUpdateDto
- UserResponseDto
- UserStatus
- UserUpdateMeDto
- ValidateAccessTokenResponseDto
- ValidateLibraryDto
- ValidateLibraryImportPathResponseDto
- ValidateLibraryResponseDto
- VersionCheckStateResponseDto
- VideoCodec
- VideoContainer
- WorkflowActionItemDto
- WorkflowActionResponseDto
- WorkflowCreateDto
- WorkflowFilterItemDto
- WorkflowFilterResponseDto
- WorkflowResponseDto
- WorkflowUpdateDto
Documentation For Authorization
Authentication schemes defined for the API:
bearer
- Type: HTTP Bearer authentication
cookie
- Type: API key
- API key parameter name: immich_access_token
- Location:
api_key
- Type: API key
- API key parameter name: x-api-key
- Location: HTTP header