mirror of
https://github.com/immich-app/immich
synced 2025-10-17 18:19:27 +00:00
* feat: show per-user contribution counts on shared albums Add API support and UI display for per-user asset contribution counts on shared albums: - server: add ContributorCountResponseDto and repository method to aggregate counts per user (excluding deleted assets), expose via album response only when shared and counts > 0 - web: display contributor counts in Album Users modal next to each member’s role This helps users understand participation levels in shared albums. * Add ContributorCountResponseDto and expose contributorCounts on AlbumResponseDto in OpenAPI spec. Regenerate TypeScript SDK and mobile OpenAPI clients to include new types. No breaking changes; fields are additive. * fix: shrink age view to fit and not overflow (#22405) Co-authored-by: Alex <alex.tran1502@gmail.com> * chore: post release tasks (#22587) * chore: clean auth-user entity on reset (#22583) Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> * fix: mitigate database lock scenario when running full sync in splash screen page (#22608) * fix: improve sync backup error indicator (#22527) * fix: improve sync indicator error * prefer backup disabled icon before error --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex <alex.tran1502@gmail.com> * fix: bottom navigation bar overlay sheet info (#22610) * fix: respect storage indicator setting (#22596) * fix: respect storage indicator size setting * remove black bar on the bottom of the setting scaffold page --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex <alex.tran1502@gmail.com> * fix: do not run multiple engines on cold startup (#22518) fix: do not run multiple engines on app startup Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex <alex.tran1502@gmail.com> * fix: album selector in favorite view (#22612) * chore(web): update translations (#22486) Translate-URL: https://hosted.weblate.org/projects/immich/immich/ar/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/az/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/bg/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ca/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/cs/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/da/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/el/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/es/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/fr/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/hu/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/kn/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ko/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/lv/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ml/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/nl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sk/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ta/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/tr/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hant/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_SIMPLIFIED/ Translation: Immich/immich Co-authored-by: Arthur Bols <arthur@bols.dev> Co-authored-by: Ben Kim <benkim1129@gmail.com> Co-authored-by: César Gómez <cegomez@gmail.com> Co-authored-by: DR <weblate-kavita.snowflake668@slmail.me> Co-authored-by: DevServs <bonov@mail.ru> Co-authored-by: Emil Friis Osmann <Emilfriisosmann@gmail.com> Co-authored-by: Fjuro <fjuro@alius.cz> Co-authored-by: Godwin T <godwintgn@protonmail.com> Co-authored-by: Hristo T <hristotarnev@gmail.com> Co-authored-by: Hurricane-32 <rodrigorimo@hotmail.com> Co-authored-by: Jozef Gaal <preklady@mayday.sk> Co-authored-by: KecskeTech <teonyitas@gmail.com> Co-authored-by: Kiril Panayotov <eccyboo@protonmail.com> Co-authored-by: Liviu Roman <contact@liviuroman.com> Co-authored-by: Lorenzo <artale.lorenzo@outlook.it> Co-authored-by: Marcelo Popper Costa <marcelo_popper@hotmail.com> Co-authored-by: Matjaž T <matjaz@moj-svet.si> Co-authored-by: Miryusif Rahimov <miryusifrahimov@gmail.com> Co-authored-by: Msaood <msaood@msaood.com> Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com> Co-authored-by: Pedro Vendeira <vendeira.pedro@gmail.com> Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com> Co-authored-by: Rahees <ahdrahees.dev@gmail.com> Co-authored-by: Sandeep R <sandeep1891995@gmail.com> Co-authored-by: Sylvain Pichon <service@spichon.fr> Co-authored-by: TV Box <realceday.tvbox@gmail.com> Co-authored-by: Tino Altmann <usinggrant@hotmail.de> Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org> Co-authored-by: Vegard Fladby <vegard@fladby.org> Co-authored-by: anton garcias <isaga.percompartir@gmail.com> Co-authored-by: chamdim <chamdim@protonmail.com> Co-authored-by: longlarry <weblate.gm@tuta.io> Co-authored-by: pyccl <changcongliang@163.com> Co-authored-by: swever <swever@users.noreply.hosted.weblate.org> Co-authored-by: தமிழ்நேரம் <tamilneram247@gmail.com> Co-authored-by: 안세훈 <on9686@gmail.com> * chore: version v2.0.1 * fix(docs): link to immich docs does not lead correctly to docs (#22687) * fix(server): fix chunking Postgres query parameters (#22684) * feat(server): improve checkAlbumAccess query performance (#22467) * Fix slow SQL query in checkAlbumAccess caused by the array overlap operator && * Update access.repository.sql * Rewrite the query to pass assetIds once as a single array parameter * chore: mark VSCode tasks as background tasks (#22631) VSCode expect tasks that aren't marked as background tasks to finish eventually. That's not how a dev-server is supposed to work, we expect it to run for basically infinite time. By marking those tasks as background tasks, VSCode stops showing the infinite loading spinner on those processes. * fix(ml): Resolve IPv6 startup crash and healthcheck failure (#22387) * fix(ml): Resolve IPv6 startup crash and healthcheck failure Fixes #13782 * fix(ml): updated the fix to use the std lib * Apply code formatting to __main__.py * fix(server): override reserved color metadata for video thumbnails (#22348) override reserved metadata * fix(mobile): trash description cut off (#22662) * fix(mobile): empty album description does not save (#22649) * fix(mobile): video player using ref after disposal (#21843) check if disposed * docs: add job order diagram (#22673) * docs: add job order diagram * wording --------- Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com> * fix: missing responsive calculation in UserPageLayout (#22455) * fix: use full-size image for non-web-compatible panoramas (#20359) * fix(web): use full-size image for non-web-compatible panoramas * always generate full-size image for panoramas * add unit test * fix formatting --------- Co-authored-by: gergo= <gergo@pitty.hu> * chore: update cli docs to pnpm (#22702) update cli docs to pnpm * chore(web): upgrade ESLint and plugins (#22495) * chore(web): upgrade ESLint and plugins, simplify linting configuration - Update eslint from ^9.18.0 to ^9.36.0 - Update eslint plugins: - eslint-plugin-svelte: ^3.9.0 → ^3.12.4 - eslint-plugin-unicorn: ^60.0.0 → ^61.0.2 - svelte-eslint-parser: ^1.2.0 → ^1.3.3 - typescript-eslint: ^8.28.0 → ^8.45.0 - Remove eslint-p dependency in favor of native eslint concurrency - Add unicorn/no-array-sort rule exception - Update linting scripts to use eslint's native --concurrency flag - Update Makefile and mise.toml to reflect simplified lint commands - Update GitHub Actions workflow to use standard pnpm lint command * pnpm dedupe --------- Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com> * fix(web): do not notify on patch releases (#22591) * chore: post release tasks (#22616) * fix: hide view in timeline button on local timeline (#22713) * chore(server): support vectorchord 0.5.x (#21602) Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com> * fix: Fix issue fail to download iOS live photos (#22708) Co-authored-by: bwees <brandonwees@gmail.com> * fix(docs): Remove immich_remove_offline_files as no longer functional (#21774) Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com> Co-authored-by: Brandon Wees <brandonwees@gmail.com> * fix(mobile): closing editor goes back to main page (#22647) Co-authored-by: bwees <brandonwees@gmail.com> * docs: update TrueNAS migration instructions (#22463) Co-authored-by: bo0tzz <git@bo0tzz.me> Co-authored-by: Nicholas Flamy <30300649+NicholasFlamy@users.noreply.github.com> * docs: update Synology install guide (#21996) Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com> * fix: improve the selected sidebar item text color in dark mode (#22640) * chore(deps): update redis:6.2-alpine docker digest to 2185e74 (#22718) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore: update devcontainers for trixie, devenv changes (#22194) * fix(deps): update dependency device_info_plus to v12 (#22724) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency flutter to v3.35.5 (#22720) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update github-actions (#22721) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix: --no-git-checks on pnpm publish (#22715) * fix: --no-git-checks on sdk publish * fix: --no-git-checks on cli publish * refactor(web): Clarify property names in Timeline and Scrubber (#22265) refactor(web): Clarify property names in Timeline and Scrubber Renamed properties across Timeline/Scrubber components for clarity: - scrubOverallPercent → timelineScrollPercent - scrubberMonthPercent → viewportTopMonthScrollPercent - scrubberMonth → viewportTopMonth - leadout → isInLeadOutSection Additional changes: - Updated ScrubberListener signature to accept object parameter - Added detailed JSDoc comments for all Scrubber props - Fixed callback invocations to use new object syntax - Aligned Timeline's local state variables with Scrubber prop names * fix: promote to foreground service before starting engine (#22517) fix: show notification from native Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex <alex.tran1502@gmail.com> * refactor(web): extract timeline keyboard actions into separate component (#22266) refactor(web): extract timeline keyboard actions into separate component Extracts keyboard shortcuts and related functionality from Timeline component into a dedicated TimelineKeyboardActions component for better separation of concerns and maintainability. * feat: make skeleton title optional (#22396) feat: skeleton title is optional feat: skeleton title optional * refactor(web): extract asset viewer logic from Timeline into TimelineAssetViewer component (#22268) refactor(web): extract asset viewer logic from Timeline into TimelineAssetViewer component - Extracted asset viewer navigation and action handling logic from Timeline.svelte into a dedicated TimelineAssetViewer component - Reduces Timeline.svelte complexity by ~150 lines and improves separation of concerns - No functional changes - purely a refactoring to improve code organization ## Changes - Created new TimelineAssetViewer.svelte component containing all asset viewer-related logic - Moved handlePrevious, handleNext, handleRandom, handleClose, handlePreAction, and handleAction methods - Timeline.svelte now only passes required props to the new component - Maintained all existing functionality including navigation, asset actions, and stack management * chore: track full actions/cache version in comment (#22359) * fix(ml): ipv6 check (#22735) * chore(deps): cache pnpm dependencies in prod build (#22555) * cache pnpm dependencies use different ids to be safe unnecessary lines * use buildcache folder * chore: use isar immich fork (#22738) Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> * fix: bottom sheet blank with local assets that have remote counterparts (#22743) * chore(deps): update dependency @types/node to ^22.18.8 (#22719) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency nodemailer to v7.0.7 [security] (#22740) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency connectivity_plus to v7 (#22723) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Alex <alex.tran1502@gmail.com> * chore: use hosted isar flutter libs (#22757) Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> * fix: skip local only assets in move to lock action (#22728) * fix:prefer trashing to deletions * skip local only assets in move to lock action --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex <alex.tran1502@gmail.com> * fix: brief flashing when swiping from video (#22187) * fix(web): Uniform random distribution during shuffle (#19902) feat: better random distribution * fix: persist search page scroll offset between rebuilds (#22733) fix: persist search scroll between rebuilds Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex <alex.tran1502@gmail.com> * docs: add some external library notes (#22776) * feat(web): seconds and milliseconds in timestamps (#20337) * fix(web): seconds in timestamps * changed date-input step to provide millisecond precision * feat(cli): add debug development config (#22712) * add debug and change ts-node with tsx * update pr changes * update pnpm-lock * remove ts-node from readme * typo * resolve conflicts * remove tsx * launch from dist * add preLaunchTask * update readme * undo main in package.json * remove typo * Apply suggestion from @bwees Co-authored-by: Brandon Wees <brandonwees@gmail.com> * revert pnpm-lock changes * @jrasm91 suggestions * chore: run node with source maps --------- Co-authored-by: Jason Rasmussen <jason@rasm.me> Co-authored-by: Brandon Wees <brandonwees@gmail.com> * docs: add Immich-Stack to community-projects (#21563) docs: add Immich Stack community project Co-authored-by: Jason Rasmussen <jason@rasm.me> * feat(web): Add upload to stack action (#19842) * feat(web): Add upload to stack action * Event handling and translation * Update asset viewer instead * lint, improve upload return type * Add suggestions from code review * Resolve merge conflicts * Apply suggestions from code review * feat(server): add `immich.users.total` metric (#21780) * Add immich.users.total metric * Fix tests & one lint error * Lint * Fix SQL Schema checks * Fix nit * Use workers argument in OnEvent hook and remove condition from method body * feat(docs): add zh_TW Traditional Chinese version README (#22703) docs: add zh_TW Traditional Chinese version README * chore: ignore renovate major updates for postgres image (#22764) * fix: remove postgres exclude datasource match (#22811) * chore(deps): update github-actions (major) (#22810) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix: revert terragrunt-action bump (#22812) * chore: don't enforce runes (#22813) * chore(deps): update base-image to v202510092146 (major) (#22818) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update typescript-projects (#22809) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Dietzler <mail@ddietzler.dev> * fix: only cast to device if the asset is a RemoteAsset (#22805) * feat: (perf) remove scroll compensation (#22837) * fix(deps): update dependency happy-dom to v20 [security] (#22846) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update github-actions (#22793) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix: various typos (#22867) Found via `codespell -q 3 -S "*.svg,./i18n,./docs/package-lock.json,./readme_i18n,./mobile/assets/i18n" -L afterall,devlop,finaly,inout,nd,optin,renderd,sade` * fix: ios skip posting hash response after detached from engine (#22695) * skip posting message after detached from engine * review changes * cancel plugin before destroying engine --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex <alex.tran1502@gmail.com> * chore(deps): update ghcr.io/immich-app/postgres:14-vectorchord0.3.0 docker digest to 6f3e9d2 (#22912) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0 docker digest to bcf6335 (#22913) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix: re-add scroll compensation (efficiently) (#22848) * fix: re-add scroll compensation (efficient) * Rename showSkeleton to invisible. Adjust skeleton margins, invisible support. * Fix faulty logic, simplify * Calculate ratios and determine compensation strategy: height comp for above/partiality visible, month-scroll comp within a fully visible month. --------- Co-authored-by: Alex <alex.tran1502@gmail.com> * fix: shared album control permissions (#22435) * fix: shared album control permissions * fix: properly display "add photos" * fix: dont allow modification of album order * fix: album title/description edit from app bar * chore: code review changes * chore: format translations * chore: lintings * fix: show dialog before delete local action (#22280) * fix: show dialog on delete local action # Conflicts: # mobile/lib/repositories/asset_media.repository.dart * button style --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex <alex.tran1502@gmail.com> * fix(deps): update dependency kysely-postgres-js to v3 (#22924) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update redis:6.2-alpine docker digest to 77697a7 (#22915) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update typescript-projects (#22918) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Dietzler <mail@ddietzler.dev> * feat: local album events notification (#22817) * feat: local album events notification * pr feedback * show number of unread notification * chore: refactor show view in timeline button (#22894) * chore: refactor show view in timeline button This refactor includes changes to notify asset viewer about where an asset was shown from. * chore: realized I could just pull from the timelineProvider instead of storing it in the asset viewer state * chore: rename enum to TimelineOrigin and update members * fix: update isOwner condition --------- Co-authored-by: Alex <alex.tran1502@gmail.com> * chore(web): update translations (#22623) Translate-URL: https://hosted.weblate.org/projects/immich/immich/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ar/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/be/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/bn/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ca/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/cs/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/da/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/el/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/es/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/et/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/fi/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/fr/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/gl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/he/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/hi/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/hr/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ja/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ka/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/lv/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/mr/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/nb_NO/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/nl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/pa/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/pl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sk/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sl/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sr_Latn/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/ta/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/tr/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/uk/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_Hant/ Translate-URL: https://hosted.weblate.org/projects/immich/immich/zh_SIMPLIFIED/ Translation: Immich/immich Co-authored-by: Abhijeet Bonde <abhijeetbonde19@gmail.com> Co-authored-by: Adam Uchmanowicz <auchmanowicz@gmail.com> Co-authored-by: Adrian Hermida <adrian.hermida.baloira@gmail.com> Co-authored-by: Aleksa Milošević <akimaki15@gmail.com> Co-authored-by: Amin <amnsharif@gmail.com> Co-authored-by: AndreiP28 <andreiprica28@gmail.com> Co-authored-by: António Santos <antoniomsantos99@gmail.com> Co-authored-by: Asger Mogensen <asgermog@gmail.com> Co-authored-by: Christoph Auer <Christoph.Auer@pilsheim.de> Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com> Co-authored-by: DevServs <bonov@mail.ru> Co-authored-by: Eetu Mäenpää <me@eetumaenpaa.fi> Co-authored-by: Felipe Garcia <garcia.o.felipe@gmail.com> Co-authored-by: Filip Joković <filip@jokovic.dev> Co-authored-by: Hurricane-32 <rodrigorimo@hotmail.com> Co-authored-by: Indrek Haav <indrek.haav@hotmail.com> Co-authored-by: Jason Song <songpeiheng@gmail.com> Co-authored-by: Javier Villanueva García <jvg2203@gmail.com> Co-authored-by: Jordy H <jordy@hoebergen.net> Co-authored-by: Jorge Montejo <jorgemon.lopez@gmail.com> Co-authored-by: Jozef Gaal <preklady@mayday.sk> Co-authored-by: Konstantinos D <kdemer@yahoo.com> Co-authored-by: Leo Bottaro <github@leobottaro.com> Co-authored-by: Linerly <linerly@proton.me> Co-authored-by: Liviu Roman <contact@liviuroman.com> Co-authored-by: Lorenz Baum <LorenzBaum@gmx.de> Co-authored-by: Lukas Konsin <lukaskonsin@proton.me> Co-authored-by: Mandeep <mandeeps708@gmail.com> Co-authored-by: Marc Casillas <mcasillassu@gmail.com> Co-authored-by: Marcelo Popper Costa <marcelo_popper@hotmail.com> Co-authored-by: MatijaThe245th <matija245matakovic@gmail.com> Co-authored-by: Matjaž T <matjaz@moj-svet.si> Co-authored-by: Mees Frensel <meesfrensel@gmail.com> Co-authored-by: Mirko <itzmirko@itzmirko.it> Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com> Co-authored-by: Oleksandr Yurov <oyurov@icloud.com> Co-authored-by: Orkun Sürel <orkunsurel@gmail.com> Co-authored-by: Peter Dave Hello <hsu@peterdavehello.org> Co-authored-by: Philipp Burndorfer <phi.bur@gmx.at> Co-authored-by: Prasanth Baskar <bupdprasanth@gmail.com> Co-authored-by: Roman Zhukov <Softver161@gmail.com> Co-authored-by: Sayan Goswami <goswami.sayan47@gmail.com> Co-authored-by: Sergey Katsubo <skatsubo@gmail.com> Co-authored-by: Simon Bierwald <simon.bierwald@gmail.com> Co-authored-by: Sylvain Pichon <service@spichon.fr> Co-authored-by: TV Box <realceday.tvbox@gmail.com> Co-authored-by: Taiki M <vexingly-many-mace@duck.com> Co-authored-by: Theodore Zhvania <zhvania@ted.ge> Co-authored-by: Tim De Meyer <demeyer.tim@gmail.com> Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org> Co-authored-by: Valentino Harpa <valen.ginga@gmail.com> Co-authored-by: Vegard Fladby <vegard@fladby.org> Co-authored-by: Willem Schipper <git@willem.page> Co-authored-by: Yago Raña Gayoso <yago.rana.gayoso@gmail.com> Co-authored-by: Zurab Sajaia <vavalomi@hotmail.com> Co-authored-by: albanobattistella <albanobattistella@gmail.com> Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl> Co-authored-by: dark&white <darkwhite@users.noreply.hosted.weblate.org> Co-authored-by: eav5jhl0 <eav5jhl0@users.noreply.hosted.weblate.org> Co-authored-by: findussoft <sella_violett_8i@icloud.com> Co-authored-by: kiwinho <kiwicaja@gmail.com> Co-authored-by: millallo <millallo@tiscali.it> Co-authored-by: pyccl <changcongliang@163.com> Co-authored-by: rokon001 <rnacc3579@gmail.com> Co-authored-by: vaibhav kumar <catvaku@gmail.com> Co-authored-by: waclaw66 <waclaw66@seznam.cz> Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com> Co-authored-by: தமிழ்நேரம் <tamilneram247@gmail.com> * chore: version v2.1.0 * refactor * question marks are the enemy * refactor count map * update readme * e2e * count of 0 is impossible * useless async --------- Co-authored-by: Chaoscontrol <6642238+Chaoscontrol@users.noreply.github.com> Co-authored-by: Brandon Wees <brandonwees@gmail.com> Co-authored-by: Alex <alex.tran1502@gmail.com> Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com> Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Weblate (bot) <hosted@weblate.org> Co-authored-by: Arthur Bols <arthur@bols.dev> Co-authored-by: Ben Kim <benkim1129@gmail.com> Co-authored-by: César Gómez <cegomez@gmail.com> Co-authored-by: DR <weblate-kavita.snowflake668@slmail.me> Co-authored-by: DevServs <bonov@mail.ru> Co-authored-by: Emil Friis Osmann <Emilfriisosmann@gmail.com> Co-authored-by: Fjuro <fjuro@alius.cz> Co-authored-by: Godwin T <godwintgn@protonmail.com> Co-authored-by: Hristo T <hristotarnev@gmail.com> Co-authored-by: Hurricane-32 <rodrigorimo@hotmail.com> Co-authored-by: Jozef Gaal <preklady@mayday.sk> Co-authored-by: KecskeTech <teonyitas@gmail.com> Co-authored-by: Kiril Panayotov <eccyboo@protonmail.com> Co-authored-by: Liviu Roman <contact@liviuroman.com> Co-authored-by: Lorenzo <artale.lorenzo@outlook.it> Co-authored-by: Marcelo Popper Costa <marcelo_popper@hotmail.com> Co-authored-by: Matjaž T <matjaz@moj-svet.si> Co-authored-by: Miryusif Rahimov <miryusifrahimov@gmail.com> Co-authored-by: Msaood <msaood@msaood.com> Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com> Co-authored-by: Pedro Vendeira <vendeira.pedro@gmail.com> Co-authored-by: PontusÖsterlindh <pontus@osterlindh.com> Co-authored-by: Rahees <ahdrahees.dev@gmail.com> Co-authored-by: Sandeep R <sandeep1891995@gmail.com> Co-authored-by: Sylvain Pichon <service@spichon.fr> Co-authored-by: TV Box <realceday.tvbox@gmail.com> Co-authored-by: Tino Altmann <usinggrant@hotmail.de> Co-authored-by: User 123456789 <user123456789@users.noreply.hosted.weblate.org> Co-authored-by: Vegard Fladby <vegard@fladby.org> Co-authored-by: anton garcias <isaga.percompartir@gmail.com> Co-authored-by: chamdim <chamdim@protonmail.com> Co-authored-by: longlarry <weblate.gm@tuta.io> Co-authored-by: pyccl <changcongliang@163.com> Co-authored-by: swever <swever@users.noreply.hosted.weblate.org> Co-authored-by: தமிழ்நேரம் <tamilneram247@gmail.com> Co-authored-by: 안세훈 <on9686@gmail.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Xavier Dupuis <xavier0978@hotmail.fr> Co-authored-by: Sergey Katsubo <skatsubo@gmail.com> Co-authored-by: Adrian Jost <22987140+adrianjost@users.noreply.github.com> Co-authored-by: Cokodayo <78474654+CaptainJack2491@users.noreply.github.com> Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com> Co-authored-by: Yaros <thedj.launchpadder.dmx512@gmail.com> Co-authored-by: USBAkimbo <71508071+USBAkimbo@users.noreply.github.com> Co-authored-by: Min Idzelis <min123@gmail.com> Co-authored-by: grgergo <gergo_g@proton.me> Co-authored-by: gergo= <gergo@pitty.hu> Co-authored-by: Jorge Montejo <jorgemon.lopez@gmail.com> Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com> Co-authored-by: Jason Rasmussen <jason@rasm.me> Co-authored-by: Diogo Correia <me@diogotc.com> Co-authored-by: CuberL <liaoziyue10@gmail.com> Co-authored-by: Xantin <56741168+Xiticks@users.noreply.github.com> Co-authored-by: bo0tzz <git@bo0tzz.me> Co-authored-by: Nicholas Flamy <30300649+NicholasFlamy@users.noreply.github.com> Co-authored-by: TDR001 <redp50@outlook.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Saschl <19493808+Saschl@users.noreply.github.com> Co-authored-by: Pascal Sommer <Pascal-So@users.noreply.github.com> Co-authored-by: kaziu687 <kaziu687@gmail.com> Co-authored-by: Qhilm <3350433+Qhilm@users.noreply.github.com> Co-authored-by: Sebastian Schneider <sese.tailor@gmx.net> Co-authored-by: Tushar Harsora <tusharharsora95@gmail.com> Co-authored-by: Peter Dave Hello <hsu@peterdavehello.org> Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com> Co-authored-by: Daniel Dietzler <mail@ddietzler.dev> Co-authored-by: luzpaz <luzpaz@users.noreply.github.com> Co-authored-by: Abhijeet Bonde <abhijeetbonde19@gmail.com> Co-authored-by: Adam Uchmanowicz <auchmanowicz@gmail.com> Co-authored-by: Adrian Hermida <adrian.hermida.baloira@gmail.com> Co-authored-by: Aleksa Milošević <akimaki15@gmail.com> Co-authored-by: Amin <amnsharif@gmail.com> Co-authored-by: AndreiP28 <andreiprica28@gmail.com> Co-authored-by: António Santos <antoniomsantos99@gmail.com> Co-authored-by: Asger Mogensen <asgermog@gmail.com> Co-authored-by: Christoph Auer <Christoph.Auer@pilsheim.de> Co-authored-by: Denis Pacquier <denis.pacquier@gmail.com> Co-authored-by: Eetu Mäenpää <me@eetumaenpaa.fi> Co-authored-by: Felipe Garcia <garcia.o.felipe@gmail.com> Co-authored-by: Filip Joković <filip@jokovic.dev> Co-authored-by: Indrek Haav <indrek.haav@hotmail.com> Co-authored-by: Jason Song <songpeiheng@gmail.com> Co-authored-by: Javier Villanueva García <jvg2203@gmail.com> Co-authored-by: Jordy H <jordy@hoebergen.net> Co-authored-by: Konstantinos D <kdemer@yahoo.com> Co-authored-by: Leo Bottaro <github@leobottaro.com> Co-authored-by: Linerly <linerly@proton.me> Co-authored-by: Lorenz Baum <LorenzBaum@gmx.de> Co-authored-by: Lukas Konsin <lukaskonsin@proton.me> Co-authored-by: Mandeep <mandeeps708@gmail.com> Co-authored-by: Marc Casillas <mcasillassu@gmail.com> Co-authored-by: MatijaThe245th <matija245matakovic@gmail.com> Co-authored-by: Mees Frensel <meesfrensel@gmail.com> Co-authored-by: Mirko <itzmirko@itzmirko.it> Co-authored-by: Oleksandr Yurov <oyurov@icloud.com> Co-authored-by: Orkun Sürel <orkunsurel@gmail.com> Co-authored-by: Philipp Burndorfer <phi.bur@gmx.at> Co-authored-by: Prasanth Baskar <bupdprasanth@gmail.com> Co-authored-by: Roman Zhukov <Softver161@gmail.com> Co-authored-by: Sayan Goswami <goswami.sayan47@gmail.com> Co-authored-by: Simon Bierwald <simon.bierwald@gmail.com> Co-authored-by: Taiki M <vexingly-many-mace@duck.com> Co-authored-by: Theodore Zhvania <zhvania@ted.ge> Co-authored-by: Tim De Meyer <demeyer.tim@gmail.com> Co-authored-by: Valentino Harpa <valen.ginga@gmail.com> Co-authored-by: Willem Schipper <git@willem.page> Co-authored-by: Yago Raña Gayoso <yago.rana.gayoso@gmail.com> Co-authored-by: Zurab Sajaia <vavalomi@hotmail.com> Co-authored-by: albanobattistella <albanobattistella@gmail.com> Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl> Co-authored-by: dark&white <darkwhite@users.noreply.hosted.weblate.org> Co-authored-by: eav5jhl0 <eav5jhl0@users.noreply.hosted.weblate.org> Co-authored-by: findussoft <sella_violett_8i@icloud.com> Co-authored-by: kiwinho <kiwicaja@gmail.com> Co-authored-by: millallo <millallo@tiscali.it> Co-authored-by: rokon001 <rnacc3579@gmail.com> Co-authored-by: vaibhav kumar <catvaku@gmail.com> Co-authored-by: waclaw66 <waclaw66@seznam.cz> Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com>
17934 lines
No EOL
411 KiB
JSON
17934 lines
No EOL
411 KiB
JSON
{
|
|
"openapi": "3.0.0",
|
|
"paths": {
|
|
"/activities": {
|
|
"get": {
|
|
"operationId": "getActivities",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "assetId",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "level",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ReactionLevel"
|
|
}
|
|
},
|
|
{
|
|
"name": "type",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ReactionType"
|
|
}
|
|
},
|
|
{
|
|
"name": "userId",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/ActivityResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Activities"
|
|
],
|
|
"x-immich-permission": "activity.read",
|
|
"description": "This endpoint requires the `activity.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "createActivity",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ActivityCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ActivityResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Activities"
|
|
],
|
|
"x-immich-permission": "activity.create",
|
|
"description": "This endpoint requires the `activity.create` permission."
|
|
}
|
|
},
|
|
"/activities/statistics": {
|
|
"get": {
|
|
"operationId": "getActivityStatistics",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "assetId",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ActivityStatisticsResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Activities"
|
|
],
|
|
"x-immich-permission": "activity.statistics",
|
|
"description": "This endpoint requires the `activity.statistics` permission."
|
|
}
|
|
},
|
|
"/activities/{id}": {
|
|
"delete": {
|
|
"operationId": "deleteActivity",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Activities"
|
|
],
|
|
"x-immich-permission": "activity.delete",
|
|
"description": "This endpoint requires the `activity.delete` permission."
|
|
}
|
|
},
|
|
"/admin/auth/unlink-all": {
|
|
"post": {
|
|
"operationId": "unlinkAllOAuthAccountsAdmin",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Auth (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "adminAuth.unlinkAll",
|
|
"description": "This endpoint is an admin-only route, and requires the `adminAuth.unlinkAll` permission."
|
|
}
|
|
},
|
|
"/admin/notifications": {
|
|
"post": {
|
|
"operationId": "createNotification",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotificationCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotificationDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Notifications (Admin)"
|
|
],
|
|
"x-immich-admin-only": true
|
|
}
|
|
},
|
|
"/admin/notifications/templates/{name}": {
|
|
"post": {
|
|
"operationId": "getNotificationTemplateAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "name",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TemplateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TemplateResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Notifications (Admin)"
|
|
],
|
|
"x-immich-admin-only": true
|
|
}
|
|
},
|
|
"/admin/notifications/test-email": {
|
|
"post": {
|
|
"operationId": "sendTestEmailAdmin",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigSmtpDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TestEmailResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Notifications (Admin)"
|
|
],
|
|
"x-immich-admin-only": true
|
|
}
|
|
},
|
|
"/admin/users": {
|
|
"get": {
|
|
"operationId": "searchUsersAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "withDeleted",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/UserAdminResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "adminUser.read",
|
|
"description": "This endpoint is an admin-only route, and requires the `adminUser.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "createUserAdmin",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "adminUser.create",
|
|
"description": "This endpoint is an admin-only route, and requires the `adminUser.create` permission."
|
|
}
|
|
},
|
|
"/admin/users/{id}": {
|
|
"delete": {
|
|
"operationId": "deleteUserAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminDeleteDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "adminUser.delete",
|
|
"description": "This endpoint is an admin-only route, and requires the `adminUser.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getUserAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "adminUser.read",
|
|
"description": "This endpoint is an admin-only route, and requires the `adminUser.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateUserAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "adminUser.update",
|
|
"description": "This endpoint is an admin-only route, and requires the `adminUser.update` permission."
|
|
}
|
|
},
|
|
"/admin/users/{id}/preferences": {
|
|
"get": {
|
|
"operationId": "getUserPreferencesAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserPreferencesResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "adminUser.read",
|
|
"description": "This endpoint is an admin-only route, and requires the `adminUser.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateUserPreferencesAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserPreferencesUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserPreferencesResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "adminUser.update",
|
|
"description": "This endpoint is an admin-only route, and requires the `adminUser.update` permission."
|
|
}
|
|
},
|
|
"/admin/users/{id}/restore": {
|
|
"post": {
|
|
"operationId": "restoreUserAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "adminUser.delete",
|
|
"description": "This endpoint is an admin-only route, and requires the `adminUser.delete` permission."
|
|
}
|
|
},
|
|
"/admin/users/{id}/statistics": {
|
|
"get": {
|
|
"operationId": "getUserStatisticsAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "isFavorite",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isTrashed",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "visibility",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetStatsResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "adminUser.read",
|
|
"description": "This endpoint is an admin-only route, and requires the `adminUser.read` permission."
|
|
}
|
|
},
|
|
"/albums": {
|
|
"get": {
|
|
"operationId": "getAllAlbums",
|
|
"parameters": [
|
|
{
|
|
"name": "assetId",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Only returns albums that contain the asset\nIgnores the shared parameter\nundefined: get all albums",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "shared",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AlbumResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-permission": "album.read",
|
|
"description": "This endpoint requires the `album.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "createAlbum",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateAlbumDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AlbumResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-permission": "album.create",
|
|
"description": "This endpoint requires the `album.create` permission."
|
|
}
|
|
},
|
|
"/albums/assets": {
|
|
"put": {
|
|
"operationId": "addAssetsToAlbums",
|
|
"parameters": [
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AlbumsAddAssetsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AlbumsAddAssetsResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-permission": "albumAsset.create",
|
|
"description": "This endpoint requires the `albumAsset.create` permission."
|
|
}
|
|
},
|
|
"/albums/statistics": {
|
|
"get": {
|
|
"operationId": "getAlbumStatistics",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AlbumStatisticsResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-permission": "album.statistics",
|
|
"description": "This endpoint requires the `album.statistics` permission."
|
|
}
|
|
},
|
|
"/albums/{id}": {
|
|
"delete": {
|
|
"operationId": "deleteAlbum",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-permission": "album.delete",
|
|
"description": "This endpoint requires the `album.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getAlbumInfo",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "withoutAssets",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AlbumResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-permission": "album.read",
|
|
"description": "This endpoint requires the `album.read` permission."
|
|
},
|
|
"patch": {
|
|
"operationId": "updateAlbumInfo",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateAlbumDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AlbumResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-permission": "album.update",
|
|
"description": "This endpoint requires the `album.update` permission."
|
|
}
|
|
},
|
|
"/albums/{id}/assets": {
|
|
"delete": {
|
|
"operationId": "removeAssetFromAlbum",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/BulkIdResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-permission": "albumAsset.delete",
|
|
"description": "This endpoint requires the `albumAsset.delete` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "addAssetsToAlbum",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/BulkIdResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-permission": "albumAsset.create",
|
|
"description": "This endpoint requires the `albumAsset.create` permission."
|
|
}
|
|
},
|
|
"/albums/{id}/user/{userId}": {
|
|
"delete": {
|
|
"operationId": "removeUserFromAlbum",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "userId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-permission": "albumUser.delete",
|
|
"description": "This endpoint requires the `albumUser.delete` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateAlbumUser",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "userId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateAlbumUserDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-permission": "albumUser.update",
|
|
"description": "This endpoint requires the `albumUser.update` permission."
|
|
}
|
|
},
|
|
"/albums/{id}/users": {
|
|
"put": {
|
|
"operationId": "addUsersToAlbum",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AddUsersDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AlbumResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-permission": "albumUser.create",
|
|
"description": "This endpoint requires the `albumUser.create` permission."
|
|
}
|
|
},
|
|
"/api-keys": {
|
|
"get": {
|
|
"operationId": "getApiKeys",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/APIKeyResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"API Keys"
|
|
],
|
|
"x-immich-permission": "apiKey.read",
|
|
"description": "This endpoint requires the `apiKey.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "createApiKey",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/APIKeyCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/APIKeyCreateResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"API Keys"
|
|
],
|
|
"x-immich-permission": "apiKey.create",
|
|
"description": "This endpoint requires the `apiKey.create` permission."
|
|
}
|
|
},
|
|
"/api-keys/me": {
|
|
"get": {
|
|
"operationId": "getMyApiKey",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/APIKeyResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"API Keys"
|
|
]
|
|
}
|
|
},
|
|
"/api-keys/{id}": {
|
|
"delete": {
|
|
"operationId": "deleteApiKey",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"API Keys"
|
|
],
|
|
"x-immich-permission": "apiKey.delete",
|
|
"description": "This endpoint requires the `apiKey.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getApiKey",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/APIKeyResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"API Keys"
|
|
],
|
|
"x-immich-permission": "apiKey.read",
|
|
"description": "This endpoint requires the `apiKey.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateApiKey",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/APIKeyUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/APIKeyResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"API Keys"
|
|
],
|
|
"x-immich-permission": "apiKey.update",
|
|
"description": "This endpoint requires the `apiKey.update` permission."
|
|
}
|
|
},
|
|
"/assets": {
|
|
"delete": {
|
|
"operationId": "deleteAssets",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetBulkDeleteDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-permission": "asset.delete",
|
|
"description": "This endpoint requires the `asset.delete` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "uploadAsset",
|
|
"parameters": [
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "x-immich-checksum",
|
|
"in": "header",
|
|
"description": "sha1 checksum that can be used for duplicate detection before the file is uploaded",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetMediaCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"description": "Asset Upload Information",
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetMediaResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-permission": "asset.upload",
|
|
"description": "This endpoint requires the `asset.upload` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateAssets",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetBulkUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-permission": "asset.update",
|
|
"description": "This endpoint requires the `asset.update` permission."
|
|
}
|
|
},
|
|
"/assets/bulk-upload-check": {
|
|
"post": {
|
|
"description": "Checks if assets exist by checksums. This endpoint requires the `asset.upload` permission.",
|
|
"operationId": "checkBulkUpload",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetBulkUploadCheckDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetBulkUploadCheckResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "checkBulkUpload",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-permission": "asset.upload"
|
|
}
|
|
},
|
|
"/assets/device/{deviceId}": {
|
|
"get": {
|
|
"description": "Get all asset of a device that are in the database, ID only.",
|
|
"operationId": "getAllUserAssetsByDeviceId",
|
|
"parameters": [
|
|
{
|
|
"name": "deviceId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "getAllUserAssetsByDeviceId",
|
|
"tags": [
|
|
"Assets"
|
|
]
|
|
}
|
|
},
|
|
"/assets/exist": {
|
|
"post": {
|
|
"description": "Checks if multiple assets exist on the server and returns all existing - used by background backup",
|
|
"operationId": "checkExistingAssets",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CheckExistingAssetsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CheckExistingAssetsResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "checkExistingAssets",
|
|
"tags": [
|
|
"Assets"
|
|
]
|
|
}
|
|
},
|
|
"/assets/jobs": {
|
|
"post": {
|
|
"operationId": "runAssetJobs",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetJobsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Assets"
|
|
]
|
|
}
|
|
},
|
|
"/assets/random": {
|
|
"get": {
|
|
"deprecated": true,
|
|
"description": "This property was deprecated in v1.116.0. This endpoint requires the `asset.read` permission.",
|
|
"operationId": "getRandom",
|
|
"parameters": [
|
|
{
|
|
"name": "count",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"minimum": 1,
|
|
"type": "number"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Assets",
|
|
"Deprecated"
|
|
],
|
|
"x-immich-lifecycle": {
|
|
"deprecatedAt": "v1.116.0"
|
|
},
|
|
"x-immich-permission": "asset.read"
|
|
}
|
|
},
|
|
"/assets/statistics": {
|
|
"get": {
|
|
"operationId": "getAssetStatistics",
|
|
"parameters": [
|
|
{
|
|
"name": "isFavorite",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isTrashed",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "visibility",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetStatsResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-permission": "asset.statistics",
|
|
"description": "This endpoint requires the `asset.statistics` permission."
|
|
}
|
|
},
|
|
"/assets/{id}": {
|
|
"get": {
|
|
"operationId": "getAssetInfo",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"description": "This endpoint requires the `asset.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateAsset",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateAssetDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-permission": "asset.update",
|
|
"description": "This endpoint requires the `asset.update` permission."
|
|
}
|
|
},
|
|
"/assets/{id}/metadata": {
|
|
"get": {
|
|
"operationId": "getAssetMetadata",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetMetadataResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"description": "This endpoint requires the `asset.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateAssetMetadata",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetMetadataUpsertDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetMetadataResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-permission": "asset.update",
|
|
"description": "This endpoint requires the `asset.update` permission."
|
|
}
|
|
},
|
|
"/assets/{id}/metadata/{key}": {
|
|
"delete": {
|
|
"operationId": "deleteAssetMetadata",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetMetadataKey"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-permission": "asset.update",
|
|
"description": "This endpoint requires the `asset.update` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getAssetMetadataByKey",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetMetadataKey"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetMetadataResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"description": "This endpoint requires the `asset.read` permission."
|
|
}
|
|
},
|
|
"/assets/{id}/original": {
|
|
"get": {
|
|
"operationId": "downloadAsset",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/octet-stream": {
|
|
"schema": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-permission": "asset.download",
|
|
"description": "This endpoint requires the `asset.download` permission."
|
|
},
|
|
"put": {
|
|
"deprecated": true,
|
|
"description": "This property was deprecated in v1.142.0. Replace the asset with new file, without changing its id. This endpoint requires the `asset.replace` permission.",
|
|
"operationId": "replaceAsset",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetMediaReplaceDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetMediaResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Replace the asset with new file, without changing its id",
|
|
"tags": [
|
|
"Assets",
|
|
"Deprecated"
|
|
],
|
|
"x-immich-lifecycle": {
|
|
"addedAt": "v1.106.0",
|
|
"deprecatedAt": "v1.142.0"
|
|
},
|
|
"x-immich-permission": "asset.replace"
|
|
}
|
|
},
|
|
"/assets/{id}/thumbnail": {
|
|
"get": {
|
|
"operationId": "viewAsset",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "size",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetMediaSize"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/octet-stream": {
|
|
"schema": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-permission": "asset.view",
|
|
"description": "This endpoint requires the `asset.view` permission."
|
|
}
|
|
},
|
|
"/assets/{id}/video/playback": {
|
|
"get": {
|
|
"operationId": "playAssetVideo",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/octet-stream": {
|
|
"schema": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-permission": "asset.view",
|
|
"description": "This endpoint requires the `asset.view` permission."
|
|
}
|
|
},
|
|
"/auth/admin-sign-up": {
|
|
"post": {
|
|
"operationId": "signUpAdmin",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SignUpDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Authentication"
|
|
]
|
|
}
|
|
},
|
|
"/auth/change-password": {
|
|
"post": {
|
|
"operationId": "changePassword",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ChangePasswordDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-permission": "auth.changePassword",
|
|
"description": "This endpoint requires the `auth.changePassword` permission."
|
|
}
|
|
},
|
|
"/auth/login": {
|
|
"post": {
|
|
"operationId": "login",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LoginCredentialDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LoginResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Authentication"
|
|
]
|
|
}
|
|
},
|
|
"/auth/logout": {
|
|
"post": {
|
|
"operationId": "logout",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LogoutResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Authentication"
|
|
]
|
|
}
|
|
},
|
|
"/auth/pin-code": {
|
|
"delete": {
|
|
"operationId": "resetPinCode",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PinCodeResetDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-permission": "pinCode.delete",
|
|
"description": "This endpoint requires the `pinCode.delete` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "setupPinCode",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PinCodeSetupDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-permission": "pinCode.create",
|
|
"description": "This endpoint requires the `pinCode.create` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "changePinCode",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PinCodeChangeDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-permission": "pinCode.update",
|
|
"description": "This endpoint requires the `pinCode.update` permission."
|
|
}
|
|
},
|
|
"/auth/session/lock": {
|
|
"post": {
|
|
"operationId": "lockAuthSession",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Authentication"
|
|
]
|
|
}
|
|
},
|
|
"/auth/session/unlock": {
|
|
"post": {
|
|
"operationId": "unlockAuthSession",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionUnlockDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Authentication"
|
|
]
|
|
}
|
|
},
|
|
"/auth/status": {
|
|
"get": {
|
|
"operationId": "getAuthStatus",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AuthStatusResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Authentication"
|
|
]
|
|
}
|
|
},
|
|
"/auth/validateToken": {
|
|
"post": {
|
|
"operationId": "validateAccessToken",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ValidateAccessTokenResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Authentication"
|
|
]
|
|
}
|
|
},
|
|
"/download/archive": {
|
|
"post": {
|
|
"operationId": "downloadArchive",
|
|
"parameters": [
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/octet-stream": {
|
|
"schema": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Download"
|
|
],
|
|
"x-immich-permission": "asset.download",
|
|
"description": "This endpoint requires the `asset.download` permission."
|
|
}
|
|
},
|
|
"/download/info": {
|
|
"post": {
|
|
"operationId": "getDownloadInfo",
|
|
"parameters": [
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DownloadInfoDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DownloadResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Download"
|
|
],
|
|
"x-immich-permission": "asset.download",
|
|
"description": "This endpoint requires the `asset.download` permission."
|
|
}
|
|
},
|
|
"/duplicates": {
|
|
"delete": {
|
|
"operationId": "deleteDuplicates",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Duplicates"
|
|
],
|
|
"x-immich-permission": "duplicate.delete",
|
|
"description": "This endpoint requires the `duplicate.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getAssetDuplicates",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/DuplicateResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Duplicates"
|
|
],
|
|
"x-immich-permission": "duplicate.read",
|
|
"description": "This endpoint requires the `duplicate.read` permission."
|
|
}
|
|
},
|
|
"/duplicates/{id}": {
|
|
"delete": {
|
|
"operationId": "deleteDuplicate",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Duplicates"
|
|
],
|
|
"x-immich-permission": "duplicate.delete",
|
|
"description": "This endpoint requires the `duplicate.delete` permission."
|
|
}
|
|
},
|
|
"/faces": {
|
|
"get": {
|
|
"operationId": "getFaces",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetFaceResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Faces"
|
|
],
|
|
"x-immich-permission": "face.read",
|
|
"description": "This endpoint requires the `face.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "createFace",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetFaceCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Faces"
|
|
],
|
|
"x-immich-permission": "face.create",
|
|
"description": "This endpoint requires the `face.create` permission."
|
|
}
|
|
},
|
|
"/faces/{id}": {
|
|
"delete": {
|
|
"operationId": "deleteFace",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetFaceDeleteDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Faces"
|
|
],
|
|
"x-immich-permission": "face.delete",
|
|
"description": "This endpoint requires the `face.delete` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "reassignFacesById",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/FaceDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PersonResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Faces"
|
|
],
|
|
"x-immich-permission": "face.update",
|
|
"description": "This endpoint requires the `face.update` permission."
|
|
}
|
|
},
|
|
"/jobs": {
|
|
"get": {
|
|
"operationId": "getAllJobsStatus",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AllJobStatusResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Jobs"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "job.read",
|
|
"description": "This endpoint is an admin-only route, and requires the `job.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "createJob",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/JobCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Jobs"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "job.create",
|
|
"description": "This endpoint is an admin-only route, and requires the `job.create` permission."
|
|
}
|
|
},
|
|
"/jobs/{id}": {
|
|
"put": {
|
|
"operationId": "sendJobCommand",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/JobName"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/JobCommandDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Jobs"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "job.create",
|
|
"description": "This endpoint is an admin-only route, and requires the `job.create` permission."
|
|
}
|
|
},
|
|
"/libraries": {
|
|
"get": {
|
|
"operationId": "getAllLibraries",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/LibraryResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "library.read",
|
|
"description": "This endpoint is an admin-only route, and requires the `library.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "createLibrary",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateLibraryDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LibraryResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "library.create",
|
|
"description": "This endpoint is an admin-only route, and requires the `library.create` permission."
|
|
}
|
|
},
|
|
"/libraries/{id}": {
|
|
"delete": {
|
|
"operationId": "deleteLibrary",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "library.delete",
|
|
"description": "This endpoint is an admin-only route, and requires the `library.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getLibrary",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LibraryResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "library.read",
|
|
"description": "This endpoint is an admin-only route, and requires the `library.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateLibrary",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateLibraryDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LibraryResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "library.update",
|
|
"description": "This endpoint is an admin-only route, and requires the `library.update` permission."
|
|
}
|
|
},
|
|
"/libraries/{id}/scan": {
|
|
"post": {
|
|
"operationId": "scanLibrary",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "library.update",
|
|
"description": "This endpoint is an admin-only route, and requires the `library.update` permission."
|
|
}
|
|
},
|
|
"/libraries/{id}/statistics": {
|
|
"get": {
|
|
"operationId": "getLibraryStatistics",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LibraryStatsResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "library.statistics",
|
|
"description": "This endpoint is an admin-only route, and requires the `library.statistics` permission."
|
|
}
|
|
},
|
|
"/libraries/{id}/validate": {
|
|
"post": {
|
|
"operationId": "validate",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ValidateLibraryDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ValidateLibraryResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true
|
|
}
|
|
},
|
|
"/map/markers": {
|
|
"get": {
|
|
"operationId": "getMapMarkers",
|
|
"parameters": [
|
|
{
|
|
"name": "isArchived",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isFavorite",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "fileCreatedAfter",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "fileCreatedBefore",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "withPartners",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "withSharedAlbums",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/MapMarkerResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Map"
|
|
]
|
|
}
|
|
},
|
|
"/map/reverse-geocode": {
|
|
"get": {
|
|
"operationId": "reverseGeocode",
|
|
"parameters": [
|
|
{
|
|
"name": "lat",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "double",
|
|
"type": "number"
|
|
}
|
|
},
|
|
{
|
|
"name": "lon",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "double",
|
|
"type": "number"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/MapReverseGeocodeResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Map"
|
|
]
|
|
}
|
|
},
|
|
"/memories": {
|
|
"get": {
|
|
"operationId": "searchMemories",
|
|
"parameters": [
|
|
{
|
|
"name": "for",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "isSaved",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isTrashed",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "type",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemoryType"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/MemoryResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-permission": "memory.read",
|
|
"description": "This endpoint requires the `memory.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "createMemory",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemoryCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemoryResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-permission": "memory.create",
|
|
"description": "This endpoint requires the `memory.create` permission."
|
|
}
|
|
},
|
|
"/memories/statistics": {
|
|
"get": {
|
|
"operationId": "memoriesStatistics",
|
|
"parameters": [
|
|
{
|
|
"name": "for",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "isSaved",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isTrashed",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "type",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemoryType"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemoryStatisticsResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-permission": "memory.statistics",
|
|
"description": "This endpoint requires the `memory.statistics` permission."
|
|
}
|
|
},
|
|
"/memories/{id}": {
|
|
"delete": {
|
|
"operationId": "deleteMemory",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-permission": "memory.delete",
|
|
"description": "This endpoint requires the `memory.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getMemory",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemoryResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-permission": "memory.read",
|
|
"description": "This endpoint requires the `memory.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateMemory",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemoryUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemoryResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-permission": "memory.update",
|
|
"description": "This endpoint requires the `memory.update` permission."
|
|
}
|
|
},
|
|
"/memories/{id}/assets": {
|
|
"delete": {
|
|
"operationId": "removeMemoryAssets",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/BulkIdResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-permission": "memoryAsset.delete",
|
|
"description": "This endpoint requires the `memoryAsset.delete` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "addMemoryAssets",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/BulkIdResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-permission": "memoryAsset.create",
|
|
"description": "This endpoint requires the `memoryAsset.create` permission."
|
|
}
|
|
},
|
|
"/notifications": {
|
|
"delete": {
|
|
"operationId": "deleteNotifications",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotificationDeleteAllDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Notifications"
|
|
],
|
|
"x-immich-permission": "notification.delete",
|
|
"description": "This endpoint requires the `notification.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getNotifications",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "level",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotificationLevel"
|
|
}
|
|
},
|
|
{
|
|
"name": "type",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotificationType"
|
|
}
|
|
},
|
|
{
|
|
"name": "unread",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/NotificationDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Notifications"
|
|
],
|
|
"x-immich-permission": "notification.read",
|
|
"description": "This endpoint requires the `notification.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateNotifications",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotificationUpdateAllDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Notifications"
|
|
],
|
|
"x-immich-permission": "notification.update",
|
|
"description": "This endpoint requires the `notification.update` permission."
|
|
}
|
|
},
|
|
"/notifications/{id}": {
|
|
"delete": {
|
|
"operationId": "deleteNotification",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Notifications"
|
|
],
|
|
"x-immich-permission": "notification.delete",
|
|
"description": "This endpoint requires the `notification.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getNotification",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotificationDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Notifications"
|
|
],
|
|
"x-immich-permission": "notification.read",
|
|
"description": "This endpoint requires the `notification.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateNotification",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotificationUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotificationDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Notifications"
|
|
],
|
|
"x-immich-permission": "notification.update",
|
|
"description": "This endpoint requires the `notification.update` permission."
|
|
}
|
|
},
|
|
"/oauth/authorize": {
|
|
"post": {
|
|
"operationId": "startOAuth",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OAuthConfigDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OAuthAuthorizeResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"OAuth"
|
|
]
|
|
}
|
|
},
|
|
"/oauth/callback": {
|
|
"post": {
|
|
"operationId": "finishOAuth",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OAuthCallbackDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LoginResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"OAuth"
|
|
]
|
|
}
|
|
},
|
|
"/oauth/link": {
|
|
"post": {
|
|
"operationId": "linkOAuthAccount",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OAuthCallbackDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"OAuth"
|
|
]
|
|
}
|
|
},
|
|
"/oauth/mobile-redirect": {
|
|
"get": {
|
|
"operationId": "redirectOAuthToMobile",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"OAuth"
|
|
]
|
|
}
|
|
},
|
|
"/oauth/unlink": {
|
|
"post": {
|
|
"operationId": "unlinkOAuthAccount",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"OAuth"
|
|
]
|
|
}
|
|
},
|
|
"/partners": {
|
|
"get": {
|
|
"operationId": "getPartners",
|
|
"parameters": [
|
|
{
|
|
"name": "direction",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PartnerDirection"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/PartnerResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Partners"
|
|
],
|
|
"x-immich-permission": "partner.read",
|
|
"description": "This endpoint requires the `partner.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "createPartner",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PartnerCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PartnerResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Partners"
|
|
],
|
|
"x-immich-permission": "partner.create",
|
|
"description": "This endpoint requires the `partner.create` permission."
|
|
}
|
|
},
|
|
"/partners/{id}": {
|
|
"delete": {
|
|
"operationId": "removePartner",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Partners"
|
|
],
|
|
"x-immich-permission": "partner.delete",
|
|
"description": "This endpoint requires the `partner.delete` permission."
|
|
},
|
|
"post": {
|
|
"deprecated": true,
|
|
"description": "This property was deprecated in v1.141.0. This endpoint requires the `partner.create` permission.",
|
|
"operationId": "createPartnerDeprecated",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PartnerResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Partners",
|
|
"Deprecated"
|
|
],
|
|
"x-immich-lifecycle": {
|
|
"deprecatedAt": "v1.141.0"
|
|
},
|
|
"x-immich-permission": "partner.create"
|
|
},
|
|
"put": {
|
|
"operationId": "updatePartner",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PartnerUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PartnerResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Partners"
|
|
],
|
|
"x-immich-permission": "partner.update",
|
|
"description": "This endpoint requires the `partner.update` permission."
|
|
}
|
|
},
|
|
"/people": {
|
|
"delete": {
|
|
"operationId": "deletePeople",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-permission": "person.delete",
|
|
"description": "This endpoint requires the `person.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getAllPeople",
|
|
"parameters": [
|
|
{
|
|
"name": "closestAssetId",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "closestPersonId",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Page number for pagination",
|
|
"schema": {
|
|
"minimum": 1,
|
|
"default": 1,
|
|
"type": "number"
|
|
}
|
|
},
|
|
{
|
|
"name": "size",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Number of items per page",
|
|
"schema": {
|
|
"minimum": 1,
|
|
"maximum": 1000,
|
|
"default": 500,
|
|
"type": "number"
|
|
}
|
|
},
|
|
{
|
|
"name": "withHidden",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PeopleResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-permission": "person.read",
|
|
"description": "This endpoint requires the `person.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "createPerson",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PersonCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PersonResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-permission": "person.create",
|
|
"description": "This endpoint requires the `person.create` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updatePeople",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PeopleUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/BulkIdResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-permission": "person.update",
|
|
"description": "This endpoint requires the `person.update` permission."
|
|
}
|
|
},
|
|
"/people/{id}": {
|
|
"delete": {
|
|
"operationId": "deletePerson",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-permission": "person.delete",
|
|
"description": "This endpoint requires the `person.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getPerson",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PersonResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-permission": "person.read",
|
|
"description": "This endpoint requires the `person.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updatePerson",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PersonUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PersonResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-permission": "person.update",
|
|
"description": "This endpoint requires the `person.update` permission."
|
|
}
|
|
},
|
|
"/people/{id}/merge": {
|
|
"post": {
|
|
"operationId": "mergePerson",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MergePersonDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/BulkIdResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-permission": "person.merge",
|
|
"description": "This endpoint requires the `person.merge` permission."
|
|
}
|
|
},
|
|
"/people/{id}/reassign": {
|
|
"put": {
|
|
"operationId": "reassignFaces",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetFaceUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/PersonResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-permission": "person.reassign",
|
|
"description": "This endpoint requires the `person.reassign` permission."
|
|
}
|
|
},
|
|
"/people/{id}/statistics": {
|
|
"get": {
|
|
"operationId": "getPersonStatistics",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PersonStatisticsResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-permission": "person.statistics",
|
|
"description": "This endpoint requires the `person.statistics` permission."
|
|
}
|
|
},
|
|
"/people/{id}/thumbnail": {
|
|
"get": {
|
|
"operationId": "getPersonThumbnail",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/octet-stream": {
|
|
"schema": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-permission": "person.read",
|
|
"description": "This endpoint requires the `person.read` permission."
|
|
}
|
|
},
|
|
"/search/cities": {
|
|
"get": {
|
|
"operationId": "getAssetsByCity",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"description": "This endpoint requires the `asset.read` permission."
|
|
}
|
|
},
|
|
"/search/explore": {
|
|
"get": {
|
|
"operationId": "getExploreData",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SearchExploreResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"description": "This endpoint requires the `asset.read` permission."
|
|
}
|
|
},
|
|
"/search/large-assets": {
|
|
"post": {
|
|
"operationId": "searchLargeAssets",
|
|
"parameters": [
|
|
{
|
|
"name": "albumIds",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "city",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "country",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "createdAfter",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "createdBefore",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "deviceId",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "isEncoded",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isFavorite",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isMotion",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isNotInAlbum",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isOffline",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "lensModel",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "libraryId",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "make",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "minFileSize",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "model",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "personIds",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "rating",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"minimum": -1,
|
|
"maximum": 5,
|
|
"type": "number"
|
|
}
|
|
},
|
|
{
|
|
"name": "size",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"minimum": 1,
|
|
"maximum": 1000,
|
|
"type": "number"
|
|
}
|
|
},
|
|
{
|
|
"name": "state",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "tagIds",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"nullable": true,
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "takenAfter",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "takenBefore",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "trashedAfter",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "trashedBefore",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "type",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetTypeEnum"
|
|
}
|
|
},
|
|
{
|
|
"name": "updatedAfter",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "updatedBefore",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "visibility",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
},
|
|
{
|
|
"name": "withDeleted",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "withExif",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"description": "This endpoint requires the `asset.read` permission."
|
|
}
|
|
},
|
|
"/search/metadata": {
|
|
"post": {
|
|
"operationId": "searchAssets",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MetadataSearchDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SearchResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"description": "This endpoint requires the `asset.read` permission."
|
|
}
|
|
},
|
|
"/search/person": {
|
|
"get": {
|
|
"operationId": "searchPerson",
|
|
"parameters": [
|
|
{
|
|
"name": "name",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "withHidden",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/PersonResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-permission": "person.read",
|
|
"description": "This endpoint requires the `person.read` permission."
|
|
}
|
|
},
|
|
"/search/places": {
|
|
"get": {
|
|
"operationId": "searchPlaces",
|
|
"parameters": [
|
|
{
|
|
"name": "name",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/PlacesResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"description": "This endpoint requires the `asset.read` permission."
|
|
}
|
|
},
|
|
"/search/random": {
|
|
"post": {
|
|
"operationId": "searchRandom",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RandomSearchDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"description": "This endpoint requires the `asset.read` permission."
|
|
}
|
|
},
|
|
"/search/smart": {
|
|
"post": {
|
|
"operationId": "searchSmart",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SmartSearchDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SearchResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"description": "This endpoint requires the `asset.read` permission."
|
|
}
|
|
},
|
|
"/search/statistics": {
|
|
"post": {
|
|
"operationId": "searchAssetStatistics",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StatisticsSearchDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SearchStatisticsResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-permission": "asset.statistics",
|
|
"description": "This endpoint requires the `asset.statistics` permission."
|
|
}
|
|
},
|
|
"/search/suggestions": {
|
|
"get": {
|
|
"operationId": "getSearchSuggestions",
|
|
"parameters": [
|
|
{
|
|
"name": "country",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "includeNull",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "This property was added in v111.0.0",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "make",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "model",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "state",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "type",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SearchSuggestionType"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"description": "This endpoint requires the `asset.read` permission."
|
|
}
|
|
},
|
|
"/server/about": {
|
|
"get": {
|
|
"operationId": "getAboutInfo",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServerAboutResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-permission": "server.about",
|
|
"description": "This endpoint requires the `server.about` permission."
|
|
}
|
|
},
|
|
"/server/apk-links": {
|
|
"get": {
|
|
"operationId": "getApkLinks",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServerApkLinksDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-permission": "server.apkLinks",
|
|
"description": "This endpoint requires the `server.apkLinks` permission."
|
|
}
|
|
},
|
|
"/server/config": {
|
|
"get": {
|
|
"operationId": "getServerConfig",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServerConfigDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Server"
|
|
]
|
|
}
|
|
},
|
|
"/server/features": {
|
|
"get": {
|
|
"operationId": "getServerFeatures",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServerFeaturesDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Server"
|
|
]
|
|
}
|
|
},
|
|
"/server/license": {
|
|
"delete": {
|
|
"operationId": "deleteServerLicense",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "serverLicense.delete",
|
|
"description": "This endpoint is an admin-only route, and requires the `serverLicense.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getServerLicense",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LicenseResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "serverLicense.read",
|
|
"description": "This endpoint is an admin-only route, and requires the `serverLicense.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "setServerLicense",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LicenseKeyDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LicenseResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "serverLicense.update",
|
|
"description": "This endpoint is an admin-only route, and requires the `serverLicense.update` permission."
|
|
}
|
|
},
|
|
"/server/media-types": {
|
|
"get": {
|
|
"operationId": "getSupportedMediaTypes",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServerMediaTypesResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Server"
|
|
]
|
|
}
|
|
},
|
|
"/server/ping": {
|
|
"get": {
|
|
"operationId": "pingServer",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServerPingResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Server"
|
|
]
|
|
}
|
|
},
|
|
"/server/statistics": {
|
|
"get": {
|
|
"operationId": "getServerStatistics",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServerStatsResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "server.statistics",
|
|
"description": "This endpoint is an admin-only route, and requires the `server.statistics` permission."
|
|
}
|
|
},
|
|
"/server/storage": {
|
|
"get": {
|
|
"operationId": "getStorage",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServerStorageResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-permission": "server.storage",
|
|
"description": "This endpoint requires the `server.storage` permission."
|
|
}
|
|
},
|
|
"/server/theme": {
|
|
"get": {
|
|
"operationId": "getTheme",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServerThemeDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Server"
|
|
]
|
|
}
|
|
},
|
|
"/server/version": {
|
|
"get": {
|
|
"operationId": "getServerVersion",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServerVersionResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Server"
|
|
]
|
|
}
|
|
},
|
|
"/server/version-check": {
|
|
"get": {
|
|
"operationId": "getVersionCheck",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VersionCheckStateResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-permission": "server.versionCheck",
|
|
"description": "This endpoint requires the `server.versionCheck` permission."
|
|
}
|
|
},
|
|
"/server/version-history": {
|
|
"get": {
|
|
"operationId": "getVersionHistory",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/ServerVersionHistoryResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Server"
|
|
]
|
|
}
|
|
},
|
|
"/sessions": {
|
|
"delete": {
|
|
"operationId": "deleteAllSessions",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Sessions"
|
|
],
|
|
"x-immich-permission": "session.delete",
|
|
"description": "This endpoint requires the `session.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getSessions",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SessionResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Sessions"
|
|
],
|
|
"x-immich-permission": "session.read",
|
|
"description": "This endpoint requires the `session.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "createSession",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionCreateResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Sessions"
|
|
],
|
|
"x-immich-permission": "session.create",
|
|
"description": "This endpoint requires the `session.create` permission."
|
|
}
|
|
},
|
|
"/sessions/{id}": {
|
|
"delete": {
|
|
"operationId": "deleteSession",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Sessions"
|
|
],
|
|
"x-immich-permission": "session.delete",
|
|
"description": "This endpoint requires the `session.delete` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateSession",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Sessions"
|
|
],
|
|
"x-immich-permission": "session.update",
|
|
"description": "This endpoint requires the `session.update` permission."
|
|
}
|
|
},
|
|
"/sessions/{id}/lock": {
|
|
"post": {
|
|
"operationId": "lockSession",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Sessions"
|
|
],
|
|
"x-immich-permission": "session.lock",
|
|
"description": "This endpoint requires the `session.lock` permission."
|
|
}
|
|
},
|
|
"/shared-links": {
|
|
"get": {
|
|
"operationId": "getAllSharedLinks",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SharedLinkResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Shared Links"
|
|
],
|
|
"x-immich-permission": "sharedLink.read",
|
|
"description": "This endpoint requires the `sharedLink.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "createSharedLink",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SharedLinkCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SharedLinkResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Shared Links"
|
|
],
|
|
"x-immich-permission": "sharedLink.create",
|
|
"description": "This endpoint requires the `sharedLink.create` permission."
|
|
}
|
|
},
|
|
"/shared-links/me": {
|
|
"get": {
|
|
"operationId": "getMySharedLink",
|
|
"parameters": [
|
|
{
|
|
"name": "password",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"example": "password",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "token",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SharedLinkResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Shared Links"
|
|
]
|
|
}
|
|
},
|
|
"/shared-links/{id}": {
|
|
"delete": {
|
|
"operationId": "removeSharedLink",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Shared Links"
|
|
],
|
|
"x-immich-permission": "sharedLink.delete",
|
|
"description": "This endpoint requires the `sharedLink.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getSharedLinkById",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SharedLinkResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Shared Links"
|
|
],
|
|
"x-immich-permission": "sharedLink.read",
|
|
"description": "This endpoint requires the `sharedLink.read` permission."
|
|
},
|
|
"patch": {
|
|
"operationId": "updateSharedLink",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SharedLinkEditDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SharedLinkResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Shared Links"
|
|
],
|
|
"x-immich-permission": "sharedLink.update",
|
|
"description": "This endpoint requires the `sharedLink.update` permission."
|
|
}
|
|
},
|
|
"/shared-links/{id}/assets": {
|
|
"delete": {
|
|
"operationId": "removeSharedLinkAssets",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetIdsResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Shared Links"
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "addSharedLinkAssets",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetIdsResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Shared Links"
|
|
]
|
|
}
|
|
},
|
|
"/stacks": {
|
|
"delete": {
|
|
"operationId": "deleteStacks",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Stacks"
|
|
],
|
|
"x-immich-permission": "stack.delete",
|
|
"description": "This endpoint requires the `stack.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "searchStacks",
|
|
"parameters": [
|
|
{
|
|
"name": "primaryAssetId",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/StackResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Stacks"
|
|
],
|
|
"x-immich-permission": "stack.read",
|
|
"description": "This endpoint requires the `stack.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "createStack",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StackCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StackResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Stacks"
|
|
],
|
|
"x-immich-permission": "stack.create",
|
|
"description": "This endpoint requires the `stack.create` permission."
|
|
}
|
|
},
|
|
"/stacks/{id}": {
|
|
"delete": {
|
|
"operationId": "deleteStack",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Stacks"
|
|
],
|
|
"x-immich-permission": "stack.delete",
|
|
"description": "This endpoint requires the `stack.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getStack",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StackResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Stacks"
|
|
],
|
|
"x-immich-permission": "stack.read",
|
|
"description": "This endpoint requires the `stack.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateStack",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StackUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StackResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Stacks"
|
|
],
|
|
"x-immich-permission": "stack.update",
|
|
"description": "This endpoint requires the `stack.update` permission."
|
|
}
|
|
},
|
|
"/stacks/{id}/assets/{assetId}": {
|
|
"delete": {
|
|
"operationId": "removeAssetFromStack",
|
|
"parameters": [
|
|
{
|
|
"name": "assetId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Stacks"
|
|
],
|
|
"x-immich-permission": "stack.update",
|
|
"description": "This endpoint requires the `stack.update` permission."
|
|
}
|
|
},
|
|
"/sync/ack": {
|
|
"delete": {
|
|
"operationId": "deleteSyncAck",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SyncAckDeleteDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Sync"
|
|
],
|
|
"x-immich-permission": "syncCheckpoint.delete",
|
|
"description": "This endpoint requires the `syncCheckpoint.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getSyncAck",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SyncAckDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Sync"
|
|
],
|
|
"x-immich-permission": "syncCheckpoint.read",
|
|
"description": "This endpoint requires the `syncCheckpoint.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "sendSyncAck",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SyncAckSetDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Sync"
|
|
],
|
|
"x-immich-permission": "syncCheckpoint.update",
|
|
"description": "This endpoint requires the `syncCheckpoint.update` permission."
|
|
}
|
|
},
|
|
"/sync/delta-sync": {
|
|
"post": {
|
|
"operationId": "getDeltaSync",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetDeltaSyncDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetDeltaSyncResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Sync"
|
|
]
|
|
}
|
|
},
|
|
"/sync/full-sync": {
|
|
"post": {
|
|
"operationId": "getFullSyncForUser",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetFullSyncDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Sync"
|
|
]
|
|
}
|
|
},
|
|
"/sync/stream": {
|
|
"post": {
|
|
"operationId": "getSyncStream",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SyncStreamDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Sync"
|
|
],
|
|
"x-immich-permission": "sync.stream",
|
|
"description": "This endpoint requires the `sync.stream` permission."
|
|
}
|
|
},
|
|
"/system-config": {
|
|
"get": {
|
|
"operationId": "getConfig",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"System Config"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "systemConfig.read",
|
|
"description": "This endpoint is an admin-only route, and requires the `systemConfig.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateConfig",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"System Config"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "systemConfig.update",
|
|
"description": "This endpoint is an admin-only route, and requires the `systemConfig.update` permission."
|
|
}
|
|
},
|
|
"/system-config/defaults": {
|
|
"get": {
|
|
"operationId": "getConfigDefaults",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"System Config"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "systemConfig.read",
|
|
"description": "This endpoint is an admin-only route, and requires the `systemConfig.read` permission."
|
|
}
|
|
},
|
|
"/system-config/storage-template-options": {
|
|
"get": {
|
|
"operationId": "getStorageTemplateOptions",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigTemplateStorageOptionDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"System Config"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "systemConfig.read",
|
|
"description": "This endpoint is an admin-only route, and requires the `systemConfig.read` permission."
|
|
}
|
|
},
|
|
"/system-metadata/admin-onboarding": {
|
|
"get": {
|
|
"operationId": "getAdminOnboarding",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AdminOnboardingUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"System Metadata"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "systemMetadata.read",
|
|
"description": "This endpoint is an admin-only route, and requires the `systemMetadata.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "updateAdminOnboarding",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AdminOnboardingUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"System Metadata"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "systemMetadata.update",
|
|
"description": "This endpoint is an admin-only route, and requires the `systemMetadata.update` permission."
|
|
}
|
|
},
|
|
"/system-metadata/reverse-geocoding-state": {
|
|
"get": {
|
|
"operationId": "getReverseGeocodingState",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ReverseGeocodingStateResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"System Metadata"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "systemMetadata.read",
|
|
"description": "This endpoint is an admin-only route, and requires the `systemMetadata.read` permission."
|
|
}
|
|
},
|
|
"/system-metadata/version-check-state": {
|
|
"get": {
|
|
"operationId": "getVersionCheckState",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VersionCheckStateResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"System Metadata"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-permission": "systemMetadata.read",
|
|
"description": "This endpoint is an admin-only route, and requires the `systemMetadata.read` permission."
|
|
}
|
|
},
|
|
"/tags": {
|
|
"get": {
|
|
"operationId": "getAllTags",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/TagResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-permission": "tag.read",
|
|
"description": "This endpoint requires the `tag.read` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "createTag",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TagCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TagResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-permission": "tag.create",
|
|
"description": "This endpoint requires the `tag.create` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "upsertTags",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TagUpsertDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/TagResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-permission": "tag.create",
|
|
"description": "This endpoint requires the `tag.create` permission."
|
|
}
|
|
},
|
|
"/tags/assets": {
|
|
"put": {
|
|
"operationId": "bulkTagAssets",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TagBulkAssetsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TagBulkAssetsResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-permission": "tag.asset",
|
|
"description": "This endpoint requires the `tag.asset` permission."
|
|
}
|
|
},
|
|
"/tags/{id}": {
|
|
"delete": {
|
|
"operationId": "deleteTag",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-permission": "tag.delete",
|
|
"description": "This endpoint requires the `tag.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getTagById",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TagResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-permission": "tag.read",
|
|
"description": "This endpoint requires the `tag.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateTag",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TagUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TagResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-permission": "tag.update",
|
|
"description": "This endpoint requires the `tag.update` permission."
|
|
}
|
|
},
|
|
"/tags/{id}/assets": {
|
|
"delete": {
|
|
"operationId": "untagAssets",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/BulkIdResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-permission": "tag.asset",
|
|
"description": "This endpoint requires the `tag.asset` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "tagAssets",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/BulkIdResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-permission": "tag.asset",
|
|
"description": "This endpoint requires the `tag.asset` permission."
|
|
}
|
|
},
|
|
"/timeline/bucket": {
|
|
"get": {
|
|
"operationId": "getTimeBucket",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Filter assets belonging to a specific album",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "isFavorite",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Filter by favorite status (true for favorites only, false for non-favorites only)",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isTrashed",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Filter by trash status (true for trashed assets only, false for non-trashed only)",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "order",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetOrder"
|
|
}
|
|
},
|
|
{
|
|
"name": "personId",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Filter assets containing a specific person (face recognition)",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "tagId",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Filter assets with a specific tag",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "timeBucket",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Time bucket identifier in YYYY-MM-DD format (e.g., \"2024-01-01\" for January 2024)",
|
|
"schema": {
|
|
"example": "2024-01-01",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "userId",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Filter assets by specific user ID",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "visibility",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
},
|
|
{
|
|
"name": "withCoordinates",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Include location data in the response",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "withPartners",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Include assets shared by partners",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "withStacked",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Include stacked assets in the response. When true, only primary assets from stacks are returned.",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TimeBucketAssetResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Timeline"
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"description": "This endpoint requires the `asset.read` permission."
|
|
}
|
|
},
|
|
"/timeline/buckets": {
|
|
"get": {
|
|
"operationId": "getTimeBuckets",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Filter assets belonging to a specific album",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "isFavorite",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Filter by favorite status (true for favorites only, false for non-favorites only)",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isTrashed",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Filter by trash status (true for trashed assets only, false for non-trashed only)",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "order",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetOrder"
|
|
}
|
|
},
|
|
{
|
|
"name": "personId",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Filter assets containing a specific person (face recognition)",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "tagId",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Filter assets with a specific tag",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "userId",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Filter assets by specific user ID",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "visibility",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
},
|
|
{
|
|
"name": "withCoordinates",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Include location data in the response",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "withPartners",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Include assets shared by partners",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "withStacked",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Include stacked assets in the response. When true, only primary assets from stacks are returned.",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/TimeBucketsResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Timeline"
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"description": "This endpoint requires the `asset.read` permission."
|
|
}
|
|
},
|
|
"/trash/empty": {
|
|
"post": {
|
|
"operationId": "emptyTrash",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TrashResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Trash"
|
|
],
|
|
"x-immich-permission": "asset.delete",
|
|
"description": "This endpoint requires the `asset.delete` permission."
|
|
}
|
|
},
|
|
"/trash/restore": {
|
|
"post": {
|
|
"operationId": "restoreTrash",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TrashResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Trash"
|
|
],
|
|
"x-immich-permission": "asset.delete",
|
|
"description": "This endpoint requires the `asset.delete` permission."
|
|
}
|
|
},
|
|
"/trash/restore/assets": {
|
|
"post": {
|
|
"operationId": "restoreAssets",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TrashResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Trash"
|
|
],
|
|
"x-immich-permission": "asset.delete",
|
|
"description": "This endpoint requires the `asset.delete` permission."
|
|
}
|
|
},
|
|
"/users": {
|
|
"get": {
|
|
"operationId": "searchUsers",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/UserResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-permission": "user.read",
|
|
"description": "This endpoint requires the `user.read` permission."
|
|
}
|
|
},
|
|
"/users/me": {
|
|
"get": {
|
|
"operationId": "getMyUser",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-permission": "user.read",
|
|
"description": "This endpoint requires the `user.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateMyUser",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserUpdateMeDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-permission": "user.update",
|
|
"description": "This endpoint requires the `user.update` permission."
|
|
}
|
|
},
|
|
"/users/me/license": {
|
|
"delete": {
|
|
"operationId": "deleteUserLicense",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-permission": "userLicense.delete",
|
|
"description": "This endpoint requires the `userLicense.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getUserLicense",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LicenseResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-permission": "userLicense.read",
|
|
"description": "This endpoint requires the `userLicense.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "setUserLicense",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LicenseKeyDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LicenseResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-permission": "userLicense.update",
|
|
"description": "This endpoint requires the `userLicense.update` permission."
|
|
}
|
|
},
|
|
"/users/me/onboarding": {
|
|
"delete": {
|
|
"operationId": "deleteUserOnboarding",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-permission": "userOnboarding.delete",
|
|
"description": "This endpoint requires the `userOnboarding.delete` permission."
|
|
},
|
|
"get": {
|
|
"operationId": "getUserOnboarding",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OnboardingResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-permission": "userOnboarding.read",
|
|
"description": "This endpoint requires the `userOnboarding.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "setUserOnboarding",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OnboardingDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OnboardingResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-permission": "userOnboarding.update",
|
|
"description": "This endpoint requires the `userOnboarding.update` permission."
|
|
}
|
|
},
|
|
"/users/me/preferences": {
|
|
"get": {
|
|
"operationId": "getMyPreferences",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserPreferencesResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-permission": "userPreference.read",
|
|
"description": "This endpoint requires the `userPreference.read` permission."
|
|
},
|
|
"put": {
|
|
"operationId": "updateMyPreferences",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserPreferencesUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserPreferencesResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-permission": "userPreference.update",
|
|
"description": "This endpoint requires the `userPreference.update` permission."
|
|
}
|
|
},
|
|
"/users/profile-image": {
|
|
"delete": {
|
|
"operationId": "deleteProfileImage",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-permission": "userProfileImage.delete",
|
|
"description": "This endpoint requires the `userProfileImage.delete` permission."
|
|
},
|
|
"post": {
|
|
"operationId": "createProfileImage",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateProfileImageDto"
|
|
}
|
|
}
|
|
},
|
|
"description": "A new avatar for the user",
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateProfileImageResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-permission": "userProfileImage.update",
|
|
"description": "This endpoint requires the `userProfileImage.update` permission."
|
|
}
|
|
},
|
|
"/users/{id}": {
|
|
"get": {
|
|
"operationId": "getUser",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-permission": "user.read",
|
|
"description": "This endpoint requires the `user.read` permission."
|
|
}
|
|
},
|
|
"/users/{id}/profile-image": {
|
|
"get": {
|
|
"operationId": "getProfileImage",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/octet-stream": {
|
|
"schema": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-permission": "userProfileImage.read",
|
|
"description": "This endpoint requires the `userProfileImage.read` permission."
|
|
}
|
|
},
|
|
"/view/folder": {
|
|
"get": {
|
|
"operationId": "getAssetsByOriginalPath",
|
|
"parameters": [
|
|
{
|
|
"name": "path",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"View"
|
|
]
|
|
}
|
|
},
|
|
"/view/folder/unique-paths": {
|
|
"get": {
|
|
"operationId": "getUniqueOriginalPaths",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"View"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"info": {
|
|
"title": "Immich",
|
|
"description": "Immich API",
|
|
"version": "2.1.0",
|
|
"contact": {}
|
|
},
|
|
"tags": [],
|
|
"servers": [
|
|
{
|
|
"url": "/api"
|
|
}
|
|
],
|
|
"components": {
|
|
"securitySchemes": {
|
|
"bearer": {
|
|
"scheme": "Bearer",
|
|
"bearerFormat": "JWT",
|
|
"type": "http",
|
|
"in": "header"
|
|
},
|
|
"cookie": {
|
|
"type": "apiKey",
|
|
"in": "cookie",
|
|
"name": "immich_access_token"
|
|
},
|
|
"api_key": {
|
|
"type": "apiKey",
|
|
"in": "header",
|
|
"name": "x-api-key"
|
|
}
|
|
},
|
|
"schemas": {
|
|
"APIKeyCreateDto": {
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"permissions": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/Permission"
|
|
},
|
|
"minItems": 1,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"permissions"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"APIKeyCreateResponseDto": {
|
|
"properties": {
|
|
"apiKey": {
|
|
"$ref": "#/components/schemas/APIKeyResponseDto"
|
|
},
|
|
"secret": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"apiKey",
|
|
"secret"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"APIKeyResponseDto": {
|
|
"properties": {
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"permissions": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/Permission"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"updatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"createdAt",
|
|
"id",
|
|
"name",
|
|
"permissions",
|
|
"updatedAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"APIKeyUpdateDto": {
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"permissions": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/Permission"
|
|
},
|
|
"minItems": 1,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ActivityCreateDto": {
|
|
"properties": {
|
|
"albumId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"assetId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"comment": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ReactionType"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"albumId",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ActivityResponseDto": {
|
|
"properties": {
|
|
"assetId": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"comment": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ReactionType"
|
|
}
|
|
]
|
|
},
|
|
"user": {
|
|
"$ref": "#/components/schemas/UserResponseDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetId",
|
|
"createdAt",
|
|
"id",
|
|
"type",
|
|
"user"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ActivityStatisticsResponseDto": {
|
|
"properties": {
|
|
"comments": {
|
|
"type": "integer"
|
|
},
|
|
"likes": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"comments",
|
|
"likes"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AddUsersDto": {
|
|
"properties": {
|
|
"albumUsers": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AlbumUserAddDto"
|
|
},
|
|
"minItems": 1,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumUsers"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AdminOnboardingUpdateDto": {
|
|
"properties": {
|
|
"isOnboarded": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"isOnboarded"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AlbumResponseDto": {
|
|
"properties": {
|
|
"albumName": {
|
|
"type": "string"
|
|
},
|
|
"albumThumbnailAssetId": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"albumUsers": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AlbumUserResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"assetCount": {
|
|
"type": "integer"
|
|
},
|
|
"assets": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"contributorCounts": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/ContributorCountResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"endDate": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"hasSharedLink": {
|
|
"type": "boolean"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"isActivityEnabled": {
|
|
"type": "boolean"
|
|
},
|
|
"lastModifiedAssetTimestamp": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"order": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetOrder"
|
|
}
|
|
]
|
|
},
|
|
"owner": {
|
|
"$ref": "#/components/schemas/UserResponseDto"
|
|
},
|
|
"ownerId": {
|
|
"type": "string"
|
|
},
|
|
"shared": {
|
|
"type": "boolean"
|
|
},
|
|
"startDate": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumName",
|
|
"albumThumbnailAssetId",
|
|
"albumUsers",
|
|
"assetCount",
|
|
"assets",
|
|
"createdAt",
|
|
"description",
|
|
"hasSharedLink",
|
|
"id",
|
|
"isActivityEnabled",
|
|
"owner",
|
|
"ownerId",
|
|
"shared",
|
|
"updatedAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AlbumStatisticsResponseDto": {
|
|
"properties": {
|
|
"notShared": {
|
|
"type": "integer"
|
|
},
|
|
"owned": {
|
|
"type": "integer"
|
|
},
|
|
"shared": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"notShared",
|
|
"owned",
|
|
"shared"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AlbumUserAddDto": {
|
|
"properties": {
|
|
"role": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AlbumUserRole"
|
|
}
|
|
],
|
|
"default": "editor"
|
|
},
|
|
"userId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"userId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AlbumUserCreateDto": {
|
|
"properties": {
|
|
"role": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AlbumUserRole"
|
|
}
|
|
]
|
|
},
|
|
"userId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"role",
|
|
"userId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AlbumUserResponseDto": {
|
|
"properties": {
|
|
"role": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AlbumUserRole"
|
|
}
|
|
]
|
|
},
|
|
"user": {
|
|
"$ref": "#/components/schemas/UserResponseDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"role",
|
|
"user"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AlbumUserRole": {
|
|
"enum": [
|
|
"editor",
|
|
"viewer"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"AlbumsAddAssetsDto": {
|
|
"properties": {
|
|
"albumIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumIds",
|
|
"assetIds"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AlbumsAddAssetsResponseDto": {
|
|
"properties": {
|
|
"error": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/BulkIdErrorReason"
|
|
}
|
|
]
|
|
},
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AlbumsResponse": {
|
|
"properties": {
|
|
"defaultAssetOrder": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetOrder"
|
|
}
|
|
],
|
|
"default": "desc"
|
|
}
|
|
},
|
|
"required": [
|
|
"defaultAssetOrder"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AlbumsUpdate": {
|
|
"properties": {
|
|
"defaultAssetOrder": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetOrder"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"AllJobStatusResponseDto": {
|
|
"properties": {
|
|
"backgroundTask": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
},
|
|
"backupDatabase": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
},
|
|
"duplicateDetection": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
},
|
|
"faceDetection": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
},
|
|
"facialRecognition": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
},
|
|
"library": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
},
|
|
"metadataExtraction": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
},
|
|
"migration": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
},
|
|
"notifications": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
},
|
|
"search": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
},
|
|
"sidecar": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
},
|
|
"smartSearch": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
},
|
|
"storageTemplateMigration": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
},
|
|
"thumbnailGeneration": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
},
|
|
"videoConversion": {
|
|
"$ref": "#/components/schemas/JobStatusDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"backgroundTask",
|
|
"backupDatabase",
|
|
"duplicateDetection",
|
|
"faceDetection",
|
|
"facialRecognition",
|
|
"library",
|
|
"metadataExtraction",
|
|
"migration",
|
|
"notifications",
|
|
"search",
|
|
"sidecar",
|
|
"smartSearch",
|
|
"storageTemplateMigration",
|
|
"thumbnailGeneration",
|
|
"videoConversion"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetBulkDeleteDto": {
|
|
"properties": {
|
|
"force": {
|
|
"type": "boolean"
|
|
},
|
|
"ids": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetBulkUpdateDto": {
|
|
"properties": {
|
|
"dateTimeOriginal": {
|
|
"type": "string"
|
|
},
|
|
"dateTimeRelative": {
|
|
"type": "number"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"duplicateId": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"ids": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"latitude": {
|
|
"type": "number"
|
|
},
|
|
"longitude": {
|
|
"type": "number"
|
|
},
|
|
"rating": {
|
|
"maximum": 5,
|
|
"minimum": -1,
|
|
"type": "number"
|
|
},
|
|
"timeZone": {
|
|
"type": "string"
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetBulkUploadCheckDto": {
|
|
"properties": {
|
|
"assets": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetBulkUploadCheckItem"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"assets"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetBulkUploadCheckItem": {
|
|
"properties": {
|
|
"checksum": {
|
|
"description": "base64 or hex encoded sha1 hash",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"checksum",
|
|
"id"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetBulkUploadCheckResponseDto": {
|
|
"properties": {
|
|
"results": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetBulkUploadCheckResult"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"results"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetBulkUploadCheckResult": {
|
|
"properties": {
|
|
"action": {
|
|
"enum": [
|
|
"accept",
|
|
"reject"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"assetId": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"isTrashed": {
|
|
"type": "boolean"
|
|
},
|
|
"reason": {
|
|
"enum": [
|
|
"duplicate",
|
|
"unsupported-format"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"action",
|
|
"id"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetDeltaSyncDto": {
|
|
"properties": {
|
|
"updatedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"userIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"updatedAfter",
|
|
"userIds"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetDeltaSyncResponseDto": {
|
|
"properties": {
|
|
"deleted": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"needsFullSync": {
|
|
"type": "boolean"
|
|
},
|
|
"upserted": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"deleted",
|
|
"needsFullSync",
|
|
"upserted"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetFaceCreateDto": {
|
|
"properties": {
|
|
"assetId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"height": {
|
|
"type": "integer"
|
|
},
|
|
"imageHeight": {
|
|
"type": "integer"
|
|
},
|
|
"imageWidth": {
|
|
"type": "integer"
|
|
},
|
|
"personId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"width": {
|
|
"type": "integer"
|
|
},
|
|
"x": {
|
|
"type": "integer"
|
|
},
|
|
"y": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetId",
|
|
"height",
|
|
"imageHeight",
|
|
"imageWidth",
|
|
"personId",
|
|
"width",
|
|
"x",
|
|
"y"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetFaceDeleteDto": {
|
|
"properties": {
|
|
"force": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"force"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetFaceResponseDto": {
|
|
"properties": {
|
|
"boundingBoxX1": {
|
|
"type": "integer"
|
|
},
|
|
"boundingBoxX2": {
|
|
"type": "integer"
|
|
},
|
|
"boundingBoxY1": {
|
|
"type": "integer"
|
|
},
|
|
"boundingBoxY2": {
|
|
"type": "integer"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"imageHeight": {
|
|
"type": "integer"
|
|
},
|
|
"imageWidth": {
|
|
"type": "integer"
|
|
},
|
|
"person": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/PersonResponseDto"
|
|
}
|
|
],
|
|
"nullable": true
|
|
},
|
|
"sourceType": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SourceType"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"boundingBoxX1",
|
|
"boundingBoxX2",
|
|
"boundingBoxY1",
|
|
"boundingBoxY2",
|
|
"id",
|
|
"imageHeight",
|
|
"imageWidth",
|
|
"person"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetFaceUpdateDto": {
|
|
"properties": {
|
|
"data": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetFaceUpdateItem"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetFaceUpdateItem": {
|
|
"properties": {
|
|
"assetId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"personId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetId",
|
|
"personId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetFaceWithoutPersonResponseDto": {
|
|
"properties": {
|
|
"boundingBoxX1": {
|
|
"type": "integer"
|
|
},
|
|
"boundingBoxX2": {
|
|
"type": "integer"
|
|
},
|
|
"boundingBoxY1": {
|
|
"type": "integer"
|
|
},
|
|
"boundingBoxY2": {
|
|
"type": "integer"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"imageHeight": {
|
|
"type": "integer"
|
|
},
|
|
"imageWidth": {
|
|
"type": "integer"
|
|
},
|
|
"sourceType": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SourceType"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"boundingBoxX1",
|
|
"boundingBoxX2",
|
|
"boundingBoxY1",
|
|
"boundingBoxY2",
|
|
"id",
|
|
"imageHeight",
|
|
"imageWidth"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetFullSyncDto": {
|
|
"properties": {
|
|
"lastId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"limit": {
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
},
|
|
"updatedUntil": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"userId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"limit",
|
|
"updatedUntil"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetIdsDto": {
|
|
"properties": {
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetIds"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetIdsResponseDto": {
|
|
"properties": {
|
|
"assetId": {
|
|
"type": "string"
|
|
},
|
|
"error": {
|
|
"enum": [
|
|
"duplicate",
|
|
"no_permission",
|
|
"not_found"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetId",
|
|
"success"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetJobName": {
|
|
"enum": [
|
|
"refresh-faces",
|
|
"refresh-metadata",
|
|
"regenerate-thumbnail",
|
|
"transcode-video"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"AssetJobsDto": {
|
|
"properties": {
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"name": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetJobName"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"assetIds",
|
|
"name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetMediaCreateDto": {
|
|
"properties": {
|
|
"assetData": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
},
|
|
"deviceAssetId": {
|
|
"type": "string"
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
},
|
|
"duration": {
|
|
"type": "string"
|
|
},
|
|
"fileCreatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"fileModifiedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"filename": {
|
|
"type": "string"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"livePhotoVideoId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetMetadataUpsertItemDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"sidecarData": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"assetData",
|
|
"deviceAssetId",
|
|
"deviceId",
|
|
"fileCreatedAt",
|
|
"fileModifiedAt",
|
|
"metadata"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetMediaReplaceDto": {
|
|
"properties": {
|
|
"assetData": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
},
|
|
"deviceAssetId": {
|
|
"type": "string"
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
},
|
|
"duration": {
|
|
"type": "string"
|
|
},
|
|
"fileCreatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"fileModifiedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"filename": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetData",
|
|
"deviceAssetId",
|
|
"deviceId",
|
|
"fileCreatedAt",
|
|
"fileModifiedAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetMediaResponseDto": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetMediaStatus"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"status"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetMediaSize": {
|
|
"enum": [
|
|
"fullsize",
|
|
"preview",
|
|
"thumbnail"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"AssetMediaStatus": {
|
|
"enum": [
|
|
"created",
|
|
"replaced",
|
|
"duplicate"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"AssetMetadataKey": {
|
|
"enum": [
|
|
"mobile-app"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"AssetMetadataResponseDto": {
|
|
"properties": {
|
|
"key": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetMetadataKey"
|
|
}
|
|
]
|
|
},
|
|
"updatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": [
|
|
"key",
|
|
"updatedAt",
|
|
"value"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetMetadataUpsertDto": {
|
|
"properties": {
|
|
"items": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetMetadataUpsertItemDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"items"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetMetadataUpsertItemDto": {
|
|
"properties": {
|
|
"key": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetMetadataKey"
|
|
}
|
|
]
|
|
},
|
|
"value": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": [
|
|
"key",
|
|
"value"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetOrder": {
|
|
"enum": [
|
|
"asc",
|
|
"desc"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"AssetResponseDto": {
|
|
"properties": {
|
|
"checksum": {
|
|
"description": "base64 encoded sha1 hash",
|
|
"type": "string"
|
|
},
|
|
"createdAt": {
|
|
"description": "The UTC timestamp when the asset was originally uploaded to Immich.",
|
|
"example": "2024-01-15T20:30:00.000Z",
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"deviceAssetId": {
|
|
"type": "string"
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
},
|
|
"duplicateId": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"duration": {
|
|
"type": "string"
|
|
},
|
|
"exifInfo": {
|
|
"$ref": "#/components/schemas/ExifResponseDto"
|
|
},
|
|
"fileCreatedAt": {
|
|
"description": "The actual UTC timestamp when the file was created/captured, preserving timezone information. This is the authoritative timestamp for chronological sorting within timeline groups. Combined with timezone data, this can be used to determine the exact moment the photo was taken.",
|
|
"example": "2024-01-15T19:30:00.000Z",
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"fileModifiedAt": {
|
|
"description": "The UTC timestamp when the file was last modified on the filesystem. This reflects the last time the physical file was changed, which may be different from when the photo was originally taken.",
|
|
"example": "2024-01-16T10:15:00.000Z",
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"hasMetadata": {
|
|
"type": "boolean"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"isArchived": {
|
|
"type": "boolean"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"isOffline": {
|
|
"type": "boolean"
|
|
},
|
|
"isTrashed": {
|
|
"type": "boolean"
|
|
},
|
|
"libraryId": {
|
|
"deprecated": true,
|
|
"description": "This property was deprecated in v1.106.0",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"livePhotoVideoId": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"localDateTime": {
|
|
"description": "The local date and time when the photo/video was taken, derived from EXIF metadata. This represents the photographer's local time regardless of timezone, stored as a timezone-agnostic timestamp. Used for timeline grouping by \"local\" days and months.",
|
|
"example": "2024-01-15T14:30:00.000Z",
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"originalFileName": {
|
|
"type": "string"
|
|
},
|
|
"originalMimeType": {
|
|
"type": "string"
|
|
},
|
|
"originalPath": {
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"$ref": "#/components/schemas/UserResponseDto"
|
|
},
|
|
"ownerId": {
|
|
"type": "string"
|
|
},
|
|
"people": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/PersonWithFacesResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"resized": {
|
|
"deprecated": true,
|
|
"description": "This property was deprecated in v1.113.0",
|
|
"type": "boolean"
|
|
},
|
|
"stack": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetStackResponseDto"
|
|
}
|
|
],
|
|
"nullable": true
|
|
},
|
|
"tags": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/TagResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"thumbhash": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetTypeEnum"
|
|
}
|
|
]
|
|
},
|
|
"unassignedFaces": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetFaceWithoutPersonResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"updatedAt": {
|
|
"description": "The UTC timestamp when the asset record was last updated in the database. This is automatically maintained by the database and reflects when any field in the asset was last modified.",
|
|
"example": "2024-01-16T12:45:30.000Z",
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"checksum",
|
|
"createdAt",
|
|
"deviceAssetId",
|
|
"deviceId",
|
|
"duration",
|
|
"fileCreatedAt",
|
|
"fileModifiedAt",
|
|
"hasMetadata",
|
|
"id",
|
|
"isArchived",
|
|
"isFavorite",
|
|
"isOffline",
|
|
"isTrashed",
|
|
"localDateTime",
|
|
"originalFileName",
|
|
"originalPath",
|
|
"ownerId",
|
|
"thumbhash",
|
|
"type",
|
|
"updatedAt",
|
|
"visibility"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetStackResponseDto": {
|
|
"properties": {
|
|
"assetCount": {
|
|
"type": "integer"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"primaryAssetId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetCount",
|
|
"id",
|
|
"primaryAssetId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetStatsResponseDto": {
|
|
"properties": {
|
|
"images": {
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"videos": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"images",
|
|
"total",
|
|
"videos"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetTypeEnum": {
|
|
"enum": [
|
|
"IMAGE",
|
|
"VIDEO",
|
|
"AUDIO",
|
|
"OTHER"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"AssetVisibility": {
|
|
"enum": [
|
|
"archive",
|
|
"timeline",
|
|
"hidden",
|
|
"locked"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"AudioCodec": {
|
|
"enum": [
|
|
"mp3",
|
|
"aac",
|
|
"libopus",
|
|
"pcm_s16le"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"AuthStatusResponseDto": {
|
|
"properties": {
|
|
"expiresAt": {
|
|
"type": "string"
|
|
},
|
|
"isElevated": {
|
|
"type": "boolean"
|
|
},
|
|
"password": {
|
|
"type": "boolean"
|
|
},
|
|
"pinCode": {
|
|
"type": "boolean"
|
|
},
|
|
"pinExpiresAt": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"isElevated",
|
|
"password",
|
|
"pinCode"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AvatarUpdate": {
|
|
"properties": {
|
|
"color": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserAvatarColor"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"BulkIdErrorReason": {
|
|
"enum": [
|
|
"duplicate",
|
|
"no_permission",
|
|
"not_found",
|
|
"unknown"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"BulkIdResponseDto": {
|
|
"properties": {
|
|
"error": {
|
|
"enum": [
|
|
"duplicate",
|
|
"no_permission",
|
|
"not_found",
|
|
"unknown"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"success"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"BulkIdsDto": {
|
|
"properties": {
|
|
"ids": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CLIPConfig": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"modelName": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled",
|
|
"modelName"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CQMode": {
|
|
"enum": [
|
|
"auto",
|
|
"cqp",
|
|
"icq"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"CastResponse": {
|
|
"properties": {
|
|
"gCastEnabled": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"gCastEnabled"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CastUpdate": {
|
|
"properties": {
|
|
"gCastEnabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ChangePasswordDto": {
|
|
"properties": {
|
|
"newPassword": {
|
|
"example": "password",
|
|
"minLength": 8,
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"example": "password",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"newPassword",
|
|
"password"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CheckExistingAssetsDto": {
|
|
"properties": {
|
|
"deviceAssetIds": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 1,
|
|
"type": "array"
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"deviceAssetIds",
|
|
"deviceId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CheckExistingAssetsResponseDto": {
|
|
"properties": {
|
|
"existingIds": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"existingIds"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"Colorspace": {
|
|
"enum": [
|
|
"srgb",
|
|
"p3"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"ContributorCountResponseDto": {
|
|
"properties": {
|
|
"assetCount": {
|
|
"type": "integer"
|
|
},
|
|
"userId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetCount",
|
|
"userId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CreateAlbumDto": {
|
|
"properties": {
|
|
"albumName": {
|
|
"type": "string"
|
|
},
|
|
"albumUsers": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AlbumUserCreateDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumName"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CreateLibraryDto": {
|
|
"properties": {
|
|
"exclusionPatterns": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"maxItems": 128,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
},
|
|
"importPaths": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"maxItems": 128,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"ownerId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"ownerId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CreateProfileImageDto": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CreateProfileImageResponseDto": {
|
|
"properties": {
|
|
"profileChangedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"profileImagePath": {
|
|
"type": "string"
|
|
},
|
|
"userId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"profileChangedAt",
|
|
"profileImagePath",
|
|
"userId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"DatabaseBackupConfig": {
|
|
"properties": {
|
|
"cronExpression": {
|
|
"type": "string"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"keepLastAmount": {
|
|
"minimum": 1,
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"cronExpression",
|
|
"enabled",
|
|
"keepLastAmount"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"DownloadArchiveInfo": {
|
|
"properties": {
|
|
"assetIds": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"size": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetIds",
|
|
"size"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"DownloadInfoDto": {
|
|
"properties": {
|
|
"albumId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"archiveSize": {
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
},
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"userId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"DownloadResponse": {
|
|
"properties": {
|
|
"archiveSize": {
|
|
"type": "integer"
|
|
},
|
|
"includeEmbeddedVideos": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"archiveSize",
|
|
"includeEmbeddedVideos"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"DownloadResponseDto": {
|
|
"properties": {
|
|
"archives": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/DownloadArchiveInfo"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"totalSize": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"archives",
|
|
"totalSize"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"DownloadUpdate": {
|
|
"properties": {
|
|
"archiveSize": {
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
},
|
|
"includeEmbeddedVideos": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"DuplicateDetectionConfig": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"maxDistance": {
|
|
"format": "double",
|
|
"maximum": 0.1,
|
|
"minimum": 0.001,
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled",
|
|
"maxDistance"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"DuplicateResponseDto": {
|
|
"properties": {
|
|
"assets": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"duplicateId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assets",
|
|
"duplicateId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"EmailNotificationsResponse": {
|
|
"properties": {
|
|
"albumInvite": {
|
|
"type": "boolean"
|
|
},
|
|
"albumUpdate": {
|
|
"type": "boolean"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumInvite",
|
|
"albumUpdate",
|
|
"enabled"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"EmailNotificationsUpdate": {
|
|
"properties": {
|
|
"albumInvite": {
|
|
"type": "boolean"
|
|
},
|
|
"albumUpdate": {
|
|
"type": "boolean"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ExifResponseDto": {
|
|
"properties": {
|
|
"city": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"country": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"dateTimeOriginal": {
|
|
"default": null,
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"exifImageHeight": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"exifImageWidth": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"exposureTime": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"fNumber": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"fileSizeInByte": {
|
|
"default": null,
|
|
"format": "int64",
|
|
"nullable": true,
|
|
"type": "integer"
|
|
},
|
|
"focalLength": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"iso": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"latitude": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"lensModel": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"longitude": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"make": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"modifyDate": {
|
|
"default": null,
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"orientation": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"projectionType": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"rating": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"state": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"timeZone": {
|
|
"default": null,
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"FaceDto": {
|
|
"properties": {
|
|
"id": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"FacialRecognitionConfig": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"maxDistance": {
|
|
"format": "double",
|
|
"maximum": 2,
|
|
"minimum": 0.1,
|
|
"type": "number"
|
|
},
|
|
"minFaces": {
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
},
|
|
"minScore": {
|
|
"format": "double",
|
|
"maximum": 1,
|
|
"minimum": 0.1,
|
|
"type": "number"
|
|
},
|
|
"modelName": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled",
|
|
"maxDistance",
|
|
"minFaces",
|
|
"minScore",
|
|
"modelName"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"FoldersResponse": {
|
|
"properties": {
|
|
"enabled": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"sidebarWeb": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled",
|
|
"sidebarWeb"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"FoldersUpdate": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"sidebarWeb": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ImageFormat": {
|
|
"enum": [
|
|
"jpeg",
|
|
"webp"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"JobCommand": {
|
|
"enum": [
|
|
"start",
|
|
"pause",
|
|
"resume",
|
|
"empty",
|
|
"clear-failed"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"JobCommandDto": {
|
|
"properties": {
|
|
"command": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/JobCommand"
|
|
}
|
|
]
|
|
},
|
|
"force": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"command"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"JobCountsDto": {
|
|
"properties": {
|
|
"active": {
|
|
"type": "integer"
|
|
},
|
|
"completed": {
|
|
"type": "integer"
|
|
},
|
|
"delayed": {
|
|
"type": "integer"
|
|
},
|
|
"failed": {
|
|
"type": "integer"
|
|
},
|
|
"paused": {
|
|
"type": "integer"
|
|
},
|
|
"waiting": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"active",
|
|
"completed",
|
|
"delayed",
|
|
"failed",
|
|
"paused",
|
|
"waiting"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"JobCreateDto": {
|
|
"properties": {
|
|
"name": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ManualJobName"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"JobName": {
|
|
"enum": [
|
|
"thumbnailGeneration",
|
|
"metadataExtraction",
|
|
"videoConversion",
|
|
"faceDetection",
|
|
"facialRecognition",
|
|
"smartSearch",
|
|
"duplicateDetection",
|
|
"backgroundTask",
|
|
"storageTemplateMigration",
|
|
"migration",
|
|
"search",
|
|
"sidecar",
|
|
"library",
|
|
"notifications",
|
|
"backupDatabase"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"JobSettingsDto": {
|
|
"properties": {
|
|
"concurrency": {
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"concurrency"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"JobStatusDto": {
|
|
"properties": {
|
|
"jobCounts": {
|
|
"$ref": "#/components/schemas/JobCountsDto"
|
|
},
|
|
"queueStatus": {
|
|
"$ref": "#/components/schemas/QueueStatusDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"jobCounts",
|
|
"queueStatus"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"LibraryResponseDto": {
|
|
"properties": {
|
|
"assetCount": {
|
|
"type": "integer"
|
|
},
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"exclusionPatterns": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"importPaths": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"ownerId": {
|
|
"type": "string"
|
|
},
|
|
"refreshedAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetCount",
|
|
"createdAt",
|
|
"exclusionPatterns",
|
|
"id",
|
|
"importPaths",
|
|
"name",
|
|
"ownerId",
|
|
"refreshedAt",
|
|
"updatedAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"LibraryStatsResponseDto": {
|
|
"properties": {
|
|
"photos": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"usage": {
|
|
"default": 0,
|
|
"format": "int64",
|
|
"type": "integer"
|
|
},
|
|
"videos": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"photos",
|
|
"total",
|
|
"usage",
|
|
"videos"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"LicenseKeyDto": {
|
|
"properties": {
|
|
"activationKey": {
|
|
"type": "string"
|
|
},
|
|
"licenseKey": {
|
|
"pattern": "/IM(SV|CL)(-[\\dA-Za-z]{4}){8}/",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"activationKey",
|
|
"licenseKey"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"LicenseResponseDto": {
|
|
"properties": {
|
|
"activatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"activationKey": {
|
|
"type": "string"
|
|
},
|
|
"licenseKey": {
|
|
"pattern": "/IM(SV|CL)(-[\\dA-Za-z]{4}){8}/",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"activatedAt",
|
|
"activationKey",
|
|
"licenseKey"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"LogLevel": {
|
|
"enum": [
|
|
"verbose",
|
|
"debug",
|
|
"log",
|
|
"warn",
|
|
"error",
|
|
"fatal"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"LoginCredentialDto": {
|
|
"properties": {
|
|
"email": {
|
|
"example": "testuser@email.com",
|
|
"format": "email",
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"example": "password",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"email",
|
|
"password"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"LoginResponseDto": {
|
|
"properties": {
|
|
"accessToken": {
|
|
"type": "string"
|
|
},
|
|
"isAdmin": {
|
|
"type": "boolean"
|
|
},
|
|
"isOnboarded": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"profileImagePath": {
|
|
"type": "string"
|
|
},
|
|
"shouldChangePassword": {
|
|
"type": "boolean"
|
|
},
|
|
"userEmail": {
|
|
"type": "string"
|
|
},
|
|
"userId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"accessToken",
|
|
"isAdmin",
|
|
"isOnboarded",
|
|
"name",
|
|
"profileImagePath",
|
|
"shouldChangePassword",
|
|
"userEmail",
|
|
"userId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"LogoutResponseDto": {
|
|
"properties": {
|
|
"redirectUri": {
|
|
"type": "string"
|
|
},
|
|
"successful": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"redirectUri",
|
|
"successful"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"MachineLearningAvailabilityChecksDto": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"interval": {
|
|
"type": "number"
|
|
},
|
|
"timeout": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled",
|
|
"interval",
|
|
"timeout"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ManualJobName": {
|
|
"enum": [
|
|
"person-cleanup",
|
|
"tag-cleanup",
|
|
"user-cleanup",
|
|
"memory-cleanup",
|
|
"memory-create",
|
|
"backup-database"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"MapMarkerResponseDto": {
|
|
"properties": {
|
|
"city": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"country": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"lat": {
|
|
"format": "double",
|
|
"type": "number"
|
|
},
|
|
"lon": {
|
|
"format": "double",
|
|
"type": "number"
|
|
},
|
|
"state": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"city",
|
|
"country",
|
|
"id",
|
|
"lat",
|
|
"lon",
|
|
"state"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"MapReverseGeocodeResponseDto": {
|
|
"properties": {
|
|
"city": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"country": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"city",
|
|
"country",
|
|
"state"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"MemoriesResponse": {
|
|
"properties": {
|
|
"enabled": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"MemoriesUpdate": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"MemoryCreateDto": {
|
|
"properties": {
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"data": {
|
|
"$ref": "#/components/schemas/OnThisDayDto"
|
|
},
|
|
"isSaved": {
|
|
"type": "boolean"
|
|
},
|
|
"memoryAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"seenAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/MemoryType"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"memoryAt",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"MemoryResponseDto": {
|
|
"properties": {
|
|
"assets": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"$ref": "#/components/schemas/OnThisDayDto"
|
|
},
|
|
"deletedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"hideAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"isSaved": {
|
|
"type": "boolean"
|
|
},
|
|
"memoryAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"ownerId": {
|
|
"type": "string"
|
|
},
|
|
"seenAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"showAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/MemoryType"
|
|
}
|
|
]
|
|
},
|
|
"updatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assets",
|
|
"createdAt",
|
|
"data",
|
|
"id",
|
|
"isSaved",
|
|
"memoryAt",
|
|
"ownerId",
|
|
"type",
|
|
"updatedAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"MemoryStatisticsResponseDto": {
|
|
"properties": {
|
|
"total": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"total"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"MemoryType": {
|
|
"enum": [
|
|
"on_this_day"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"MemoryUpdateDto": {
|
|
"properties": {
|
|
"isSaved": {
|
|
"type": "boolean"
|
|
},
|
|
"memoryAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"seenAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"MergePersonDto": {
|
|
"properties": {
|
|
"ids": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"MetadataSearchDto": {
|
|
"properties": {
|
|
"albumIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"checksum": {
|
|
"type": "string"
|
|
},
|
|
"city": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"country": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"createdAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"createdBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"deviceAssetId": {
|
|
"type": "string"
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
},
|
|
"encodedVideoPath": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"isEncoded": {
|
|
"type": "boolean"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"isMotion": {
|
|
"type": "boolean"
|
|
},
|
|
"isNotInAlbum": {
|
|
"type": "boolean"
|
|
},
|
|
"isOffline": {
|
|
"type": "boolean"
|
|
},
|
|
"lensModel": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"libraryId": {
|
|
"format": "uuid",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"make": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"order": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetOrder"
|
|
}
|
|
],
|
|
"default": "desc"
|
|
},
|
|
"originalFileName": {
|
|
"type": "string"
|
|
},
|
|
"originalPath": {
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"personIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"previewPath": {
|
|
"type": "string"
|
|
},
|
|
"rating": {
|
|
"maximum": 5,
|
|
"minimum": -1,
|
|
"type": "number"
|
|
},
|
|
"size": {
|
|
"maximum": 1000,
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"state": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"tagIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"nullable": true,
|
|
"type": "array"
|
|
},
|
|
"takenAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"takenBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"thumbnailPath": {
|
|
"type": "string"
|
|
},
|
|
"trashedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"trashedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetTypeEnum"
|
|
}
|
|
]
|
|
},
|
|
"updatedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"updatedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
},
|
|
"withDeleted": {
|
|
"type": "boolean"
|
|
},
|
|
"withExif": {
|
|
"type": "boolean"
|
|
},
|
|
"withPeople": {
|
|
"type": "boolean"
|
|
},
|
|
"withStacked": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"NotificationCreateDto": {
|
|
"properties": {
|
|
"data": {
|
|
"type": "object"
|
|
},
|
|
"description": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"level": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/NotificationLevel"
|
|
}
|
|
]
|
|
},
|
|
"readAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/NotificationType"
|
|
}
|
|
]
|
|
},
|
|
"userId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"userId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"NotificationDeleteAllDto": {
|
|
"properties": {
|
|
"ids": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"NotificationDto": {
|
|
"properties": {
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "object"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"level": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/NotificationLevel"
|
|
}
|
|
]
|
|
},
|
|
"readAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/NotificationType"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"createdAt",
|
|
"id",
|
|
"level",
|
|
"title",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"NotificationLevel": {
|
|
"enum": [
|
|
"success",
|
|
"error",
|
|
"warning",
|
|
"info"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"NotificationType": {
|
|
"enum": [
|
|
"JobFailed",
|
|
"BackupFailed",
|
|
"SystemMessage",
|
|
"AlbumInvite",
|
|
"AlbumUpdate",
|
|
"Custom"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"NotificationUpdateAllDto": {
|
|
"properties": {
|
|
"ids": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"readAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"NotificationUpdateDto": {
|
|
"properties": {
|
|
"readAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"OAuthAuthorizeResponseDto": {
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"url"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"OAuthCallbackDto": {
|
|
"properties": {
|
|
"codeVerifier": {
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"url"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"OAuthConfigDto": {
|
|
"properties": {
|
|
"codeChallenge": {
|
|
"type": "string"
|
|
},
|
|
"redirectUri": {
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"redirectUri"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"OAuthTokenEndpointAuthMethod": {
|
|
"enum": [
|
|
"client_secret_post",
|
|
"client_secret_basic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"OnThisDayDto": {
|
|
"properties": {
|
|
"year": {
|
|
"minimum": 1,
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"year"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"OnboardingDto": {
|
|
"properties": {
|
|
"isOnboarded": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"isOnboarded"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"OnboardingResponseDto": {
|
|
"properties": {
|
|
"isOnboarded": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"isOnboarded"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PartnerCreateDto": {
|
|
"properties": {
|
|
"sharedWithId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sharedWithId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PartnerDirection": {
|
|
"enum": [
|
|
"shared-by",
|
|
"shared-with"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"PartnerResponseDto": {
|
|
"properties": {
|
|
"avatarColor": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserAvatarColor"
|
|
}
|
|
]
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"inTimeline": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"profileChangedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"profileImagePath": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"avatarColor",
|
|
"email",
|
|
"id",
|
|
"name",
|
|
"profileChangedAt",
|
|
"profileImagePath"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PartnerUpdateDto": {
|
|
"properties": {
|
|
"inTimeline": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"inTimeline"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PeopleResponse": {
|
|
"properties": {
|
|
"enabled": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"sidebarWeb": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled",
|
|
"sidebarWeb"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PeopleResponseDto": {
|
|
"properties": {
|
|
"hasNextPage": {
|
|
"description": "This property was added in v1.110.0",
|
|
"type": "boolean"
|
|
},
|
|
"hidden": {
|
|
"type": "integer"
|
|
},
|
|
"people": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/PersonResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"people",
|
|
"total"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PeopleUpdate": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"sidebarWeb": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"PeopleUpdateDto": {
|
|
"properties": {
|
|
"people": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/PeopleUpdateItem"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"people"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PeopleUpdateItem": {
|
|
"properties": {
|
|
"birthDate": {
|
|
"description": "Person date of birth.\nNote: the mobile app cannot currently set the birth date to null.",
|
|
"format": "date",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"color": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"featureFaceAssetId": {
|
|
"description": "Asset is used to get the feature face thumbnail.",
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"description": "Person id.",
|
|
"type": "string"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"isHidden": {
|
|
"description": "Person visibility",
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"description": "Person name.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"Permission": {
|
|
"enum": [
|
|
"all",
|
|
"activity.create",
|
|
"activity.read",
|
|
"activity.update",
|
|
"activity.delete",
|
|
"activity.statistics",
|
|
"apiKey.create",
|
|
"apiKey.read",
|
|
"apiKey.update",
|
|
"apiKey.delete",
|
|
"asset.read",
|
|
"asset.update",
|
|
"asset.delete",
|
|
"asset.statistics",
|
|
"asset.share",
|
|
"asset.view",
|
|
"asset.download",
|
|
"asset.upload",
|
|
"asset.replace",
|
|
"album.create",
|
|
"album.read",
|
|
"album.update",
|
|
"album.delete",
|
|
"album.statistics",
|
|
"album.share",
|
|
"album.download",
|
|
"albumAsset.create",
|
|
"albumAsset.delete",
|
|
"albumUser.create",
|
|
"albumUser.update",
|
|
"albumUser.delete",
|
|
"auth.changePassword",
|
|
"authDevice.delete",
|
|
"archive.read",
|
|
"duplicate.read",
|
|
"duplicate.delete",
|
|
"face.create",
|
|
"face.read",
|
|
"face.update",
|
|
"face.delete",
|
|
"job.create",
|
|
"job.read",
|
|
"library.create",
|
|
"library.read",
|
|
"library.update",
|
|
"library.delete",
|
|
"library.statistics",
|
|
"timeline.read",
|
|
"timeline.download",
|
|
"memory.create",
|
|
"memory.read",
|
|
"memory.update",
|
|
"memory.delete",
|
|
"memory.statistics",
|
|
"memoryAsset.create",
|
|
"memoryAsset.delete",
|
|
"notification.create",
|
|
"notification.read",
|
|
"notification.update",
|
|
"notification.delete",
|
|
"partner.create",
|
|
"partner.read",
|
|
"partner.update",
|
|
"partner.delete",
|
|
"person.create",
|
|
"person.read",
|
|
"person.update",
|
|
"person.delete",
|
|
"person.statistics",
|
|
"person.merge",
|
|
"person.reassign",
|
|
"pinCode.create",
|
|
"pinCode.update",
|
|
"pinCode.delete",
|
|
"server.about",
|
|
"server.apkLinks",
|
|
"server.storage",
|
|
"server.statistics",
|
|
"server.versionCheck",
|
|
"serverLicense.read",
|
|
"serverLicense.update",
|
|
"serverLicense.delete",
|
|
"session.create",
|
|
"session.read",
|
|
"session.update",
|
|
"session.delete",
|
|
"session.lock",
|
|
"sharedLink.create",
|
|
"sharedLink.read",
|
|
"sharedLink.update",
|
|
"sharedLink.delete",
|
|
"stack.create",
|
|
"stack.read",
|
|
"stack.update",
|
|
"stack.delete",
|
|
"sync.stream",
|
|
"syncCheckpoint.read",
|
|
"syncCheckpoint.update",
|
|
"syncCheckpoint.delete",
|
|
"systemConfig.read",
|
|
"systemConfig.update",
|
|
"systemMetadata.read",
|
|
"systemMetadata.update",
|
|
"tag.create",
|
|
"tag.read",
|
|
"tag.update",
|
|
"tag.delete",
|
|
"tag.asset",
|
|
"user.read",
|
|
"user.update",
|
|
"userLicense.create",
|
|
"userLicense.read",
|
|
"userLicense.update",
|
|
"userLicense.delete",
|
|
"userOnboarding.read",
|
|
"userOnboarding.update",
|
|
"userOnboarding.delete",
|
|
"userPreference.read",
|
|
"userPreference.update",
|
|
"userProfileImage.create",
|
|
"userProfileImage.read",
|
|
"userProfileImage.update",
|
|
"userProfileImage.delete",
|
|
"adminUser.create",
|
|
"adminUser.read",
|
|
"adminUser.update",
|
|
"adminUser.delete",
|
|
"adminAuth.unlinkAll"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"PersonCreateDto": {
|
|
"properties": {
|
|
"birthDate": {
|
|
"description": "Person date of birth.\nNote: the mobile app cannot currently set the birth date to null.",
|
|
"format": "date",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"color": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"isHidden": {
|
|
"description": "Person visibility",
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"description": "Person name.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"PersonResponseDto": {
|
|
"properties": {
|
|
"birthDate": {
|
|
"format": "date",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"color": {
|
|
"description": "This property was added in v1.126.0",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"isFavorite": {
|
|
"description": "This property was added in v1.126.0",
|
|
"type": "boolean"
|
|
},
|
|
"isHidden": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"thumbnailPath": {
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"description": "This property was added in v1.107.0",
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"birthDate",
|
|
"id",
|
|
"isHidden",
|
|
"name",
|
|
"thumbnailPath"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PersonStatisticsResponseDto": {
|
|
"properties": {
|
|
"assets": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"assets"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PersonUpdateDto": {
|
|
"properties": {
|
|
"birthDate": {
|
|
"description": "Person date of birth.\nNote: the mobile app cannot currently set the birth date to null.",
|
|
"format": "date",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"color": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"featureFaceAssetId": {
|
|
"description": "Asset is used to get the feature face thumbnail.",
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"isHidden": {
|
|
"description": "Person visibility",
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"description": "Person name.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"PersonWithFacesResponseDto": {
|
|
"properties": {
|
|
"birthDate": {
|
|
"format": "date",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"color": {
|
|
"description": "This property was added in v1.126.0",
|
|
"type": "string"
|
|
},
|
|
"faces": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetFaceWithoutPersonResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"isFavorite": {
|
|
"description": "This property was added in v1.126.0",
|
|
"type": "boolean"
|
|
},
|
|
"isHidden": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"thumbnailPath": {
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"description": "This property was added in v1.107.0",
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"birthDate",
|
|
"faces",
|
|
"id",
|
|
"isHidden",
|
|
"name",
|
|
"thumbnailPath"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PinCodeChangeDto": {
|
|
"properties": {
|
|
"newPinCode": {
|
|
"example": "123456",
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"pinCode": {
|
|
"example": "123456",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"newPinCode"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PinCodeResetDto": {
|
|
"properties": {
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"pinCode": {
|
|
"example": "123456",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"PinCodeSetupDto": {
|
|
"properties": {
|
|
"pinCode": {
|
|
"example": "123456",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"pinCode"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PlacesResponseDto": {
|
|
"properties": {
|
|
"admin1name": {
|
|
"type": "string"
|
|
},
|
|
"admin2name": {
|
|
"type": "string"
|
|
},
|
|
"latitude": {
|
|
"type": "number"
|
|
},
|
|
"longitude": {
|
|
"type": "number"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"latitude",
|
|
"longitude",
|
|
"name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PurchaseResponse": {
|
|
"properties": {
|
|
"hideBuyButtonUntil": {
|
|
"type": "string"
|
|
},
|
|
"showSupportBadge": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"hideBuyButtonUntil",
|
|
"showSupportBadge"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PurchaseUpdate": {
|
|
"properties": {
|
|
"hideBuyButtonUntil": {
|
|
"type": "string"
|
|
},
|
|
"showSupportBadge": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"QueueStatusDto": {
|
|
"properties": {
|
|
"isActive": {
|
|
"type": "boolean"
|
|
},
|
|
"isPaused": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"isActive",
|
|
"isPaused"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"RandomSearchDto": {
|
|
"properties": {
|
|
"albumIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"city": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"country": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"createdAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"createdBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
},
|
|
"isEncoded": {
|
|
"type": "boolean"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"isMotion": {
|
|
"type": "boolean"
|
|
},
|
|
"isNotInAlbum": {
|
|
"type": "boolean"
|
|
},
|
|
"isOffline": {
|
|
"type": "boolean"
|
|
},
|
|
"lensModel": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"libraryId": {
|
|
"format": "uuid",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"make": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"personIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"rating": {
|
|
"maximum": 5,
|
|
"minimum": -1,
|
|
"type": "number"
|
|
},
|
|
"size": {
|
|
"maximum": 1000,
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"state": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"tagIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"nullable": true,
|
|
"type": "array"
|
|
},
|
|
"takenAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"takenBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"trashedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"trashedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetTypeEnum"
|
|
}
|
|
]
|
|
},
|
|
"updatedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"updatedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
},
|
|
"withDeleted": {
|
|
"type": "boolean"
|
|
},
|
|
"withExif": {
|
|
"type": "boolean"
|
|
},
|
|
"withPeople": {
|
|
"type": "boolean"
|
|
},
|
|
"withStacked": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"RatingsResponse": {
|
|
"properties": {
|
|
"enabled": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"RatingsUpdate": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ReactionLevel": {
|
|
"enum": [
|
|
"album",
|
|
"asset"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"ReactionType": {
|
|
"enum": [
|
|
"comment",
|
|
"like"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"ReverseGeocodingStateResponseDto": {
|
|
"properties": {
|
|
"lastImportFileName": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"lastUpdate": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"lastImportFileName",
|
|
"lastUpdate"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SearchAlbumResponseDto": {
|
|
"properties": {
|
|
"count": {
|
|
"type": "integer"
|
|
},
|
|
"facets": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SearchFacetResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"items": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AlbumResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"count",
|
|
"facets",
|
|
"items",
|
|
"total"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SearchAssetResponseDto": {
|
|
"properties": {
|
|
"count": {
|
|
"type": "integer"
|
|
},
|
|
"facets": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SearchFacetResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"items": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"nextPage": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"count",
|
|
"facets",
|
|
"items",
|
|
"nextPage",
|
|
"total"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SearchExploreItem": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"value"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SearchExploreResponseDto": {
|
|
"properties": {
|
|
"fieldName": {
|
|
"type": "string"
|
|
},
|
|
"items": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SearchExploreItem"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"fieldName",
|
|
"items"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SearchFacetCountResponseDto": {
|
|
"properties": {
|
|
"count": {
|
|
"type": "integer"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"count",
|
|
"value"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SearchFacetResponseDto": {
|
|
"properties": {
|
|
"counts": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SearchFacetCountResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"fieldName": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"counts",
|
|
"fieldName"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SearchResponseDto": {
|
|
"properties": {
|
|
"albums": {
|
|
"$ref": "#/components/schemas/SearchAlbumResponseDto"
|
|
},
|
|
"assets": {
|
|
"$ref": "#/components/schemas/SearchAssetResponseDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"albums",
|
|
"assets"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SearchStatisticsResponseDto": {
|
|
"properties": {
|
|
"total": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"total"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SearchSuggestionType": {
|
|
"enum": [
|
|
"country",
|
|
"state",
|
|
"city",
|
|
"camera-make",
|
|
"camera-model"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"ServerAboutResponseDto": {
|
|
"properties": {
|
|
"build": {
|
|
"type": "string"
|
|
},
|
|
"buildImage": {
|
|
"type": "string"
|
|
},
|
|
"buildImageUrl": {
|
|
"type": "string"
|
|
},
|
|
"buildUrl": {
|
|
"type": "string"
|
|
},
|
|
"exiftool": {
|
|
"type": "string"
|
|
},
|
|
"ffmpeg": {
|
|
"type": "string"
|
|
},
|
|
"imagemagick": {
|
|
"type": "string"
|
|
},
|
|
"libvips": {
|
|
"type": "string"
|
|
},
|
|
"licensed": {
|
|
"type": "boolean"
|
|
},
|
|
"nodejs": {
|
|
"type": "string"
|
|
},
|
|
"repository": {
|
|
"type": "string"
|
|
},
|
|
"repositoryUrl": {
|
|
"type": "string"
|
|
},
|
|
"sourceCommit": {
|
|
"type": "string"
|
|
},
|
|
"sourceRef": {
|
|
"type": "string"
|
|
},
|
|
"sourceUrl": {
|
|
"type": "string"
|
|
},
|
|
"thirdPartyBugFeatureUrl": {
|
|
"type": "string"
|
|
},
|
|
"thirdPartyDocumentationUrl": {
|
|
"type": "string"
|
|
},
|
|
"thirdPartySourceUrl": {
|
|
"type": "string"
|
|
},
|
|
"thirdPartySupportUrl": {
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"type": "string"
|
|
},
|
|
"versionUrl": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"licensed",
|
|
"version",
|
|
"versionUrl"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ServerApkLinksDto": {
|
|
"properties": {
|
|
"arm64v8a": {
|
|
"type": "string"
|
|
},
|
|
"armeabiv7a": {
|
|
"type": "string"
|
|
},
|
|
"universal": {
|
|
"type": "string"
|
|
},
|
|
"x86_64": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"arm64v8a",
|
|
"armeabiv7a",
|
|
"universal",
|
|
"x86_64"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ServerConfigDto": {
|
|
"properties": {
|
|
"externalDomain": {
|
|
"type": "string"
|
|
},
|
|
"isInitialized": {
|
|
"type": "boolean"
|
|
},
|
|
"isOnboarded": {
|
|
"type": "boolean"
|
|
},
|
|
"loginPageMessage": {
|
|
"type": "string"
|
|
},
|
|
"mapDarkStyleUrl": {
|
|
"type": "string"
|
|
},
|
|
"mapLightStyleUrl": {
|
|
"type": "string"
|
|
},
|
|
"oauthButtonText": {
|
|
"type": "string"
|
|
},
|
|
"publicUsers": {
|
|
"type": "boolean"
|
|
},
|
|
"trashDays": {
|
|
"type": "integer"
|
|
},
|
|
"userDeleteDelay": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"externalDomain",
|
|
"isInitialized",
|
|
"isOnboarded",
|
|
"loginPageMessage",
|
|
"mapDarkStyleUrl",
|
|
"mapLightStyleUrl",
|
|
"oauthButtonText",
|
|
"publicUsers",
|
|
"trashDays",
|
|
"userDeleteDelay"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ServerFeaturesDto": {
|
|
"properties": {
|
|
"configFile": {
|
|
"type": "boolean"
|
|
},
|
|
"duplicateDetection": {
|
|
"type": "boolean"
|
|
},
|
|
"email": {
|
|
"type": "boolean"
|
|
},
|
|
"facialRecognition": {
|
|
"type": "boolean"
|
|
},
|
|
"importFaces": {
|
|
"type": "boolean"
|
|
},
|
|
"map": {
|
|
"type": "boolean"
|
|
},
|
|
"oauth": {
|
|
"type": "boolean"
|
|
},
|
|
"oauthAutoLaunch": {
|
|
"type": "boolean"
|
|
},
|
|
"passwordLogin": {
|
|
"type": "boolean"
|
|
},
|
|
"reverseGeocoding": {
|
|
"type": "boolean"
|
|
},
|
|
"search": {
|
|
"type": "boolean"
|
|
},
|
|
"sidecar": {
|
|
"type": "boolean"
|
|
},
|
|
"smartSearch": {
|
|
"type": "boolean"
|
|
},
|
|
"trash": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"configFile",
|
|
"duplicateDetection",
|
|
"email",
|
|
"facialRecognition",
|
|
"importFaces",
|
|
"map",
|
|
"oauth",
|
|
"oauthAutoLaunch",
|
|
"passwordLogin",
|
|
"reverseGeocoding",
|
|
"search",
|
|
"sidecar",
|
|
"smartSearch",
|
|
"trash"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ServerMediaTypesResponseDto": {
|
|
"properties": {
|
|
"image": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"sidecar": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"video": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"image",
|
|
"sidecar",
|
|
"video"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ServerPingResponse": {
|
|
"properties": {
|
|
"res": {
|
|
"example": "pong",
|
|
"readOnly": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"res"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ServerStatsResponseDto": {
|
|
"properties": {
|
|
"photos": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
},
|
|
"usage": {
|
|
"default": 0,
|
|
"format": "int64",
|
|
"type": "integer"
|
|
},
|
|
"usageByUser": {
|
|
"default": [],
|
|
"example": [
|
|
{
|
|
"photos": 1,
|
|
"videos": 1,
|
|
"diskUsageRaw": 2,
|
|
"usagePhotos": 1,
|
|
"usageVideos": 1
|
|
}
|
|
],
|
|
"items": {
|
|
"$ref": "#/components/schemas/UsageByUserDto"
|
|
},
|
|
"title": "Array of usage for each user",
|
|
"type": "array"
|
|
},
|
|
"usagePhotos": {
|
|
"default": 0,
|
|
"format": "int64",
|
|
"type": "integer"
|
|
},
|
|
"usageVideos": {
|
|
"default": 0,
|
|
"format": "int64",
|
|
"type": "integer"
|
|
},
|
|
"videos": {
|
|
"default": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"photos",
|
|
"usage",
|
|
"usageByUser",
|
|
"usagePhotos",
|
|
"usageVideos",
|
|
"videos"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ServerStorageResponseDto": {
|
|
"properties": {
|
|
"diskAvailable": {
|
|
"type": "string"
|
|
},
|
|
"diskAvailableRaw": {
|
|
"format": "int64",
|
|
"type": "integer"
|
|
},
|
|
"diskSize": {
|
|
"type": "string"
|
|
},
|
|
"diskSizeRaw": {
|
|
"format": "int64",
|
|
"type": "integer"
|
|
},
|
|
"diskUsagePercentage": {
|
|
"format": "double",
|
|
"type": "number"
|
|
},
|
|
"diskUse": {
|
|
"type": "string"
|
|
},
|
|
"diskUseRaw": {
|
|
"format": "int64",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"diskAvailable",
|
|
"diskAvailableRaw",
|
|
"diskSize",
|
|
"diskSizeRaw",
|
|
"diskUsagePercentage",
|
|
"diskUse",
|
|
"diskUseRaw"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ServerThemeDto": {
|
|
"properties": {
|
|
"customCss": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"customCss"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ServerVersionHistoryResponseDto": {
|
|
"properties": {
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"createdAt",
|
|
"id",
|
|
"version"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ServerVersionResponseDto": {
|
|
"properties": {
|
|
"major": {
|
|
"type": "integer"
|
|
},
|
|
"minor": {
|
|
"type": "integer"
|
|
},
|
|
"patch": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"major",
|
|
"minor",
|
|
"patch"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SessionCreateDto": {
|
|
"properties": {
|
|
"deviceOS": {
|
|
"type": "string"
|
|
},
|
|
"deviceType": {
|
|
"type": "string"
|
|
},
|
|
"duration": {
|
|
"description": "session duration, in seconds",
|
|
"minimum": 1,
|
|
"type": "number"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"SessionCreateResponseDto": {
|
|
"properties": {
|
|
"createdAt": {
|
|
"type": "string"
|
|
},
|
|
"current": {
|
|
"type": "boolean"
|
|
},
|
|
"deviceOS": {
|
|
"type": "string"
|
|
},
|
|
"deviceType": {
|
|
"type": "string"
|
|
},
|
|
"expiresAt": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"isPendingSyncReset": {
|
|
"type": "boolean"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"createdAt",
|
|
"current",
|
|
"deviceOS",
|
|
"deviceType",
|
|
"id",
|
|
"isPendingSyncReset",
|
|
"token",
|
|
"updatedAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SessionResponseDto": {
|
|
"properties": {
|
|
"createdAt": {
|
|
"type": "string"
|
|
},
|
|
"current": {
|
|
"type": "boolean"
|
|
},
|
|
"deviceOS": {
|
|
"type": "string"
|
|
},
|
|
"deviceType": {
|
|
"type": "string"
|
|
},
|
|
"expiresAt": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"isPendingSyncReset": {
|
|
"type": "boolean"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"createdAt",
|
|
"current",
|
|
"deviceOS",
|
|
"deviceType",
|
|
"id",
|
|
"isPendingSyncReset",
|
|
"updatedAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SessionUnlockDto": {
|
|
"properties": {
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"pinCode": {
|
|
"example": "123456",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"SessionUpdateDto": {
|
|
"properties": {
|
|
"isPendingSyncReset": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"SharedLinkCreateDto": {
|
|
"properties": {
|
|
"albumId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"allowDownload": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"allowUpload": {
|
|
"type": "boolean"
|
|
},
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"description": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"expiresAt": {
|
|
"default": null,
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"showMetadata": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"slug": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SharedLinkType"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SharedLinkEditDto": {
|
|
"properties": {
|
|
"allowDownload": {
|
|
"type": "boolean"
|
|
},
|
|
"allowUpload": {
|
|
"type": "boolean"
|
|
},
|
|
"changeExpiryTime": {
|
|
"description": "Few clients cannot send null to set the expiryTime to never.\nSetting this flag and not sending expiryAt is considered as null instead.\nClients that can send null values can ignore this.",
|
|
"type": "boolean"
|
|
},
|
|
"description": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"expiresAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"showMetadata": {
|
|
"type": "boolean"
|
|
},
|
|
"slug": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"SharedLinkResponseDto": {
|
|
"properties": {
|
|
"album": {
|
|
"$ref": "#/components/schemas/AlbumResponseDto"
|
|
},
|
|
"allowDownload": {
|
|
"type": "boolean"
|
|
},
|
|
"allowUpload": {
|
|
"type": "boolean"
|
|
},
|
|
"assets": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"expiresAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"showMetadata": {
|
|
"type": "boolean"
|
|
},
|
|
"slug": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SharedLinkType"
|
|
}
|
|
]
|
|
},
|
|
"userId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"allowDownload",
|
|
"allowUpload",
|
|
"assets",
|
|
"createdAt",
|
|
"description",
|
|
"expiresAt",
|
|
"id",
|
|
"key",
|
|
"password",
|
|
"showMetadata",
|
|
"slug",
|
|
"type",
|
|
"userId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SharedLinkType": {
|
|
"enum": [
|
|
"ALBUM",
|
|
"INDIVIDUAL"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"SharedLinksResponse": {
|
|
"properties": {
|
|
"enabled": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"sidebarWeb": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled",
|
|
"sidebarWeb"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SharedLinksUpdate": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"sidebarWeb": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"SignUpDto": {
|
|
"properties": {
|
|
"email": {
|
|
"example": "testuser@email.com",
|
|
"format": "email",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"example": "Admin",
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"example": "password",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"email",
|
|
"name",
|
|
"password"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SmartSearchDto": {
|
|
"properties": {
|
|
"albumIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"city": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"country": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"createdAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"createdBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
},
|
|
"isEncoded": {
|
|
"type": "boolean"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"isMotion": {
|
|
"type": "boolean"
|
|
},
|
|
"isNotInAlbum": {
|
|
"type": "boolean"
|
|
},
|
|
"isOffline": {
|
|
"type": "boolean"
|
|
},
|
|
"language": {
|
|
"type": "string"
|
|
},
|
|
"lensModel": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"libraryId": {
|
|
"format": "uuid",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"make": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"page": {
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"personIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"query": {
|
|
"type": "string"
|
|
},
|
|
"queryAssetId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"rating": {
|
|
"maximum": 5,
|
|
"minimum": -1,
|
|
"type": "number"
|
|
},
|
|
"size": {
|
|
"maximum": 1000,
|
|
"minimum": 1,
|
|
"type": "number"
|
|
},
|
|
"state": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"tagIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"nullable": true,
|
|
"type": "array"
|
|
},
|
|
"takenAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"takenBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"trashedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"trashedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetTypeEnum"
|
|
}
|
|
]
|
|
},
|
|
"updatedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"updatedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
},
|
|
"withDeleted": {
|
|
"type": "boolean"
|
|
},
|
|
"withExif": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"SourceType": {
|
|
"enum": [
|
|
"machine-learning",
|
|
"exif",
|
|
"manual"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"StackCreateDto": {
|
|
"properties": {
|
|
"assetIds": {
|
|
"description": "first asset becomes the primary",
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"minItems": 2,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetIds"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"StackResponseDto": {
|
|
"properties": {
|
|
"assets": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"primaryAssetId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assets",
|
|
"id",
|
|
"primaryAssetId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"StackUpdateDto": {
|
|
"properties": {
|
|
"primaryAssetId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"StatisticsSearchDto": {
|
|
"properties": {
|
|
"albumIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"city": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"country": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"createdAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"createdBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
},
|
|
"isEncoded": {
|
|
"type": "boolean"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"isMotion": {
|
|
"type": "boolean"
|
|
},
|
|
"isNotInAlbum": {
|
|
"type": "boolean"
|
|
},
|
|
"isOffline": {
|
|
"type": "boolean"
|
|
},
|
|
"lensModel": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"libraryId": {
|
|
"format": "uuid",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"make": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"personIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"rating": {
|
|
"maximum": 5,
|
|
"minimum": -1,
|
|
"type": "number"
|
|
},
|
|
"state": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"tagIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"nullable": true,
|
|
"type": "array"
|
|
},
|
|
"takenAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"takenBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"trashedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"trashedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetTypeEnum"
|
|
}
|
|
]
|
|
},
|
|
"updatedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"updatedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"SyncAckDeleteDto": {
|
|
"properties": {
|
|
"types": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SyncEntityType"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"SyncAckDto": {
|
|
"properties": {
|
|
"ack": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SyncEntityType"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"ack",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAckSetDto": {
|
|
"properties": {
|
|
"acks": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"maxItems": 1000,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"acks"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAckV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncAlbumDeleteV1": {
|
|
"properties": {
|
|
"albumId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAlbumToAssetDeleteV1": {
|
|
"properties": {
|
|
"albumId": {
|
|
"type": "string"
|
|
},
|
|
"assetId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumId",
|
|
"assetId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAlbumToAssetV1": {
|
|
"properties": {
|
|
"albumId": {
|
|
"type": "string"
|
|
},
|
|
"assetId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumId",
|
|
"assetId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAlbumUserDeleteV1": {
|
|
"properties": {
|
|
"albumId": {
|
|
"type": "string"
|
|
},
|
|
"userId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumId",
|
|
"userId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAlbumUserV1": {
|
|
"properties": {
|
|
"albumId": {
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AlbumUserRole"
|
|
}
|
|
]
|
|
},
|
|
"userId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumId",
|
|
"role",
|
|
"userId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAlbumV1": {
|
|
"properties": {
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"isActivityEnabled": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"order": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetOrder"
|
|
}
|
|
]
|
|
},
|
|
"ownerId": {
|
|
"type": "string"
|
|
},
|
|
"thumbnailAssetId": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"createdAt",
|
|
"description",
|
|
"id",
|
|
"isActivityEnabled",
|
|
"name",
|
|
"order",
|
|
"ownerId",
|
|
"thumbnailAssetId",
|
|
"updatedAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAssetDeleteV1": {
|
|
"properties": {
|
|
"assetId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAssetExifV1": {
|
|
"properties": {
|
|
"assetId": {
|
|
"type": "string"
|
|
},
|
|
"city": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"country": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"dateTimeOriginal": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"exifImageHeight": {
|
|
"nullable": true,
|
|
"type": "integer"
|
|
},
|
|
"exifImageWidth": {
|
|
"nullable": true,
|
|
"type": "integer"
|
|
},
|
|
"exposureTime": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"fNumber": {
|
|
"format": "double",
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"fileSizeInByte": {
|
|
"nullable": true,
|
|
"type": "integer"
|
|
},
|
|
"focalLength": {
|
|
"format": "double",
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"fps": {
|
|
"format": "double",
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"iso": {
|
|
"nullable": true,
|
|
"type": "integer"
|
|
},
|
|
"latitude": {
|
|
"format": "double",
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"lensModel": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"longitude": {
|
|
"format": "double",
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"make": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"modifyDate": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"orientation": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"profileDescription": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"projectionType": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"rating": {
|
|
"nullable": true,
|
|
"type": "integer"
|
|
},
|
|
"state": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"timeZone": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetId",
|
|
"city",
|
|
"country",
|
|
"dateTimeOriginal",
|
|
"description",
|
|
"exifImageHeight",
|
|
"exifImageWidth",
|
|
"exposureTime",
|
|
"fNumber",
|
|
"fileSizeInByte",
|
|
"focalLength",
|
|
"fps",
|
|
"iso",
|
|
"latitude",
|
|
"lensModel",
|
|
"longitude",
|
|
"make",
|
|
"model",
|
|
"modifyDate",
|
|
"orientation",
|
|
"profileDescription",
|
|
"projectionType",
|
|
"rating",
|
|
"state",
|
|
"timeZone"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAssetFaceDeleteV1": {
|
|
"properties": {
|
|
"assetFaceId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetFaceId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAssetFaceV1": {
|
|
"properties": {
|
|
"assetId": {
|
|
"type": "string"
|
|
},
|
|
"boundingBoxX1": {
|
|
"type": "integer"
|
|
},
|
|
"boundingBoxX2": {
|
|
"type": "integer"
|
|
},
|
|
"boundingBoxY1": {
|
|
"type": "integer"
|
|
},
|
|
"boundingBoxY2": {
|
|
"type": "integer"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"imageHeight": {
|
|
"type": "integer"
|
|
},
|
|
"imageWidth": {
|
|
"type": "integer"
|
|
},
|
|
"personId": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"sourceType": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetId",
|
|
"boundingBoxX1",
|
|
"boundingBoxX2",
|
|
"boundingBoxY1",
|
|
"boundingBoxY2",
|
|
"id",
|
|
"imageHeight",
|
|
"imageWidth",
|
|
"personId",
|
|
"sourceType"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAssetMetadataDeleteV1": {
|
|
"properties": {
|
|
"assetId": {
|
|
"type": "string"
|
|
},
|
|
"key": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetMetadataKey"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"assetId",
|
|
"key"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAssetMetadataV1": {
|
|
"properties": {
|
|
"assetId": {
|
|
"type": "string"
|
|
},
|
|
"key": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetMetadataKey"
|
|
}
|
|
]
|
|
},
|
|
"value": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetId",
|
|
"key",
|
|
"value"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAssetV1": {
|
|
"properties": {
|
|
"checksum": {
|
|
"type": "string"
|
|
},
|
|
"deletedAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"duration": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"fileCreatedAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"fileModifiedAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"libraryId": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"livePhotoVideoId": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"localDateTime": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"originalFileName": {
|
|
"type": "string"
|
|
},
|
|
"ownerId": {
|
|
"type": "string"
|
|
},
|
|
"stackId": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"thumbhash": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetTypeEnum"
|
|
}
|
|
]
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"checksum",
|
|
"deletedAt",
|
|
"duration",
|
|
"fileCreatedAt",
|
|
"fileModifiedAt",
|
|
"id",
|
|
"isFavorite",
|
|
"libraryId",
|
|
"livePhotoVideoId",
|
|
"localDateTime",
|
|
"originalFileName",
|
|
"ownerId",
|
|
"stackId",
|
|
"thumbhash",
|
|
"type",
|
|
"visibility"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAuthUserV1": {
|
|
"properties": {
|
|
"avatarColor": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserAvatarColor"
|
|
}
|
|
],
|
|
"nullable": true
|
|
},
|
|
"deletedAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"hasProfileImage": {
|
|
"type": "boolean"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"isAdmin": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"oauthId": {
|
|
"type": "string"
|
|
},
|
|
"pinCode": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"profileChangedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"quotaSizeInBytes": {
|
|
"nullable": true,
|
|
"type": "integer"
|
|
},
|
|
"quotaUsageInBytes": {
|
|
"type": "integer"
|
|
},
|
|
"storageLabel": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"avatarColor",
|
|
"deletedAt",
|
|
"email",
|
|
"hasProfileImage",
|
|
"id",
|
|
"isAdmin",
|
|
"name",
|
|
"oauthId",
|
|
"pinCode",
|
|
"profileChangedAt",
|
|
"quotaSizeInBytes",
|
|
"quotaUsageInBytes",
|
|
"storageLabel"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncCompleteV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncEntityType": {
|
|
"enum": [
|
|
"AuthUserV1",
|
|
"UserV1",
|
|
"UserDeleteV1",
|
|
"AssetV1",
|
|
"AssetDeleteV1",
|
|
"AssetExifV1",
|
|
"AssetMetadataV1",
|
|
"AssetMetadataDeleteV1",
|
|
"PartnerV1",
|
|
"PartnerDeleteV1",
|
|
"PartnerAssetV1",
|
|
"PartnerAssetBackfillV1",
|
|
"PartnerAssetDeleteV1",
|
|
"PartnerAssetExifV1",
|
|
"PartnerAssetExifBackfillV1",
|
|
"PartnerStackBackfillV1",
|
|
"PartnerStackDeleteV1",
|
|
"PartnerStackV1",
|
|
"AlbumV1",
|
|
"AlbumDeleteV1",
|
|
"AlbumUserV1",
|
|
"AlbumUserBackfillV1",
|
|
"AlbumUserDeleteV1",
|
|
"AlbumAssetCreateV1",
|
|
"AlbumAssetUpdateV1",
|
|
"AlbumAssetBackfillV1",
|
|
"AlbumAssetExifCreateV1",
|
|
"AlbumAssetExifUpdateV1",
|
|
"AlbumAssetExifBackfillV1",
|
|
"AlbumToAssetV1",
|
|
"AlbumToAssetDeleteV1",
|
|
"AlbumToAssetBackfillV1",
|
|
"MemoryV1",
|
|
"MemoryDeleteV1",
|
|
"MemoryToAssetV1",
|
|
"MemoryToAssetDeleteV1",
|
|
"StackV1",
|
|
"StackDeleteV1",
|
|
"PersonV1",
|
|
"PersonDeleteV1",
|
|
"AssetFaceV1",
|
|
"AssetFaceDeleteV1",
|
|
"UserMetadataV1",
|
|
"UserMetadataDeleteV1",
|
|
"SyncAckV1",
|
|
"SyncResetV1",
|
|
"SyncCompleteV1"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"SyncMemoryAssetDeleteV1": {
|
|
"properties": {
|
|
"assetId": {
|
|
"type": "string"
|
|
},
|
|
"memoryId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetId",
|
|
"memoryId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncMemoryAssetV1": {
|
|
"properties": {
|
|
"assetId": {
|
|
"type": "string"
|
|
},
|
|
"memoryId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetId",
|
|
"memoryId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncMemoryDeleteV1": {
|
|
"properties": {
|
|
"memoryId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"memoryId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncMemoryV1": {
|
|
"properties": {
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "object"
|
|
},
|
|
"deletedAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"hideAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"isSaved": {
|
|
"type": "boolean"
|
|
},
|
|
"memoryAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"ownerId": {
|
|
"type": "string"
|
|
},
|
|
"seenAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"showAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/MemoryType"
|
|
}
|
|
]
|
|
},
|
|
"updatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"createdAt",
|
|
"data",
|
|
"deletedAt",
|
|
"hideAt",
|
|
"id",
|
|
"isSaved",
|
|
"memoryAt",
|
|
"ownerId",
|
|
"seenAt",
|
|
"showAt",
|
|
"type",
|
|
"updatedAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncPartnerDeleteV1": {
|
|
"properties": {
|
|
"sharedById": {
|
|
"type": "string"
|
|
},
|
|
"sharedWithId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sharedById",
|
|
"sharedWithId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncPartnerV1": {
|
|
"properties": {
|
|
"inTimeline": {
|
|
"type": "boolean"
|
|
},
|
|
"sharedById": {
|
|
"type": "string"
|
|
},
|
|
"sharedWithId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"inTimeline",
|
|
"sharedById",
|
|
"sharedWithId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncPersonDeleteV1": {
|
|
"properties": {
|
|
"personId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"personId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncPersonV1": {
|
|
"properties": {
|
|
"birthDate": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"color": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"faceAssetId": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"isHidden": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"ownerId": {
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"birthDate",
|
|
"color",
|
|
"createdAt",
|
|
"faceAssetId",
|
|
"id",
|
|
"isFavorite",
|
|
"isHidden",
|
|
"name",
|
|
"ownerId",
|
|
"updatedAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncRequestType": {
|
|
"enum": [
|
|
"AlbumsV1",
|
|
"AlbumUsersV1",
|
|
"AlbumToAssetsV1",
|
|
"AlbumAssetsV1",
|
|
"AlbumAssetExifsV1",
|
|
"AssetsV1",
|
|
"AssetExifsV1",
|
|
"AssetMetadataV1",
|
|
"AuthUsersV1",
|
|
"MemoriesV1",
|
|
"MemoryToAssetsV1",
|
|
"PartnersV1",
|
|
"PartnerAssetsV1",
|
|
"PartnerAssetExifsV1",
|
|
"PartnerStacksV1",
|
|
"StacksV1",
|
|
"UsersV1",
|
|
"PeopleV1",
|
|
"AssetFacesV1",
|
|
"UserMetadataV1"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"SyncResetV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncStackDeleteV1": {
|
|
"properties": {
|
|
"stackId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"stackId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncStackV1": {
|
|
"properties": {
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"ownerId": {
|
|
"type": "string"
|
|
},
|
|
"primaryAssetId": {
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"createdAt",
|
|
"id",
|
|
"ownerId",
|
|
"primaryAssetId",
|
|
"updatedAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncStreamDto": {
|
|
"properties": {
|
|
"reset": {
|
|
"type": "boolean"
|
|
},
|
|
"types": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SyncRequestType"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"types"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncUserDeleteV1": {
|
|
"properties": {
|
|
"userId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"userId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncUserMetadataDeleteV1": {
|
|
"properties": {
|
|
"key": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserMetadataKey"
|
|
}
|
|
]
|
|
},
|
|
"userId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"key",
|
|
"userId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncUserMetadataV1": {
|
|
"properties": {
|
|
"key": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserMetadataKey"
|
|
}
|
|
]
|
|
},
|
|
"userId": {
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": [
|
|
"key",
|
|
"userId",
|
|
"value"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncUserV1": {
|
|
"properties": {
|
|
"avatarColor": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserAvatarColor"
|
|
}
|
|
],
|
|
"nullable": true
|
|
},
|
|
"deletedAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"hasProfileImage": {
|
|
"type": "boolean"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"profileChangedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"avatarColor",
|
|
"deletedAt",
|
|
"email",
|
|
"hasProfileImage",
|
|
"id",
|
|
"name",
|
|
"profileChangedAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigBackupsDto": {
|
|
"properties": {
|
|
"database": {
|
|
"$ref": "#/components/schemas/DatabaseBackupConfig"
|
|
}
|
|
},
|
|
"required": [
|
|
"database"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigDto": {
|
|
"properties": {
|
|
"backup": {
|
|
"$ref": "#/components/schemas/SystemConfigBackupsDto"
|
|
},
|
|
"ffmpeg": {
|
|
"$ref": "#/components/schemas/SystemConfigFFmpegDto"
|
|
},
|
|
"image": {
|
|
"$ref": "#/components/schemas/SystemConfigImageDto"
|
|
},
|
|
"job": {
|
|
"$ref": "#/components/schemas/SystemConfigJobDto"
|
|
},
|
|
"library": {
|
|
"$ref": "#/components/schemas/SystemConfigLibraryDto"
|
|
},
|
|
"logging": {
|
|
"$ref": "#/components/schemas/SystemConfigLoggingDto"
|
|
},
|
|
"machineLearning": {
|
|
"$ref": "#/components/schemas/SystemConfigMachineLearningDto"
|
|
},
|
|
"map": {
|
|
"$ref": "#/components/schemas/SystemConfigMapDto"
|
|
},
|
|
"metadata": {
|
|
"$ref": "#/components/schemas/SystemConfigMetadataDto"
|
|
},
|
|
"newVersionCheck": {
|
|
"$ref": "#/components/schemas/SystemConfigNewVersionCheckDto"
|
|
},
|
|
"nightlyTasks": {
|
|
"$ref": "#/components/schemas/SystemConfigNightlyTasksDto"
|
|
},
|
|
"notifications": {
|
|
"$ref": "#/components/schemas/SystemConfigNotificationsDto"
|
|
},
|
|
"oauth": {
|
|
"$ref": "#/components/schemas/SystemConfigOAuthDto"
|
|
},
|
|
"passwordLogin": {
|
|
"$ref": "#/components/schemas/SystemConfigPasswordLoginDto"
|
|
},
|
|
"reverseGeocoding": {
|
|
"$ref": "#/components/schemas/SystemConfigReverseGeocodingDto"
|
|
},
|
|
"server": {
|
|
"$ref": "#/components/schemas/SystemConfigServerDto"
|
|
},
|
|
"storageTemplate": {
|
|
"$ref": "#/components/schemas/SystemConfigStorageTemplateDto"
|
|
},
|
|
"templates": {
|
|
"$ref": "#/components/schemas/SystemConfigTemplatesDto"
|
|
},
|
|
"theme": {
|
|
"$ref": "#/components/schemas/SystemConfigThemeDto"
|
|
},
|
|
"trash": {
|
|
"$ref": "#/components/schemas/SystemConfigTrashDto"
|
|
},
|
|
"user": {
|
|
"$ref": "#/components/schemas/SystemConfigUserDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"backup",
|
|
"ffmpeg",
|
|
"image",
|
|
"job",
|
|
"library",
|
|
"logging",
|
|
"machineLearning",
|
|
"map",
|
|
"metadata",
|
|
"newVersionCheck",
|
|
"nightlyTasks",
|
|
"notifications",
|
|
"oauth",
|
|
"passwordLogin",
|
|
"reverseGeocoding",
|
|
"server",
|
|
"storageTemplate",
|
|
"templates",
|
|
"theme",
|
|
"trash",
|
|
"user"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigFFmpegDto": {
|
|
"properties": {
|
|
"accel": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/TranscodeHWAccel"
|
|
}
|
|
]
|
|
},
|
|
"accelDecode": {
|
|
"type": "boolean"
|
|
},
|
|
"acceptedAudioCodecs": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AudioCodec"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"acceptedContainers": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/VideoContainer"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"acceptedVideoCodecs": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/VideoCodec"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"bframes": {
|
|
"maximum": 16,
|
|
"minimum": -1,
|
|
"type": "integer"
|
|
},
|
|
"cqMode": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/CQMode"
|
|
}
|
|
]
|
|
},
|
|
"crf": {
|
|
"maximum": 51,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"gopSize": {
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"maxBitrate": {
|
|
"type": "string"
|
|
},
|
|
"preferredHwDevice": {
|
|
"type": "string"
|
|
},
|
|
"preset": {
|
|
"type": "string"
|
|
},
|
|
"refs": {
|
|
"maximum": 6,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"targetAudioCodec": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AudioCodec"
|
|
}
|
|
]
|
|
},
|
|
"targetResolution": {
|
|
"type": "string"
|
|
},
|
|
"targetVideoCodec": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/VideoCodec"
|
|
}
|
|
]
|
|
},
|
|
"temporalAQ": {
|
|
"type": "boolean"
|
|
},
|
|
"threads": {
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"tonemap": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ToneMapping"
|
|
}
|
|
]
|
|
},
|
|
"transcode": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/TranscodePolicy"
|
|
}
|
|
]
|
|
},
|
|
"twoPass": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"accel",
|
|
"accelDecode",
|
|
"acceptedAudioCodecs",
|
|
"acceptedContainers",
|
|
"acceptedVideoCodecs",
|
|
"bframes",
|
|
"cqMode",
|
|
"crf",
|
|
"gopSize",
|
|
"maxBitrate",
|
|
"preferredHwDevice",
|
|
"preset",
|
|
"refs",
|
|
"targetAudioCodec",
|
|
"targetResolution",
|
|
"targetVideoCodec",
|
|
"temporalAQ",
|
|
"threads",
|
|
"tonemap",
|
|
"transcode",
|
|
"twoPass"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigFacesDto": {
|
|
"properties": {
|
|
"import": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"import"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigGeneratedFullsizeImageDto": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"format": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ImageFormat"
|
|
}
|
|
]
|
|
},
|
|
"quality": {
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled",
|
|
"format",
|
|
"quality"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigGeneratedImageDto": {
|
|
"properties": {
|
|
"format": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ImageFormat"
|
|
}
|
|
]
|
|
},
|
|
"quality": {
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
},
|
|
"size": {
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"format",
|
|
"quality",
|
|
"size"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigImageDto": {
|
|
"properties": {
|
|
"colorspace": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Colorspace"
|
|
}
|
|
]
|
|
},
|
|
"extractEmbedded": {
|
|
"type": "boolean"
|
|
},
|
|
"fullsize": {
|
|
"$ref": "#/components/schemas/SystemConfigGeneratedFullsizeImageDto"
|
|
},
|
|
"preview": {
|
|
"$ref": "#/components/schemas/SystemConfigGeneratedImageDto"
|
|
},
|
|
"thumbnail": {
|
|
"$ref": "#/components/schemas/SystemConfigGeneratedImageDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"colorspace",
|
|
"extractEmbedded",
|
|
"fullsize",
|
|
"preview",
|
|
"thumbnail"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigJobDto": {
|
|
"properties": {
|
|
"backgroundTask": {
|
|
"$ref": "#/components/schemas/JobSettingsDto"
|
|
},
|
|
"faceDetection": {
|
|
"$ref": "#/components/schemas/JobSettingsDto"
|
|
},
|
|
"library": {
|
|
"$ref": "#/components/schemas/JobSettingsDto"
|
|
},
|
|
"metadataExtraction": {
|
|
"$ref": "#/components/schemas/JobSettingsDto"
|
|
},
|
|
"migration": {
|
|
"$ref": "#/components/schemas/JobSettingsDto"
|
|
},
|
|
"notifications": {
|
|
"$ref": "#/components/schemas/JobSettingsDto"
|
|
},
|
|
"search": {
|
|
"$ref": "#/components/schemas/JobSettingsDto"
|
|
},
|
|
"sidecar": {
|
|
"$ref": "#/components/schemas/JobSettingsDto"
|
|
},
|
|
"smartSearch": {
|
|
"$ref": "#/components/schemas/JobSettingsDto"
|
|
},
|
|
"thumbnailGeneration": {
|
|
"$ref": "#/components/schemas/JobSettingsDto"
|
|
},
|
|
"videoConversion": {
|
|
"$ref": "#/components/schemas/JobSettingsDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"backgroundTask",
|
|
"faceDetection",
|
|
"library",
|
|
"metadataExtraction",
|
|
"migration",
|
|
"notifications",
|
|
"search",
|
|
"sidecar",
|
|
"smartSearch",
|
|
"thumbnailGeneration",
|
|
"videoConversion"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigLibraryDto": {
|
|
"properties": {
|
|
"scan": {
|
|
"$ref": "#/components/schemas/SystemConfigLibraryScanDto"
|
|
},
|
|
"watch": {
|
|
"$ref": "#/components/schemas/SystemConfigLibraryWatchDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"scan",
|
|
"watch"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigLibraryScanDto": {
|
|
"properties": {
|
|
"cronExpression": {
|
|
"type": "string"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"cronExpression",
|
|
"enabled"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigLibraryWatchDto": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigLoggingDto": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"level": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/LogLevel"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled",
|
|
"level"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigMachineLearningDto": {
|
|
"properties": {
|
|
"availabilityChecks": {
|
|
"$ref": "#/components/schemas/MachineLearningAvailabilityChecksDto"
|
|
},
|
|
"clip": {
|
|
"$ref": "#/components/schemas/CLIPConfig"
|
|
},
|
|
"duplicateDetection": {
|
|
"$ref": "#/components/schemas/DuplicateDetectionConfig"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"facialRecognition": {
|
|
"$ref": "#/components/schemas/FacialRecognitionConfig"
|
|
},
|
|
"urls": {
|
|
"format": "uri",
|
|
"items": {
|
|
"format": "uri",
|
|
"type": "string"
|
|
},
|
|
"minItems": 1,
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"availabilityChecks",
|
|
"clip",
|
|
"duplicateDetection",
|
|
"enabled",
|
|
"facialRecognition",
|
|
"urls"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigMapDto": {
|
|
"properties": {
|
|
"darkStyle": {
|
|
"format": "uri",
|
|
"type": "string"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"lightStyle": {
|
|
"format": "uri",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"darkStyle",
|
|
"enabled",
|
|
"lightStyle"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigMetadataDto": {
|
|
"properties": {
|
|
"faces": {
|
|
"$ref": "#/components/schemas/SystemConfigFacesDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"faces"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigNewVersionCheckDto": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigNightlyTasksDto": {
|
|
"properties": {
|
|
"clusterNewFaces": {
|
|
"type": "boolean"
|
|
},
|
|
"databaseCleanup": {
|
|
"type": "boolean"
|
|
},
|
|
"generateMemories": {
|
|
"type": "boolean"
|
|
},
|
|
"missingThumbnails": {
|
|
"type": "boolean"
|
|
},
|
|
"startTime": {
|
|
"type": "string"
|
|
},
|
|
"syncQuotaUsage": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"clusterNewFaces",
|
|
"databaseCleanup",
|
|
"generateMemories",
|
|
"missingThumbnails",
|
|
"startTime",
|
|
"syncQuotaUsage"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigNotificationsDto": {
|
|
"properties": {
|
|
"smtp": {
|
|
"$ref": "#/components/schemas/SystemConfigSmtpDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"smtp"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigOAuthDto": {
|
|
"properties": {
|
|
"autoLaunch": {
|
|
"type": "boolean"
|
|
},
|
|
"autoRegister": {
|
|
"type": "boolean"
|
|
},
|
|
"buttonText": {
|
|
"type": "string"
|
|
},
|
|
"clientId": {
|
|
"type": "string"
|
|
},
|
|
"clientSecret": {
|
|
"type": "string"
|
|
},
|
|
"defaultStorageQuota": {
|
|
"format": "int64",
|
|
"minimum": 0,
|
|
"nullable": true,
|
|
"type": "integer"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"issuerUrl": {
|
|
"type": "string"
|
|
},
|
|
"mobileOverrideEnabled": {
|
|
"type": "boolean"
|
|
},
|
|
"mobileRedirectUri": {
|
|
"format": "uri",
|
|
"type": "string"
|
|
},
|
|
"profileSigningAlgorithm": {
|
|
"type": "string"
|
|
},
|
|
"roleClaim": {
|
|
"type": "string"
|
|
},
|
|
"scope": {
|
|
"type": "string"
|
|
},
|
|
"signingAlgorithm": {
|
|
"type": "string"
|
|
},
|
|
"storageLabelClaim": {
|
|
"type": "string"
|
|
},
|
|
"storageQuotaClaim": {
|
|
"type": "string"
|
|
},
|
|
"timeout": {
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
},
|
|
"tokenEndpointAuthMethod": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/OAuthTokenEndpointAuthMethod"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"autoLaunch",
|
|
"autoRegister",
|
|
"buttonText",
|
|
"clientId",
|
|
"clientSecret",
|
|
"defaultStorageQuota",
|
|
"enabled",
|
|
"issuerUrl",
|
|
"mobileOverrideEnabled",
|
|
"mobileRedirectUri",
|
|
"profileSigningAlgorithm",
|
|
"roleClaim",
|
|
"scope",
|
|
"signingAlgorithm",
|
|
"storageLabelClaim",
|
|
"storageQuotaClaim",
|
|
"timeout",
|
|
"tokenEndpointAuthMethod"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigPasswordLoginDto": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigReverseGeocodingDto": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigServerDto": {
|
|
"properties": {
|
|
"externalDomain": {
|
|
"format": "uri",
|
|
"type": "string"
|
|
},
|
|
"loginPageMessage": {
|
|
"type": "string"
|
|
},
|
|
"publicUsers": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"externalDomain",
|
|
"loginPageMessage",
|
|
"publicUsers"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigSmtpDto": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"from": {
|
|
"type": "string"
|
|
},
|
|
"replyTo": {
|
|
"type": "string"
|
|
},
|
|
"transport": {
|
|
"$ref": "#/components/schemas/SystemConfigSmtpTransportDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled",
|
|
"from",
|
|
"replyTo",
|
|
"transport"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigSmtpTransportDto": {
|
|
"properties": {
|
|
"host": {
|
|
"type": "string"
|
|
},
|
|
"ignoreCert": {
|
|
"type": "boolean"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"maximum": 65535,
|
|
"minimum": 0,
|
|
"type": "number"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"host",
|
|
"ignoreCert",
|
|
"password",
|
|
"port",
|
|
"username"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigStorageTemplateDto": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"hashVerificationEnabled": {
|
|
"type": "boolean"
|
|
},
|
|
"template": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled",
|
|
"hashVerificationEnabled",
|
|
"template"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigTemplateEmailsDto": {
|
|
"properties": {
|
|
"albumInviteTemplate": {
|
|
"type": "string"
|
|
},
|
|
"albumUpdateTemplate": {
|
|
"type": "string"
|
|
},
|
|
"welcomeTemplate": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumInviteTemplate",
|
|
"albumUpdateTemplate",
|
|
"welcomeTemplate"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigTemplateStorageOptionDto": {
|
|
"properties": {
|
|
"dayOptions": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"hourOptions": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"minuteOptions": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"monthOptions": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"presetOptions": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"secondOptions": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"weekOptions": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"yearOptions": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"dayOptions",
|
|
"hourOptions",
|
|
"minuteOptions",
|
|
"monthOptions",
|
|
"presetOptions",
|
|
"secondOptions",
|
|
"weekOptions",
|
|
"yearOptions"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigTemplatesDto": {
|
|
"properties": {
|
|
"email": {
|
|
"$ref": "#/components/schemas/SystemConfigTemplateEmailsDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"email"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigThemeDto": {
|
|
"properties": {
|
|
"customCss": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"customCss"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigTrashDto": {
|
|
"properties": {
|
|
"days": {
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"days",
|
|
"enabled"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigUserDto": {
|
|
"properties": {
|
|
"deleteDelay": {
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"deleteDelay"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"TagBulkAssetsDto": {
|
|
"properties": {
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"tagIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetIds",
|
|
"tagIds"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"TagBulkAssetsResponseDto": {
|
|
"properties": {
|
|
"count": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"count"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"TagCreateDto": {
|
|
"properties": {
|
|
"color": {
|
|
"pattern": "^#?([0-9A-F]{3}|[0-9A-F]{4}|[0-9A-F]{6}|[0-9A-F]{8})$",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"parentId": {
|
|
"format": "uuid",
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"TagResponseDto": {
|
|
"properties": {
|
|
"color": {
|
|
"type": "string"
|
|
},
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"parentId": {
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"createdAt",
|
|
"id",
|
|
"name",
|
|
"updatedAt",
|
|
"value"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"TagUpdateDto": {
|
|
"properties": {
|
|
"color": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"TagUpsertDto": {
|
|
"properties": {
|
|
"tags": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"tags"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"TagsResponse": {
|
|
"properties": {
|
|
"enabled": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"sidebarWeb": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled",
|
|
"sidebarWeb"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"TagsUpdate": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"sidebarWeb": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"TemplateDto": {
|
|
"properties": {
|
|
"template": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"template"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"TemplateResponseDto": {
|
|
"properties": {
|
|
"html": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"html",
|
|
"name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"TestEmailResponseDto": {
|
|
"properties": {
|
|
"messageId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"messageId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"TimeBucketAssetResponseDto": {
|
|
"properties": {
|
|
"city": {
|
|
"description": "Array of city names extracted from EXIF GPS data",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"country": {
|
|
"description": "Array of country names extracted from EXIF GPS data",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"duration": {
|
|
"description": "Array of video durations in HH:MM:SS format (null for images)",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"fileCreatedAt": {
|
|
"description": "Array of file creation timestamps in UTC (ISO 8601 format, without timezone)",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"id": {
|
|
"description": "Array of asset IDs in the time bucket",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"isFavorite": {
|
|
"description": "Array indicating whether each asset is favorited",
|
|
"items": {
|
|
"type": "boolean"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"isImage": {
|
|
"description": "Array indicating whether each asset is an image (false for videos)",
|
|
"items": {
|
|
"type": "boolean"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"isTrashed": {
|
|
"description": "Array indicating whether each asset is in the trash",
|
|
"items": {
|
|
"type": "boolean"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"latitude": {
|
|
"description": "Array of latitude coordinates extracted from EXIF GPS data",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"livePhotoVideoId": {
|
|
"description": "Array of live photo video asset IDs (null for non-live photos)",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"localOffsetHours": {
|
|
"description": "Array of UTC offset hours at the time each photo was taken. Positive values are east of UTC, negative values are west of UTC. Values may be fractional (e.g., 5.5 for +05:30, -9.75 for -09:45). Applying this offset to 'fileCreatedAt' will give you the time the photo was taken from the photographer's perspective.",
|
|
"items": {
|
|
"type": "number"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"longitude": {
|
|
"description": "Array of longitude coordinates extracted from EXIF GPS data",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"ownerId": {
|
|
"description": "Array of owner IDs for each asset",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"projectionType": {
|
|
"description": "Array of projection types for 360° content (e.g., \"EQUIRECTANGULAR\", \"CUBEFACE\", \"CYLINDRICAL\")",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"ratio": {
|
|
"description": "Array of aspect ratios (width/height) for each asset",
|
|
"items": {
|
|
"type": "number"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"stack": {
|
|
"description": "Array of stack information as [stackId, assetCount] tuples (null for non-stacked assets)",
|
|
"items": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"maxItems": 2,
|
|
"minItems": 2,
|
|
"nullable": true,
|
|
"type": "array"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"thumbhash": {
|
|
"description": "Array of BlurHash strings for generating asset previews (base64 encoded)",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"visibility": {
|
|
"description": "Array of visibility statuses for each asset (e.g., ARCHIVE, TIMELINE, HIDDEN, LOCKED)",
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"city",
|
|
"country",
|
|
"duration",
|
|
"fileCreatedAt",
|
|
"id",
|
|
"isFavorite",
|
|
"isImage",
|
|
"isTrashed",
|
|
"livePhotoVideoId",
|
|
"localOffsetHours",
|
|
"ownerId",
|
|
"projectionType",
|
|
"ratio",
|
|
"thumbhash",
|
|
"visibility"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"TimeBucketsResponseDto": {
|
|
"properties": {
|
|
"count": {
|
|
"description": "Number of assets in this time bucket",
|
|
"example": 42,
|
|
"type": "integer"
|
|
},
|
|
"timeBucket": {
|
|
"description": "Time bucket identifier in YYYY-MM-DD format representing the start of the time period",
|
|
"example": "2024-01-01",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"count",
|
|
"timeBucket"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ToneMapping": {
|
|
"enum": [
|
|
"hable",
|
|
"mobius",
|
|
"reinhard",
|
|
"disabled"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"TranscodeHWAccel": {
|
|
"enum": [
|
|
"nvenc",
|
|
"qsv",
|
|
"vaapi",
|
|
"rkmpp",
|
|
"disabled"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"TranscodePolicy": {
|
|
"enum": [
|
|
"all",
|
|
"optimal",
|
|
"bitrate",
|
|
"required",
|
|
"disabled"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"TrashResponseDto": {
|
|
"properties": {
|
|
"count": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"count"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UpdateAlbumDto": {
|
|
"properties": {
|
|
"albumName": {
|
|
"type": "string"
|
|
},
|
|
"albumThumbnailAssetId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"isActivityEnabled": {
|
|
"type": "boolean"
|
|
},
|
|
"order": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetOrder"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"UpdateAlbumUserDto": {
|
|
"properties": {
|
|
"role": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AlbumUserRole"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"role"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UpdateAssetDto": {
|
|
"properties": {
|
|
"dateTimeOriginal": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"latitude": {
|
|
"type": "number"
|
|
},
|
|
"livePhotoVideoId": {
|
|
"format": "uuid",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"longitude": {
|
|
"type": "number"
|
|
},
|
|
"rating": {
|
|
"maximum": 5,
|
|
"minimum": -1,
|
|
"type": "number"
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"UpdateLibraryDto": {
|
|
"properties": {
|
|
"exclusionPatterns": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"maxItems": 128,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
},
|
|
"importPaths": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"maxItems": 128,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"UsageByUserDto": {
|
|
"properties": {
|
|
"photos": {
|
|
"type": "integer"
|
|
},
|
|
"quotaSizeInBytes": {
|
|
"format": "int64",
|
|
"nullable": true,
|
|
"type": "integer"
|
|
},
|
|
"usage": {
|
|
"format": "int64",
|
|
"type": "integer"
|
|
},
|
|
"usagePhotos": {
|
|
"format": "int64",
|
|
"type": "integer"
|
|
},
|
|
"usageVideos": {
|
|
"format": "int64",
|
|
"type": "integer"
|
|
},
|
|
"userId": {
|
|
"type": "string"
|
|
},
|
|
"userName": {
|
|
"type": "string"
|
|
},
|
|
"videos": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"photos",
|
|
"quotaSizeInBytes",
|
|
"usage",
|
|
"usagePhotos",
|
|
"usageVideos",
|
|
"userId",
|
|
"userName",
|
|
"videos"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UserAdminCreateDto": {
|
|
"properties": {
|
|
"avatarColor": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserAvatarColor"
|
|
}
|
|
],
|
|
"nullable": true
|
|
},
|
|
"email": {
|
|
"format": "email",
|
|
"type": "string"
|
|
},
|
|
"isAdmin": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"notify": {
|
|
"type": "boolean"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"quotaSizeInBytes": {
|
|
"format": "int64",
|
|
"minimum": 0,
|
|
"nullable": true,
|
|
"type": "integer"
|
|
},
|
|
"shouldChangePassword": {
|
|
"type": "boolean"
|
|
},
|
|
"storageLabel": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"email",
|
|
"name",
|
|
"password"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UserAdminDeleteDto": {
|
|
"properties": {
|
|
"force": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"UserAdminResponseDto": {
|
|
"properties": {
|
|
"avatarColor": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserAvatarColor"
|
|
}
|
|
]
|
|
},
|
|
"createdAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"deletedAt": {
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"isAdmin": {
|
|
"type": "boolean"
|
|
},
|
|
"license": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserLicense"
|
|
}
|
|
],
|
|
"nullable": true
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"oauthId": {
|
|
"type": "string"
|
|
},
|
|
"profileChangedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"profileImagePath": {
|
|
"type": "string"
|
|
},
|
|
"quotaSizeInBytes": {
|
|
"format": "int64",
|
|
"nullable": true,
|
|
"type": "integer"
|
|
},
|
|
"quotaUsageInBytes": {
|
|
"format": "int64",
|
|
"nullable": true,
|
|
"type": "integer"
|
|
},
|
|
"shouldChangePassword": {
|
|
"type": "boolean"
|
|
},
|
|
"status": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserStatus"
|
|
}
|
|
]
|
|
},
|
|
"storageLabel": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"avatarColor",
|
|
"createdAt",
|
|
"deletedAt",
|
|
"email",
|
|
"id",
|
|
"isAdmin",
|
|
"license",
|
|
"name",
|
|
"oauthId",
|
|
"profileChangedAt",
|
|
"profileImagePath",
|
|
"quotaSizeInBytes",
|
|
"quotaUsageInBytes",
|
|
"shouldChangePassword",
|
|
"status",
|
|
"storageLabel",
|
|
"updatedAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UserAdminUpdateDto": {
|
|
"properties": {
|
|
"avatarColor": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserAvatarColor"
|
|
}
|
|
],
|
|
"nullable": true
|
|
},
|
|
"email": {
|
|
"format": "email",
|
|
"type": "string"
|
|
},
|
|
"isAdmin": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"pinCode": {
|
|
"example": "123456",
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"quotaSizeInBytes": {
|
|
"format": "int64",
|
|
"minimum": 0,
|
|
"nullable": true,
|
|
"type": "integer"
|
|
},
|
|
"shouldChangePassword": {
|
|
"type": "boolean"
|
|
},
|
|
"storageLabel": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"UserAvatarColor": {
|
|
"enum": [
|
|
"primary",
|
|
"pink",
|
|
"red",
|
|
"yellow",
|
|
"blue",
|
|
"green",
|
|
"purple",
|
|
"orange",
|
|
"gray",
|
|
"amber"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"UserLicense": {
|
|
"properties": {
|
|
"activatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"activationKey": {
|
|
"type": "string"
|
|
},
|
|
"licenseKey": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"activatedAt",
|
|
"activationKey",
|
|
"licenseKey"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UserMetadataKey": {
|
|
"enum": [
|
|
"preferences",
|
|
"license",
|
|
"onboarding"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"UserPreferencesResponseDto": {
|
|
"properties": {
|
|
"albums": {
|
|
"$ref": "#/components/schemas/AlbumsResponse"
|
|
},
|
|
"cast": {
|
|
"$ref": "#/components/schemas/CastResponse"
|
|
},
|
|
"download": {
|
|
"$ref": "#/components/schemas/DownloadResponse"
|
|
},
|
|
"emailNotifications": {
|
|
"$ref": "#/components/schemas/EmailNotificationsResponse"
|
|
},
|
|
"folders": {
|
|
"$ref": "#/components/schemas/FoldersResponse"
|
|
},
|
|
"memories": {
|
|
"$ref": "#/components/schemas/MemoriesResponse"
|
|
},
|
|
"people": {
|
|
"$ref": "#/components/schemas/PeopleResponse"
|
|
},
|
|
"purchase": {
|
|
"$ref": "#/components/schemas/PurchaseResponse"
|
|
},
|
|
"ratings": {
|
|
"$ref": "#/components/schemas/RatingsResponse"
|
|
},
|
|
"sharedLinks": {
|
|
"$ref": "#/components/schemas/SharedLinksResponse"
|
|
},
|
|
"tags": {
|
|
"$ref": "#/components/schemas/TagsResponse"
|
|
}
|
|
},
|
|
"required": [
|
|
"albums",
|
|
"cast",
|
|
"download",
|
|
"emailNotifications",
|
|
"folders",
|
|
"memories",
|
|
"people",
|
|
"purchase",
|
|
"ratings",
|
|
"sharedLinks",
|
|
"tags"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UserPreferencesUpdateDto": {
|
|
"properties": {
|
|
"albums": {
|
|
"$ref": "#/components/schemas/AlbumsUpdate"
|
|
},
|
|
"avatar": {
|
|
"$ref": "#/components/schemas/AvatarUpdate"
|
|
},
|
|
"cast": {
|
|
"$ref": "#/components/schemas/CastUpdate"
|
|
},
|
|
"download": {
|
|
"$ref": "#/components/schemas/DownloadUpdate"
|
|
},
|
|
"emailNotifications": {
|
|
"$ref": "#/components/schemas/EmailNotificationsUpdate"
|
|
},
|
|
"folders": {
|
|
"$ref": "#/components/schemas/FoldersUpdate"
|
|
},
|
|
"memories": {
|
|
"$ref": "#/components/schemas/MemoriesUpdate"
|
|
},
|
|
"people": {
|
|
"$ref": "#/components/schemas/PeopleUpdate"
|
|
},
|
|
"purchase": {
|
|
"$ref": "#/components/schemas/PurchaseUpdate"
|
|
},
|
|
"ratings": {
|
|
"$ref": "#/components/schemas/RatingsUpdate"
|
|
},
|
|
"sharedLinks": {
|
|
"$ref": "#/components/schemas/SharedLinksUpdate"
|
|
},
|
|
"tags": {
|
|
"$ref": "#/components/schemas/TagsUpdate"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"UserResponseDto": {
|
|
"properties": {
|
|
"avatarColor": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserAvatarColor"
|
|
}
|
|
]
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"profileChangedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"profileImagePath": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"avatarColor",
|
|
"email",
|
|
"id",
|
|
"name",
|
|
"profileChangedAt",
|
|
"profileImagePath"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UserStatus": {
|
|
"enum": [
|
|
"active",
|
|
"removing",
|
|
"deleted"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"UserUpdateMeDto": {
|
|
"properties": {
|
|
"avatarColor": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserAvatarColor"
|
|
}
|
|
],
|
|
"nullable": true
|
|
},
|
|
"email": {
|
|
"format": "email",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ValidateAccessTokenResponseDto": {
|
|
"properties": {
|
|
"authStatus": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"authStatus"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ValidateLibraryDto": {
|
|
"properties": {
|
|
"exclusionPatterns": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"maxItems": 128,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
},
|
|
"importPaths": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"maxItems": 128,
|
|
"type": "array",
|
|
"uniqueItems": true
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ValidateLibraryImportPathResponseDto": {
|
|
"properties": {
|
|
"importPath": {
|
|
"type": "string"
|
|
},
|
|
"isValid": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"importPath",
|
|
"isValid"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ValidateLibraryResponseDto": {
|
|
"properties": {
|
|
"importPaths": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/ValidateLibraryImportPathResponseDto"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"VersionCheckStateResponseDto": {
|
|
"properties": {
|
|
"checkedAt": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"releaseVersion": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"checkedAt",
|
|
"releaseVersion"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"VideoCodec": {
|
|
"enum": [
|
|
"h264",
|
|
"hevc",
|
|
"vp9",
|
|
"av1"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"VideoContainer": {
|
|
"enum": [
|
|
"mov",
|
|
"mp4",
|
|
"ogg",
|
|
"webm"
|
|
],
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
} |