mirror of
https://github.com/immich-app/immich.git
synced 2025-11-26 08:15:17 -05:00
* feat: add a `maintenance.enabled` config flag
* feat: implement graceful restart
feat: restart when maintenance config is toggled
* feat: boot a stripped down maintenance api if enabled
* feat: cli command to toggle maintenance mode
* chore: fallback IMMICH_SERVER_URL environment variable in process
* chore: add additional routes to maintenance controller
* fix: don't wait for nest application to close to finish request response
* chore: add a failsafe on restart to prevent other exit codes from preventing restart
* feat: redirect into/from maintenance page
* refactor: use system metadata for maintenance status
* refactor: wait on WebSocket connection to refresh
* feat: broadcast websocket event on server restart
refactor: listen to WS instead of polling
* refactor: bubble up maintenance information instead of hijacking in fetch function
feat: show modal when server is restarting
* chore: increase timeout for ungraceful restart
* refactor: deduplicate code between api/maintenance workers
* fix: skip config check if database is not initialised
* fix: add `maintenanceMode` field to system config test
* refactor: move maintenance resolution code to static method in service
* chore: clean up linter issues
* chore: generate dart openapi
* refactor: use try{} block for maintenance mode check
* fix: logic error in server redirect
* chore: include `maintenanceMode` key in e2e test
* chore: add i18n entries for maintenance screens
* chore: remove negated condition from hook
* fix: should set default value not override in service
* fix: minor error in page
* feat: initial draft of maintenance module, repo., worker controller, worker service
* refactor: move broadcast code into notification service
* chore: connect websocket on client if in maintenance
* chore: set maintenance module app name
* refactor: rename repository to include worker
chore: configure websocket adapter
* feat: reimplement maintenance mode exit with new module
* refactor: add a constant enum for ExitCode
* refactor: remove redundant route for maintenance
* refactor: only spin up kysely on boot (rather than a Nest app)
* refactor(web): move redirect logic into +layout file where modal is setup
* feat: add Maintenance permission
* refactor: merge common code between api/maintenance
* fix: propagate changes from the CLI to servers
* feat: maintenance authentication guard
* refactor: unify maintenance code into repository
feat: add a step to generate maintenance mode token
* feat: jwt auth for maintenance
* refactor: switch from nest jwt to just jsonwebtokens
* feat: log into maintenance mode from CLI command
* refactor: use `secret` instead of `token` in jwt terminology
chore: log maintenance mode login URL on boot
chore: don't make CLI actions reload if already in target state
* docs: initial draft for maintenance mode page
* refactor: always validate the maintenance auth on the server
* feat: add a link to maintenance mode documentation
* feat: redirect users back to the last page they were on when exiting maintenance
* refactor: provide closeFn in both maintenance repos.
* refactor: ensure the user is also redirected by the server
* chore: swap jsonwebtoken for jose
* refactor: introduce AppRestartEvent w/o secret passing
* refactor: use navigation goto
* refactor: use `continue` instead of `next`
* chore: lint fixes for server
* chore: lint fixes for web
* test: add mock for maintenance repository
* test: add base service dependency to maintenance
* chore: remove @types/jsonwebtoken
* refactor: close database connection after startup check
* refactor: use `request#auth` key
* refactor: use service instead of repository
chore: read token from cookie if possible
chore: rename client event to AppRestartV1
* refactor: more concise redirect logic on web
* refactor: move redirect check into utils
refactor: update translation strings to be more sensible
* refactor: always validate login (i.e. check cookie)
* refactor: lint, open-api, remove old dto
* refactor: encode at point of usage
* refactor: remove business logic from repositories
* chore: fix server/web lints
* refactor: remove repository mock
* chore: fix formatting
* test: write service mocks for maintenance mode
* test: write cli service tests
* fix: catch errors when closing app
* fix: always report no maintenance when usual API is available
* test: api e2e maintenance spec
* chore: add response builder
* chore: add helper to set maint. auth cookie
* feat: add SSR to maintenance API
* test(e2e): write web spec for maintenance
* chore: clean up lint issues
* chore: format files
* feat: perform 302 redirect at server level during maintenance
* fix: keep trying to stop immich until it succeeds (CLI issue)
* chore: lint/format
* refactor: annotate references to other services in worker service
* chore: lint
* refactor: remove unnecessary await
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
* refactor: move static methods into util
* refactor: assert secret exists in maintenance worker
* refactor: remove assertion which isn't necessary anymore
* refactor: remove assertion
* refactor: remove outer try {} catch block from loadMaintenanceAuth
* refactor: undo earlier change to vite.config.ts
* chore: update tests due to refactors
* revert: vite.config.ts
* test: expect string jwt
* chore: move blanket exceptions into controllers
* test: update tests according with last change
* refactor: use respondWithCookie
refactor: merge start/end into one route
refactor: rename MaintenanceRepository to AppRepository
chore: use new ApiTag/Endpoint
refactor: apply other requested changes
* chore: regenerate openapi
* chore: lint/format
* chore: remove secureOnly for maint. cookie
* refactor: move maintenance worker code into src/maintenance\nfix: various test fixes
* refactor: use `action` property for setting maint. mode
* refactor: remove Websocket#restartApp in favour of individual methods
* chore: incomplete commit
* chore: remove stray log
* fix: call exitApp from maintenance worker on exit
* fix: add app repository mock
* fix: ensure maintenance cookies are secure
* fix: run playwright tests over secure context (localhost)
* test: update other references to 127.0.0.1
* refactor: use serverSideEmitWithAck
* chore: correct the logic in tryTerminate
* test: juggle cookies ourselves
* chore: fix lint error for e2e spec
* chore: format e2e test
* fix: set cookie secure/non-secure depending on context
* chore: format files
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
openapi
Immich API
This Dart package is automatically generated by the OpenAPI Generator project:
- API version: 2.2.3
- 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 | downloadAsset | GET /assets/{id}/original | Download original asset |
| AssetsApi | getAllUserAssetsByDeviceId | GET /assets/device/{deviceId} | Retrieve assets by device ID |
| 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 | 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 | 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 |
| 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 | getRandom | GET /assets/random | Get random assets |
| DeprecatedApi | replaceAsset | PUT /assets/{id}/original | Replace asset |
| 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 | 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 | getPlugins | GET /plugins | List all plugins |
| 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
- AssetFaceCreateDto
- AssetFaceDeleteDto
- AssetFaceResponseDto
- AssetFaceUpdateDto
- AssetFaceUpdateItem
- AssetFaceWithoutPersonResponseDto
- AssetFullSyncDto
- AssetIdsDto
- AssetIdsResponseDto
- AssetJobName
- AssetJobsDto
- AssetMediaResponseDto
- AssetMediaSize
- AssetMediaStatus
- AssetMetadataKey
- 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
- DatabaseBackupConfig
- DownloadArchiveInfo
- DownloadInfoDto
- DownloadResponse
- DownloadResponseDto
- DownloadUpdate
- DuplicateDetectionConfig
- DuplicateResponseDto
- EmailNotificationsResponse
- EmailNotificationsUpdate
- ExifResponseDto
- FaceDto
- FacialRecognitionConfig
- FoldersResponse
- FoldersUpdate
- ImageFormat
- JobCreateDto
- JobSettingsDto
- LibraryResponseDto
- LibraryStatsResponseDto
- LicenseKeyDto
- LicenseResponseDto
- LogLevel
- LoginCredentialDto
- LoginResponseDto
- LogoutResponseDto
- MachineLearningAvailabilityChecksDto
- MaintenanceAction
- MaintenanceAuthDto
- MaintenanceLoginDto
- ManualJobName
- MapMarkerResponseDto
- MapReverseGeocodeResponseDto
- MemoriesResponse
- MemoriesUpdate
- MemoryCreateDto
- MemoryResponseDto
- MemorySearchOrder
- MemoryStatisticsResponseDto
- MemoryType
- MemoryUpdateDto
- MergePersonDto
- MetadataSearchDto
- 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
- PluginContext
- PluginFilterResponseDto
- PluginResponseDto
- PluginTriggerType
- PurchaseResponse
- PurchaseUpdate
- QueueCommand
- QueueCommandDto
- QueueName
- QueueResponseDto
- QueueStatisticsDto
- QueueStatusDto
- QueuesResponseDto
- RandomSearchDto
- RatingsResponse
- RatingsUpdate
- ReactionLevel
- ReactionType
- ReverseGeocodingStateResponseDto
- 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
- 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