Paul Makles 15e00f82f0
feat: maintenance mode (#23431)
* 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>
2025-11-17 17:15:44 +00:00
..
2025-11-17 17:15:44 +00:00
2025-11-17 17:15:44 +00:00

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

Documentation For Authorization

Authentication schemes defined for the API:

bearer

  • Type: HTTP Bearer authentication
  • 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

Author