Immich bindings and CLI in OCaml
at main 24544 lines 581 kB view raw
1{ 2 "openapi": "3.0.0", 3 "paths": { 4 "/activities": { 5 "get": { 6 "description": "Returns a list of activities for the selected asset or album. The activities are returned in sorted order, with the oldest activities appearing first.", 7 "operationId": "getActivities", 8 "parameters": [ 9 { 10 "name": "albumId", 11 "required": true, 12 "in": "query", 13 "schema": { 14 "format": "uuid", 15 "type": "string" 16 } 17 }, 18 { 19 "name": "assetId", 20 "required": false, 21 "in": "query", 22 "schema": { 23 "format": "uuid", 24 "type": "string" 25 } 26 }, 27 { 28 "name": "level", 29 "required": false, 30 "in": "query", 31 "schema": { 32 "$ref": "#/components/schemas/ReactionLevel" 33 } 34 }, 35 { 36 "name": "type", 37 "required": false, 38 "in": "query", 39 "schema": { 40 "$ref": "#/components/schemas/ReactionType" 41 } 42 }, 43 { 44 "name": "userId", 45 "required": false, 46 "in": "query", 47 "schema": { 48 "format": "uuid", 49 "type": "string" 50 } 51 } 52 ], 53 "responses": { 54 "200": { 55 "content": { 56 "application/json": { 57 "schema": { 58 "items": { 59 "$ref": "#/components/schemas/ActivityResponseDto" 60 }, 61 "type": "array" 62 } 63 } 64 }, 65 "description": "" 66 } 67 }, 68 "security": [ 69 { 70 "bearer": [] 71 }, 72 { 73 "cookie": [] 74 }, 75 { 76 "api_key": [] 77 } 78 ], 79 "summary": "List all activities", 80 "tags": [ 81 "Activities" 82 ], 83 "x-immich-history": [ 84 { 85 "version": "v1", 86 "state": "Added" 87 }, 88 { 89 "version": "v1", 90 "state": "Beta" 91 }, 92 { 93 "version": "v2", 94 "state": "Stable" 95 } 96 ], 97 "x-immich-permission": "activity.read", 98 "x-immich-state": "Stable" 99 }, 100 "post": { 101 "description": "Create a like or a comment for an album, or an asset in an album.", 102 "operationId": "createActivity", 103 "parameters": [], 104 "requestBody": { 105 "content": { 106 "application/json": { 107 "schema": { 108 "$ref": "#/components/schemas/ActivityCreateDto" 109 } 110 } 111 }, 112 "required": true 113 }, 114 "responses": { 115 "201": { 116 "content": { 117 "application/json": { 118 "schema": { 119 "$ref": "#/components/schemas/ActivityResponseDto" 120 } 121 } 122 }, 123 "description": "" 124 } 125 }, 126 "security": [ 127 { 128 "bearer": [] 129 }, 130 { 131 "cookie": [] 132 }, 133 { 134 "api_key": [] 135 } 136 ], 137 "summary": "Create an activity", 138 "tags": [ 139 "Activities" 140 ], 141 "x-immich-history": [ 142 { 143 "version": "v1", 144 "state": "Added" 145 }, 146 { 147 "version": "v1", 148 "state": "Beta" 149 }, 150 { 151 "version": "v2", 152 "state": "Stable" 153 } 154 ], 155 "x-immich-permission": "activity.create", 156 "x-immich-state": "Stable" 157 } 158 }, 159 "/activities/statistics": { 160 "get": { 161 "description": "Returns the number of likes and comments for a given album or asset in an album.", 162 "operationId": "getActivityStatistics", 163 "parameters": [ 164 { 165 "name": "albumId", 166 "required": true, 167 "in": "query", 168 "schema": { 169 "format": "uuid", 170 "type": "string" 171 } 172 }, 173 { 174 "name": "assetId", 175 "required": false, 176 "in": "query", 177 "schema": { 178 "format": "uuid", 179 "type": "string" 180 } 181 } 182 ], 183 "responses": { 184 "200": { 185 "content": { 186 "application/json": { 187 "schema": { 188 "$ref": "#/components/schemas/ActivityStatisticsResponseDto" 189 } 190 } 191 }, 192 "description": "" 193 } 194 }, 195 "security": [ 196 { 197 "bearer": [] 198 }, 199 { 200 "cookie": [] 201 }, 202 { 203 "api_key": [] 204 } 205 ], 206 "summary": "Retrieve activity statistics", 207 "tags": [ 208 "Activities" 209 ], 210 "x-immich-history": [ 211 { 212 "version": "v1", 213 "state": "Added" 214 }, 215 { 216 "version": "v1", 217 "state": "Beta" 218 }, 219 { 220 "version": "v2", 221 "state": "Stable" 222 } 223 ], 224 "x-immich-permission": "activity.statistics", 225 "x-immich-state": "Stable" 226 } 227 }, 228 "/activities/{id}": { 229 "delete": { 230 "description": "Removes a like or comment from a given album or asset in an album.", 231 "operationId": "deleteActivity", 232 "parameters": [ 233 { 234 "name": "id", 235 "required": true, 236 "in": "path", 237 "schema": { 238 "format": "uuid", 239 "type": "string" 240 } 241 } 242 ], 243 "responses": { 244 "204": { 245 "description": "" 246 } 247 }, 248 "security": [ 249 { 250 "bearer": [] 251 }, 252 { 253 "cookie": [] 254 }, 255 { 256 "api_key": [] 257 } 258 ], 259 "summary": "Delete an activity", 260 "tags": [ 261 "Activities" 262 ], 263 "x-immich-history": [ 264 { 265 "version": "v1", 266 "state": "Added" 267 }, 268 { 269 "version": "v1", 270 "state": "Beta" 271 }, 272 { 273 "version": "v2", 274 "state": "Stable" 275 } 276 ], 277 "x-immich-permission": "activity.delete", 278 "x-immich-state": "Stable" 279 } 280 }, 281 "/admin/auth/unlink-all": { 282 "post": { 283 "description": "Unlinks all OAuth accounts associated with user accounts in the system.", 284 "operationId": "unlinkAllOAuthAccountsAdmin", 285 "parameters": [], 286 "responses": { 287 "204": { 288 "description": "" 289 } 290 }, 291 "security": [ 292 { 293 "bearer": [] 294 }, 295 { 296 "cookie": [] 297 }, 298 { 299 "api_key": [] 300 } 301 ], 302 "summary": "Unlink all OAuth accounts", 303 "tags": [ 304 "Authentication (admin)" 305 ], 306 "x-immich-admin-only": true, 307 "x-immich-history": [ 308 { 309 "version": "v1", 310 "state": "Added" 311 }, 312 { 313 "version": "v1", 314 "state": "Beta" 315 }, 316 { 317 "version": "v2", 318 "state": "Stable" 319 } 320 ], 321 "x-immich-permission": "adminAuth.unlinkAll", 322 "x-immich-state": "Stable" 323 } 324 }, 325 "/admin/database-backups": { 326 "delete": { 327 "description": "Delete a backup by its filename", 328 "operationId": "deleteDatabaseBackup", 329 "parameters": [], 330 "requestBody": { 331 "content": { 332 "application/json": { 333 "schema": { 334 "$ref": "#/components/schemas/DatabaseBackupDeleteDto" 335 } 336 } 337 }, 338 "required": true 339 }, 340 "responses": { 341 "200": { 342 "description": "" 343 } 344 }, 345 "security": [ 346 { 347 "bearer": [] 348 }, 349 { 350 "cookie": [] 351 }, 352 { 353 "api_key": [] 354 } 355 ], 356 "summary": "Delete database backup", 357 "tags": [ 358 "Database Backups (admin)" 359 ], 360 "x-immich-admin-only": true, 361 "x-immich-history": [ 362 { 363 "version": "v2.5.0", 364 "state": "Added" 365 }, 366 { 367 "version": "v2.5.0", 368 "state": "Alpha" 369 } 370 ], 371 "x-immich-permission": "backup.delete", 372 "x-immich-state": "Alpha" 373 }, 374 "get": { 375 "description": "Get the list of the successful and failed backups", 376 "operationId": "listDatabaseBackups", 377 "parameters": [], 378 "responses": { 379 "200": { 380 "content": { 381 "application/json": { 382 "schema": { 383 "$ref": "#/components/schemas/DatabaseBackupListResponseDto" 384 } 385 } 386 }, 387 "description": "" 388 } 389 }, 390 "security": [ 391 { 392 "bearer": [] 393 }, 394 { 395 "cookie": [] 396 }, 397 { 398 "api_key": [] 399 } 400 ], 401 "summary": "List database backups", 402 "tags": [ 403 "Database Backups (admin)" 404 ], 405 "x-immich-admin-only": true, 406 "x-immich-history": [ 407 { 408 "version": "v2.5.0", 409 "state": "Added" 410 }, 411 { 412 "version": "v2.5.0", 413 "state": "Alpha" 414 } 415 ], 416 "x-immich-permission": "maintenance", 417 "x-immich-state": "Alpha" 418 } 419 }, 420 "/admin/database-backups/start-restore": { 421 "post": { 422 "description": "Put Immich into maintenance mode to restore a backup (Immich must not be configured)", 423 "operationId": "startDatabaseRestoreFlow", 424 "parameters": [], 425 "responses": { 426 "201": { 427 "description": "" 428 } 429 }, 430 "summary": "Start database backup restore flow", 431 "tags": [ 432 "Database Backups (admin)" 433 ], 434 "x-immich-history": [ 435 { 436 "version": "v2.5.0", 437 "state": "Added" 438 }, 439 { 440 "version": "v2.5.0", 441 "state": "Alpha" 442 } 443 ], 444 "x-immich-state": "Alpha" 445 } 446 }, 447 "/admin/database-backups/upload": { 448 "post": { 449 "description": "Uploads .sql/.sql.gz file to restore backup from", 450 "operationId": "uploadDatabaseBackup", 451 "parameters": [], 452 "requestBody": { 453 "content": { 454 "multipart/form-data": { 455 "schema": { 456 "$ref": "#/components/schemas/DatabaseBackupUploadDto" 457 } 458 } 459 }, 460 "description": "Backup Upload", 461 "required": true 462 }, 463 "responses": { 464 "201": { 465 "description": "" 466 } 467 }, 468 "security": [ 469 { 470 "bearer": [] 471 }, 472 { 473 "cookie": [] 474 }, 475 { 476 "api_key": [] 477 } 478 ], 479 "summary": "Upload database backup", 480 "tags": [ 481 "Database Backups (admin)" 482 ], 483 "x-immich-admin-only": true, 484 "x-immich-history": [ 485 { 486 "version": "v2.5.0", 487 "state": "Added" 488 }, 489 { 490 "version": "v2.5.0", 491 "state": "Alpha" 492 } 493 ], 494 "x-immich-permission": "backup.upload", 495 "x-immich-state": "Alpha" 496 } 497 }, 498 "/admin/database-backups/{filename}": { 499 "get": { 500 "description": "Downloads the database backup file", 501 "operationId": "downloadDatabaseBackup", 502 "parameters": [ 503 { 504 "name": "filename", 505 "required": true, 506 "in": "path", 507 "schema": { 508 "format": "string", 509 "type": "string" 510 } 511 } 512 ], 513 "responses": { 514 "200": { 515 "content": { 516 "application/octet-stream": { 517 "schema": { 518 "format": "binary", 519 "type": "string" 520 } 521 } 522 }, 523 "description": "" 524 } 525 }, 526 "security": [ 527 { 528 "bearer": [] 529 }, 530 { 531 "cookie": [] 532 }, 533 { 534 "api_key": [] 535 } 536 ], 537 "summary": "Download database backup", 538 "tags": [ 539 "Database Backups (admin)" 540 ], 541 "x-immich-admin-only": true, 542 "x-immich-history": [ 543 { 544 "version": "v2.5.0", 545 "state": "Added" 546 }, 547 { 548 "version": "v2.5.0", 549 "state": "Alpha" 550 } 551 ], 552 "x-immich-permission": "backup.download", 553 "x-immich-state": "Alpha" 554 } 555 }, 556 "/admin/maintenance": { 557 "post": { 558 "description": "Put Immich into or take it out of maintenance mode", 559 "operationId": "setMaintenanceMode", 560 "parameters": [], 561 "requestBody": { 562 "content": { 563 "application/json": { 564 "schema": { 565 "$ref": "#/components/schemas/SetMaintenanceModeDto" 566 } 567 } 568 }, 569 "required": true 570 }, 571 "responses": { 572 "201": { 573 "description": "" 574 } 575 }, 576 "security": [ 577 { 578 "bearer": [] 579 }, 580 { 581 "cookie": [] 582 }, 583 { 584 "api_key": [] 585 } 586 ], 587 "summary": "Set maintenance mode", 588 "tags": [ 589 "Maintenance (admin)" 590 ], 591 "x-immich-admin-only": true, 592 "x-immich-history": [ 593 { 594 "version": "v2.3.0", 595 "state": "Added" 596 }, 597 { 598 "version": "v2.3.0", 599 "state": "Alpha" 600 } 601 ], 602 "x-immich-permission": "maintenance", 603 "x-immich-state": "Alpha" 604 } 605 }, 606 "/admin/maintenance/detect-install": { 607 "get": { 608 "description": "Collect integrity checks and other heuristics about local data.", 609 "operationId": "detectPriorInstall", 610 "parameters": [], 611 "responses": { 612 "200": { 613 "content": { 614 "application/json": { 615 "schema": { 616 "$ref": "#/components/schemas/MaintenanceDetectInstallResponseDto" 617 } 618 } 619 }, 620 "description": "" 621 } 622 }, 623 "security": [ 624 { 625 "bearer": [] 626 }, 627 { 628 "cookie": [] 629 }, 630 { 631 "api_key": [] 632 } 633 ], 634 "summary": "Detect existing install", 635 "tags": [ 636 "Maintenance (admin)" 637 ], 638 "x-immich-admin-only": true, 639 "x-immich-history": [ 640 { 641 "version": "v2.5.0", 642 "state": "Added" 643 }, 644 { 645 "version": "v2.5.0", 646 "state": "Alpha" 647 } 648 ], 649 "x-immich-permission": "maintenance", 650 "x-immich-state": "Alpha" 651 } 652 }, 653 "/admin/maintenance/login": { 654 "post": { 655 "description": "Login with maintenance token or cookie to receive current information and perform further actions.", 656 "operationId": "maintenanceLogin", 657 "parameters": [], 658 "requestBody": { 659 "content": { 660 "application/json": { 661 "schema": { 662 "$ref": "#/components/schemas/MaintenanceLoginDto" 663 } 664 } 665 }, 666 "required": true 667 }, 668 "responses": { 669 "201": { 670 "content": { 671 "application/json": { 672 "schema": { 673 "$ref": "#/components/schemas/MaintenanceAuthDto" 674 } 675 } 676 }, 677 "description": "" 678 } 679 }, 680 "summary": "Log into maintenance mode", 681 "tags": [ 682 "Maintenance (admin)" 683 ], 684 "x-immich-history": [ 685 { 686 "version": "v2.3.0", 687 "state": "Added" 688 }, 689 { 690 "version": "v2.3.0", 691 "state": "Alpha" 692 } 693 ], 694 "x-immich-state": "Alpha" 695 } 696 }, 697 "/admin/maintenance/status": { 698 "get": { 699 "description": "Fetch information about the currently running maintenance action.", 700 "operationId": "getMaintenanceStatus", 701 "parameters": [], 702 "responses": { 703 "200": { 704 "content": { 705 "application/json": { 706 "schema": { 707 "$ref": "#/components/schemas/MaintenanceStatusResponseDto" 708 } 709 } 710 }, 711 "description": "" 712 } 713 }, 714 "summary": "Get maintenance mode status", 715 "tags": [ 716 "Maintenance (admin)" 717 ], 718 "x-immich-history": [ 719 { 720 "version": "v2.5.0", 721 "state": "Added" 722 }, 723 { 724 "version": "v2.5.0", 725 "state": "Alpha" 726 } 727 ], 728 "x-immich-state": "Alpha" 729 } 730 }, 731 "/admin/notifications": { 732 "post": { 733 "description": "Create a new notification for a specific user.", 734 "operationId": "createNotification", 735 "parameters": [], 736 "requestBody": { 737 "content": { 738 "application/json": { 739 "schema": { 740 "$ref": "#/components/schemas/NotificationCreateDto" 741 } 742 } 743 }, 744 "required": true 745 }, 746 "responses": { 747 "201": { 748 "content": { 749 "application/json": { 750 "schema": { 751 "$ref": "#/components/schemas/NotificationDto" 752 } 753 } 754 }, 755 "description": "" 756 } 757 }, 758 "security": [ 759 { 760 "bearer": [] 761 }, 762 { 763 "cookie": [] 764 }, 765 { 766 "api_key": [] 767 } 768 ], 769 "summary": "Create a notification", 770 "tags": [ 771 "Notifications (admin)" 772 ], 773 "x-immich-admin-only": true, 774 "x-immich-history": [ 775 { 776 "version": "v1", 777 "state": "Added" 778 }, 779 { 780 "version": "v1", 781 "state": "Beta" 782 }, 783 { 784 "version": "v2", 785 "state": "Stable" 786 } 787 ], 788 "x-immich-state": "Stable" 789 } 790 }, 791 "/admin/notifications/templates/{name}": { 792 "post": { 793 "description": "Retrieve a preview of the provided email template.", 794 "operationId": "getNotificationTemplateAdmin", 795 "parameters": [ 796 { 797 "name": "name", 798 "required": true, 799 "in": "path", 800 "schema": { 801 "type": "string" 802 } 803 } 804 ], 805 "requestBody": { 806 "content": { 807 "application/json": { 808 "schema": { 809 "$ref": "#/components/schemas/TemplateDto" 810 } 811 } 812 }, 813 "required": true 814 }, 815 "responses": { 816 "200": { 817 "content": { 818 "application/json": { 819 "schema": { 820 "$ref": "#/components/schemas/TemplateResponseDto" 821 } 822 } 823 }, 824 "description": "" 825 } 826 }, 827 "security": [ 828 { 829 "bearer": [] 830 }, 831 { 832 "cookie": [] 833 }, 834 { 835 "api_key": [] 836 } 837 ], 838 "summary": "Render email template", 839 "tags": [ 840 "Notifications (admin)" 841 ], 842 "x-immich-admin-only": true, 843 "x-immich-history": [ 844 { 845 "version": "v1", 846 "state": "Added" 847 }, 848 { 849 "version": "v1", 850 "state": "Beta" 851 }, 852 { 853 "version": "v2", 854 "state": "Stable" 855 } 856 ], 857 "x-immich-state": "Stable" 858 } 859 }, 860 "/admin/notifications/test-email": { 861 "post": { 862 "description": "Send a test email using the provided SMTP configuration.", 863 "operationId": "sendTestEmailAdmin", 864 "parameters": [], 865 "requestBody": { 866 "content": { 867 "application/json": { 868 "schema": { 869 "$ref": "#/components/schemas/SystemConfigSmtpDto" 870 } 871 } 872 }, 873 "required": true 874 }, 875 "responses": { 876 "200": { 877 "content": { 878 "application/json": { 879 "schema": { 880 "$ref": "#/components/schemas/TestEmailResponseDto" 881 } 882 } 883 }, 884 "description": "" 885 } 886 }, 887 "security": [ 888 { 889 "bearer": [] 890 }, 891 { 892 "cookie": [] 893 }, 894 { 895 "api_key": [] 896 } 897 ], 898 "summary": "Send test email", 899 "tags": [ 900 "Notifications (admin)" 901 ], 902 "x-immich-admin-only": true, 903 "x-immich-history": [ 904 { 905 "version": "v1", 906 "state": "Added" 907 }, 908 { 909 "version": "v1", 910 "state": "Beta" 911 }, 912 { 913 "version": "v2", 914 "state": "Stable" 915 } 916 ], 917 "x-immich-state": "Stable" 918 } 919 }, 920 "/admin/users": { 921 "get": { 922 "description": "Search for users.", 923 "operationId": "searchUsersAdmin", 924 "parameters": [ 925 { 926 "name": "id", 927 "required": false, 928 "in": "query", 929 "schema": { 930 "format": "uuid", 931 "type": "string" 932 } 933 }, 934 { 935 "name": "withDeleted", 936 "required": false, 937 "in": "query", 938 "schema": { 939 "type": "boolean" 940 } 941 } 942 ], 943 "responses": { 944 "200": { 945 "content": { 946 "application/json": { 947 "schema": { 948 "items": { 949 "$ref": "#/components/schemas/UserAdminResponseDto" 950 }, 951 "type": "array" 952 } 953 } 954 }, 955 "description": "" 956 } 957 }, 958 "security": [ 959 { 960 "bearer": [] 961 }, 962 { 963 "cookie": [] 964 }, 965 { 966 "api_key": [] 967 } 968 ], 969 "summary": "Search users", 970 "tags": [ 971 "Users (admin)" 972 ], 973 "x-immich-admin-only": true, 974 "x-immich-history": [ 975 { 976 "version": "v1", 977 "state": "Added" 978 }, 979 { 980 "version": "v1", 981 "state": "Beta" 982 }, 983 { 984 "version": "v2", 985 "state": "Stable" 986 } 987 ], 988 "x-immich-permission": "adminUser.read", 989 "x-immich-state": "Stable" 990 }, 991 "post": { 992 "description": "Create a new user.", 993 "operationId": "createUserAdmin", 994 "parameters": [], 995 "requestBody": { 996 "content": { 997 "application/json": { 998 "schema": { 999 "$ref": "#/components/schemas/UserAdminCreateDto" 1000 } 1001 } 1002 }, 1003 "required": true 1004 }, 1005 "responses": { 1006 "201": { 1007 "content": { 1008 "application/json": { 1009 "schema": { 1010 "$ref": "#/components/schemas/UserAdminResponseDto" 1011 } 1012 } 1013 }, 1014 "description": "" 1015 } 1016 }, 1017 "security": [ 1018 { 1019 "bearer": [] 1020 }, 1021 { 1022 "cookie": [] 1023 }, 1024 { 1025 "api_key": [] 1026 } 1027 ], 1028 "summary": "Create a user", 1029 "tags": [ 1030 "Users (admin)" 1031 ], 1032 "x-immich-admin-only": true, 1033 "x-immich-history": [ 1034 { 1035 "version": "v1", 1036 "state": "Added" 1037 }, 1038 { 1039 "version": "v1", 1040 "state": "Beta" 1041 }, 1042 { 1043 "version": "v2", 1044 "state": "Stable" 1045 } 1046 ], 1047 "x-immich-permission": "adminUser.create", 1048 "x-immich-state": "Stable" 1049 } 1050 }, 1051 "/admin/users/{id}": { 1052 "delete": { 1053 "description": "Delete a user.", 1054 "operationId": "deleteUserAdmin", 1055 "parameters": [ 1056 { 1057 "name": "id", 1058 "required": true, 1059 "in": "path", 1060 "schema": { 1061 "format": "uuid", 1062 "type": "string" 1063 } 1064 } 1065 ], 1066 "requestBody": { 1067 "content": { 1068 "application/json": { 1069 "schema": { 1070 "$ref": "#/components/schemas/UserAdminDeleteDto" 1071 } 1072 } 1073 }, 1074 "required": true 1075 }, 1076 "responses": { 1077 "200": { 1078 "content": { 1079 "application/json": { 1080 "schema": { 1081 "$ref": "#/components/schemas/UserAdminResponseDto" 1082 } 1083 } 1084 }, 1085 "description": "" 1086 } 1087 }, 1088 "security": [ 1089 { 1090 "bearer": [] 1091 }, 1092 { 1093 "cookie": [] 1094 }, 1095 { 1096 "api_key": [] 1097 } 1098 ], 1099 "summary": "Delete a user", 1100 "tags": [ 1101 "Users (admin)" 1102 ], 1103 "x-immich-admin-only": true, 1104 "x-immich-history": [ 1105 { 1106 "version": "v1", 1107 "state": "Added" 1108 }, 1109 { 1110 "version": "v1", 1111 "state": "Beta" 1112 }, 1113 { 1114 "version": "v2", 1115 "state": "Stable" 1116 } 1117 ], 1118 "x-immich-permission": "adminUser.delete", 1119 "x-immich-state": "Stable" 1120 }, 1121 "get": { 1122 "description": "Retrieve a specific user by their ID.", 1123 "operationId": "getUserAdmin", 1124 "parameters": [ 1125 { 1126 "name": "id", 1127 "required": true, 1128 "in": "path", 1129 "schema": { 1130 "format": "uuid", 1131 "type": "string" 1132 } 1133 } 1134 ], 1135 "responses": { 1136 "200": { 1137 "content": { 1138 "application/json": { 1139 "schema": { 1140 "$ref": "#/components/schemas/UserAdminResponseDto" 1141 } 1142 } 1143 }, 1144 "description": "" 1145 } 1146 }, 1147 "security": [ 1148 { 1149 "bearer": [] 1150 }, 1151 { 1152 "cookie": [] 1153 }, 1154 { 1155 "api_key": [] 1156 } 1157 ], 1158 "summary": "Retrieve a user", 1159 "tags": [ 1160 "Users (admin)" 1161 ], 1162 "x-immich-admin-only": true, 1163 "x-immich-history": [ 1164 { 1165 "version": "v1", 1166 "state": "Added" 1167 }, 1168 { 1169 "version": "v1", 1170 "state": "Beta" 1171 }, 1172 { 1173 "version": "v2", 1174 "state": "Stable" 1175 } 1176 ], 1177 "x-immich-permission": "adminUser.read", 1178 "x-immich-state": "Stable" 1179 }, 1180 "put": { 1181 "description": "Update an existing user.", 1182 "operationId": "updateUserAdmin", 1183 "parameters": [ 1184 { 1185 "name": "id", 1186 "required": true, 1187 "in": "path", 1188 "schema": { 1189 "format": "uuid", 1190 "type": "string" 1191 } 1192 } 1193 ], 1194 "requestBody": { 1195 "content": { 1196 "application/json": { 1197 "schema": { 1198 "$ref": "#/components/schemas/UserAdminUpdateDto" 1199 } 1200 } 1201 }, 1202 "required": true 1203 }, 1204 "responses": { 1205 "200": { 1206 "content": { 1207 "application/json": { 1208 "schema": { 1209 "$ref": "#/components/schemas/UserAdminResponseDto" 1210 } 1211 } 1212 }, 1213 "description": "" 1214 } 1215 }, 1216 "security": [ 1217 { 1218 "bearer": [] 1219 }, 1220 { 1221 "cookie": [] 1222 }, 1223 { 1224 "api_key": [] 1225 } 1226 ], 1227 "summary": "Update a user", 1228 "tags": [ 1229 "Users (admin)" 1230 ], 1231 "x-immich-admin-only": true, 1232 "x-immich-history": [ 1233 { 1234 "version": "v1", 1235 "state": "Added" 1236 }, 1237 { 1238 "version": "v1", 1239 "state": "Beta" 1240 }, 1241 { 1242 "version": "v2", 1243 "state": "Stable" 1244 } 1245 ], 1246 "x-immich-permission": "adminUser.update", 1247 "x-immich-state": "Stable" 1248 } 1249 }, 1250 "/admin/users/{id}/preferences": { 1251 "get": { 1252 "description": "Retrieve the preferences of a specific user.", 1253 "operationId": "getUserPreferencesAdmin", 1254 "parameters": [ 1255 { 1256 "name": "id", 1257 "required": true, 1258 "in": "path", 1259 "schema": { 1260 "format": "uuid", 1261 "type": "string" 1262 } 1263 } 1264 ], 1265 "responses": { 1266 "200": { 1267 "content": { 1268 "application/json": { 1269 "schema": { 1270 "$ref": "#/components/schemas/UserPreferencesResponseDto" 1271 } 1272 } 1273 }, 1274 "description": "" 1275 } 1276 }, 1277 "security": [ 1278 { 1279 "bearer": [] 1280 }, 1281 { 1282 "cookie": [] 1283 }, 1284 { 1285 "api_key": [] 1286 } 1287 ], 1288 "summary": "Retrieve user preferences", 1289 "tags": [ 1290 "Users (admin)" 1291 ], 1292 "x-immich-admin-only": true, 1293 "x-immich-history": [ 1294 { 1295 "version": "v1", 1296 "state": "Added" 1297 }, 1298 { 1299 "version": "v1", 1300 "state": "Beta" 1301 }, 1302 { 1303 "version": "v2", 1304 "state": "Stable" 1305 } 1306 ], 1307 "x-immich-permission": "adminUser.read", 1308 "x-immich-state": "Stable" 1309 }, 1310 "put": { 1311 "description": "Update the preferences of a specific user.", 1312 "operationId": "updateUserPreferencesAdmin", 1313 "parameters": [ 1314 { 1315 "name": "id", 1316 "required": true, 1317 "in": "path", 1318 "schema": { 1319 "format": "uuid", 1320 "type": "string" 1321 } 1322 } 1323 ], 1324 "requestBody": { 1325 "content": { 1326 "application/json": { 1327 "schema": { 1328 "$ref": "#/components/schemas/UserPreferencesUpdateDto" 1329 } 1330 } 1331 }, 1332 "required": true 1333 }, 1334 "responses": { 1335 "200": { 1336 "content": { 1337 "application/json": { 1338 "schema": { 1339 "$ref": "#/components/schemas/UserPreferencesResponseDto" 1340 } 1341 } 1342 }, 1343 "description": "" 1344 } 1345 }, 1346 "security": [ 1347 { 1348 "bearer": [] 1349 }, 1350 { 1351 "cookie": [] 1352 }, 1353 { 1354 "api_key": [] 1355 } 1356 ], 1357 "summary": "Update user preferences", 1358 "tags": [ 1359 "Users (admin)" 1360 ], 1361 "x-immich-admin-only": true, 1362 "x-immich-history": [ 1363 { 1364 "version": "v1", 1365 "state": "Added" 1366 }, 1367 { 1368 "version": "v1", 1369 "state": "Beta" 1370 }, 1371 { 1372 "version": "v2", 1373 "state": "Stable" 1374 } 1375 ], 1376 "x-immich-permission": "adminUser.update", 1377 "x-immich-state": "Stable" 1378 } 1379 }, 1380 "/admin/users/{id}/restore": { 1381 "post": { 1382 "description": "Restore a previously deleted user.", 1383 "operationId": "restoreUserAdmin", 1384 "parameters": [ 1385 { 1386 "name": "id", 1387 "required": true, 1388 "in": "path", 1389 "schema": { 1390 "format": "uuid", 1391 "type": "string" 1392 } 1393 } 1394 ], 1395 "responses": { 1396 "200": { 1397 "content": { 1398 "application/json": { 1399 "schema": { 1400 "$ref": "#/components/schemas/UserAdminResponseDto" 1401 } 1402 } 1403 }, 1404 "description": "" 1405 } 1406 }, 1407 "security": [ 1408 { 1409 "bearer": [] 1410 }, 1411 { 1412 "cookie": [] 1413 }, 1414 { 1415 "api_key": [] 1416 } 1417 ], 1418 "summary": "Restore a deleted user", 1419 "tags": [ 1420 "Users (admin)" 1421 ], 1422 "x-immich-admin-only": true, 1423 "x-immich-history": [ 1424 { 1425 "version": "v1", 1426 "state": "Added" 1427 }, 1428 { 1429 "version": "v1", 1430 "state": "Beta" 1431 }, 1432 { 1433 "version": "v2", 1434 "state": "Stable" 1435 } 1436 ], 1437 "x-immich-permission": "adminUser.delete", 1438 "x-immich-state": "Stable" 1439 } 1440 }, 1441 "/admin/users/{id}/sessions": { 1442 "get": { 1443 "description": "Retrieve all sessions for a specific user.", 1444 "operationId": "getUserSessionsAdmin", 1445 "parameters": [ 1446 { 1447 "name": "id", 1448 "required": true, 1449 "in": "path", 1450 "schema": { 1451 "format": "uuid", 1452 "type": "string" 1453 } 1454 } 1455 ], 1456 "responses": { 1457 "200": { 1458 "content": { 1459 "application/json": { 1460 "schema": { 1461 "items": { 1462 "$ref": "#/components/schemas/SessionResponseDto" 1463 }, 1464 "type": "array" 1465 } 1466 } 1467 }, 1468 "description": "" 1469 } 1470 }, 1471 "security": [ 1472 { 1473 "bearer": [] 1474 }, 1475 { 1476 "cookie": [] 1477 }, 1478 { 1479 "api_key": [] 1480 } 1481 ], 1482 "summary": "Retrieve user sessions", 1483 "tags": [ 1484 "Users (admin)" 1485 ], 1486 "x-immich-admin-only": true, 1487 "x-immich-history": [ 1488 { 1489 "version": "v1", 1490 "state": "Added" 1491 }, 1492 { 1493 "version": "v1", 1494 "state": "Beta" 1495 }, 1496 { 1497 "version": "v2", 1498 "state": "Stable" 1499 } 1500 ], 1501 "x-immich-permission": "adminSession.read", 1502 "x-immich-state": "Stable" 1503 } 1504 }, 1505 "/admin/users/{id}/statistics": { 1506 "get": { 1507 "description": "Retrieve asset statistics for a specific user.", 1508 "operationId": "getUserStatisticsAdmin", 1509 "parameters": [ 1510 { 1511 "name": "id", 1512 "required": true, 1513 "in": "path", 1514 "schema": { 1515 "format": "uuid", 1516 "type": "string" 1517 } 1518 }, 1519 { 1520 "name": "isFavorite", 1521 "required": false, 1522 "in": "query", 1523 "schema": { 1524 "type": "boolean" 1525 } 1526 }, 1527 { 1528 "name": "isTrashed", 1529 "required": false, 1530 "in": "query", 1531 "schema": { 1532 "type": "boolean" 1533 } 1534 }, 1535 { 1536 "name": "visibility", 1537 "required": false, 1538 "in": "query", 1539 "schema": { 1540 "$ref": "#/components/schemas/AssetVisibility" 1541 } 1542 } 1543 ], 1544 "responses": { 1545 "200": { 1546 "content": { 1547 "application/json": { 1548 "schema": { 1549 "$ref": "#/components/schemas/AssetStatsResponseDto" 1550 } 1551 } 1552 }, 1553 "description": "" 1554 } 1555 }, 1556 "security": [ 1557 { 1558 "bearer": [] 1559 }, 1560 { 1561 "cookie": [] 1562 }, 1563 { 1564 "api_key": [] 1565 } 1566 ], 1567 "summary": "Retrieve user statistics", 1568 "tags": [ 1569 "Users (admin)" 1570 ], 1571 "x-immich-admin-only": true, 1572 "x-immich-history": [ 1573 { 1574 "version": "v1", 1575 "state": "Added" 1576 }, 1577 { 1578 "version": "v1", 1579 "state": "Beta" 1580 }, 1581 { 1582 "version": "v2", 1583 "state": "Stable" 1584 } 1585 ], 1586 "x-immich-permission": "adminUser.read", 1587 "x-immich-state": "Stable" 1588 } 1589 }, 1590 "/albums": { 1591 "get": { 1592 "description": "Retrieve a list of albums available to the authenticated user.", 1593 "operationId": "getAllAlbums", 1594 "parameters": [ 1595 { 1596 "name": "assetId", 1597 "required": false, 1598 "in": "query", 1599 "description": "Only returns albums that contain the asset\nIgnores the shared parameter\nundefined: get all albums", 1600 "schema": { 1601 "format": "uuid", 1602 "type": "string" 1603 } 1604 }, 1605 { 1606 "name": "shared", 1607 "required": false, 1608 "in": "query", 1609 "schema": { 1610 "type": "boolean" 1611 } 1612 } 1613 ], 1614 "responses": { 1615 "200": { 1616 "content": { 1617 "application/json": { 1618 "schema": { 1619 "items": { 1620 "$ref": "#/components/schemas/AlbumResponseDto" 1621 }, 1622 "type": "array" 1623 } 1624 } 1625 }, 1626 "description": "" 1627 } 1628 }, 1629 "security": [ 1630 { 1631 "bearer": [] 1632 }, 1633 { 1634 "cookie": [] 1635 }, 1636 { 1637 "api_key": [] 1638 } 1639 ], 1640 "summary": "List all albums", 1641 "tags": [ 1642 "Albums" 1643 ], 1644 "x-immich-history": [ 1645 { 1646 "version": "v1", 1647 "state": "Added" 1648 }, 1649 { 1650 "version": "v1", 1651 "state": "Beta" 1652 }, 1653 { 1654 "version": "v2", 1655 "state": "Stable" 1656 } 1657 ], 1658 "x-immich-permission": "album.read", 1659 "x-immich-state": "Stable" 1660 }, 1661 "post": { 1662 "description": "Create a new album. The album can also be created with initial users and assets.", 1663 "operationId": "createAlbum", 1664 "parameters": [], 1665 "requestBody": { 1666 "content": { 1667 "application/json": { 1668 "schema": { 1669 "$ref": "#/components/schemas/CreateAlbumDto" 1670 } 1671 } 1672 }, 1673 "required": true 1674 }, 1675 "responses": { 1676 "201": { 1677 "content": { 1678 "application/json": { 1679 "schema": { 1680 "$ref": "#/components/schemas/AlbumResponseDto" 1681 } 1682 } 1683 }, 1684 "description": "" 1685 } 1686 }, 1687 "security": [ 1688 { 1689 "bearer": [] 1690 }, 1691 { 1692 "cookie": [] 1693 }, 1694 { 1695 "api_key": [] 1696 } 1697 ], 1698 "summary": "Create an album", 1699 "tags": [ 1700 "Albums" 1701 ], 1702 "x-immich-history": [ 1703 { 1704 "version": "v1", 1705 "state": "Added" 1706 }, 1707 { 1708 "version": "v1", 1709 "state": "Beta" 1710 }, 1711 { 1712 "version": "v2", 1713 "state": "Stable" 1714 } 1715 ], 1716 "x-immich-permission": "album.create", 1717 "x-immich-state": "Stable" 1718 } 1719 }, 1720 "/albums/assets": { 1721 "put": { 1722 "description": "Send a list of asset IDs and album IDs to add each asset to each album.", 1723 "operationId": "addAssetsToAlbums", 1724 "parameters": [ 1725 { 1726 "name": "key", 1727 "required": false, 1728 "in": "query", 1729 "schema": { 1730 "type": "string" 1731 } 1732 }, 1733 { 1734 "name": "slug", 1735 "required": false, 1736 "in": "query", 1737 "schema": { 1738 "type": "string" 1739 } 1740 } 1741 ], 1742 "requestBody": { 1743 "content": { 1744 "application/json": { 1745 "schema": { 1746 "$ref": "#/components/schemas/AlbumsAddAssetsDto" 1747 } 1748 } 1749 }, 1750 "required": true 1751 }, 1752 "responses": { 1753 "200": { 1754 "content": { 1755 "application/json": { 1756 "schema": { 1757 "$ref": "#/components/schemas/AlbumsAddAssetsResponseDto" 1758 } 1759 } 1760 }, 1761 "description": "" 1762 } 1763 }, 1764 "security": [ 1765 { 1766 "bearer": [] 1767 }, 1768 { 1769 "cookie": [] 1770 }, 1771 { 1772 "api_key": [] 1773 } 1774 ], 1775 "summary": "Add assets to albums", 1776 "tags": [ 1777 "Albums" 1778 ], 1779 "x-immich-history": [ 1780 { 1781 "version": "v1", 1782 "state": "Added" 1783 }, 1784 { 1785 "version": "v1", 1786 "state": "Beta" 1787 }, 1788 { 1789 "version": "v2", 1790 "state": "Stable" 1791 } 1792 ], 1793 "x-immich-permission": "albumAsset.create", 1794 "x-immich-state": "Stable" 1795 } 1796 }, 1797 "/albums/statistics": { 1798 "get": { 1799 "description": "Returns statistics about the albums available to the authenticated user.", 1800 "operationId": "getAlbumStatistics", 1801 "parameters": [], 1802 "responses": { 1803 "200": { 1804 "content": { 1805 "application/json": { 1806 "schema": { 1807 "$ref": "#/components/schemas/AlbumStatisticsResponseDto" 1808 } 1809 } 1810 }, 1811 "description": "" 1812 } 1813 }, 1814 "security": [ 1815 { 1816 "bearer": [] 1817 }, 1818 { 1819 "cookie": [] 1820 }, 1821 { 1822 "api_key": [] 1823 } 1824 ], 1825 "summary": "Retrieve album statistics", 1826 "tags": [ 1827 "Albums" 1828 ], 1829 "x-immich-history": [ 1830 { 1831 "version": "v1", 1832 "state": "Added" 1833 }, 1834 { 1835 "version": "v1", 1836 "state": "Beta" 1837 }, 1838 { 1839 "version": "v2", 1840 "state": "Stable" 1841 } 1842 ], 1843 "x-immich-permission": "album.statistics", 1844 "x-immich-state": "Stable" 1845 } 1846 }, 1847 "/albums/{id}": { 1848 "delete": { 1849 "description": "Delete a specific album by its ID. Note the album is initially trashed and then immediately scheduled for deletion, but relies on a background job to complete the process.", 1850 "operationId": "deleteAlbum", 1851 "parameters": [ 1852 { 1853 "name": "id", 1854 "required": true, 1855 "in": "path", 1856 "schema": { 1857 "format": "uuid", 1858 "type": "string" 1859 } 1860 } 1861 ], 1862 "responses": { 1863 "204": { 1864 "description": "" 1865 } 1866 }, 1867 "security": [ 1868 { 1869 "bearer": [] 1870 }, 1871 { 1872 "cookie": [] 1873 }, 1874 { 1875 "api_key": [] 1876 } 1877 ], 1878 "summary": "Delete an album", 1879 "tags": [ 1880 "Albums" 1881 ], 1882 "x-immich-history": [ 1883 { 1884 "version": "v1", 1885 "state": "Added" 1886 }, 1887 { 1888 "version": "v1", 1889 "state": "Beta" 1890 }, 1891 { 1892 "version": "v2", 1893 "state": "Stable" 1894 } 1895 ], 1896 "x-immich-permission": "album.delete", 1897 "x-immich-state": "Stable" 1898 }, 1899 "get": { 1900 "description": "Retrieve information about a specific album by its ID.", 1901 "operationId": "getAlbumInfo", 1902 "parameters": [ 1903 { 1904 "name": "id", 1905 "required": true, 1906 "in": "path", 1907 "schema": { 1908 "format": "uuid", 1909 "type": "string" 1910 } 1911 }, 1912 { 1913 "name": "key", 1914 "required": false, 1915 "in": "query", 1916 "schema": { 1917 "type": "string" 1918 } 1919 }, 1920 { 1921 "name": "slug", 1922 "required": false, 1923 "in": "query", 1924 "schema": { 1925 "type": "string" 1926 } 1927 }, 1928 { 1929 "name": "withoutAssets", 1930 "required": false, 1931 "in": "query", 1932 "schema": { 1933 "type": "boolean" 1934 } 1935 } 1936 ], 1937 "responses": { 1938 "200": { 1939 "content": { 1940 "application/json": { 1941 "schema": { 1942 "$ref": "#/components/schemas/AlbumResponseDto" 1943 } 1944 } 1945 }, 1946 "description": "" 1947 } 1948 }, 1949 "security": [ 1950 { 1951 "bearer": [] 1952 }, 1953 { 1954 "cookie": [] 1955 }, 1956 { 1957 "api_key": [] 1958 } 1959 ], 1960 "summary": "Retrieve an album", 1961 "tags": [ 1962 "Albums" 1963 ], 1964 "x-immich-history": [ 1965 { 1966 "version": "v1", 1967 "state": "Added" 1968 }, 1969 { 1970 "version": "v1", 1971 "state": "Beta" 1972 }, 1973 { 1974 "version": "v2", 1975 "state": "Stable" 1976 } 1977 ], 1978 "x-immich-permission": "album.read", 1979 "x-immich-state": "Stable" 1980 }, 1981 "patch": { 1982 "description": "Update the information of a specific album by its ID. This endpoint can be used to update the album name, description, sort order, etc. However, it is not used to add or remove assets or users from the album.", 1983 "operationId": "updateAlbumInfo", 1984 "parameters": [ 1985 { 1986 "name": "id", 1987 "required": true, 1988 "in": "path", 1989 "schema": { 1990 "format": "uuid", 1991 "type": "string" 1992 } 1993 } 1994 ], 1995 "requestBody": { 1996 "content": { 1997 "application/json": { 1998 "schema": { 1999 "$ref": "#/components/schemas/UpdateAlbumDto" 2000 } 2001 } 2002 }, 2003 "required": true 2004 }, 2005 "responses": { 2006 "200": { 2007 "content": { 2008 "application/json": { 2009 "schema": { 2010 "$ref": "#/components/schemas/AlbumResponseDto" 2011 } 2012 } 2013 }, 2014 "description": "" 2015 } 2016 }, 2017 "security": [ 2018 { 2019 "bearer": [] 2020 }, 2021 { 2022 "cookie": [] 2023 }, 2024 { 2025 "api_key": [] 2026 } 2027 ], 2028 "summary": "Update an album", 2029 "tags": [ 2030 "Albums" 2031 ], 2032 "x-immich-history": [ 2033 { 2034 "version": "v1", 2035 "state": "Added" 2036 }, 2037 { 2038 "version": "v1", 2039 "state": "Beta" 2040 }, 2041 { 2042 "version": "v2", 2043 "state": "Stable" 2044 } 2045 ], 2046 "x-immich-permission": "album.update", 2047 "x-immich-state": "Stable" 2048 } 2049 }, 2050 "/albums/{id}/assets": { 2051 "delete": { 2052 "description": "Remove multiple assets from a specific album by its ID.", 2053 "operationId": "removeAssetFromAlbum", 2054 "parameters": [ 2055 { 2056 "name": "id", 2057 "required": true, 2058 "in": "path", 2059 "schema": { 2060 "format": "uuid", 2061 "type": "string" 2062 } 2063 } 2064 ], 2065 "requestBody": { 2066 "content": { 2067 "application/json": { 2068 "schema": { 2069 "$ref": "#/components/schemas/BulkIdsDto" 2070 } 2071 } 2072 }, 2073 "required": true 2074 }, 2075 "responses": { 2076 "200": { 2077 "content": { 2078 "application/json": { 2079 "schema": { 2080 "items": { 2081 "$ref": "#/components/schemas/BulkIdResponseDto" 2082 }, 2083 "type": "array" 2084 } 2085 } 2086 }, 2087 "description": "" 2088 } 2089 }, 2090 "security": [ 2091 { 2092 "bearer": [] 2093 }, 2094 { 2095 "cookie": [] 2096 }, 2097 { 2098 "api_key": [] 2099 } 2100 ], 2101 "summary": "Remove assets from an album", 2102 "tags": [ 2103 "Albums" 2104 ], 2105 "x-immich-history": [ 2106 { 2107 "version": "v1", 2108 "state": "Added" 2109 }, 2110 { 2111 "version": "v1", 2112 "state": "Beta" 2113 }, 2114 { 2115 "version": "v2", 2116 "state": "Stable" 2117 } 2118 ], 2119 "x-immich-permission": "albumAsset.delete", 2120 "x-immich-state": "Stable" 2121 }, 2122 "put": { 2123 "description": "Add multiple assets to a specific album by its ID.", 2124 "operationId": "addAssetsToAlbum", 2125 "parameters": [ 2126 { 2127 "name": "id", 2128 "required": true, 2129 "in": "path", 2130 "schema": { 2131 "format": "uuid", 2132 "type": "string" 2133 } 2134 }, 2135 { 2136 "name": "key", 2137 "required": false, 2138 "in": "query", 2139 "schema": { 2140 "type": "string" 2141 } 2142 }, 2143 { 2144 "name": "slug", 2145 "required": false, 2146 "in": "query", 2147 "schema": { 2148 "type": "string" 2149 } 2150 } 2151 ], 2152 "requestBody": { 2153 "content": { 2154 "application/json": { 2155 "schema": { 2156 "$ref": "#/components/schemas/BulkIdsDto" 2157 } 2158 } 2159 }, 2160 "required": true 2161 }, 2162 "responses": { 2163 "200": { 2164 "content": { 2165 "application/json": { 2166 "schema": { 2167 "items": { 2168 "$ref": "#/components/schemas/BulkIdResponseDto" 2169 }, 2170 "type": "array" 2171 } 2172 } 2173 }, 2174 "description": "" 2175 } 2176 }, 2177 "security": [ 2178 { 2179 "bearer": [] 2180 }, 2181 { 2182 "cookie": [] 2183 }, 2184 { 2185 "api_key": [] 2186 } 2187 ], 2188 "summary": "Add assets to an album", 2189 "tags": [ 2190 "Albums" 2191 ], 2192 "x-immich-history": [ 2193 { 2194 "version": "v1", 2195 "state": "Added" 2196 }, 2197 { 2198 "version": "v1", 2199 "state": "Beta" 2200 }, 2201 { 2202 "version": "v2", 2203 "state": "Stable" 2204 } 2205 ], 2206 "x-immich-permission": "albumAsset.create", 2207 "x-immich-state": "Stable" 2208 } 2209 }, 2210 "/albums/{id}/user/{userId}": { 2211 "delete": { 2212 "description": "Remove a user from an album. Use an ID of \"me\" to leave a shared album.", 2213 "operationId": "removeUserFromAlbum", 2214 "parameters": [ 2215 { 2216 "name": "id", 2217 "required": true, 2218 "in": "path", 2219 "schema": { 2220 "format": "uuid", 2221 "type": "string" 2222 } 2223 }, 2224 { 2225 "name": "userId", 2226 "required": true, 2227 "in": "path", 2228 "schema": { 2229 "type": "string" 2230 } 2231 } 2232 ], 2233 "responses": { 2234 "204": { 2235 "description": "" 2236 } 2237 }, 2238 "security": [ 2239 { 2240 "bearer": [] 2241 }, 2242 { 2243 "cookie": [] 2244 }, 2245 { 2246 "api_key": [] 2247 } 2248 ], 2249 "summary": "Remove user from album", 2250 "tags": [ 2251 "Albums" 2252 ], 2253 "x-immich-history": [ 2254 { 2255 "version": "v1", 2256 "state": "Added" 2257 }, 2258 { 2259 "version": "v1", 2260 "state": "Beta" 2261 }, 2262 { 2263 "version": "v2", 2264 "state": "Stable" 2265 } 2266 ], 2267 "x-immich-permission": "albumUser.delete", 2268 "x-immich-state": "Stable" 2269 }, 2270 "put": { 2271 "description": "Change the role for a specific user in a specific album.", 2272 "operationId": "updateAlbumUser", 2273 "parameters": [ 2274 { 2275 "name": "id", 2276 "required": true, 2277 "in": "path", 2278 "schema": { 2279 "format": "uuid", 2280 "type": "string" 2281 } 2282 }, 2283 { 2284 "name": "userId", 2285 "required": true, 2286 "in": "path", 2287 "schema": { 2288 "type": "string" 2289 } 2290 } 2291 ], 2292 "requestBody": { 2293 "content": { 2294 "application/json": { 2295 "schema": { 2296 "$ref": "#/components/schemas/UpdateAlbumUserDto" 2297 } 2298 } 2299 }, 2300 "required": true 2301 }, 2302 "responses": { 2303 "204": { 2304 "description": "" 2305 } 2306 }, 2307 "security": [ 2308 { 2309 "bearer": [] 2310 }, 2311 { 2312 "cookie": [] 2313 }, 2314 { 2315 "api_key": [] 2316 } 2317 ], 2318 "summary": "Update user role", 2319 "tags": [ 2320 "Albums" 2321 ], 2322 "x-immich-history": [ 2323 { 2324 "version": "v1", 2325 "state": "Added" 2326 }, 2327 { 2328 "version": "v1", 2329 "state": "Beta" 2330 }, 2331 { 2332 "version": "v2", 2333 "state": "Stable" 2334 } 2335 ], 2336 "x-immich-permission": "albumUser.update", 2337 "x-immich-state": "Stable" 2338 } 2339 }, 2340 "/albums/{id}/users": { 2341 "put": { 2342 "description": "Share an album with multiple users. Each user can be given a specific role in the album.", 2343 "operationId": "addUsersToAlbum", 2344 "parameters": [ 2345 { 2346 "name": "id", 2347 "required": true, 2348 "in": "path", 2349 "schema": { 2350 "format": "uuid", 2351 "type": "string" 2352 } 2353 } 2354 ], 2355 "requestBody": { 2356 "content": { 2357 "application/json": { 2358 "schema": { 2359 "$ref": "#/components/schemas/AddUsersDto" 2360 } 2361 } 2362 }, 2363 "required": true 2364 }, 2365 "responses": { 2366 "200": { 2367 "content": { 2368 "application/json": { 2369 "schema": { 2370 "$ref": "#/components/schemas/AlbumResponseDto" 2371 } 2372 } 2373 }, 2374 "description": "" 2375 } 2376 }, 2377 "security": [ 2378 { 2379 "bearer": [] 2380 }, 2381 { 2382 "cookie": [] 2383 }, 2384 { 2385 "api_key": [] 2386 } 2387 ], 2388 "summary": "Share album with users", 2389 "tags": [ 2390 "Albums" 2391 ], 2392 "x-immich-history": [ 2393 { 2394 "version": "v1", 2395 "state": "Added" 2396 }, 2397 { 2398 "version": "v1", 2399 "state": "Beta" 2400 }, 2401 { 2402 "version": "v2", 2403 "state": "Stable" 2404 } 2405 ], 2406 "x-immich-permission": "albumUser.create", 2407 "x-immich-state": "Stable" 2408 } 2409 }, 2410 "/api-keys": { 2411 "get": { 2412 "description": "Retrieve all API keys of the current user.", 2413 "operationId": "getApiKeys", 2414 "parameters": [], 2415 "responses": { 2416 "200": { 2417 "content": { 2418 "application/json": { 2419 "schema": { 2420 "items": { 2421 "$ref": "#/components/schemas/APIKeyResponseDto" 2422 }, 2423 "type": "array" 2424 } 2425 } 2426 }, 2427 "description": "" 2428 } 2429 }, 2430 "security": [ 2431 { 2432 "bearer": [] 2433 }, 2434 { 2435 "cookie": [] 2436 }, 2437 { 2438 "api_key": [] 2439 } 2440 ], 2441 "summary": "List all API keys", 2442 "tags": [ 2443 "API keys" 2444 ], 2445 "x-immich-history": [ 2446 { 2447 "version": "v1", 2448 "state": "Added" 2449 }, 2450 { 2451 "version": "v1", 2452 "state": "Beta" 2453 }, 2454 { 2455 "version": "v2", 2456 "state": "Stable" 2457 } 2458 ], 2459 "x-immich-permission": "apiKey.read", 2460 "x-immich-state": "Stable" 2461 }, 2462 "post": { 2463 "description": "Creates a new API key. It will be limited to the permissions specified.", 2464 "operationId": "createApiKey", 2465 "parameters": [], 2466 "requestBody": { 2467 "content": { 2468 "application/json": { 2469 "schema": { 2470 "$ref": "#/components/schemas/APIKeyCreateDto" 2471 } 2472 } 2473 }, 2474 "required": true 2475 }, 2476 "responses": { 2477 "201": { 2478 "content": { 2479 "application/json": { 2480 "schema": { 2481 "$ref": "#/components/schemas/APIKeyCreateResponseDto" 2482 } 2483 } 2484 }, 2485 "description": "" 2486 } 2487 }, 2488 "security": [ 2489 { 2490 "bearer": [] 2491 }, 2492 { 2493 "cookie": [] 2494 }, 2495 { 2496 "api_key": [] 2497 } 2498 ], 2499 "summary": "Create an API key", 2500 "tags": [ 2501 "API keys" 2502 ], 2503 "x-immich-history": [ 2504 { 2505 "version": "v1", 2506 "state": "Added" 2507 }, 2508 { 2509 "version": "v1", 2510 "state": "Beta" 2511 }, 2512 { 2513 "version": "v2", 2514 "state": "Stable" 2515 } 2516 ], 2517 "x-immich-permission": "apiKey.create", 2518 "x-immich-state": "Stable" 2519 } 2520 }, 2521 "/api-keys/me": { 2522 "get": { 2523 "description": "Retrieve the API key that is used to access this endpoint.", 2524 "operationId": "getMyApiKey", 2525 "parameters": [], 2526 "responses": { 2527 "200": { 2528 "content": { 2529 "application/json": { 2530 "schema": { 2531 "$ref": "#/components/schemas/APIKeyResponseDto" 2532 } 2533 } 2534 }, 2535 "description": "" 2536 } 2537 }, 2538 "security": [ 2539 { 2540 "bearer": [] 2541 }, 2542 { 2543 "cookie": [] 2544 }, 2545 { 2546 "api_key": [] 2547 } 2548 ], 2549 "summary": "Retrieve the current API key", 2550 "tags": [ 2551 "API keys" 2552 ], 2553 "x-immich-history": [ 2554 { 2555 "version": "v1", 2556 "state": "Added" 2557 }, 2558 { 2559 "version": "v1", 2560 "state": "Beta" 2561 }, 2562 { 2563 "version": "v2", 2564 "state": "Stable" 2565 } 2566 ], 2567 "x-immich-state": "Stable" 2568 } 2569 }, 2570 "/api-keys/{id}": { 2571 "delete": { 2572 "description": "Deletes an API key identified by its ID. The current user must own this API key.", 2573 "operationId": "deleteApiKey", 2574 "parameters": [ 2575 { 2576 "name": "id", 2577 "required": true, 2578 "in": "path", 2579 "schema": { 2580 "format": "uuid", 2581 "type": "string" 2582 } 2583 } 2584 ], 2585 "responses": { 2586 "204": { 2587 "description": "" 2588 } 2589 }, 2590 "security": [ 2591 { 2592 "bearer": [] 2593 }, 2594 { 2595 "cookie": [] 2596 }, 2597 { 2598 "api_key": [] 2599 } 2600 ], 2601 "summary": "Delete an API key", 2602 "tags": [ 2603 "API keys" 2604 ], 2605 "x-immich-history": [ 2606 { 2607 "version": "v1", 2608 "state": "Added" 2609 }, 2610 { 2611 "version": "v1", 2612 "state": "Beta" 2613 }, 2614 { 2615 "version": "v2", 2616 "state": "Stable" 2617 } 2618 ], 2619 "x-immich-permission": "apiKey.delete", 2620 "x-immich-state": "Stable" 2621 }, 2622 "get": { 2623 "description": "Retrieve an API key by its ID. The current user must own this API key.", 2624 "operationId": "getApiKey", 2625 "parameters": [ 2626 { 2627 "name": "id", 2628 "required": true, 2629 "in": "path", 2630 "schema": { 2631 "format": "uuid", 2632 "type": "string" 2633 } 2634 } 2635 ], 2636 "responses": { 2637 "200": { 2638 "content": { 2639 "application/json": { 2640 "schema": { 2641 "$ref": "#/components/schemas/APIKeyResponseDto" 2642 } 2643 } 2644 }, 2645 "description": "" 2646 } 2647 }, 2648 "security": [ 2649 { 2650 "bearer": [] 2651 }, 2652 { 2653 "cookie": [] 2654 }, 2655 { 2656 "api_key": [] 2657 } 2658 ], 2659 "summary": "Retrieve an API key", 2660 "tags": [ 2661 "API keys" 2662 ], 2663 "x-immich-history": [ 2664 { 2665 "version": "v1", 2666 "state": "Added" 2667 }, 2668 { 2669 "version": "v1", 2670 "state": "Beta" 2671 }, 2672 { 2673 "version": "v2", 2674 "state": "Stable" 2675 } 2676 ], 2677 "x-immich-permission": "apiKey.read", 2678 "x-immich-state": "Stable" 2679 }, 2680 "put": { 2681 "description": "Updates the name and permissions of an API key by its ID. The current user must own this API key.", 2682 "operationId": "updateApiKey", 2683 "parameters": [ 2684 { 2685 "name": "id", 2686 "required": true, 2687 "in": "path", 2688 "schema": { 2689 "format": "uuid", 2690 "type": "string" 2691 } 2692 } 2693 ], 2694 "requestBody": { 2695 "content": { 2696 "application/json": { 2697 "schema": { 2698 "$ref": "#/components/schemas/APIKeyUpdateDto" 2699 } 2700 } 2701 }, 2702 "required": true 2703 }, 2704 "responses": { 2705 "200": { 2706 "content": { 2707 "application/json": { 2708 "schema": { 2709 "$ref": "#/components/schemas/APIKeyResponseDto" 2710 } 2711 } 2712 }, 2713 "description": "" 2714 } 2715 }, 2716 "security": [ 2717 { 2718 "bearer": [] 2719 }, 2720 { 2721 "cookie": [] 2722 }, 2723 { 2724 "api_key": [] 2725 } 2726 ], 2727 "summary": "Update an API key", 2728 "tags": [ 2729 "API keys" 2730 ], 2731 "x-immich-history": [ 2732 { 2733 "version": "v1", 2734 "state": "Added" 2735 }, 2736 { 2737 "version": "v1", 2738 "state": "Beta" 2739 }, 2740 { 2741 "version": "v2", 2742 "state": "Stable" 2743 } 2744 ], 2745 "x-immich-permission": "apiKey.update", 2746 "x-immich-state": "Stable" 2747 } 2748 }, 2749 "/assets": { 2750 "delete": { 2751 "description": "Deletes multiple assets at the same time.", 2752 "operationId": "deleteAssets", 2753 "parameters": [], 2754 "requestBody": { 2755 "content": { 2756 "application/json": { 2757 "schema": { 2758 "$ref": "#/components/schemas/AssetBulkDeleteDto" 2759 } 2760 } 2761 }, 2762 "required": true 2763 }, 2764 "responses": { 2765 "204": { 2766 "description": "" 2767 } 2768 }, 2769 "security": [ 2770 { 2771 "bearer": [] 2772 }, 2773 { 2774 "cookie": [] 2775 }, 2776 { 2777 "api_key": [] 2778 } 2779 ], 2780 "summary": "Delete assets", 2781 "tags": [ 2782 "Assets" 2783 ], 2784 "x-immich-history": [ 2785 { 2786 "version": "v1", 2787 "state": "Added" 2788 }, 2789 { 2790 "version": "v1", 2791 "state": "Beta" 2792 }, 2793 { 2794 "version": "v2", 2795 "state": "Stable" 2796 } 2797 ], 2798 "x-immich-permission": "asset.delete", 2799 "x-immich-state": "Stable" 2800 }, 2801 "post": { 2802 "description": "Uploads a new asset to the server.", 2803 "operationId": "uploadAsset", 2804 "parameters": [ 2805 { 2806 "name": "key", 2807 "required": false, 2808 "in": "query", 2809 "schema": { 2810 "type": "string" 2811 } 2812 }, 2813 { 2814 "name": "slug", 2815 "required": false, 2816 "in": "query", 2817 "schema": { 2818 "type": "string" 2819 } 2820 }, 2821 { 2822 "name": "x-immich-checksum", 2823 "in": "header", 2824 "description": "sha1 checksum that can be used for duplicate detection before the file is uploaded", 2825 "required": false, 2826 "schema": { 2827 "type": "string" 2828 } 2829 } 2830 ], 2831 "requestBody": { 2832 "content": { 2833 "multipart/form-data": { 2834 "schema": { 2835 "$ref": "#/components/schemas/AssetMediaCreateDto" 2836 } 2837 } 2838 }, 2839 "description": "Asset Upload Information", 2840 "required": true 2841 }, 2842 "responses": { 2843 "200": { 2844 "content": { 2845 "application/json": { 2846 "schema": { 2847 "$ref": "#/components/schemas/AssetMediaResponseDto" 2848 } 2849 } 2850 }, 2851 "description": "Asset is a duplicate" 2852 }, 2853 "201": { 2854 "content": { 2855 "application/json": { 2856 "schema": { 2857 "$ref": "#/components/schemas/AssetMediaResponseDto" 2858 } 2859 } 2860 }, 2861 "description": "Asset uploaded successfully" 2862 } 2863 }, 2864 "security": [ 2865 { 2866 "bearer": [] 2867 }, 2868 { 2869 "cookie": [] 2870 }, 2871 { 2872 "api_key": [] 2873 } 2874 ], 2875 "summary": "Upload asset", 2876 "tags": [ 2877 "Assets" 2878 ], 2879 "x-immich-history": [ 2880 { 2881 "version": "v1", 2882 "state": "Added" 2883 }, 2884 { 2885 "version": "v1", 2886 "state": "Beta" 2887 }, 2888 { 2889 "version": "v2", 2890 "state": "Stable" 2891 } 2892 ], 2893 "x-immich-permission": "asset.upload", 2894 "x-immich-state": "Stable" 2895 }, 2896 "put": { 2897 "description": "Updates multiple assets at the same time.", 2898 "operationId": "updateAssets", 2899 "parameters": [], 2900 "requestBody": { 2901 "content": { 2902 "application/json": { 2903 "schema": { 2904 "$ref": "#/components/schemas/AssetBulkUpdateDto" 2905 } 2906 } 2907 }, 2908 "required": true 2909 }, 2910 "responses": { 2911 "204": { 2912 "description": "" 2913 } 2914 }, 2915 "security": [ 2916 { 2917 "bearer": [] 2918 }, 2919 { 2920 "cookie": [] 2921 }, 2922 { 2923 "api_key": [] 2924 } 2925 ], 2926 "summary": "Update assets", 2927 "tags": [ 2928 "Assets" 2929 ], 2930 "x-immich-history": [ 2931 { 2932 "version": "v1", 2933 "state": "Added" 2934 }, 2935 { 2936 "version": "v1", 2937 "state": "Beta" 2938 }, 2939 { 2940 "version": "v2", 2941 "state": "Stable" 2942 } 2943 ], 2944 "x-immich-permission": "asset.update", 2945 "x-immich-state": "Stable" 2946 } 2947 }, 2948 "/assets/bulk-upload-check": { 2949 "post": { 2950 "description": "Determine which assets have already been uploaded to the server based on their SHA1 checksums.", 2951 "operationId": "checkBulkUpload", 2952 "parameters": [], 2953 "requestBody": { 2954 "content": { 2955 "application/json": { 2956 "schema": { 2957 "$ref": "#/components/schemas/AssetBulkUploadCheckDto" 2958 } 2959 } 2960 }, 2961 "required": true 2962 }, 2963 "responses": { 2964 "200": { 2965 "content": { 2966 "application/json": { 2967 "schema": { 2968 "$ref": "#/components/schemas/AssetBulkUploadCheckResponseDto" 2969 } 2970 } 2971 }, 2972 "description": "" 2973 } 2974 }, 2975 "security": [ 2976 { 2977 "bearer": [] 2978 }, 2979 { 2980 "cookie": [] 2981 }, 2982 { 2983 "api_key": [] 2984 } 2985 ], 2986 "summary": "Check bulk upload", 2987 "tags": [ 2988 "Assets" 2989 ], 2990 "x-immich-history": [ 2991 { 2992 "version": "v1", 2993 "state": "Added" 2994 }, 2995 { 2996 "version": "v1", 2997 "state": "Beta" 2998 }, 2999 { 3000 "version": "v2", 3001 "state": "Stable" 3002 } 3003 ], 3004 "x-immich-permission": "asset.upload", 3005 "x-immich-state": "Stable" 3006 } 3007 }, 3008 "/assets/copy": { 3009 "put": { 3010 "description": "Copy asset information like albums, tags, etc. from one asset to another.", 3011 "operationId": "copyAsset", 3012 "parameters": [], 3013 "requestBody": { 3014 "content": { 3015 "application/json": { 3016 "schema": { 3017 "$ref": "#/components/schemas/AssetCopyDto" 3018 } 3019 } 3020 }, 3021 "required": true 3022 }, 3023 "responses": { 3024 "204": { 3025 "description": "" 3026 } 3027 }, 3028 "security": [ 3029 { 3030 "bearer": [] 3031 }, 3032 { 3033 "cookie": [] 3034 }, 3035 { 3036 "api_key": [] 3037 } 3038 ], 3039 "summary": "Copy asset", 3040 "tags": [ 3041 "Assets" 3042 ], 3043 "x-immich-history": [ 3044 { 3045 "version": "v1", 3046 "state": "Added" 3047 }, 3048 { 3049 "version": "v1", 3050 "state": "Beta" 3051 }, 3052 { 3053 "version": "v2", 3054 "state": "Stable" 3055 } 3056 ], 3057 "x-immich-permission": "asset.copy", 3058 "x-immich-state": "Stable" 3059 } 3060 }, 3061 "/assets/device/{deviceId}": { 3062 "get": { 3063 "deprecated": true, 3064 "description": "Get all asset of a device that are in the database, ID only.", 3065 "operationId": "getAllUserAssetsByDeviceId", 3066 "parameters": [ 3067 { 3068 "name": "deviceId", 3069 "required": true, 3070 "in": "path", 3071 "schema": { 3072 "type": "string" 3073 } 3074 } 3075 ], 3076 "responses": { 3077 "200": { 3078 "content": { 3079 "application/json": { 3080 "schema": { 3081 "items": { 3082 "type": "string" 3083 }, 3084 "type": "array" 3085 } 3086 } 3087 }, 3088 "description": "" 3089 } 3090 }, 3091 "security": [ 3092 { 3093 "bearer": [] 3094 }, 3095 { 3096 "cookie": [] 3097 }, 3098 { 3099 "api_key": [] 3100 } 3101 ], 3102 "summary": "Retrieve assets by device ID", 3103 "tags": [ 3104 "Assets", 3105 "Deprecated" 3106 ], 3107 "x-immich-history": [ 3108 { 3109 "version": "v1", 3110 "state": "Added" 3111 }, 3112 { 3113 "version": "v2", 3114 "state": "Deprecated" 3115 } 3116 ], 3117 "x-immich-state": "Deprecated" 3118 } 3119 }, 3120 "/assets/exist": { 3121 "post": { 3122 "description": "Checks if multiple assets exist on the server and returns all existing - used by background backup", 3123 "operationId": "checkExistingAssets", 3124 "parameters": [], 3125 "requestBody": { 3126 "content": { 3127 "application/json": { 3128 "schema": { 3129 "$ref": "#/components/schemas/CheckExistingAssetsDto" 3130 } 3131 } 3132 }, 3133 "required": true 3134 }, 3135 "responses": { 3136 "200": { 3137 "content": { 3138 "application/json": { 3139 "schema": { 3140 "$ref": "#/components/schemas/CheckExistingAssetsResponseDto" 3141 } 3142 } 3143 }, 3144 "description": "" 3145 } 3146 }, 3147 "security": [ 3148 { 3149 "bearer": [] 3150 }, 3151 { 3152 "cookie": [] 3153 }, 3154 { 3155 "api_key": [] 3156 } 3157 ], 3158 "summary": "Check existing assets", 3159 "tags": [ 3160 "Assets" 3161 ], 3162 "x-immich-history": [ 3163 { 3164 "version": "v1", 3165 "state": "Added" 3166 }, 3167 { 3168 "version": "v1", 3169 "state": "Beta" 3170 }, 3171 { 3172 "version": "v2", 3173 "state": "Stable" 3174 } 3175 ], 3176 "x-immich-permission": "asset.upload", 3177 "x-immich-state": "Stable" 3178 } 3179 }, 3180 "/assets/jobs": { 3181 "post": { 3182 "description": "Run a specific job on a set of assets.", 3183 "operationId": "runAssetJobs", 3184 "parameters": [], 3185 "requestBody": { 3186 "content": { 3187 "application/json": { 3188 "schema": { 3189 "$ref": "#/components/schemas/AssetJobsDto" 3190 } 3191 } 3192 }, 3193 "required": true 3194 }, 3195 "responses": { 3196 "204": { 3197 "description": "" 3198 } 3199 }, 3200 "security": [ 3201 { 3202 "bearer": [] 3203 }, 3204 { 3205 "cookie": [] 3206 }, 3207 { 3208 "api_key": [] 3209 } 3210 ], 3211 "summary": "Run an asset job", 3212 "tags": [ 3213 "Assets" 3214 ], 3215 "x-immich-history": [ 3216 { 3217 "version": "v1", 3218 "state": "Added" 3219 }, 3220 { 3221 "version": "v1", 3222 "state": "Beta" 3223 }, 3224 { 3225 "version": "v2", 3226 "state": "Stable" 3227 } 3228 ], 3229 "x-immich-permission": "job.create", 3230 "x-immich-state": "Stable" 3231 } 3232 }, 3233 "/assets/metadata": { 3234 "delete": { 3235 "description": "Delete metadata key-value pairs for multiple assets.", 3236 "operationId": "deleteBulkAssetMetadata", 3237 "parameters": [], 3238 "requestBody": { 3239 "content": { 3240 "application/json": { 3241 "schema": { 3242 "$ref": "#/components/schemas/AssetMetadataBulkDeleteDto" 3243 } 3244 } 3245 }, 3246 "required": true 3247 }, 3248 "responses": { 3249 "204": { 3250 "description": "" 3251 } 3252 }, 3253 "security": [ 3254 { 3255 "bearer": [] 3256 }, 3257 { 3258 "cookie": [] 3259 }, 3260 { 3261 "api_key": [] 3262 } 3263 ], 3264 "summary": "Delete asset metadata", 3265 "tags": [ 3266 "Assets" 3267 ], 3268 "x-immich-history": [ 3269 { 3270 "version": "v1", 3271 "state": "Added" 3272 }, 3273 { 3274 "version": "v2.5.0", 3275 "state": "Beta" 3276 } 3277 ], 3278 "x-immich-permission": "asset.update", 3279 "x-immich-state": "Beta" 3280 }, 3281 "put": { 3282 "description": "Upsert metadata key-value pairs for multiple assets.", 3283 "operationId": "updateBulkAssetMetadata", 3284 "parameters": [], 3285 "requestBody": { 3286 "content": { 3287 "application/json": { 3288 "schema": { 3289 "$ref": "#/components/schemas/AssetMetadataBulkUpsertDto" 3290 } 3291 } 3292 }, 3293 "required": true 3294 }, 3295 "responses": { 3296 "200": { 3297 "content": { 3298 "application/json": { 3299 "schema": { 3300 "items": { 3301 "$ref": "#/components/schemas/AssetMetadataBulkResponseDto" 3302 }, 3303 "type": "array" 3304 } 3305 } 3306 }, 3307 "description": "" 3308 } 3309 }, 3310 "security": [ 3311 { 3312 "bearer": [] 3313 }, 3314 { 3315 "cookie": [] 3316 }, 3317 { 3318 "api_key": [] 3319 } 3320 ], 3321 "summary": "Upsert asset metadata", 3322 "tags": [ 3323 "Assets" 3324 ], 3325 "x-immich-history": [ 3326 { 3327 "version": "v1", 3328 "state": "Added" 3329 }, 3330 { 3331 "version": "v2.5.0", 3332 "state": "Beta" 3333 } 3334 ], 3335 "x-immich-permission": "asset.update", 3336 "x-immich-state": "Beta" 3337 } 3338 }, 3339 "/assets/random": { 3340 "get": { 3341 "deprecated": true, 3342 "description": "Retrieve a specified number of random assets for the authenticated user.", 3343 "operationId": "getRandom", 3344 "parameters": [ 3345 { 3346 "name": "count", 3347 "required": false, 3348 "in": "query", 3349 "schema": { 3350 "minimum": 1, 3351 "type": "number" 3352 } 3353 } 3354 ], 3355 "responses": { 3356 "200": { 3357 "content": { 3358 "application/json": { 3359 "schema": { 3360 "items": { 3361 "$ref": "#/components/schemas/AssetResponseDto" 3362 }, 3363 "type": "array" 3364 } 3365 } 3366 }, 3367 "description": "" 3368 } 3369 }, 3370 "security": [ 3371 { 3372 "bearer": [] 3373 }, 3374 { 3375 "cookie": [] 3376 }, 3377 { 3378 "api_key": [] 3379 } 3380 ], 3381 "summary": "Get random assets", 3382 "tags": [ 3383 "Assets", 3384 "Deprecated" 3385 ], 3386 "x-immich-history": [ 3387 { 3388 "version": "v1", 3389 "state": "Added" 3390 }, 3391 { 3392 "version": "v1", 3393 "state": "Deprecated", 3394 "replacementId": "searchAssets" 3395 } 3396 ], 3397 "x-immich-permission": "asset.read", 3398 "x-immich-state": "Deprecated" 3399 } 3400 }, 3401 "/assets/statistics": { 3402 "get": { 3403 "description": "Retrieve various statistics about the assets owned by the authenticated user.", 3404 "operationId": "getAssetStatistics", 3405 "parameters": [ 3406 { 3407 "name": "isFavorite", 3408 "required": false, 3409 "in": "query", 3410 "schema": { 3411 "type": "boolean" 3412 } 3413 }, 3414 { 3415 "name": "isTrashed", 3416 "required": false, 3417 "in": "query", 3418 "schema": { 3419 "type": "boolean" 3420 } 3421 }, 3422 { 3423 "name": "visibility", 3424 "required": false, 3425 "in": "query", 3426 "schema": { 3427 "$ref": "#/components/schemas/AssetVisibility" 3428 } 3429 } 3430 ], 3431 "responses": { 3432 "200": { 3433 "content": { 3434 "application/json": { 3435 "schema": { 3436 "$ref": "#/components/schemas/AssetStatsResponseDto" 3437 } 3438 } 3439 }, 3440 "description": "" 3441 } 3442 }, 3443 "security": [ 3444 { 3445 "bearer": [] 3446 }, 3447 { 3448 "cookie": [] 3449 }, 3450 { 3451 "api_key": [] 3452 } 3453 ], 3454 "summary": "Get asset statistics", 3455 "tags": [ 3456 "Assets" 3457 ], 3458 "x-immich-history": [ 3459 { 3460 "version": "v1", 3461 "state": "Added" 3462 }, 3463 { 3464 "version": "v1", 3465 "state": "Beta" 3466 }, 3467 { 3468 "version": "v2", 3469 "state": "Stable" 3470 } 3471 ], 3472 "x-immich-permission": "asset.statistics", 3473 "x-immich-state": "Stable" 3474 } 3475 }, 3476 "/assets/{id}": { 3477 "get": { 3478 "description": "Retrieve detailed information about a specific asset.", 3479 "operationId": "getAssetInfo", 3480 "parameters": [ 3481 { 3482 "name": "id", 3483 "required": true, 3484 "in": "path", 3485 "schema": { 3486 "format": "uuid", 3487 "type": "string" 3488 } 3489 }, 3490 { 3491 "name": "key", 3492 "required": false, 3493 "in": "query", 3494 "schema": { 3495 "type": "string" 3496 } 3497 }, 3498 { 3499 "name": "slug", 3500 "required": false, 3501 "in": "query", 3502 "schema": { 3503 "type": "string" 3504 } 3505 } 3506 ], 3507 "responses": { 3508 "200": { 3509 "content": { 3510 "application/json": { 3511 "schema": { 3512 "$ref": "#/components/schemas/AssetResponseDto" 3513 } 3514 } 3515 }, 3516 "description": "" 3517 } 3518 }, 3519 "security": [ 3520 { 3521 "bearer": [] 3522 }, 3523 { 3524 "cookie": [] 3525 }, 3526 { 3527 "api_key": [] 3528 } 3529 ], 3530 "summary": "Retrieve an asset", 3531 "tags": [ 3532 "Assets" 3533 ], 3534 "x-immich-history": [ 3535 { 3536 "version": "v1", 3537 "state": "Added" 3538 }, 3539 { 3540 "version": "v1", 3541 "state": "Beta" 3542 }, 3543 { 3544 "version": "v2", 3545 "state": "Stable" 3546 } 3547 ], 3548 "x-immich-permission": "asset.read", 3549 "x-immich-state": "Stable" 3550 }, 3551 "put": { 3552 "description": "Update information of a specific asset.", 3553 "operationId": "updateAsset", 3554 "parameters": [ 3555 { 3556 "name": "id", 3557 "required": true, 3558 "in": "path", 3559 "schema": { 3560 "format": "uuid", 3561 "type": "string" 3562 } 3563 } 3564 ], 3565 "requestBody": { 3566 "content": { 3567 "application/json": { 3568 "schema": { 3569 "$ref": "#/components/schemas/UpdateAssetDto" 3570 } 3571 } 3572 }, 3573 "required": true 3574 }, 3575 "responses": { 3576 "200": { 3577 "content": { 3578 "application/json": { 3579 "schema": { 3580 "$ref": "#/components/schemas/AssetResponseDto" 3581 } 3582 } 3583 }, 3584 "description": "" 3585 } 3586 }, 3587 "security": [ 3588 { 3589 "bearer": [] 3590 }, 3591 { 3592 "cookie": [] 3593 }, 3594 { 3595 "api_key": [] 3596 } 3597 ], 3598 "summary": "Update an asset", 3599 "tags": [ 3600 "Assets" 3601 ], 3602 "x-immich-history": [ 3603 { 3604 "version": "v1", 3605 "state": "Added" 3606 }, 3607 { 3608 "version": "v1", 3609 "state": "Beta" 3610 }, 3611 { 3612 "version": "v2", 3613 "state": "Stable" 3614 } 3615 ], 3616 "x-immich-permission": "asset.update", 3617 "x-immich-state": "Stable" 3618 } 3619 }, 3620 "/assets/{id}/edits": { 3621 "delete": { 3622 "description": "Removes all edit actions (crop, rotate, mirror) associated with the specified asset.", 3623 "operationId": "removeAssetEdits", 3624 "parameters": [ 3625 { 3626 "name": "id", 3627 "required": true, 3628 "in": "path", 3629 "schema": { 3630 "format": "uuid", 3631 "type": "string" 3632 } 3633 } 3634 ], 3635 "responses": { 3636 "204": { 3637 "description": "" 3638 } 3639 }, 3640 "security": [ 3641 { 3642 "bearer": [] 3643 }, 3644 { 3645 "cookie": [] 3646 }, 3647 { 3648 "api_key": [] 3649 } 3650 ], 3651 "summary": "Remove edits from an existing asset", 3652 "tags": [ 3653 "Assets" 3654 ], 3655 "x-immich-history": [ 3656 { 3657 "version": "v2.5.0", 3658 "state": "Added" 3659 }, 3660 { 3661 "version": "v2.5.0", 3662 "state": "Beta" 3663 } 3664 ], 3665 "x-immich-permission": "asset.edit.delete", 3666 "x-immich-state": "Beta" 3667 }, 3668 "get": { 3669 "description": "Retrieve a series of edit actions (crop, rotate, mirror) associated with the specified asset.", 3670 "operationId": "getAssetEdits", 3671 "parameters": [ 3672 { 3673 "name": "id", 3674 "required": true, 3675 "in": "path", 3676 "schema": { 3677 "format": "uuid", 3678 "type": "string" 3679 } 3680 } 3681 ], 3682 "responses": { 3683 "200": { 3684 "content": { 3685 "application/json": { 3686 "schema": { 3687 "$ref": "#/components/schemas/AssetEditsDto" 3688 } 3689 } 3690 }, 3691 "description": "" 3692 } 3693 }, 3694 "security": [ 3695 { 3696 "bearer": [] 3697 }, 3698 { 3699 "cookie": [] 3700 }, 3701 { 3702 "api_key": [] 3703 } 3704 ], 3705 "summary": "Retrieve edits for an existing asset", 3706 "tags": [ 3707 "Assets" 3708 ], 3709 "x-immich-history": [ 3710 { 3711 "version": "v2.5.0", 3712 "state": "Added" 3713 }, 3714 { 3715 "version": "v2.5.0", 3716 "state": "Beta" 3717 } 3718 ], 3719 "x-immich-permission": "asset.edit.get", 3720 "x-immich-state": "Beta" 3721 }, 3722 "put": { 3723 "description": "Apply a series of edit actions (crop, rotate, mirror) to the specified asset.", 3724 "operationId": "editAsset", 3725 "parameters": [ 3726 { 3727 "name": "id", 3728 "required": true, 3729 "in": "path", 3730 "schema": { 3731 "format": "uuid", 3732 "type": "string" 3733 } 3734 } 3735 ], 3736 "requestBody": { 3737 "content": { 3738 "application/json": { 3739 "schema": { 3740 "$ref": "#/components/schemas/AssetEditActionListDto" 3741 } 3742 } 3743 }, 3744 "required": true 3745 }, 3746 "responses": { 3747 "200": { 3748 "content": { 3749 "application/json": { 3750 "schema": { 3751 "$ref": "#/components/schemas/AssetEditsDto" 3752 } 3753 } 3754 }, 3755 "description": "" 3756 } 3757 }, 3758 "security": [ 3759 { 3760 "bearer": [] 3761 }, 3762 { 3763 "cookie": [] 3764 }, 3765 { 3766 "api_key": [] 3767 } 3768 ], 3769 "summary": "Apply edits to an existing asset", 3770 "tags": [ 3771 "Assets" 3772 ], 3773 "x-immich-history": [ 3774 { 3775 "version": "v2.5.0", 3776 "state": "Added" 3777 }, 3778 { 3779 "version": "v2.5.0", 3780 "state": "Beta" 3781 } 3782 ], 3783 "x-immich-permission": "asset.edit.create", 3784 "x-immich-state": "Beta" 3785 } 3786 }, 3787 "/assets/{id}/metadata": { 3788 "get": { 3789 "description": "Retrieve all metadata key-value pairs associated with the specified asset.", 3790 "operationId": "getAssetMetadata", 3791 "parameters": [ 3792 { 3793 "name": "id", 3794 "required": true, 3795 "in": "path", 3796 "schema": { 3797 "format": "uuid", 3798 "type": "string" 3799 } 3800 } 3801 ], 3802 "responses": { 3803 "200": { 3804 "content": { 3805 "application/json": { 3806 "schema": { 3807 "items": { 3808 "$ref": "#/components/schemas/AssetMetadataResponseDto" 3809 }, 3810 "type": "array" 3811 } 3812 } 3813 }, 3814 "description": "" 3815 } 3816 }, 3817 "security": [ 3818 { 3819 "bearer": [] 3820 }, 3821 { 3822 "cookie": [] 3823 }, 3824 { 3825 "api_key": [] 3826 } 3827 ], 3828 "summary": "Get asset metadata", 3829 "tags": [ 3830 "Assets" 3831 ], 3832 "x-immich-history": [ 3833 { 3834 "version": "v1", 3835 "state": "Added" 3836 }, 3837 { 3838 "version": "v1", 3839 "state": "Beta" 3840 }, 3841 { 3842 "version": "v2", 3843 "state": "Stable" 3844 } 3845 ], 3846 "x-immich-permission": "asset.read", 3847 "x-immich-state": "Stable" 3848 }, 3849 "put": { 3850 "description": "Update or add metadata key-value pairs for the specified asset.", 3851 "operationId": "updateAssetMetadata", 3852 "parameters": [ 3853 { 3854 "name": "id", 3855 "required": true, 3856 "in": "path", 3857 "schema": { 3858 "format": "uuid", 3859 "type": "string" 3860 } 3861 } 3862 ], 3863 "requestBody": { 3864 "content": { 3865 "application/json": { 3866 "schema": { 3867 "$ref": "#/components/schemas/AssetMetadataUpsertDto" 3868 } 3869 } 3870 }, 3871 "required": true 3872 }, 3873 "responses": { 3874 "200": { 3875 "content": { 3876 "application/json": { 3877 "schema": { 3878 "items": { 3879 "$ref": "#/components/schemas/AssetMetadataResponseDto" 3880 }, 3881 "type": "array" 3882 } 3883 } 3884 }, 3885 "description": "" 3886 } 3887 }, 3888 "security": [ 3889 { 3890 "bearer": [] 3891 }, 3892 { 3893 "cookie": [] 3894 }, 3895 { 3896 "api_key": [] 3897 } 3898 ], 3899 "summary": "Update asset metadata", 3900 "tags": [ 3901 "Assets" 3902 ], 3903 "x-immich-history": [ 3904 { 3905 "version": "v1", 3906 "state": "Added" 3907 }, 3908 { 3909 "version": "v1", 3910 "state": "Beta" 3911 }, 3912 { 3913 "version": "v2", 3914 "state": "Stable" 3915 } 3916 ], 3917 "x-immich-permission": "asset.update", 3918 "x-immich-state": "Stable" 3919 } 3920 }, 3921 "/assets/{id}/metadata/{key}": { 3922 "delete": { 3923 "description": "Delete a specific metadata key-value pair associated with the specified asset.", 3924 "operationId": "deleteAssetMetadata", 3925 "parameters": [ 3926 { 3927 "name": "id", 3928 "required": true, 3929 "in": "path", 3930 "schema": { 3931 "format": "uuid", 3932 "type": "string" 3933 } 3934 }, 3935 { 3936 "name": "key", 3937 "required": true, 3938 "in": "path", 3939 "schema": { 3940 "type": "string" 3941 } 3942 } 3943 ], 3944 "responses": { 3945 "204": { 3946 "description": "" 3947 } 3948 }, 3949 "security": [ 3950 { 3951 "bearer": [] 3952 }, 3953 { 3954 "cookie": [] 3955 }, 3956 { 3957 "api_key": [] 3958 } 3959 ], 3960 "summary": "Delete asset metadata by key", 3961 "tags": [ 3962 "Assets" 3963 ], 3964 "x-immich-history": [ 3965 { 3966 "version": "v1", 3967 "state": "Added" 3968 }, 3969 { 3970 "version": "v1", 3971 "state": "Beta" 3972 }, 3973 { 3974 "version": "v2", 3975 "state": "Stable" 3976 } 3977 ], 3978 "x-immich-permission": "asset.update", 3979 "x-immich-state": "Stable" 3980 }, 3981 "get": { 3982 "description": "Retrieve the value of a specific metadata key associated with the specified asset.", 3983 "operationId": "getAssetMetadataByKey", 3984 "parameters": [ 3985 { 3986 "name": "id", 3987 "required": true, 3988 "in": "path", 3989 "schema": { 3990 "format": "uuid", 3991 "type": "string" 3992 } 3993 }, 3994 { 3995 "name": "key", 3996 "required": true, 3997 "in": "path", 3998 "schema": { 3999 "type": "string" 4000 } 4001 } 4002 ], 4003 "responses": { 4004 "200": { 4005 "content": { 4006 "application/json": { 4007 "schema": { 4008 "$ref": "#/components/schemas/AssetMetadataResponseDto" 4009 } 4010 } 4011 }, 4012 "description": "" 4013 } 4014 }, 4015 "security": [ 4016 { 4017 "bearer": [] 4018 }, 4019 { 4020 "cookie": [] 4021 }, 4022 { 4023 "api_key": [] 4024 } 4025 ], 4026 "summary": "Retrieve asset metadata by key", 4027 "tags": [ 4028 "Assets" 4029 ], 4030 "x-immich-history": [ 4031 { 4032 "version": "v1", 4033 "state": "Added" 4034 }, 4035 { 4036 "version": "v1", 4037 "state": "Beta" 4038 }, 4039 { 4040 "version": "v2", 4041 "state": "Stable" 4042 } 4043 ], 4044 "x-immich-permission": "asset.read", 4045 "x-immich-state": "Stable" 4046 } 4047 }, 4048 "/assets/{id}/ocr": { 4049 "get": { 4050 "description": "Retrieve all OCR (Optical Character Recognition) data associated with the specified asset.", 4051 "operationId": "getAssetOcr", 4052 "parameters": [ 4053 { 4054 "name": "id", 4055 "required": true, 4056 "in": "path", 4057 "schema": { 4058 "format": "uuid", 4059 "type": "string" 4060 } 4061 } 4062 ], 4063 "responses": { 4064 "200": { 4065 "content": { 4066 "application/json": { 4067 "schema": { 4068 "items": { 4069 "$ref": "#/components/schemas/AssetOcrResponseDto" 4070 }, 4071 "type": "array" 4072 } 4073 } 4074 }, 4075 "description": "" 4076 } 4077 }, 4078 "security": [ 4079 { 4080 "bearer": [] 4081 }, 4082 { 4083 "cookie": [] 4084 }, 4085 { 4086 "api_key": [] 4087 } 4088 ], 4089 "summary": "Retrieve asset OCR data", 4090 "tags": [ 4091 "Assets" 4092 ], 4093 "x-immich-history": [ 4094 { 4095 "version": "v1", 4096 "state": "Added" 4097 }, 4098 { 4099 "version": "v1", 4100 "state": "Beta" 4101 }, 4102 { 4103 "version": "v2", 4104 "state": "Stable" 4105 } 4106 ], 4107 "x-immich-permission": "asset.read", 4108 "x-immich-state": "Stable" 4109 } 4110 }, 4111 "/assets/{id}/original": { 4112 "get": { 4113 "description": "Downloads the original file of the specified asset.", 4114 "operationId": "downloadAsset", 4115 "parameters": [ 4116 { 4117 "name": "edited", 4118 "required": false, 4119 "in": "query", 4120 "schema": { 4121 "default": false, 4122 "type": "boolean" 4123 } 4124 }, 4125 { 4126 "name": "id", 4127 "required": true, 4128 "in": "path", 4129 "schema": { 4130 "format": "uuid", 4131 "type": "string" 4132 } 4133 }, 4134 { 4135 "name": "key", 4136 "required": false, 4137 "in": "query", 4138 "schema": { 4139 "type": "string" 4140 } 4141 }, 4142 { 4143 "name": "slug", 4144 "required": false, 4145 "in": "query", 4146 "schema": { 4147 "type": "string" 4148 } 4149 } 4150 ], 4151 "responses": { 4152 "200": { 4153 "content": { 4154 "application/octet-stream": { 4155 "schema": { 4156 "format": "binary", 4157 "type": "string" 4158 } 4159 } 4160 }, 4161 "description": "" 4162 } 4163 }, 4164 "security": [ 4165 { 4166 "bearer": [] 4167 }, 4168 { 4169 "cookie": [] 4170 }, 4171 { 4172 "api_key": [] 4173 } 4174 ], 4175 "summary": "Download original asset", 4176 "tags": [ 4177 "Assets" 4178 ], 4179 "x-immich-history": [ 4180 { 4181 "version": "v1", 4182 "state": "Added" 4183 }, 4184 { 4185 "version": "v1", 4186 "state": "Beta" 4187 }, 4188 { 4189 "version": "v2", 4190 "state": "Stable" 4191 } 4192 ], 4193 "x-immich-permission": "asset.download", 4194 "x-immich-state": "Stable" 4195 }, 4196 "put": { 4197 "deprecated": true, 4198 "description": "Replace the asset with new file, without changing its id.", 4199 "operationId": "replaceAsset", 4200 "parameters": [ 4201 { 4202 "name": "id", 4203 "required": true, 4204 "in": "path", 4205 "schema": { 4206 "format": "uuid", 4207 "type": "string" 4208 } 4209 }, 4210 { 4211 "name": "key", 4212 "required": false, 4213 "in": "query", 4214 "schema": { 4215 "type": "string" 4216 } 4217 }, 4218 { 4219 "name": "slug", 4220 "required": false, 4221 "in": "query", 4222 "schema": { 4223 "type": "string" 4224 } 4225 } 4226 ], 4227 "requestBody": { 4228 "content": { 4229 "multipart/form-data": { 4230 "schema": { 4231 "$ref": "#/components/schemas/AssetMediaReplaceDto" 4232 } 4233 } 4234 }, 4235 "required": true 4236 }, 4237 "responses": { 4238 "200": { 4239 "content": { 4240 "application/json": { 4241 "schema": { 4242 "$ref": "#/components/schemas/AssetMediaResponseDto" 4243 } 4244 } 4245 }, 4246 "description": "Asset replaced successfully" 4247 } 4248 }, 4249 "security": [ 4250 { 4251 "bearer": [] 4252 }, 4253 { 4254 "cookie": [] 4255 }, 4256 { 4257 "api_key": [] 4258 } 4259 ], 4260 "summary": "Replace asset", 4261 "tags": [ 4262 "Assets", 4263 "Deprecated" 4264 ], 4265 "x-immich-history": [ 4266 { 4267 "version": "v1", 4268 "state": "Added" 4269 }, 4270 { 4271 "version": "v1", 4272 "state": "Deprecated", 4273 "replacementId": "copyAsset" 4274 } 4275 ], 4276 "x-immich-permission": "asset.replace", 4277 "x-immich-state": "Deprecated" 4278 } 4279 }, 4280 "/assets/{id}/thumbnail": { 4281 "get": { 4282 "description": "Retrieve the thumbnail image for the specified asset. Viewing the fullsize thumbnail might redirect to downloadAsset, which requires a different permission.", 4283 "operationId": "viewAsset", 4284 "parameters": [ 4285 { 4286 "name": "edited", 4287 "required": false, 4288 "in": "query", 4289 "schema": { 4290 "default": false, 4291 "type": "boolean" 4292 } 4293 }, 4294 { 4295 "name": "id", 4296 "required": true, 4297 "in": "path", 4298 "schema": { 4299 "format": "uuid", 4300 "type": "string" 4301 } 4302 }, 4303 { 4304 "name": "key", 4305 "required": false, 4306 "in": "query", 4307 "schema": { 4308 "type": "string" 4309 } 4310 }, 4311 { 4312 "name": "size", 4313 "required": false, 4314 "in": "query", 4315 "schema": { 4316 "$ref": "#/components/schemas/AssetMediaSize" 4317 } 4318 }, 4319 { 4320 "name": "slug", 4321 "required": false, 4322 "in": "query", 4323 "schema": { 4324 "type": "string" 4325 } 4326 } 4327 ], 4328 "responses": { 4329 "200": { 4330 "content": { 4331 "application/octet-stream": { 4332 "schema": { 4333 "format": "binary", 4334 "type": "string" 4335 } 4336 } 4337 }, 4338 "description": "" 4339 } 4340 }, 4341 "security": [ 4342 { 4343 "bearer": [] 4344 }, 4345 { 4346 "cookie": [] 4347 }, 4348 { 4349 "api_key": [] 4350 } 4351 ], 4352 "summary": "View asset thumbnail", 4353 "tags": [ 4354 "Assets" 4355 ], 4356 "x-immich-history": [ 4357 { 4358 "version": "v1", 4359 "state": "Added" 4360 }, 4361 { 4362 "version": "v1", 4363 "state": "Beta" 4364 }, 4365 { 4366 "version": "v2", 4367 "state": "Stable" 4368 } 4369 ], 4370 "x-immich-permission": "asset.view", 4371 "x-immich-state": "Stable" 4372 } 4373 }, 4374 "/assets/{id}/video/playback": { 4375 "get": { 4376 "description": "Streams the video file for the specified asset. This endpoint also supports byte range requests.", 4377 "operationId": "playAssetVideo", 4378 "parameters": [ 4379 { 4380 "name": "id", 4381 "required": true, 4382 "in": "path", 4383 "schema": { 4384 "format": "uuid", 4385 "type": "string" 4386 } 4387 }, 4388 { 4389 "name": "key", 4390 "required": false, 4391 "in": "query", 4392 "schema": { 4393 "type": "string" 4394 } 4395 }, 4396 { 4397 "name": "slug", 4398 "required": false, 4399 "in": "query", 4400 "schema": { 4401 "type": "string" 4402 } 4403 } 4404 ], 4405 "responses": { 4406 "200": { 4407 "content": { 4408 "application/octet-stream": { 4409 "schema": { 4410 "format": "binary", 4411 "type": "string" 4412 } 4413 } 4414 }, 4415 "description": "" 4416 } 4417 }, 4418 "security": [ 4419 { 4420 "bearer": [] 4421 }, 4422 { 4423 "cookie": [] 4424 }, 4425 { 4426 "api_key": [] 4427 } 4428 ], 4429 "summary": "Play asset video", 4430 "tags": [ 4431 "Assets" 4432 ], 4433 "x-immich-history": [ 4434 { 4435 "version": "v1", 4436 "state": "Added" 4437 }, 4438 { 4439 "version": "v1", 4440 "state": "Beta" 4441 }, 4442 { 4443 "version": "v2", 4444 "state": "Stable" 4445 } 4446 ], 4447 "x-immich-permission": "asset.view", 4448 "x-immich-state": "Stable" 4449 } 4450 }, 4451 "/auth/admin-sign-up": { 4452 "post": { 4453 "description": "Create the first admin user in the system.", 4454 "operationId": "signUpAdmin", 4455 "parameters": [], 4456 "requestBody": { 4457 "content": { 4458 "application/json": { 4459 "schema": { 4460 "$ref": "#/components/schemas/SignUpDto" 4461 } 4462 } 4463 }, 4464 "required": true 4465 }, 4466 "responses": { 4467 "201": { 4468 "content": { 4469 "application/json": { 4470 "schema": { 4471 "$ref": "#/components/schemas/UserAdminResponseDto" 4472 } 4473 } 4474 }, 4475 "description": "" 4476 } 4477 }, 4478 "summary": "Register admin", 4479 "tags": [ 4480 "Authentication" 4481 ], 4482 "x-immich-history": [ 4483 { 4484 "version": "v1", 4485 "state": "Added" 4486 }, 4487 { 4488 "version": "v1", 4489 "state": "Beta" 4490 }, 4491 { 4492 "version": "v2", 4493 "state": "Stable" 4494 } 4495 ], 4496 "x-immich-state": "Stable" 4497 } 4498 }, 4499 "/auth/change-password": { 4500 "post": { 4501 "description": "Change the password of the current user.", 4502 "operationId": "changePassword", 4503 "parameters": [], 4504 "requestBody": { 4505 "content": { 4506 "application/json": { 4507 "schema": { 4508 "$ref": "#/components/schemas/ChangePasswordDto" 4509 } 4510 } 4511 }, 4512 "required": true 4513 }, 4514 "responses": { 4515 "200": { 4516 "content": { 4517 "application/json": { 4518 "schema": { 4519 "$ref": "#/components/schemas/UserAdminResponseDto" 4520 } 4521 } 4522 }, 4523 "description": "" 4524 } 4525 }, 4526 "security": [ 4527 { 4528 "bearer": [] 4529 }, 4530 { 4531 "cookie": [] 4532 }, 4533 { 4534 "api_key": [] 4535 } 4536 ], 4537 "summary": "Change password", 4538 "tags": [ 4539 "Authentication" 4540 ], 4541 "x-immich-history": [ 4542 { 4543 "version": "v1", 4544 "state": "Added" 4545 }, 4546 { 4547 "version": "v1", 4548 "state": "Beta" 4549 }, 4550 { 4551 "version": "v2", 4552 "state": "Stable" 4553 } 4554 ], 4555 "x-immich-permission": "auth.changePassword", 4556 "x-immich-state": "Stable" 4557 } 4558 }, 4559 "/auth/login": { 4560 "post": { 4561 "description": "Login with username and password and receive a session token.", 4562 "operationId": "login", 4563 "parameters": [], 4564 "requestBody": { 4565 "content": { 4566 "application/json": { 4567 "schema": { 4568 "$ref": "#/components/schemas/LoginCredentialDto" 4569 } 4570 } 4571 }, 4572 "required": true 4573 }, 4574 "responses": { 4575 "201": { 4576 "content": { 4577 "application/json": { 4578 "schema": { 4579 "$ref": "#/components/schemas/LoginResponseDto" 4580 } 4581 } 4582 }, 4583 "description": "" 4584 } 4585 }, 4586 "summary": "Login", 4587 "tags": [ 4588 "Authentication" 4589 ], 4590 "x-immich-history": [ 4591 { 4592 "version": "v1", 4593 "state": "Added" 4594 }, 4595 { 4596 "version": "v1", 4597 "state": "Beta" 4598 }, 4599 { 4600 "version": "v2", 4601 "state": "Stable" 4602 } 4603 ], 4604 "x-immich-state": "Stable" 4605 } 4606 }, 4607 "/auth/logout": { 4608 "post": { 4609 "description": "Logout the current user and invalidate the session token.", 4610 "operationId": "logout", 4611 "parameters": [], 4612 "responses": { 4613 "200": { 4614 "content": { 4615 "application/json": { 4616 "schema": { 4617 "$ref": "#/components/schemas/LogoutResponseDto" 4618 } 4619 } 4620 }, 4621 "description": "" 4622 } 4623 }, 4624 "security": [ 4625 { 4626 "bearer": [] 4627 }, 4628 { 4629 "cookie": [] 4630 }, 4631 { 4632 "api_key": [] 4633 } 4634 ], 4635 "summary": "Logout", 4636 "tags": [ 4637 "Authentication" 4638 ], 4639 "x-immich-history": [ 4640 { 4641 "version": "v1", 4642 "state": "Added" 4643 }, 4644 { 4645 "version": "v1", 4646 "state": "Beta" 4647 }, 4648 { 4649 "version": "v2", 4650 "state": "Stable" 4651 } 4652 ], 4653 "x-immich-state": "Stable" 4654 } 4655 }, 4656 "/auth/pin-code": { 4657 "delete": { 4658 "description": "Reset the pin code for the current user by providing the account password", 4659 "operationId": "resetPinCode", 4660 "parameters": [], 4661 "requestBody": { 4662 "content": { 4663 "application/json": { 4664 "schema": { 4665 "$ref": "#/components/schemas/PinCodeResetDto" 4666 } 4667 } 4668 }, 4669 "required": true 4670 }, 4671 "responses": { 4672 "204": { 4673 "description": "" 4674 } 4675 }, 4676 "security": [ 4677 { 4678 "bearer": [] 4679 }, 4680 { 4681 "cookie": [] 4682 }, 4683 { 4684 "api_key": [] 4685 } 4686 ], 4687 "summary": "Reset pin code", 4688 "tags": [ 4689 "Authentication" 4690 ], 4691 "x-immich-history": [ 4692 { 4693 "version": "v1", 4694 "state": "Added" 4695 }, 4696 { 4697 "version": "v1", 4698 "state": "Beta" 4699 }, 4700 { 4701 "version": "v2", 4702 "state": "Stable" 4703 } 4704 ], 4705 "x-immich-permission": "pinCode.delete", 4706 "x-immich-state": "Stable" 4707 }, 4708 "post": { 4709 "description": "Setup a new pin code for the current user.", 4710 "operationId": "setupPinCode", 4711 "parameters": [], 4712 "requestBody": { 4713 "content": { 4714 "application/json": { 4715 "schema": { 4716 "$ref": "#/components/schemas/PinCodeSetupDto" 4717 } 4718 } 4719 }, 4720 "required": true 4721 }, 4722 "responses": { 4723 "204": { 4724 "description": "" 4725 } 4726 }, 4727 "security": [ 4728 { 4729 "bearer": [] 4730 }, 4731 { 4732 "cookie": [] 4733 }, 4734 { 4735 "api_key": [] 4736 } 4737 ], 4738 "summary": "Setup pin code", 4739 "tags": [ 4740 "Authentication" 4741 ], 4742 "x-immich-history": [ 4743 { 4744 "version": "v1", 4745 "state": "Added" 4746 }, 4747 { 4748 "version": "v1", 4749 "state": "Beta" 4750 }, 4751 { 4752 "version": "v2", 4753 "state": "Stable" 4754 } 4755 ], 4756 "x-immich-permission": "pinCode.create", 4757 "x-immich-state": "Stable" 4758 }, 4759 "put": { 4760 "description": "Change the pin code for the current user.", 4761 "operationId": "changePinCode", 4762 "parameters": [], 4763 "requestBody": { 4764 "content": { 4765 "application/json": { 4766 "schema": { 4767 "$ref": "#/components/schemas/PinCodeChangeDto" 4768 } 4769 } 4770 }, 4771 "required": true 4772 }, 4773 "responses": { 4774 "204": { 4775 "description": "" 4776 } 4777 }, 4778 "security": [ 4779 { 4780 "bearer": [] 4781 }, 4782 { 4783 "cookie": [] 4784 }, 4785 { 4786 "api_key": [] 4787 } 4788 ], 4789 "summary": "Change pin code", 4790 "tags": [ 4791 "Authentication" 4792 ], 4793 "x-immich-history": [ 4794 { 4795 "version": "v1", 4796 "state": "Added" 4797 }, 4798 { 4799 "version": "v1", 4800 "state": "Beta" 4801 }, 4802 { 4803 "version": "v2", 4804 "state": "Stable" 4805 } 4806 ], 4807 "x-immich-permission": "pinCode.update", 4808 "x-immich-state": "Stable" 4809 } 4810 }, 4811 "/auth/session/lock": { 4812 "post": { 4813 "description": "Remove elevated access to locked assets from the current session.", 4814 "operationId": "lockAuthSession", 4815 "parameters": [], 4816 "responses": { 4817 "204": { 4818 "description": "" 4819 } 4820 }, 4821 "security": [ 4822 { 4823 "bearer": [] 4824 }, 4825 { 4826 "cookie": [] 4827 }, 4828 { 4829 "api_key": [] 4830 } 4831 ], 4832 "summary": "Lock auth session", 4833 "tags": [ 4834 "Authentication" 4835 ], 4836 "x-immich-history": [ 4837 { 4838 "version": "v1", 4839 "state": "Added" 4840 }, 4841 { 4842 "version": "v1", 4843 "state": "Beta" 4844 }, 4845 { 4846 "version": "v2", 4847 "state": "Stable" 4848 } 4849 ], 4850 "x-immich-state": "Stable" 4851 } 4852 }, 4853 "/auth/session/unlock": { 4854 "post": { 4855 "description": "Temporarily grant the session elevated access to locked assets by providing the correct PIN code.", 4856 "operationId": "unlockAuthSession", 4857 "parameters": [], 4858 "requestBody": { 4859 "content": { 4860 "application/json": { 4861 "schema": { 4862 "$ref": "#/components/schemas/SessionUnlockDto" 4863 } 4864 } 4865 }, 4866 "required": true 4867 }, 4868 "responses": { 4869 "204": { 4870 "description": "" 4871 } 4872 }, 4873 "security": [ 4874 { 4875 "bearer": [] 4876 }, 4877 { 4878 "cookie": [] 4879 }, 4880 { 4881 "api_key": [] 4882 } 4883 ], 4884 "summary": "Unlock auth session", 4885 "tags": [ 4886 "Authentication" 4887 ], 4888 "x-immich-history": [ 4889 { 4890 "version": "v1", 4891 "state": "Added" 4892 }, 4893 { 4894 "version": "v1", 4895 "state": "Beta" 4896 }, 4897 { 4898 "version": "v2", 4899 "state": "Stable" 4900 } 4901 ], 4902 "x-immich-state": "Stable" 4903 } 4904 }, 4905 "/auth/status": { 4906 "get": { 4907 "description": "Get information about the current session, including whether the user has a password, and if the session can access locked assets.", 4908 "operationId": "getAuthStatus", 4909 "parameters": [], 4910 "responses": { 4911 "200": { 4912 "content": { 4913 "application/json": { 4914 "schema": { 4915 "$ref": "#/components/schemas/AuthStatusResponseDto" 4916 } 4917 } 4918 }, 4919 "description": "" 4920 } 4921 }, 4922 "security": [ 4923 { 4924 "bearer": [] 4925 }, 4926 { 4927 "cookie": [] 4928 }, 4929 { 4930 "api_key": [] 4931 } 4932 ], 4933 "summary": "Retrieve auth status", 4934 "tags": [ 4935 "Authentication" 4936 ] 4937 } 4938 }, 4939 "/auth/validateToken": { 4940 "post": { 4941 "description": "Validate the current authorization method is still valid.", 4942 "operationId": "validateAccessToken", 4943 "parameters": [], 4944 "responses": { 4945 "200": { 4946 "content": { 4947 "application/json": { 4948 "schema": { 4949 "$ref": "#/components/schemas/ValidateAccessTokenResponseDto" 4950 } 4951 } 4952 }, 4953 "description": "" 4954 } 4955 }, 4956 "security": [ 4957 { 4958 "bearer": [] 4959 }, 4960 { 4961 "cookie": [] 4962 }, 4963 { 4964 "api_key": [] 4965 } 4966 ], 4967 "summary": "Validate access token", 4968 "tags": [ 4969 "Authentication" 4970 ], 4971 "x-immich-history": [ 4972 { 4973 "version": "v1", 4974 "state": "Added" 4975 }, 4976 { 4977 "version": "v1", 4978 "state": "Beta" 4979 }, 4980 { 4981 "version": "v2", 4982 "state": "Stable" 4983 } 4984 ], 4985 "x-immich-state": "Stable" 4986 } 4987 }, 4988 "/download/archive": { 4989 "post": { 4990 "description": "Download a ZIP archive containing the specified assets. The assets must have been previously requested via the \"getDownloadInfo\" endpoint.", 4991 "operationId": "downloadArchive", 4992 "parameters": [ 4993 { 4994 "name": "key", 4995 "required": false, 4996 "in": "query", 4997 "schema": { 4998 "type": "string" 4999 } 5000 }, 5001 { 5002 "name": "slug", 5003 "required": false, 5004 "in": "query", 5005 "schema": { 5006 "type": "string" 5007 } 5008 } 5009 ], 5010 "requestBody": { 5011 "content": { 5012 "application/json": { 5013 "schema": { 5014 "$ref": "#/components/schemas/AssetIdsDto" 5015 } 5016 } 5017 }, 5018 "required": true 5019 }, 5020 "responses": { 5021 "200": { 5022 "content": { 5023 "application/octet-stream": { 5024 "schema": { 5025 "format": "binary", 5026 "type": "string" 5027 } 5028 } 5029 }, 5030 "description": "" 5031 } 5032 }, 5033 "security": [ 5034 { 5035 "bearer": [] 5036 }, 5037 { 5038 "cookie": [] 5039 }, 5040 { 5041 "api_key": [] 5042 } 5043 ], 5044 "summary": "Download asset archive", 5045 "tags": [ 5046 "Download" 5047 ], 5048 "x-immich-history": [ 5049 { 5050 "version": "v1", 5051 "state": "Added" 5052 }, 5053 { 5054 "version": "v1", 5055 "state": "Beta" 5056 }, 5057 { 5058 "version": "v2", 5059 "state": "Stable" 5060 } 5061 ], 5062 "x-immich-permission": "asset.download", 5063 "x-immich-state": "Stable" 5064 } 5065 }, 5066 "/download/info": { 5067 "post": { 5068 "description": "Retrieve information about how to request a download for the specified assets or album. The response includes groups of assets that can be downloaded together.", 5069 "operationId": "getDownloadInfo", 5070 "parameters": [ 5071 { 5072 "name": "key", 5073 "required": false, 5074 "in": "query", 5075 "schema": { 5076 "type": "string" 5077 } 5078 }, 5079 { 5080 "name": "slug", 5081 "required": false, 5082 "in": "query", 5083 "schema": { 5084 "type": "string" 5085 } 5086 } 5087 ], 5088 "requestBody": { 5089 "content": { 5090 "application/json": { 5091 "schema": { 5092 "$ref": "#/components/schemas/DownloadInfoDto" 5093 } 5094 } 5095 }, 5096 "required": true 5097 }, 5098 "responses": { 5099 "201": { 5100 "content": { 5101 "application/json": { 5102 "schema": { 5103 "$ref": "#/components/schemas/DownloadResponseDto" 5104 } 5105 } 5106 }, 5107 "description": "" 5108 } 5109 }, 5110 "security": [ 5111 { 5112 "bearer": [] 5113 }, 5114 { 5115 "cookie": [] 5116 }, 5117 { 5118 "api_key": [] 5119 } 5120 ], 5121 "summary": "Retrieve download information", 5122 "tags": [ 5123 "Download" 5124 ], 5125 "x-immich-history": [ 5126 { 5127 "version": "v1", 5128 "state": "Added" 5129 }, 5130 { 5131 "version": "v1", 5132 "state": "Beta" 5133 }, 5134 { 5135 "version": "v2", 5136 "state": "Stable" 5137 } 5138 ], 5139 "x-immich-permission": "asset.download", 5140 "x-immich-state": "Stable" 5141 } 5142 }, 5143 "/duplicates": { 5144 "delete": { 5145 "description": "Delete multiple duplicate assets specified by their IDs.", 5146 "operationId": "deleteDuplicates", 5147 "parameters": [], 5148 "requestBody": { 5149 "content": { 5150 "application/json": { 5151 "schema": { 5152 "$ref": "#/components/schemas/BulkIdsDto" 5153 } 5154 } 5155 }, 5156 "required": true 5157 }, 5158 "responses": { 5159 "204": { 5160 "description": "" 5161 } 5162 }, 5163 "security": [ 5164 { 5165 "bearer": [] 5166 }, 5167 { 5168 "cookie": [] 5169 }, 5170 { 5171 "api_key": [] 5172 } 5173 ], 5174 "summary": "Delete duplicates", 5175 "tags": [ 5176 "Duplicates" 5177 ], 5178 "x-immich-history": [ 5179 { 5180 "version": "v1", 5181 "state": "Added" 5182 }, 5183 { 5184 "version": "v1", 5185 "state": "Beta" 5186 }, 5187 { 5188 "version": "v2", 5189 "state": "Stable" 5190 } 5191 ], 5192 "x-immich-permission": "duplicate.delete", 5193 "x-immich-state": "Stable" 5194 }, 5195 "get": { 5196 "description": "Retrieve a list of duplicate assets available to the authenticated user.", 5197 "operationId": "getAssetDuplicates", 5198 "parameters": [], 5199 "responses": { 5200 "200": { 5201 "content": { 5202 "application/json": { 5203 "schema": { 5204 "items": { 5205 "$ref": "#/components/schemas/DuplicateResponseDto" 5206 }, 5207 "type": "array" 5208 } 5209 } 5210 }, 5211 "description": "" 5212 } 5213 }, 5214 "security": [ 5215 { 5216 "bearer": [] 5217 }, 5218 { 5219 "cookie": [] 5220 }, 5221 { 5222 "api_key": [] 5223 } 5224 ], 5225 "summary": "Retrieve duplicates", 5226 "tags": [ 5227 "Duplicates" 5228 ], 5229 "x-immich-history": [ 5230 { 5231 "version": "v1", 5232 "state": "Added" 5233 }, 5234 { 5235 "version": "v1", 5236 "state": "Beta" 5237 }, 5238 { 5239 "version": "v2", 5240 "state": "Stable" 5241 } 5242 ], 5243 "x-immich-permission": "duplicate.read", 5244 "x-immich-state": "Stable" 5245 } 5246 }, 5247 "/duplicates/{id}": { 5248 "delete": { 5249 "description": "Delete a single duplicate asset specified by its ID.", 5250 "operationId": "deleteDuplicate", 5251 "parameters": [ 5252 { 5253 "name": "id", 5254 "required": true, 5255 "in": "path", 5256 "schema": { 5257 "format": "uuid", 5258 "type": "string" 5259 } 5260 } 5261 ], 5262 "responses": { 5263 "204": { 5264 "description": "" 5265 } 5266 }, 5267 "security": [ 5268 { 5269 "bearer": [] 5270 }, 5271 { 5272 "cookie": [] 5273 }, 5274 { 5275 "api_key": [] 5276 } 5277 ], 5278 "summary": "Delete a duplicate", 5279 "tags": [ 5280 "Duplicates" 5281 ], 5282 "x-immich-history": [ 5283 { 5284 "version": "v1", 5285 "state": "Added" 5286 }, 5287 { 5288 "version": "v1", 5289 "state": "Beta" 5290 }, 5291 { 5292 "version": "v2", 5293 "state": "Stable" 5294 } 5295 ], 5296 "x-immich-permission": "duplicate.delete", 5297 "x-immich-state": "Stable" 5298 } 5299 }, 5300 "/faces": { 5301 "get": { 5302 "description": "Retrieve all faces belonging to an asset.", 5303 "operationId": "getFaces", 5304 "parameters": [ 5305 { 5306 "name": "id", 5307 "required": true, 5308 "in": "query", 5309 "schema": { 5310 "format": "uuid", 5311 "type": "string" 5312 } 5313 } 5314 ], 5315 "responses": { 5316 "200": { 5317 "content": { 5318 "application/json": { 5319 "schema": { 5320 "items": { 5321 "$ref": "#/components/schemas/AssetFaceResponseDto" 5322 }, 5323 "type": "array" 5324 } 5325 } 5326 }, 5327 "description": "" 5328 } 5329 }, 5330 "security": [ 5331 { 5332 "bearer": [] 5333 }, 5334 { 5335 "cookie": [] 5336 }, 5337 { 5338 "api_key": [] 5339 } 5340 ], 5341 "summary": "Retrieve faces for asset", 5342 "tags": [ 5343 "Faces" 5344 ], 5345 "x-immich-history": [ 5346 { 5347 "version": "v1", 5348 "state": "Added" 5349 }, 5350 { 5351 "version": "v1", 5352 "state": "Beta" 5353 }, 5354 { 5355 "version": "v2", 5356 "state": "Stable" 5357 } 5358 ], 5359 "x-immich-permission": "face.read", 5360 "x-immich-state": "Stable" 5361 }, 5362 "post": { 5363 "description": "Create a new face that has not been discovered by facial recognition. The content of the bounding box is considered a face.", 5364 "operationId": "createFace", 5365 "parameters": [], 5366 "requestBody": { 5367 "content": { 5368 "application/json": { 5369 "schema": { 5370 "$ref": "#/components/schemas/AssetFaceCreateDto" 5371 } 5372 } 5373 }, 5374 "required": true 5375 }, 5376 "responses": { 5377 "201": { 5378 "description": "" 5379 } 5380 }, 5381 "security": [ 5382 { 5383 "bearer": [] 5384 }, 5385 { 5386 "cookie": [] 5387 }, 5388 { 5389 "api_key": [] 5390 } 5391 ], 5392 "summary": "Create a face", 5393 "tags": [ 5394 "Faces" 5395 ], 5396 "x-immich-history": [ 5397 { 5398 "version": "v1", 5399 "state": "Added" 5400 }, 5401 { 5402 "version": "v1", 5403 "state": "Beta" 5404 }, 5405 { 5406 "version": "v2", 5407 "state": "Stable" 5408 } 5409 ], 5410 "x-immich-permission": "face.create", 5411 "x-immich-state": "Stable" 5412 } 5413 }, 5414 "/faces/{id}": { 5415 "delete": { 5416 "description": "Delete a face identified by the id. Optionally can be force deleted.", 5417 "operationId": "deleteFace", 5418 "parameters": [ 5419 { 5420 "name": "id", 5421 "required": true, 5422 "in": "path", 5423 "schema": { 5424 "format": "uuid", 5425 "type": "string" 5426 } 5427 } 5428 ], 5429 "requestBody": { 5430 "content": { 5431 "application/json": { 5432 "schema": { 5433 "$ref": "#/components/schemas/AssetFaceDeleteDto" 5434 } 5435 } 5436 }, 5437 "required": true 5438 }, 5439 "responses": { 5440 "204": { 5441 "description": "" 5442 } 5443 }, 5444 "security": [ 5445 { 5446 "bearer": [] 5447 }, 5448 { 5449 "cookie": [] 5450 }, 5451 { 5452 "api_key": [] 5453 } 5454 ], 5455 "summary": "Delete a face", 5456 "tags": [ 5457 "Faces" 5458 ], 5459 "x-immich-history": [ 5460 { 5461 "version": "v1", 5462 "state": "Added" 5463 }, 5464 { 5465 "version": "v1", 5466 "state": "Beta" 5467 }, 5468 { 5469 "version": "v2", 5470 "state": "Stable" 5471 } 5472 ], 5473 "x-immich-permission": "face.delete", 5474 "x-immich-state": "Stable" 5475 }, 5476 "put": { 5477 "description": "Re-assign the face provided in the body to the person identified by the id in the path parameter.", 5478 "operationId": "reassignFacesById", 5479 "parameters": [ 5480 { 5481 "name": "id", 5482 "required": true, 5483 "in": "path", 5484 "schema": { 5485 "format": "uuid", 5486 "type": "string" 5487 } 5488 } 5489 ], 5490 "requestBody": { 5491 "content": { 5492 "application/json": { 5493 "schema": { 5494 "$ref": "#/components/schemas/FaceDto" 5495 } 5496 } 5497 }, 5498 "required": true 5499 }, 5500 "responses": { 5501 "200": { 5502 "content": { 5503 "application/json": { 5504 "schema": { 5505 "$ref": "#/components/schemas/PersonResponseDto" 5506 } 5507 } 5508 }, 5509 "description": "" 5510 } 5511 }, 5512 "security": [ 5513 { 5514 "bearer": [] 5515 }, 5516 { 5517 "cookie": [] 5518 }, 5519 { 5520 "api_key": [] 5521 } 5522 ], 5523 "summary": "Re-assign a face to another person", 5524 "tags": [ 5525 "Faces" 5526 ], 5527 "x-immich-history": [ 5528 { 5529 "version": "v1", 5530 "state": "Added" 5531 }, 5532 { 5533 "version": "v1", 5534 "state": "Beta" 5535 }, 5536 { 5537 "version": "v2", 5538 "state": "Stable" 5539 } 5540 ], 5541 "x-immich-permission": "face.update", 5542 "x-immich-state": "Stable" 5543 } 5544 }, 5545 "/jobs": { 5546 "get": { 5547 "deprecated": true, 5548 "description": "Retrieve the counts of the current queue, as well as the current status.", 5549 "operationId": "getQueuesLegacy", 5550 "parameters": [], 5551 "responses": { 5552 "200": { 5553 "content": { 5554 "application/json": { 5555 "schema": { 5556 "$ref": "#/components/schemas/QueuesResponseLegacyDto" 5557 } 5558 } 5559 }, 5560 "description": "" 5561 } 5562 }, 5563 "security": [ 5564 { 5565 "bearer": [] 5566 }, 5567 { 5568 "cookie": [] 5569 }, 5570 { 5571 "api_key": [] 5572 } 5573 ], 5574 "summary": "Retrieve queue counts and status", 5575 "tags": [ 5576 "Jobs", 5577 "Deprecated" 5578 ], 5579 "x-immich-admin-only": true, 5580 "x-immich-history": [ 5581 { 5582 "version": "v1", 5583 "state": "Added" 5584 }, 5585 { 5586 "version": "v1", 5587 "state": "Beta" 5588 }, 5589 { 5590 "version": "v2", 5591 "state": "Stable" 5592 }, 5593 { 5594 "version": "v2.4.0", 5595 "state": "Deprecated" 5596 } 5597 ], 5598 "x-immich-permission": "job.read", 5599 "x-immich-state": "Deprecated" 5600 }, 5601 "post": { 5602 "description": "Run a specific job. Most jobs are queued automatically, but this endpoint allows for manual creation of a handful of jobs, including various cleanup tasks, as well as creating a new database backup.", 5603 "operationId": "createJob", 5604 "parameters": [], 5605 "requestBody": { 5606 "content": { 5607 "application/json": { 5608 "schema": { 5609 "$ref": "#/components/schemas/JobCreateDto" 5610 } 5611 } 5612 }, 5613 "required": true 5614 }, 5615 "responses": { 5616 "204": { 5617 "description": "" 5618 } 5619 }, 5620 "security": [ 5621 { 5622 "bearer": [] 5623 }, 5624 { 5625 "cookie": [] 5626 }, 5627 { 5628 "api_key": [] 5629 } 5630 ], 5631 "summary": "Create a manual job", 5632 "tags": [ 5633 "Jobs" 5634 ], 5635 "x-immich-admin-only": true, 5636 "x-immich-history": [ 5637 { 5638 "version": "v1", 5639 "state": "Added" 5640 }, 5641 { 5642 "version": "v1", 5643 "state": "Beta" 5644 }, 5645 { 5646 "version": "v2", 5647 "state": "Stable" 5648 } 5649 ], 5650 "x-immich-permission": "job.create", 5651 "x-immich-state": "Stable" 5652 } 5653 }, 5654 "/jobs/{name}": { 5655 "put": { 5656 "deprecated": true, 5657 "description": "Queue all assets for a specific job type. Defaults to only queueing assets that have not yet been processed, but the force command can be used to re-process all assets.", 5658 "operationId": "runQueueCommandLegacy", 5659 "parameters": [ 5660 { 5661 "name": "name", 5662 "required": true, 5663 "in": "path", 5664 "schema": { 5665 "$ref": "#/components/schemas/QueueName" 5666 } 5667 } 5668 ], 5669 "requestBody": { 5670 "content": { 5671 "application/json": { 5672 "schema": { 5673 "$ref": "#/components/schemas/QueueCommandDto" 5674 } 5675 } 5676 }, 5677 "required": true 5678 }, 5679 "responses": { 5680 "200": { 5681 "content": { 5682 "application/json": { 5683 "schema": { 5684 "$ref": "#/components/schemas/QueueResponseLegacyDto" 5685 } 5686 } 5687 }, 5688 "description": "" 5689 } 5690 }, 5691 "security": [ 5692 { 5693 "bearer": [] 5694 }, 5695 { 5696 "cookie": [] 5697 }, 5698 { 5699 "api_key": [] 5700 } 5701 ], 5702 "summary": "Run jobs", 5703 "tags": [ 5704 "Jobs", 5705 "Deprecated" 5706 ], 5707 "x-immich-admin-only": true, 5708 "x-immich-history": [ 5709 { 5710 "version": "v1", 5711 "state": "Added" 5712 }, 5713 { 5714 "version": "v1", 5715 "state": "Beta" 5716 }, 5717 { 5718 "version": "v2", 5719 "state": "Stable" 5720 }, 5721 { 5722 "version": "v2.4.0", 5723 "state": "Deprecated" 5724 } 5725 ], 5726 "x-immich-permission": "job.create", 5727 "x-immich-state": "Deprecated" 5728 } 5729 }, 5730 "/libraries": { 5731 "get": { 5732 "description": "Retrieve a list of external libraries.", 5733 "operationId": "getAllLibraries", 5734 "parameters": [], 5735 "responses": { 5736 "200": { 5737 "content": { 5738 "application/json": { 5739 "schema": { 5740 "items": { 5741 "$ref": "#/components/schemas/LibraryResponseDto" 5742 }, 5743 "type": "array" 5744 } 5745 } 5746 }, 5747 "description": "" 5748 } 5749 }, 5750 "security": [ 5751 { 5752 "bearer": [] 5753 }, 5754 { 5755 "cookie": [] 5756 }, 5757 { 5758 "api_key": [] 5759 } 5760 ], 5761 "summary": "Retrieve libraries", 5762 "tags": [ 5763 "Libraries" 5764 ], 5765 "x-immich-admin-only": true, 5766 "x-immich-history": [ 5767 { 5768 "version": "v1", 5769 "state": "Added" 5770 }, 5771 { 5772 "version": "v1", 5773 "state": "Beta" 5774 }, 5775 { 5776 "version": "v2", 5777 "state": "Stable" 5778 } 5779 ], 5780 "x-immich-permission": "library.read", 5781 "x-immich-state": "Stable" 5782 }, 5783 "post": { 5784 "description": "Create a new external library.", 5785 "operationId": "createLibrary", 5786 "parameters": [], 5787 "requestBody": { 5788 "content": { 5789 "application/json": { 5790 "schema": { 5791 "$ref": "#/components/schemas/CreateLibraryDto" 5792 } 5793 } 5794 }, 5795 "required": true 5796 }, 5797 "responses": { 5798 "201": { 5799 "content": { 5800 "application/json": { 5801 "schema": { 5802 "$ref": "#/components/schemas/LibraryResponseDto" 5803 } 5804 } 5805 }, 5806 "description": "" 5807 } 5808 }, 5809 "security": [ 5810 { 5811 "bearer": [] 5812 }, 5813 { 5814 "cookie": [] 5815 }, 5816 { 5817 "api_key": [] 5818 } 5819 ], 5820 "summary": "Create a library", 5821 "tags": [ 5822 "Libraries" 5823 ], 5824 "x-immich-admin-only": true, 5825 "x-immich-history": [ 5826 { 5827 "version": "v1", 5828 "state": "Added" 5829 }, 5830 { 5831 "version": "v1", 5832 "state": "Beta" 5833 }, 5834 { 5835 "version": "v2", 5836 "state": "Stable" 5837 } 5838 ], 5839 "x-immich-permission": "library.create", 5840 "x-immich-state": "Stable" 5841 } 5842 }, 5843 "/libraries/{id}": { 5844 "delete": { 5845 "description": "Delete an external library by its ID.", 5846 "operationId": "deleteLibrary", 5847 "parameters": [ 5848 { 5849 "name": "id", 5850 "required": true, 5851 "in": "path", 5852 "schema": { 5853 "format": "uuid", 5854 "type": "string" 5855 } 5856 } 5857 ], 5858 "responses": { 5859 "204": { 5860 "description": "" 5861 } 5862 }, 5863 "security": [ 5864 { 5865 "bearer": [] 5866 }, 5867 { 5868 "cookie": [] 5869 }, 5870 { 5871 "api_key": [] 5872 } 5873 ], 5874 "summary": "Delete a library", 5875 "tags": [ 5876 "Libraries" 5877 ], 5878 "x-immich-admin-only": true, 5879 "x-immich-history": [ 5880 { 5881 "version": "v1", 5882 "state": "Added" 5883 }, 5884 { 5885 "version": "v1", 5886 "state": "Beta" 5887 }, 5888 { 5889 "version": "v2", 5890 "state": "Stable" 5891 } 5892 ], 5893 "x-immich-permission": "library.delete", 5894 "x-immich-state": "Stable" 5895 }, 5896 "get": { 5897 "description": "Retrieve an external library by its ID.", 5898 "operationId": "getLibrary", 5899 "parameters": [ 5900 { 5901 "name": "id", 5902 "required": true, 5903 "in": "path", 5904 "schema": { 5905 "format": "uuid", 5906 "type": "string" 5907 } 5908 } 5909 ], 5910 "responses": { 5911 "200": { 5912 "content": { 5913 "application/json": { 5914 "schema": { 5915 "$ref": "#/components/schemas/LibraryResponseDto" 5916 } 5917 } 5918 }, 5919 "description": "" 5920 } 5921 }, 5922 "security": [ 5923 { 5924 "bearer": [] 5925 }, 5926 { 5927 "cookie": [] 5928 }, 5929 { 5930 "api_key": [] 5931 } 5932 ], 5933 "summary": "Retrieve a library", 5934 "tags": [ 5935 "Libraries" 5936 ], 5937 "x-immich-admin-only": true, 5938 "x-immich-history": [ 5939 { 5940 "version": "v1", 5941 "state": "Added" 5942 }, 5943 { 5944 "version": "v1", 5945 "state": "Beta" 5946 }, 5947 { 5948 "version": "v2", 5949 "state": "Stable" 5950 } 5951 ], 5952 "x-immich-permission": "library.read", 5953 "x-immich-state": "Stable" 5954 }, 5955 "put": { 5956 "description": "Update an existing external library.", 5957 "operationId": "updateLibrary", 5958 "parameters": [ 5959 { 5960 "name": "id", 5961 "required": true, 5962 "in": "path", 5963 "schema": { 5964 "format": "uuid", 5965 "type": "string" 5966 } 5967 } 5968 ], 5969 "requestBody": { 5970 "content": { 5971 "application/json": { 5972 "schema": { 5973 "$ref": "#/components/schemas/UpdateLibraryDto" 5974 } 5975 } 5976 }, 5977 "required": true 5978 }, 5979 "responses": { 5980 "200": { 5981 "content": { 5982 "application/json": { 5983 "schema": { 5984 "$ref": "#/components/schemas/LibraryResponseDto" 5985 } 5986 } 5987 }, 5988 "description": "" 5989 } 5990 }, 5991 "security": [ 5992 { 5993 "bearer": [] 5994 }, 5995 { 5996 "cookie": [] 5997 }, 5998 { 5999 "api_key": [] 6000 } 6001 ], 6002 "summary": "Update a library", 6003 "tags": [ 6004 "Libraries" 6005 ], 6006 "x-immich-admin-only": true, 6007 "x-immich-history": [ 6008 { 6009 "version": "v1", 6010 "state": "Added" 6011 }, 6012 { 6013 "version": "v1", 6014 "state": "Beta" 6015 }, 6016 { 6017 "version": "v2", 6018 "state": "Stable" 6019 } 6020 ], 6021 "x-immich-permission": "library.update", 6022 "x-immich-state": "Stable" 6023 } 6024 }, 6025 "/libraries/{id}/scan": { 6026 "post": { 6027 "description": "Queue a scan for the external library to find and import new assets.", 6028 "operationId": "scanLibrary", 6029 "parameters": [ 6030 { 6031 "name": "id", 6032 "required": true, 6033 "in": "path", 6034 "schema": { 6035 "format": "uuid", 6036 "type": "string" 6037 } 6038 } 6039 ], 6040 "responses": { 6041 "204": { 6042 "description": "" 6043 } 6044 }, 6045 "security": [ 6046 { 6047 "bearer": [] 6048 }, 6049 { 6050 "cookie": [] 6051 }, 6052 { 6053 "api_key": [] 6054 } 6055 ], 6056 "summary": "Scan a library", 6057 "tags": [ 6058 "Libraries" 6059 ], 6060 "x-immich-admin-only": true, 6061 "x-immich-history": [ 6062 { 6063 "version": "v1", 6064 "state": "Added" 6065 }, 6066 { 6067 "version": "v1", 6068 "state": "Beta" 6069 }, 6070 { 6071 "version": "v2", 6072 "state": "Stable" 6073 } 6074 ], 6075 "x-immich-permission": "library.update", 6076 "x-immich-state": "Stable" 6077 } 6078 }, 6079 "/libraries/{id}/statistics": { 6080 "get": { 6081 "description": "Retrieve statistics for a specific external library, including number of videos, images, and storage usage.", 6082 "operationId": "getLibraryStatistics", 6083 "parameters": [ 6084 { 6085 "name": "id", 6086 "required": true, 6087 "in": "path", 6088 "schema": { 6089 "format": "uuid", 6090 "type": "string" 6091 } 6092 } 6093 ], 6094 "responses": { 6095 "200": { 6096 "content": { 6097 "application/json": { 6098 "schema": { 6099 "$ref": "#/components/schemas/LibraryStatsResponseDto" 6100 } 6101 } 6102 }, 6103 "description": "" 6104 } 6105 }, 6106 "security": [ 6107 { 6108 "bearer": [] 6109 }, 6110 { 6111 "cookie": [] 6112 }, 6113 { 6114 "api_key": [] 6115 } 6116 ], 6117 "summary": "Retrieve library statistics", 6118 "tags": [ 6119 "Libraries" 6120 ], 6121 "x-immich-admin-only": true, 6122 "x-immich-history": [ 6123 { 6124 "version": "v1", 6125 "state": "Added" 6126 }, 6127 { 6128 "version": "v1", 6129 "state": "Beta" 6130 }, 6131 { 6132 "version": "v2", 6133 "state": "Stable" 6134 } 6135 ], 6136 "x-immich-permission": "library.statistics", 6137 "x-immich-state": "Stable" 6138 } 6139 }, 6140 "/libraries/{id}/validate": { 6141 "post": { 6142 "description": "Validate the settings of an external library.", 6143 "operationId": "validate", 6144 "parameters": [ 6145 { 6146 "name": "id", 6147 "required": true, 6148 "in": "path", 6149 "schema": { 6150 "format": "uuid", 6151 "type": "string" 6152 } 6153 } 6154 ], 6155 "requestBody": { 6156 "content": { 6157 "application/json": { 6158 "schema": { 6159 "$ref": "#/components/schemas/ValidateLibraryDto" 6160 } 6161 } 6162 }, 6163 "required": true 6164 }, 6165 "responses": { 6166 "200": { 6167 "content": { 6168 "application/json": { 6169 "schema": { 6170 "$ref": "#/components/schemas/ValidateLibraryResponseDto" 6171 } 6172 } 6173 }, 6174 "description": "" 6175 } 6176 }, 6177 "security": [ 6178 { 6179 "bearer": [] 6180 }, 6181 { 6182 "cookie": [] 6183 }, 6184 { 6185 "api_key": [] 6186 } 6187 ], 6188 "summary": "Validate library settings", 6189 "tags": [ 6190 "Libraries" 6191 ], 6192 "x-immich-admin-only": true, 6193 "x-immich-history": [ 6194 { 6195 "version": "v1", 6196 "state": "Added" 6197 }, 6198 { 6199 "version": "v1", 6200 "state": "Beta" 6201 }, 6202 { 6203 "version": "v2", 6204 "state": "Stable" 6205 } 6206 ], 6207 "x-immich-state": "Stable" 6208 } 6209 }, 6210 "/map/markers": { 6211 "get": { 6212 "description": "Retrieve a list of latitude and longitude coordinates for every asset with location data.", 6213 "operationId": "getMapMarkers", 6214 "parameters": [ 6215 { 6216 "name": "fileCreatedAfter", 6217 "required": false, 6218 "in": "query", 6219 "schema": { 6220 "format": "date-time", 6221 "type": "string" 6222 } 6223 }, 6224 { 6225 "name": "fileCreatedBefore", 6226 "required": false, 6227 "in": "query", 6228 "schema": { 6229 "format": "date-time", 6230 "type": "string" 6231 } 6232 }, 6233 { 6234 "name": "isArchived", 6235 "required": false, 6236 "in": "query", 6237 "schema": { 6238 "type": "boolean" 6239 } 6240 }, 6241 { 6242 "name": "isFavorite", 6243 "required": false, 6244 "in": "query", 6245 "schema": { 6246 "type": "boolean" 6247 } 6248 }, 6249 { 6250 "name": "withPartners", 6251 "required": false, 6252 "in": "query", 6253 "schema": { 6254 "type": "boolean" 6255 } 6256 }, 6257 { 6258 "name": "withSharedAlbums", 6259 "required": false, 6260 "in": "query", 6261 "schema": { 6262 "type": "boolean" 6263 } 6264 } 6265 ], 6266 "responses": { 6267 "200": { 6268 "content": { 6269 "application/json": { 6270 "schema": { 6271 "items": { 6272 "$ref": "#/components/schemas/MapMarkerResponseDto" 6273 }, 6274 "type": "array" 6275 } 6276 } 6277 }, 6278 "description": "" 6279 } 6280 }, 6281 "security": [ 6282 { 6283 "bearer": [] 6284 }, 6285 { 6286 "cookie": [] 6287 }, 6288 { 6289 "api_key": [] 6290 } 6291 ], 6292 "summary": "Retrieve map markers", 6293 "tags": [ 6294 "Map" 6295 ], 6296 "x-immich-history": [ 6297 { 6298 "version": "v1", 6299 "state": "Added" 6300 }, 6301 { 6302 "version": "v1", 6303 "state": "Beta" 6304 }, 6305 { 6306 "version": "v2", 6307 "state": "Stable" 6308 } 6309 ], 6310 "x-immich-permission": "map.read", 6311 "x-immich-state": "Stable" 6312 } 6313 }, 6314 "/map/reverse-geocode": { 6315 "get": { 6316 "description": "Retrieve location information (e.g., city, country) for given latitude and longitude coordinates.", 6317 "operationId": "reverseGeocode", 6318 "parameters": [ 6319 { 6320 "name": "lat", 6321 "required": true, 6322 "in": "query", 6323 "schema": { 6324 "format": "double", 6325 "type": "number" 6326 } 6327 }, 6328 { 6329 "name": "lon", 6330 "required": true, 6331 "in": "query", 6332 "schema": { 6333 "format": "double", 6334 "type": "number" 6335 } 6336 } 6337 ], 6338 "responses": { 6339 "200": { 6340 "content": { 6341 "application/json": { 6342 "schema": { 6343 "items": { 6344 "$ref": "#/components/schemas/MapReverseGeocodeResponseDto" 6345 }, 6346 "type": "array" 6347 } 6348 } 6349 }, 6350 "description": "" 6351 } 6352 }, 6353 "security": [ 6354 { 6355 "bearer": [] 6356 }, 6357 { 6358 "cookie": [] 6359 }, 6360 { 6361 "api_key": [] 6362 } 6363 ], 6364 "summary": "Reverse geocode coordinates", 6365 "tags": [ 6366 "Map" 6367 ], 6368 "x-immich-history": [ 6369 { 6370 "version": "v1", 6371 "state": "Added" 6372 }, 6373 { 6374 "version": "v1", 6375 "state": "Beta" 6376 }, 6377 { 6378 "version": "v2", 6379 "state": "Stable" 6380 } 6381 ], 6382 "x-immich-permission": "map.search", 6383 "x-immich-state": "Stable" 6384 } 6385 }, 6386 "/memories": { 6387 "get": { 6388 "description": "Retrieve a list of memories. Memories are sorted descending by creation date by default, although they can also be sorted in ascending order, or randomly.", 6389 "operationId": "searchMemories", 6390 "parameters": [ 6391 { 6392 "name": "for", 6393 "required": false, 6394 "in": "query", 6395 "schema": { 6396 "format": "date-time", 6397 "type": "string" 6398 } 6399 }, 6400 { 6401 "name": "isSaved", 6402 "required": false, 6403 "in": "query", 6404 "schema": { 6405 "type": "boolean" 6406 } 6407 }, 6408 { 6409 "name": "isTrashed", 6410 "required": false, 6411 "in": "query", 6412 "schema": { 6413 "type": "boolean" 6414 } 6415 }, 6416 { 6417 "name": "order", 6418 "required": false, 6419 "in": "query", 6420 "schema": { 6421 "$ref": "#/components/schemas/MemorySearchOrder" 6422 } 6423 }, 6424 { 6425 "name": "size", 6426 "required": false, 6427 "in": "query", 6428 "description": "Number of memories to return", 6429 "schema": { 6430 "minimum": 1, 6431 "type": "integer" 6432 } 6433 }, 6434 { 6435 "name": "type", 6436 "required": false, 6437 "in": "query", 6438 "schema": { 6439 "$ref": "#/components/schemas/MemoryType" 6440 } 6441 } 6442 ], 6443 "responses": { 6444 "200": { 6445 "content": { 6446 "application/json": { 6447 "schema": { 6448 "items": { 6449 "$ref": "#/components/schemas/MemoryResponseDto" 6450 }, 6451 "type": "array" 6452 } 6453 } 6454 }, 6455 "description": "" 6456 } 6457 }, 6458 "security": [ 6459 { 6460 "bearer": [] 6461 }, 6462 { 6463 "cookie": [] 6464 }, 6465 { 6466 "api_key": [] 6467 } 6468 ], 6469 "summary": "Retrieve memories", 6470 "tags": [ 6471 "Memories" 6472 ], 6473 "x-immich-history": [ 6474 { 6475 "version": "v1", 6476 "state": "Added" 6477 }, 6478 { 6479 "version": "v1", 6480 "state": "Beta" 6481 }, 6482 { 6483 "version": "v2", 6484 "state": "Stable" 6485 } 6486 ], 6487 "x-immich-permission": "memory.read", 6488 "x-immich-state": "Stable" 6489 }, 6490 "post": { 6491 "description": "Create a new memory by providing a name, description, and a list of asset IDs to include in the memory.", 6492 "operationId": "createMemory", 6493 "parameters": [], 6494 "requestBody": { 6495 "content": { 6496 "application/json": { 6497 "schema": { 6498 "$ref": "#/components/schemas/MemoryCreateDto" 6499 } 6500 } 6501 }, 6502 "required": true 6503 }, 6504 "responses": { 6505 "201": { 6506 "content": { 6507 "application/json": { 6508 "schema": { 6509 "$ref": "#/components/schemas/MemoryResponseDto" 6510 } 6511 } 6512 }, 6513 "description": "" 6514 } 6515 }, 6516 "security": [ 6517 { 6518 "bearer": [] 6519 }, 6520 { 6521 "cookie": [] 6522 }, 6523 { 6524 "api_key": [] 6525 } 6526 ], 6527 "summary": "Create a memory", 6528 "tags": [ 6529 "Memories" 6530 ], 6531 "x-immich-history": [ 6532 { 6533 "version": "v1", 6534 "state": "Added" 6535 }, 6536 { 6537 "version": "v1", 6538 "state": "Beta" 6539 }, 6540 { 6541 "version": "v2", 6542 "state": "Stable" 6543 } 6544 ], 6545 "x-immich-permission": "memory.create", 6546 "x-immich-state": "Stable" 6547 } 6548 }, 6549 "/memories/statistics": { 6550 "get": { 6551 "description": "Retrieve statistics about memories, such as total count and other relevant metrics.", 6552 "operationId": "memoriesStatistics", 6553 "parameters": [ 6554 { 6555 "name": "for", 6556 "required": false, 6557 "in": "query", 6558 "schema": { 6559 "format": "date-time", 6560 "type": "string" 6561 } 6562 }, 6563 { 6564 "name": "isSaved", 6565 "required": false, 6566 "in": "query", 6567 "schema": { 6568 "type": "boolean" 6569 } 6570 }, 6571 { 6572 "name": "isTrashed", 6573 "required": false, 6574 "in": "query", 6575 "schema": { 6576 "type": "boolean" 6577 } 6578 }, 6579 { 6580 "name": "order", 6581 "required": false, 6582 "in": "query", 6583 "schema": { 6584 "$ref": "#/components/schemas/MemorySearchOrder" 6585 } 6586 }, 6587 { 6588 "name": "size", 6589 "required": false, 6590 "in": "query", 6591 "description": "Number of memories to return", 6592 "schema": { 6593 "minimum": 1, 6594 "type": "integer" 6595 } 6596 }, 6597 { 6598 "name": "type", 6599 "required": false, 6600 "in": "query", 6601 "schema": { 6602 "$ref": "#/components/schemas/MemoryType" 6603 } 6604 } 6605 ], 6606 "responses": { 6607 "200": { 6608 "content": { 6609 "application/json": { 6610 "schema": { 6611 "$ref": "#/components/schemas/MemoryStatisticsResponseDto" 6612 } 6613 } 6614 }, 6615 "description": "" 6616 } 6617 }, 6618 "security": [ 6619 { 6620 "bearer": [] 6621 }, 6622 { 6623 "cookie": [] 6624 }, 6625 { 6626 "api_key": [] 6627 } 6628 ], 6629 "summary": "Retrieve memories statistics", 6630 "tags": [ 6631 "Memories" 6632 ], 6633 "x-immich-history": [ 6634 { 6635 "version": "v1", 6636 "state": "Added" 6637 }, 6638 { 6639 "version": "v1", 6640 "state": "Beta" 6641 }, 6642 { 6643 "version": "v2", 6644 "state": "Stable" 6645 } 6646 ], 6647 "x-immich-permission": "memory.statistics", 6648 "x-immich-state": "Stable" 6649 } 6650 }, 6651 "/memories/{id}": { 6652 "delete": { 6653 "description": "Delete a specific memory by its ID.", 6654 "operationId": "deleteMemory", 6655 "parameters": [ 6656 { 6657 "name": "id", 6658 "required": true, 6659 "in": "path", 6660 "schema": { 6661 "format": "uuid", 6662 "type": "string" 6663 } 6664 } 6665 ], 6666 "responses": { 6667 "204": { 6668 "description": "" 6669 } 6670 }, 6671 "security": [ 6672 { 6673 "bearer": [] 6674 }, 6675 { 6676 "cookie": [] 6677 }, 6678 { 6679 "api_key": [] 6680 } 6681 ], 6682 "summary": "Delete a memory", 6683 "tags": [ 6684 "Memories" 6685 ], 6686 "x-immich-history": [ 6687 { 6688 "version": "v1", 6689 "state": "Added" 6690 }, 6691 { 6692 "version": "v1", 6693 "state": "Beta" 6694 }, 6695 { 6696 "version": "v2", 6697 "state": "Stable" 6698 } 6699 ], 6700 "x-immich-permission": "memory.delete", 6701 "x-immich-state": "Stable" 6702 }, 6703 "get": { 6704 "description": "Retrieve a specific memory by its ID.", 6705 "operationId": "getMemory", 6706 "parameters": [ 6707 { 6708 "name": "id", 6709 "required": true, 6710 "in": "path", 6711 "schema": { 6712 "format": "uuid", 6713 "type": "string" 6714 } 6715 } 6716 ], 6717 "responses": { 6718 "200": { 6719 "content": { 6720 "application/json": { 6721 "schema": { 6722 "$ref": "#/components/schemas/MemoryResponseDto" 6723 } 6724 } 6725 }, 6726 "description": "" 6727 } 6728 }, 6729 "security": [ 6730 { 6731 "bearer": [] 6732 }, 6733 { 6734 "cookie": [] 6735 }, 6736 { 6737 "api_key": [] 6738 } 6739 ], 6740 "summary": "Retrieve a memory", 6741 "tags": [ 6742 "Memories" 6743 ], 6744 "x-immich-history": [ 6745 { 6746 "version": "v1", 6747 "state": "Added" 6748 }, 6749 { 6750 "version": "v1", 6751 "state": "Beta" 6752 }, 6753 { 6754 "version": "v2", 6755 "state": "Stable" 6756 } 6757 ], 6758 "x-immich-permission": "memory.read", 6759 "x-immich-state": "Stable" 6760 }, 6761 "put": { 6762 "description": "Update an existing memory by its ID.", 6763 "operationId": "updateMemory", 6764 "parameters": [ 6765 { 6766 "name": "id", 6767 "required": true, 6768 "in": "path", 6769 "schema": { 6770 "format": "uuid", 6771 "type": "string" 6772 } 6773 } 6774 ], 6775 "requestBody": { 6776 "content": { 6777 "application/json": { 6778 "schema": { 6779 "$ref": "#/components/schemas/MemoryUpdateDto" 6780 } 6781 } 6782 }, 6783 "required": true 6784 }, 6785 "responses": { 6786 "200": { 6787 "content": { 6788 "application/json": { 6789 "schema": { 6790 "$ref": "#/components/schemas/MemoryResponseDto" 6791 } 6792 } 6793 }, 6794 "description": "" 6795 } 6796 }, 6797 "security": [ 6798 { 6799 "bearer": [] 6800 }, 6801 { 6802 "cookie": [] 6803 }, 6804 { 6805 "api_key": [] 6806 } 6807 ], 6808 "summary": "Update a memory", 6809 "tags": [ 6810 "Memories" 6811 ], 6812 "x-immich-history": [ 6813 { 6814 "version": "v1", 6815 "state": "Added" 6816 }, 6817 { 6818 "version": "v1", 6819 "state": "Beta" 6820 }, 6821 { 6822 "version": "v2", 6823 "state": "Stable" 6824 } 6825 ], 6826 "x-immich-permission": "memory.update", 6827 "x-immich-state": "Stable" 6828 } 6829 }, 6830 "/memories/{id}/assets": { 6831 "delete": { 6832 "description": "Remove a list of asset IDs from a specific memory.", 6833 "operationId": "removeMemoryAssets", 6834 "parameters": [ 6835 { 6836 "name": "id", 6837 "required": true, 6838 "in": "path", 6839 "schema": { 6840 "format": "uuid", 6841 "type": "string" 6842 } 6843 } 6844 ], 6845 "requestBody": { 6846 "content": { 6847 "application/json": { 6848 "schema": { 6849 "$ref": "#/components/schemas/BulkIdsDto" 6850 } 6851 } 6852 }, 6853 "required": true 6854 }, 6855 "responses": { 6856 "200": { 6857 "content": { 6858 "application/json": { 6859 "schema": { 6860 "items": { 6861 "$ref": "#/components/schemas/BulkIdResponseDto" 6862 }, 6863 "type": "array" 6864 } 6865 } 6866 }, 6867 "description": "" 6868 } 6869 }, 6870 "security": [ 6871 { 6872 "bearer": [] 6873 }, 6874 { 6875 "cookie": [] 6876 }, 6877 { 6878 "api_key": [] 6879 } 6880 ], 6881 "summary": "Remove assets from a memory", 6882 "tags": [ 6883 "Memories" 6884 ], 6885 "x-immich-history": [ 6886 { 6887 "version": "v1", 6888 "state": "Added" 6889 }, 6890 { 6891 "version": "v1", 6892 "state": "Beta" 6893 }, 6894 { 6895 "version": "v2", 6896 "state": "Stable" 6897 } 6898 ], 6899 "x-immich-permission": "memoryAsset.delete", 6900 "x-immich-state": "Stable" 6901 }, 6902 "put": { 6903 "description": "Add a list of asset IDs to a specific memory.", 6904 "operationId": "addMemoryAssets", 6905 "parameters": [ 6906 { 6907 "name": "id", 6908 "required": true, 6909 "in": "path", 6910 "schema": { 6911 "format": "uuid", 6912 "type": "string" 6913 } 6914 } 6915 ], 6916 "requestBody": { 6917 "content": { 6918 "application/json": { 6919 "schema": { 6920 "$ref": "#/components/schemas/BulkIdsDto" 6921 } 6922 } 6923 }, 6924 "required": true 6925 }, 6926 "responses": { 6927 "200": { 6928 "content": { 6929 "application/json": { 6930 "schema": { 6931 "items": { 6932 "$ref": "#/components/schemas/BulkIdResponseDto" 6933 }, 6934 "type": "array" 6935 } 6936 } 6937 }, 6938 "description": "" 6939 } 6940 }, 6941 "security": [ 6942 { 6943 "bearer": [] 6944 }, 6945 { 6946 "cookie": [] 6947 }, 6948 { 6949 "api_key": [] 6950 } 6951 ], 6952 "summary": "Add assets to a memory", 6953 "tags": [ 6954 "Memories" 6955 ], 6956 "x-immich-history": [ 6957 { 6958 "version": "v1", 6959 "state": "Added" 6960 }, 6961 { 6962 "version": "v1", 6963 "state": "Beta" 6964 }, 6965 { 6966 "version": "v2", 6967 "state": "Stable" 6968 } 6969 ], 6970 "x-immich-permission": "memoryAsset.create", 6971 "x-immich-state": "Stable" 6972 } 6973 }, 6974 "/notifications": { 6975 "delete": { 6976 "description": "Delete a list of notifications at once.", 6977 "operationId": "deleteNotifications", 6978 "parameters": [], 6979 "requestBody": { 6980 "content": { 6981 "application/json": { 6982 "schema": { 6983 "$ref": "#/components/schemas/NotificationDeleteAllDto" 6984 } 6985 } 6986 }, 6987 "required": true 6988 }, 6989 "responses": { 6990 "204": { 6991 "description": "" 6992 } 6993 }, 6994 "security": [ 6995 { 6996 "bearer": [] 6997 }, 6998 { 6999 "cookie": [] 7000 }, 7001 { 7002 "api_key": [] 7003 } 7004 ], 7005 "summary": "Delete notifications", 7006 "tags": [ 7007 "Notifications" 7008 ], 7009 "x-immich-history": [ 7010 { 7011 "version": "v1", 7012 "state": "Added" 7013 }, 7014 { 7015 "version": "v1", 7016 "state": "Beta" 7017 }, 7018 { 7019 "version": "v2", 7020 "state": "Stable" 7021 } 7022 ], 7023 "x-immich-permission": "notification.delete", 7024 "x-immich-state": "Stable" 7025 }, 7026 "get": { 7027 "description": "Retrieve a list of notifications.", 7028 "operationId": "getNotifications", 7029 "parameters": [ 7030 { 7031 "name": "id", 7032 "required": false, 7033 "in": "query", 7034 "schema": { 7035 "format": "uuid", 7036 "type": "string" 7037 } 7038 }, 7039 { 7040 "name": "level", 7041 "required": false, 7042 "in": "query", 7043 "schema": { 7044 "$ref": "#/components/schemas/NotificationLevel" 7045 } 7046 }, 7047 { 7048 "name": "type", 7049 "required": false, 7050 "in": "query", 7051 "schema": { 7052 "$ref": "#/components/schemas/NotificationType" 7053 } 7054 }, 7055 { 7056 "name": "unread", 7057 "required": false, 7058 "in": "query", 7059 "schema": { 7060 "type": "boolean" 7061 } 7062 } 7063 ], 7064 "responses": { 7065 "200": { 7066 "content": { 7067 "application/json": { 7068 "schema": { 7069 "items": { 7070 "$ref": "#/components/schemas/NotificationDto" 7071 }, 7072 "type": "array" 7073 } 7074 } 7075 }, 7076 "description": "" 7077 } 7078 }, 7079 "security": [ 7080 { 7081 "bearer": [] 7082 }, 7083 { 7084 "cookie": [] 7085 }, 7086 { 7087 "api_key": [] 7088 } 7089 ], 7090 "summary": "Retrieve notifications", 7091 "tags": [ 7092 "Notifications" 7093 ], 7094 "x-immich-history": [ 7095 { 7096 "version": "v1", 7097 "state": "Added" 7098 }, 7099 { 7100 "version": "v1", 7101 "state": "Beta" 7102 }, 7103 { 7104 "version": "v2", 7105 "state": "Stable" 7106 } 7107 ], 7108 "x-immich-permission": "notification.read", 7109 "x-immich-state": "Stable" 7110 }, 7111 "put": { 7112 "description": "Update a list of notifications. Allows to bulk-set the read status of notifications.", 7113 "operationId": "updateNotifications", 7114 "parameters": [], 7115 "requestBody": { 7116 "content": { 7117 "application/json": { 7118 "schema": { 7119 "$ref": "#/components/schemas/NotificationUpdateAllDto" 7120 } 7121 } 7122 }, 7123 "required": true 7124 }, 7125 "responses": { 7126 "204": { 7127 "description": "" 7128 } 7129 }, 7130 "security": [ 7131 { 7132 "bearer": [] 7133 }, 7134 { 7135 "cookie": [] 7136 }, 7137 { 7138 "api_key": [] 7139 } 7140 ], 7141 "summary": "Update notifications", 7142 "tags": [ 7143 "Notifications" 7144 ], 7145 "x-immich-history": [ 7146 { 7147 "version": "v1", 7148 "state": "Added" 7149 }, 7150 { 7151 "version": "v1", 7152 "state": "Beta" 7153 }, 7154 { 7155 "version": "v2", 7156 "state": "Stable" 7157 } 7158 ], 7159 "x-immich-permission": "notification.update", 7160 "x-immich-state": "Stable" 7161 } 7162 }, 7163 "/notifications/{id}": { 7164 "delete": { 7165 "description": "Delete a specific notification.", 7166 "operationId": "deleteNotification", 7167 "parameters": [ 7168 { 7169 "name": "id", 7170 "required": true, 7171 "in": "path", 7172 "schema": { 7173 "format": "uuid", 7174 "type": "string" 7175 } 7176 } 7177 ], 7178 "responses": { 7179 "204": { 7180 "description": "" 7181 } 7182 }, 7183 "security": [ 7184 { 7185 "bearer": [] 7186 }, 7187 { 7188 "cookie": [] 7189 }, 7190 { 7191 "api_key": [] 7192 } 7193 ], 7194 "summary": "Delete a notification", 7195 "tags": [ 7196 "Notifications" 7197 ], 7198 "x-immich-history": [ 7199 { 7200 "version": "v1", 7201 "state": "Added" 7202 }, 7203 { 7204 "version": "v1", 7205 "state": "Beta" 7206 }, 7207 { 7208 "version": "v2", 7209 "state": "Stable" 7210 } 7211 ], 7212 "x-immich-permission": "notification.delete", 7213 "x-immich-state": "Stable" 7214 }, 7215 "get": { 7216 "description": "Retrieve a specific notification identified by id.", 7217 "operationId": "getNotification", 7218 "parameters": [ 7219 { 7220 "name": "id", 7221 "required": true, 7222 "in": "path", 7223 "schema": { 7224 "format": "uuid", 7225 "type": "string" 7226 } 7227 } 7228 ], 7229 "responses": { 7230 "200": { 7231 "content": { 7232 "application/json": { 7233 "schema": { 7234 "$ref": "#/components/schemas/NotificationDto" 7235 } 7236 } 7237 }, 7238 "description": "" 7239 } 7240 }, 7241 "security": [ 7242 { 7243 "bearer": [] 7244 }, 7245 { 7246 "cookie": [] 7247 }, 7248 { 7249 "api_key": [] 7250 } 7251 ], 7252 "summary": "Get a notification", 7253 "tags": [ 7254 "Notifications" 7255 ], 7256 "x-immich-history": [ 7257 { 7258 "version": "v1", 7259 "state": "Added" 7260 }, 7261 { 7262 "version": "v1", 7263 "state": "Beta" 7264 }, 7265 { 7266 "version": "v2", 7267 "state": "Stable" 7268 } 7269 ], 7270 "x-immich-permission": "notification.read", 7271 "x-immich-state": "Stable" 7272 }, 7273 "put": { 7274 "description": "Update a specific notification to set its read status.", 7275 "operationId": "updateNotification", 7276 "parameters": [ 7277 { 7278 "name": "id", 7279 "required": true, 7280 "in": "path", 7281 "schema": { 7282 "format": "uuid", 7283 "type": "string" 7284 } 7285 } 7286 ], 7287 "requestBody": { 7288 "content": { 7289 "application/json": { 7290 "schema": { 7291 "$ref": "#/components/schemas/NotificationUpdateDto" 7292 } 7293 } 7294 }, 7295 "required": true 7296 }, 7297 "responses": { 7298 "200": { 7299 "content": { 7300 "application/json": { 7301 "schema": { 7302 "$ref": "#/components/schemas/NotificationDto" 7303 } 7304 } 7305 }, 7306 "description": "" 7307 } 7308 }, 7309 "security": [ 7310 { 7311 "bearer": [] 7312 }, 7313 { 7314 "cookie": [] 7315 }, 7316 { 7317 "api_key": [] 7318 } 7319 ], 7320 "summary": "Update a notification", 7321 "tags": [ 7322 "Notifications" 7323 ], 7324 "x-immich-history": [ 7325 { 7326 "version": "v1", 7327 "state": "Added" 7328 }, 7329 { 7330 "version": "v1", 7331 "state": "Beta" 7332 }, 7333 { 7334 "version": "v2", 7335 "state": "Stable" 7336 } 7337 ], 7338 "x-immich-permission": "notification.update", 7339 "x-immich-state": "Stable" 7340 } 7341 }, 7342 "/oauth/authorize": { 7343 "post": { 7344 "description": "Initiate the OAuth authorization process.", 7345 "operationId": "startOAuth", 7346 "parameters": [], 7347 "requestBody": { 7348 "content": { 7349 "application/json": { 7350 "schema": { 7351 "$ref": "#/components/schemas/OAuthConfigDto" 7352 } 7353 } 7354 }, 7355 "required": true 7356 }, 7357 "responses": { 7358 "201": { 7359 "content": { 7360 "application/json": { 7361 "schema": { 7362 "$ref": "#/components/schemas/OAuthAuthorizeResponseDto" 7363 } 7364 } 7365 }, 7366 "description": "" 7367 } 7368 }, 7369 "summary": "Start OAuth", 7370 "tags": [ 7371 "Authentication" 7372 ], 7373 "x-immich-history": [ 7374 { 7375 "version": "v1", 7376 "state": "Added" 7377 }, 7378 { 7379 "version": "v1", 7380 "state": "Beta" 7381 }, 7382 { 7383 "version": "v2", 7384 "state": "Stable" 7385 } 7386 ], 7387 "x-immich-state": "Stable" 7388 } 7389 }, 7390 "/oauth/callback": { 7391 "post": { 7392 "description": "Complete the OAuth authorization process by exchanging the authorization code for a session token.", 7393 "operationId": "finishOAuth", 7394 "parameters": [], 7395 "requestBody": { 7396 "content": { 7397 "application/json": { 7398 "schema": { 7399 "$ref": "#/components/schemas/OAuthCallbackDto" 7400 } 7401 } 7402 }, 7403 "required": true 7404 }, 7405 "responses": { 7406 "201": { 7407 "content": { 7408 "application/json": { 7409 "schema": { 7410 "$ref": "#/components/schemas/LoginResponseDto" 7411 } 7412 } 7413 }, 7414 "description": "" 7415 } 7416 }, 7417 "summary": "Finish OAuth", 7418 "tags": [ 7419 "Authentication" 7420 ], 7421 "x-immich-history": [ 7422 { 7423 "version": "v1", 7424 "state": "Added" 7425 }, 7426 { 7427 "version": "v1", 7428 "state": "Beta" 7429 }, 7430 { 7431 "version": "v2", 7432 "state": "Stable" 7433 } 7434 ], 7435 "x-immich-state": "Stable" 7436 } 7437 }, 7438 "/oauth/link": { 7439 "post": { 7440 "description": "Link an OAuth account to the authenticated user.", 7441 "operationId": "linkOAuthAccount", 7442 "parameters": [], 7443 "requestBody": { 7444 "content": { 7445 "application/json": { 7446 "schema": { 7447 "$ref": "#/components/schemas/OAuthCallbackDto" 7448 } 7449 } 7450 }, 7451 "required": true 7452 }, 7453 "responses": { 7454 "200": { 7455 "content": { 7456 "application/json": { 7457 "schema": { 7458 "$ref": "#/components/schemas/UserAdminResponseDto" 7459 } 7460 } 7461 }, 7462 "description": "" 7463 } 7464 }, 7465 "security": [ 7466 { 7467 "bearer": [] 7468 }, 7469 { 7470 "cookie": [] 7471 }, 7472 { 7473 "api_key": [] 7474 } 7475 ], 7476 "summary": "Link OAuth account", 7477 "tags": [ 7478 "Authentication" 7479 ], 7480 "x-immich-history": [ 7481 { 7482 "version": "v1", 7483 "state": "Added" 7484 }, 7485 { 7486 "version": "v1", 7487 "state": "Beta" 7488 }, 7489 { 7490 "version": "v2", 7491 "state": "Stable" 7492 } 7493 ], 7494 "x-immich-state": "Stable" 7495 } 7496 }, 7497 "/oauth/mobile-redirect": { 7498 "get": { 7499 "description": "Requests to this URL are automatically forwarded to the mobile app, and is used in some cases for OAuth redirecting.", 7500 "operationId": "redirectOAuthToMobile", 7501 "parameters": [], 7502 "responses": { 7503 "200": { 7504 "description": "" 7505 } 7506 }, 7507 "summary": "Redirect OAuth to mobile", 7508 "tags": [ 7509 "Authentication" 7510 ], 7511 "x-immich-history": [ 7512 { 7513 "version": "v1", 7514 "state": "Added" 7515 }, 7516 { 7517 "version": "v1", 7518 "state": "Beta" 7519 }, 7520 { 7521 "version": "v2", 7522 "state": "Stable" 7523 } 7524 ], 7525 "x-immich-state": "Stable" 7526 } 7527 }, 7528 "/oauth/unlink": { 7529 "post": { 7530 "description": "Unlink the OAuth account from the authenticated user.", 7531 "operationId": "unlinkOAuthAccount", 7532 "parameters": [], 7533 "responses": { 7534 "200": { 7535 "content": { 7536 "application/json": { 7537 "schema": { 7538 "$ref": "#/components/schemas/UserAdminResponseDto" 7539 } 7540 } 7541 }, 7542 "description": "" 7543 } 7544 }, 7545 "security": [ 7546 { 7547 "bearer": [] 7548 }, 7549 { 7550 "cookie": [] 7551 }, 7552 { 7553 "api_key": [] 7554 } 7555 ], 7556 "summary": "Unlink OAuth account", 7557 "tags": [ 7558 "Authentication" 7559 ], 7560 "x-immich-history": [ 7561 { 7562 "version": "v1", 7563 "state": "Added" 7564 }, 7565 { 7566 "version": "v1", 7567 "state": "Beta" 7568 }, 7569 { 7570 "version": "v2", 7571 "state": "Stable" 7572 } 7573 ], 7574 "x-immich-state": "Stable" 7575 } 7576 }, 7577 "/partners": { 7578 "get": { 7579 "description": "Retrieve a list of partners with whom assets are shared.", 7580 "operationId": "getPartners", 7581 "parameters": [ 7582 { 7583 "name": "direction", 7584 "required": true, 7585 "in": "query", 7586 "schema": { 7587 "$ref": "#/components/schemas/PartnerDirection" 7588 } 7589 } 7590 ], 7591 "responses": { 7592 "200": { 7593 "content": { 7594 "application/json": { 7595 "schema": { 7596 "items": { 7597 "$ref": "#/components/schemas/PartnerResponseDto" 7598 }, 7599 "type": "array" 7600 } 7601 } 7602 }, 7603 "description": "" 7604 } 7605 }, 7606 "security": [ 7607 { 7608 "bearer": [] 7609 }, 7610 { 7611 "cookie": [] 7612 }, 7613 { 7614 "api_key": [] 7615 } 7616 ], 7617 "summary": "Retrieve partners", 7618 "tags": [ 7619 "Partners" 7620 ], 7621 "x-immich-history": [ 7622 { 7623 "version": "v1", 7624 "state": "Added" 7625 }, 7626 { 7627 "version": "v1", 7628 "state": "Beta" 7629 }, 7630 { 7631 "version": "v2", 7632 "state": "Stable" 7633 } 7634 ], 7635 "x-immich-permission": "partner.read", 7636 "x-immich-state": "Stable" 7637 }, 7638 "post": { 7639 "description": "Create a new partner to share assets with.", 7640 "operationId": "createPartner", 7641 "parameters": [], 7642 "requestBody": { 7643 "content": { 7644 "application/json": { 7645 "schema": { 7646 "$ref": "#/components/schemas/PartnerCreateDto" 7647 } 7648 } 7649 }, 7650 "required": true 7651 }, 7652 "responses": { 7653 "201": { 7654 "content": { 7655 "application/json": { 7656 "schema": { 7657 "$ref": "#/components/schemas/PartnerResponseDto" 7658 } 7659 } 7660 }, 7661 "description": "" 7662 } 7663 }, 7664 "security": [ 7665 { 7666 "bearer": [] 7667 }, 7668 { 7669 "cookie": [] 7670 }, 7671 { 7672 "api_key": [] 7673 } 7674 ], 7675 "summary": "Create a partner", 7676 "tags": [ 7677 "Partners" 7678 ], 7679 "x-immich-history": [ 7680 { 7681 "version": "v1", 7682 "state": "Added" 7683 }, 7684 { 7685 "version": "v1", 7686 "state": "Beta" 7687 }, 7688 { 7689 "version": "v2", 7690 "state": "Stable" 7691 } 7692 ], 7693 "x-immich-permission": "partner.create", 7694 "x-immich-state": "Stable" 7695 } 7696 }, 7697 "/partners/{id}": { 7698 "delete": { 7699 "description": "Stop sharing assets with a partner.", 7700 "operationId": "removePartner", 7701 "parameters": [ 7702 { 7703 "name": "id", 7704 "required": true, 7705 "in": "path", 7706 "schema": { 7707 "format": "uuid", 7708 "type": "string" 7709 } 7710 } 7711 ], 7712 "responses": { 7713 "204": { 7714 "description": "" 7715 } 7716 }, 7717 "security": [ 7718 { 7719 "bearer": [] 7720 }, 7721 { 7722 "cookie": [] 7723 }, 7724 { 7725 "api_key": [] 7726 } 7727 ], 7728 "summary": "Remove a partner", 7729 "tags": [ 7730 "Partners" 7731 ], 7732 "x-immich-history": [ 7733 { 7734 "version": "v1", 7735 "state": "Added" 7736 }, 7737 { 7738 "version": "v1", 7739 "state": "Beta" 7740 }, 7741 { 7742 "version": "v2", 7743 "state": "Stable" 7744 } 7745 ], 7746 "x-immich-permission": "partner.delete", 7747 "x-immich-state": "Stable" 7748 }, 7749 "post": { 7750 "deprecated": true, 7751 "description": "Create a new partner to share assets with.", 7752 "operationId": "createPartnerDeprecated", 7753 "parameters": [ 7754 { 7755 "name": "id", 7756 "required": true, 7757 "in": "path", 7758 "schema": { 7759 "format": "uuid", 7760 "type": "string" 7761 } 7762 } 7763 ], 7764 "responses": { 7765 "201": { 7766 "content": { 7767 "application/json": { 7768 "schema": { 7769 "$ref": "#/components/schemas/PartnerResponseDto" 7770 } 7771 } 7772 }, 7773 "description": "" 7774 } 7775 }, 7776 "security": [ 7777 { 7778 "bearer": [] 7779 }, 7780 { 7781 "cookie": [] 7782 }, 7783 { 7784 "api_key": [] 7785 } 7786 ], 7787 "summary": "Create a partner", 7788 "tags": [ 7789 "Partners", 7790 "Deprecated" 7791 ], 7792 "x-immich-history": [ 7793 { 7794 "version": "v1", 7795 "state": "Added" 7796 }, 7797 { 7798 "version": "v1", 7799 "state": "Deprecated", 7800 "replacementId": "createPartner" 7801 } 7802 ], 7803 "x-immich-permission": "partner.create", 7804 "x-immich-state": "Deprecated" 7805 }, 7806 "put": { 7807 "description": "Specify whether a partner's assets should appear in the user's timeline.", 7808 "operationId": "updatePartner", 7809 "parameters": [ 7810 { 7811 "name": "id", 7812 "required": true, 7813 "in": "path", 7814 "schema": { 7815 "format": "uuid", 7816 "type": "string" 7817 } 7818 } 7819 ], 7820 "requestBody": { 7821 "content": { 7822 "application/json": { 7823 "schema": { 7824 "$ref": "#/components/schemas/PartnerUpdateDto" 7825 } 7826 } 7827 }, 7828 "required": true 7829 }, 7830 "responses": { 7831 "200": { 7832 "content": { 7833 "application/json": { 7834 "schema": { 7835 "$ref": "#/components/schemas/PartnerResponseDto" 7836 } 7837 } 7838 }, 7839 "description": "" 7840 } 7841 }, 7842 "security": [ 7843 { 7844 "bearer": [] 7845 }, 7846 { 7847 "cookie": [] 7848 }, 7849 { 7850 "api_key": [] 7851 } 7852 ], 7853 "summary": "Update a partner", 7854 "tags": [ 7855 "Partners" 7856 ], 7857 "x-immich-history": [ 7858 { 7859 "version": "v1", 7860 "state": "Added" 7861 }, 7862 { 7863 "version": "v1", 7864 "state": "Beta" 7865 }, 7866 { 7867 "version": "v2", 7868 "state": "Stable" 7869 } 7870 ], 7871 "x-immich-permission": "partner.update", 7872 "x-immich-state": "Stable" 7873 } 7874 }, 7875 "/people": { 7876 "delete": { 7877 "description": "Bulk delete a list of people at once.", 7878 "operationId": "deletePeople", 7879 "parameters": [], 7880 "requestBody": { 7881 "content": { 7882 "application/json": { 7883 "schema": { 7884 "$ref": "#/components/schemas/BulkIdsDto" 7885 } 7886 } 7887 }, 7888 "required": true 7889 }, 7890 "responses": { 7891 "204": { 7892 "description": "" 7893 } 7894 }, 7895 "security": [ 7896 { 7897 "bearer": [] 7898 }, 7899 { 7900 "cookie": [] 7901 }, 7902 { 7903 "api_key": [] 7904 } 7905 ], 7906 "summary": "Delete people", 7907 "tags": [ 7908 "People" 7909 ], 7910 "x-immich-history": [ 7911 { 7912 "version": "v1", 7913 "state": "Added" 7914 }, 7915 { 7916 "version": "v1", 7917 "state": "Beta" 7918 }, 7919 { 7920 "version": "v2", 7921 "state": "Stable" 7922 } 7923 ], 7924 "x-immich-permission": "person.delete", 7925 "x-immich-state": "Stable" 7926 }, 7927 "get": { 7928 "description": "Retrieve a list of all people.", 7929 "operationId": "getAllPeople", 7930 "parameters": [ 7931 { 7932 "name": "closestAssetId", 7933 "required": false, 7934 "in": "query", 7935 "schema": { 7936 "format": "uuid", 7937 "type": "string" 7938 } 7939 }, 7940 { 7941 "name": "closestPersonId", 7942 "required": false, 7943 "in": "query", 7944 "schema": { 7945 "format": "uuid", 7946 "type": "string" 7947 } 7948 }, 7949 { 7950 "name": "page", 7951 "required": false, 7952 "in": "query", 7953 "description": "Page number for pagination", 7954 "schema": { 7955 "minimum": 1, 7956 "default": 1, 7957 "type": "number" 7958 } 7959 }, 7960 { 7961 "name": "size", 7962 "required": false, 7963 "in": "query", 7964 "description": "Number of items per page", 7965 "schema": { 7966 "minimum": 1, 7967 "maximum": 1000, 7968 "default": 500, 7969 "type": "number" 7970 } 7971 }, 7972 { 7973 "name": "withHidden", 7974 "required": false, 7975 "in": "query", 7976 "schema": { 7977 "type": "boolean" 7978 } 7979 } 7980 ], 7981 "responses": { 7982 "200": { 7983 "content": { 7984 "application/json": { 7985 "schema": { 7986 "$ref": "#/components/schemas/PeopleResponseDto" 7987 } 7988 } 7989 }, 7990 "description": "" 7991 } 7992 }, 7993 "security": [ 7994 { 7995 "bearer": [] 7996 }, 7997 { 7998 "cookie": [] 7999 }, 8000 { 8001 "api_key": [] 8002 } 8003 ], 8004 "summary": "Get all people", 8005 "tags": [ 8006 "People" 8007 ], 8008 "x-immich-history": [ 8009 { 8010 "version": "v1", 8011 "state": "Added" 8012 }, 8013 { 8014 "version": "v1", 8015 "state": "Beta" 8016 }, 8017 { 8018 "version": "v2", 8019 "state": "Stable" 8020 } 8021 ], 8022 "x-immich-permission": "person.read", 8023 "x-immich-state": "Stable" 8024 }, 8025 "post": { 8026 "description": "Create a new person that can have multiple faces assigned to them.", 8027 "operationId": "createPerson", 8028 "parameters": [], 8029 "requestBody": { 8030 "content": { 8031 "application/json": { 8032 "schema": { 8033 "$ref": "#/components/schemas/PersonCreateDto" 8034 } 8035 } 8036 }, 8037 "required": true 8038 }, 8039 "responses": { 8040 "201": { 8041 "content": { 8042 "application/json": { 8043 "schema": { 8044 "$ref": "#/components/schemas/PersonResponseDto" 8045 } 8046 } 8047 }, 8048 "description": "" 8049 } 8050 }, 8051 "security": [ 8052 { 8053 "bearer": [] 8054 }, 8055 { 8056 "cookie": [] 8057 }, 8058 { 8059 "api_key": [] 8060 } 8061 ], 8062 "summary": "Create a person", 8063 "tags": [ 8064 "People" 8065 ], 8066 "x-immich-history": [ 8067 { 8068 "version": "v1", 8069 "state": "Added" 8070 }, 8071 { 8072 "version": "v1", 8073 "state": "Beta" 8074 }, 8075 { 8076 "version": "v2", 8077 "state": "Stable" 8078 } 8079 ], 8080 "x-immich-permission": "person.create", 8081 "x-immich-state": "Stable" 8082 }, 8083 "put": { 8084 "description": "Bulk update multiple people at once.", 8085 "operationId": "updatePeople", 8086 "parameters": [], 8087 "requestBody": { 8088 "content": { 8089 "application/json": { 8090 "schema": { 8091 "$ref": "#/components/schemas/PeopleUpdateDto" 8092 } 8093 } 8094 }, 8095 "required": true 8096 }, 8097 "responses": { 8098 "200": { 8099 "content": { 8100 "application/json": { 8101 "schema": { 8102 "items": { 8103 "$ref": "#/components/schemas/BulkIdResponseDto" 8104 }, 8105 "type": "array" 8106 } 8107 } 8108 }, 8109 "description": "" 8110 } 8111 }, 8112 "security": [ 8113 { 8114 "bearer": [] 8115 }, 8116 { 8117 "cookie": [] 8118 }, 8119 { 8120 "api_key": [] 8121 } 8122 ], 8123 "summary": "Update people", 8124 "tags": [ 8125 "People" 8126 ], 8127 "x-immich-history": [ 8128 { 8129 "version": "v1", 8130 "state": "Added" 8131 }, 8132 { 8133 "version": "v1", 8134 "state": "Beta" 8135 }, 8136 { 8137 "version": "v2", 8138 "state": "Stable" 8139 } 8140 ], 8141 "x-immich-permission": "person.update", 8142 "x-immich-state": "Stable" 8143 } 8144 }, 8145 "/people/{id}": { 8146 "delete": { 8147 "description": "Delete an individual person.", 8148 "operationId": "deletePerson", 8149 "parameters": [ 8150 { 8151 "name": "id", 8152 "required": true, 8153 "in": "path", 8154 "schema": { 8155 "format": "uuid", 8156 "type": "string" 8157 } 8158 } 8159 ], 8160 "responses": { 8161 "204": { 8162 "description": "" 8163 } 8164 }, 8165 "security": [ 8166 { 8167 "bearer": [] 8168 }, 8169 { 8170 "cookie": [] 8171 }, 8172 { 8173 "api_key": [] 8174 } 8175 ], 8176 "summary": "Delete person", 8177 "tags": [ 8178 "People" 8179 ], 8180 "x-immich-history": [ 8181 { 8182 "version": "v1", 8183 "state": "Added" 8184 }, 8185 { 8186 "version": "v1", 8187 "state": "Beta" 8188 }, 8189 { 8190 "version": "v2", 8191 "state": "Stable" 8192 } 8193 ], 8194 "x-immich-permission": "person.delete", 8195 "x-immich-state": "Stable" 8196 }, 8197 "get": { 8198 "description": "Retrieve a person by id.", 8199 "operationId": "getPerson", 8200 "parameters": [ 8201 { 8202 "name": "id", 8203 "required": true, 8204 "in": "path", 8205 "schema": { 8206 "format": "uuid", 8207 "type": "string" 8208 } 8209 } 8210 ], 8211 "responses": { 8212 "200": { 8213 "content": { 8214 "application/json": { 8215 "schema": { 8216 "$ref": "#/components/schemas/PersonResponseDto" 8217 } 8218 } 8219 }, 8220 "description": "" 8221 } 8222 }, 8223 "security": [ 8224 { 8225 "bearer": [] 8226 }, 8227 { 8228 "cookie": [] 8229 }, 8230 { 8231 "api_key": [] 8232 } 8233 ], 8234 "summary": "Get a person", 8235 "tags": [ 8236 "People" 8237 ], 8238 "x-immich-history": [ 8239 { 8240 "version": "v1", 8241 "state": "Added" 8242 }, 8243 { 8244 "version": "v1", 8245 "state": "Beta" 8246 }, 8247 { 8248 "version": "v2", 8249 "state": "Stable" 8250 } 8251 ], 8252 "x-immich-permission": "person.read", 8253 "x-immich-state": "Stable" 8254 }, 8255 "put": { 8256 "description": "Update an individual person.", 8257 "operationId": "updatePerson", 8258 "parameters": [ 8259 { 8260 "name": "id", 8261 "required": true, 8262 "in": "path", 8263 "schema": { 8264 "format": "uuid", 8265 "type": "string" 8266 } 8267 } 8268 ], 8269 "requestBody": { 8270 "content": { 8271 "application/json": { 8272 "schema": { 8273 "$ref": "#/components/schemas/PersonUpdateDto" 8274 } 8275 } 8276 }, 8277 "required": true 8278 }, 8279 "responses": { 8280 "200": { 8281 "content": { 8282 "application/json": { 8283 "schema": { 8284 "$ref": "#/components/schemas/PersonResponseDto" 8285 } 8286 } 8287 }, 8288 "description": "" 8289 } 8290 }, 8291 "security": [ 8292 { 8293 "bearer": [] 8294 }, 8295 { 8296 "cookie": [] 8297 }, 8298 { 8299 "api_key": [] 8300 } 8301 ], 8302 "summary": "Update person", 8303 "tags": [ 8304 "People" 8305 ], 8306 "x-immich-history": [ 8307 { 8308 "version": "v1", 8309 "state": "Added" 8310 }, 8311 { 8312 "version": "v1", 8313 "state": "Beta" 8314 }, 8315 { 8316 "version": "v2", 8317 "state": "Stable" 8318 } 8319 ], 8320 "x-immich-permission": "person.update", 8321 "x-immich-state": "Stable" 8322 } 8323 }, 8324 "/people/{id}/merge": { 8325 "post": { 8326 "description": "Merge a list of people into the person specified in the path parameter.", 8327 "operationId": "mergePerson", 8328 "parameters": [ 8329 { 8330 "name": "id", 8331 "required": true, 8332 "in": "path", 8333 "schema": { 8334 "format": "uuid", 8335 "type": "string" 8336 } 8337 } 8338 ], 8339 "requestBody": { 8340 "content": { 8341 "application/json": { 8342 "schema": { 8343 "$ref": "#/components/schemas/MergePersonDto" 8344 } 8345 } 8346 }, 8347 "required": true 8348 }, 8349 "responses": { 8350 "200": { 8351 "content": { 8352 "application/json": { 8353 "schema": { 8354 "items": { 8355 "$ref": "#/components/schemas/BulkIdResponseDto" 8356 }, 8357 "type": "array" 8358 } 8359 } 8360 }, 8361 "description": "" 8362 } 8363 }, 8364 "security": [ 8365 { 8366 "bearer": [] 8367 }, 8368 { 8369 "cookie": [] 8370 }, 8371 { 8372 "api_key": [] 8373 } 8374 ], 8375 "summary": "Merge people", 8376 "tags": [ 8377 "People" 8378 ], 8379 "x-immich-history": [ 8380 { 8381 "version": "v1", 8382 "state": "Added" 8383 }, 8384 { 8385 "version": "v1", 8386 "state": "Beta" 8387 }, 8388 { 8389 "version": "v2", 8390 "state": "Stable" 8391 } 8392 ], 8393 "x-immich-permission": "person.merge", 8394 "x-immich-state": "Stable" 8395 } 8396 }, 8397 "/people/{id}/reassign": { 8398 "put": { 8399 "description": "Bulk reassign a list of faces to a different person.", 8400 "operationId": "reassignFaces", 8401 "parameters": [ 8402 { 8403 "name": "id", 8404 "required": true, 8405 "in": "path", 8406 "schema": { 8407 "format": "uuid", 8408 "type": "string" 8409 } 8410 } 8411 ], 8412 "requestBody": { 8413 "content": { 8414 "application/json": { 8415 "schema": { 8416 "$ref": "#/components/schemas/AssetFaceUpdateDto" 8417 } 8418 } 8419 }, 8420 "required": true 8421 }, 8422 "responses": { 8423 "200": { 8424 "content": { 8425 "application/json": { 8426 "schema": { 8427 "items": { 8428 "$ref": "#/components/schemas/PersonResponseDto" 8429 }, 8430 "type": "array" 8431 } 8432 } 8433 }, 8434 "description": "" 8435 } 8436 }, 8437 "security": [ 8438 { 8439 "bearer": [] 8440 }, 8441 { 8442 "cookie": [] 8443 }, 8444 { 8445 "api_key": [] 8446 } 8447 ], 8448 "summary": "Reassign faces", 8449 "tags": [ 8450 "People" 8451 ], 8452 "x-immich-history": [ 8453 { 8454 "version": "v1", 8455 "state": "Added" 8456 }, 8457 { 8458 "version": "v1", 8459 "state": "Beta" 8460 }, 8461 { 8462 "version": "v2", 8463 "state": "Stable" 8464 } 8465 ], 8466 "x-immich-permission": "person.reassign", 8467 "x-immich-state": "Stable" 8468 } 8469 }, 8470 "/people/{id}/statistics": { 8471 "get": { 8472 "description": "Retrieve statistics about a specific person.", 8473 "operationId": "getPersonStatistics", 8474 "parameters": [ 8475 { 8476 "name": "id", 8477 "required": true, 8478 "in": "path", 8479 "schema": { 8480 "format": "uuid", 8481 "type": "string" 8482 } 8483 } 8484 ], 8485 "responses": { 8486 "200": { 8487 "content": { 8488 "application/json": { 8489 "schema": { 8490 "$ref": "#/components/schemas/PersonStatisticsResponseDto" 8491 } 8492 } 8493 }, 8494 "description": "" 8495 } 8496 }, 8497 "security": [ 8498 { 8499 "bearer": [] 8500 }, 8501 { 8502 "cookie": [] 8503 }, 8504 { 8505 "api_key": [] 8506 } 8507 ], 8508 "summary": "Get person statistics", 8509 "tags": [ 8510 "People" 8511 ], 8512 "x-immich-history": [ 8513 { 8514 "version": "v1", 8515 "state": "Added" 8516 }, 8517 { 8518 "version": "v1", 8519 "state": "Beta" 8520 }, 8521 { 8522 "version": "v2", 8523 "state": "Stable" 8524 } 8525 ], 8526 "x-immich-permission": "person.statistics", 8527 "x-immich-state": "Stable" 8528 } 8529 }, 8530 "/people/{id}/thumbnail": { 8531 "get": { 8532 "description": "Retrieve the thumbnail file for a person.", 8533 "operationId": "getPersonThumbnail", 8534 "parameters": [ 8535 { 8536 "name": "id", 8537 "required": true, 8538 "in": "path", 8539 "schema": { 8540 "format": "uuid", 8541 "type": "string" 8542 } 8543 } 8544 ], 8545 "responses": { 8546 "200": { 8547 "content": { 8548 "application/octet-stream": { 8549 "schema": { 8550 "format": "binary", 8551 "type": "string" 8552 } 8553 } 8554 }, 8555 "description": "" 8556 } 8557 }, 8558 "security": [ 8559 { 8560 "bearer": [] 8561 }, 8562 { 8563 "cookie": [] 8564 }, 8565 { 8566 "api_key": [] 8567 } 8568 ], 8569 "summary": "Get person thumbnail", 8570 "tags": [ 8571 "People" 8572 ], 8573 "x-immich-history": [ 8574 { 8575 "version": "v1", 8576 "state": "Added" 8577 }, 8578 { 8579 "version": "v1", 8580 "state": "Beta" 8581 }, 8582 { 8583 "version": "v2", 8584 "state": "Stable" 8585 } 8586 ], 8587 "x-immich-permission": "person.read", 8588 "x-immich-state": "Stable" 8589 } 8590 }, 8591 "/plugins": { 8592 "get": { 8593 "description": "Retrieve a list of plugins available to the authenticated user.", 8594 "operationId": "getPlugins", 8595 "parameters": [], 8596 "responses": { 8597 "200": { 8598 "content": { 8599 "application/json": { 8600 "schema": { 8601 "items": { 8602 "$ref": "#/components/schemas/PluginResponseDto" 8603 }, 8604 "type": "array" 8605 } 8606 } 8607 }, 8608 "description": "" 8609 } 8610 }, 8611 "security": [ 8612 { 8613 "bearer": [] 8614 }, 8615 { 8616 "cookie": [] 8617 }, 8618 { 8619 "api_key": [] 8620 } 8621 ], 8622 "summary": "List all plugins", 8623 "tags": [ 8624 "Plugins" 8625 ], 8626 "x-immich-history": [ 8627 { 8628 "version": "v2.3.0", 8629 "state": "Added" 8630 }, 8631 { 8632 "version": "v2.3.0", 8633 "state": "Alpha" 8634 } 8635 ], 8636 "x-immich-permission": "plugin.read", 8637 "x-immich-state": "Alpha" 8638 } 8639 }, 8640 "/plugins/triggers": { 8641 "get": { 8642 "description": "Retrieve a list of all available plugin triggers.", 8643 "operationId": "getPluginTriggers", 8644 "parameters": [], 8645 "responses": { 8646 "200": { 8647 "content": { 8648 "application/json": { 8649 "schema": { 8650 "items": { 8651 "$ref": "#/components/schemas/PluginTriggerResponseDto" 8652 }, 8653 "type": "array" 8654 } 8655 } 8656 }, 8657 "description": "" 8658 } 8659 }, 8660 "security": [ 8661 { 8662 "bearer": [] 8663 }, 8664 { 8665 "cookie": [] 8666 }, 8667 { 8668 "api_key": [] 8669 } 8670 ], 8671 "summary": "List all plugin triggers", 8672 "tags": [ 8673 "Plugins" 8674 ], 8675 "x-immich-history": [ 8676 { 8677 "version": "v2.3.0", 8678 "state": "Added" 8679 }, 8680 { 8681 "version": "v2.3.0", 8682 "state": "Alpha" 8683 } 8684 ], 8685 "x-immich-permission": "plugin.read", 8686 "x-immich-state": "Alpha" 8687 } 8688 }, 8689 "/plugins/{id}": { 8690 "get": { 8691 "description": "Retrieve information about a specific plugin by its ID.", 8692 "operationId": "getPlugin", 8693 "parameters": [ 8694 { 8695 "name": "id", 8696 "required": true, 8697 "in": "path", 8698 "schema": { 8699 "format": "uuid", 8700 "type": "string" 8701 } 8702 } 8703 ], 8704 "responses": { 8705 "200": { 8706 "content": { 8707 "application/json": { 8708 "schema": { 8709 "$ref": "#/components/schemas/PluginResponseDto" 8710 } 8711 } 8712 }, 8713 "description": "" 8714 } 8715 }, 8716 "security": [ 8717 { 8718 "bearer": [] 8719 }, 8720 { 8721 "cookie": [] 8722 }, 8723 { 8724 "api_key": [] 8725 } 8726 ], 8727 "summary": "Retrieve a plugin", 8728 "tags": [ 8729 "Plugins" 8730 ], 8731 "x-immich-history": [ 8732 { 8733 "version": "v2.3.0", 8734 "state": "Added" 8735 }, 8736 { 8737 "version": "v2.3.0", 8738 "state": "Alpha" 8739 } 8740 ], 8741 "x-immich-permission": "plugin.read", 8742 "x-immich-state": "Alpha" 8743 } 8744 }, 8745 "/queues": { 8746 "get": { 8747 "description": "Retrieves a list of queues.", 8748 "operationId": "getQueues", 8749 "parameters": [], 8750 "responses": { 8751 "200": { 8752 "content": { 8753 "application/json": { 8754 "schema": { 8755 "items": { 8756 "$ref": "#/components/schemas/QueueResponseDto" 8757 }, 8758 "type": "array" 8759 } 8760 } 8761 }, 8762 "description": "" 8763 } 8764 }, 8765 "security": [ 8766 { 8767 "bearer": [] 8768 }, 8769 { 8770 "cookie": [] 8771 }, 8772 { 8773 "api_key": [] 8774 } 8775 ], 8776 "summary": "List all queues", 8777 "tags": [ 8778 "Queues" 8779 ], 8780 "x-immich-admin-only": true, 8781 "x-immich-history": [ 8782 { 8783 "version": "v2.4.0", 8784 "state": "Added" 8785 }, 8786 { 8787 "version": "v2.4.0", 8788 "state": "Alpha" 8789 } 8790 ], 8791 "x-immich-permission": "queue.read", 8792 "x-immich-state": "Alpha" 8793 } 8794 }, 8795 "/queues/{name}": { 8796 "get": { 8797 "description": "Retrieves a specific queue by its name.", 8798 "operationId": "getQueue", 8799 "parameters": [ 8800 { 8801 "name": "name", 8802 "required": true, 8803 "in": "path", 8804 "schema": { 8805 "$ref": "#/components/schemas/QueueName" 8806 } 8807 } 8808 ], 8809 "responses": { 8810 "200": { 8811 "content": { 8812 "application/json": { 8813 "schema": { 8814 "$ref": "#/components/schemas/QueueResponseDto" 8815 } 8816 } 8817 }, 8818 "description": "" 8819 } 8820 }, 8821 "security": [ 8822 { 8823 "bearer": [] 8824 }, 8825 { 8826 "cookie": [] 8827 }, 8828 { 8829 "api_key": [] 8830 } 8831 ], 8832 "summary": "Retrieve a queue", 8833 "tags": [ 8834 "Queues" 8835 ], 8836 "x-immich-admin-only": true, 8837 "x-immich-history": [ 8838 { 8839 "version": "v2.4.0", 8840 "state": "Added" 8841 }, 8842 { 8843 "version": "v2.4.0", 8844 "state": "Alpha" 8845 } 8846 ], 8847 "x-immich-permission": "queue.read", 8848 "x-immich-state": "Alpha" 8849 }, 8850 "put": { 8851 "description": "Change the paused status of a specific queue.", 8852 "operationId": "updateQueue", 8853 "parameters": [ 8854 { 8855 "name": "name", 8856 "required": true, 8857 "in": "path", 8858 "schema": { 8859 "$ref": "#/components/schemas/QueueName" 8860 } 8861 } 8862 ], 8863 "requestBody": { 8864 "content": { 8865 "application/json": { 8866 "schema": { 8867 "$ref": "#/components/schemas/QueueUpdateDto" 8868 } 8869 } 8870 }, 8871 "required": true 8872 }, 8873 "responses": { 8874 "200": { 8875 "content": { 8876 "application/json": { 8877 "schema": { 8878 "$ref": "#/components/schemas/QueueResponseDto" 8879 } 8880 } 8881 }, 8882 "description": "" 8883 } 8884 }, 8885 "security": [ 8886 { 8887 "bearer": [] 8888 }, 8889 { 8890 "cookie": [] 8891 }, 8892 { 8893 "api_key": [] 8894 } 8895 ], 8896 "summary": "Update a queue", 8897 "tags": [ 8898 "Queues" 8899 ], 8900 "x-immich-admin-only": true, 8901 "x-immich-history": [ 8902 { 8903 "version": "v2.4.0", 8904 "state": "Added" 8905 }, 8906 { 8907 "version": "v2.4.0", 8908 "state": "Alpha" 8909 } 8910 ], 8911 "x-immich-permission": "queue.update", 8912 "x-immich-state": "Alpha" 8913 } 8914 }, 8915 "/queues/{name}/jobs": { 8916 "delete": { 8917 "description": "Removes all jobs from the specified queue.", 8918 "operationId": "emptyQueue", 8919 "parameters": [ 8920 { 8921 "name": "name", 8922 "required": true, 8923 "in": "path", 8924 "schema": { 8925 "$ref": "#/components/schemas/QueueName" 8926 } 8927 } 8928 ], 8929 "requestBody": { 8930 "content": { 8931 "application/json": { 8932 "schema": { 8933 "$ref": "#/components/schemas/QueueDeleteDto" 8934 } 8935 } 8936 }, 8937 "required": true 8938 }, 8939 "responses": { 8940 "204": { 8941 "description": "" 8942 } 8943 }, 8944 "security": [ 8945 { 8946 "bearer": [] 8947 }, 8948 { 8949 "cookie": [] 8950 }, 8951 { 8952 "api_key": [] 8953 } 8954 ], 8955 "summary": "Empty a queue", 8956 "tags": [ 8957 "Queues" 8958 ], 8959 "x-immich-admin-only": true, 8960 "x-immich-history": [ 8961 { 8962 "version": "v2.4.0", 8963 "state": "Added" 8964 }, 8965 { 8966 "version": "v2.4.0", 8967 "state": "Alpha" 8968 } 8969 ], 8970 "x-immich-permission": "queueJob.delete", 8971 "x-immich-state": "Alpha" 8972 }, 8973 "get": { 8974 "description": "Retrieves a list of queue jobs from the specified queue.", 8975 "operationId": "getQueueJobs", 8976 "parameters": [ 8977 { 8978 "name": "name", 8979 "required": true, 8980 "in": "path", 8981 "schema": { 8982 "$ref": "#/components/schemas/QueueName" 8983 } 8984 }, 8985 { 8986 "name": "status", 8987 "required": false, 8988 "in": "query", 8989 "schema": { 8990 "type": "array", 8991 "items": { 8992 "$ref": "#/components/schemas/QueueJobStatus" 8993 } 8994 } 8995 } 8996 ], 8997 "responses": { 8998 "200": { 8999 "content": { 9000 "application/json": { 9001 "schema": { 9002 "items": { 9003 "$ref": "#/components/schemas/QueueJobResponseDto" 9004 }, 9005 "type": "array" 9006 } 9007 } 9008 }, 9009 "description": "" 9010 } 9011 }, 9012 "security": [ 9013 { 9014 "bearer": [] 9015 }, 9016 { 9017 "cookie": [] 9018 }, 9019 { 9020 "api_key": [] 9021 } 9022 ], 9023 "summary": "Retrieve queue jobs", 9024 "tags": [ 9025 "Queues" 9026 ], 9027 "x-immich-admin-only": true, 9028 "x-immich-history": [ 9029 { 9030 "version": "v2.4.0", 9031 "state": "Added" 9032 }, 9033 { 9034 "version": "v2.4.0", 9035 "state": "Alpha" 9036 } 9037 ], 9038 "x-immich-permission": "queueJob.read", 9039 "x-immich-state": "Alpha" 9040 } 9041 }, 9042 "/search/cities": { 9043 "get": { 9044 "description": "Retrieve a list of assets with each asset belonging to a different city. This endpoint is used on the places pages to show a single thumbnail for each city the user has assets in.", 9045 "operationId": "getAssetsByCity", 9046 "parameters": [], 9047 "responses": { 9048 "200": { 9049 "content": { 9050 "application/json": { 9051 "schema": { 9052 "items": { 9053 "$ref": "#/components/schemas/AssetResponseDto" 9054 }, 9055 "type": "array" 9056 } 9057 } 9058 }, 9059 "description": "" 9060 } 9061 }, 9062 "security": [ 9063 { 9064 "bearer": [] 9065 }, 9066 { 9067 "cookie": [] 9068 }, 9069 { 9070 "api_key": [] 9071 } 9072 ], 9073 "summary": "Retrieve assets by city", 9074 "tags": [ 9075 "Search" 9076 ], 9077 "x-immich-history": [ 9078 { 9079 "version": "v1", 9080 "state": "Added" 9081 }, 9082 { 9083 "version": "v1", 9084 "state": "Beta" 9085 }, 9086 { 9087 "version": "v2", 9088 "state": "Stable" 9089 } 9090 ], 9091 "x-immich-permission": "asset.read", 9092 "x-immich-state": "Stable" 9093 } 9094 }, 9095 "/search/explore": { 9096 "get": { 9097 "description": "Retrieve data for the explore section, such as popular people and places.", 9098 "operationId": "getExploreData", 9099 "parameters": [], 9100 "responses": { 9101 "200": { 9102 "content": { 9103 "application/json": { 9104 "schema": { 9105 "items": { 9106 "$ref": "#/components/schemas/SearchExploreResponseDto" 9107 }, 9108 "type": "array" 9109 } 9110 } 9111 }, 9112 "description": "" 9113 } 9114 }, 9115 "security": [ 9116 { 9117 "bearer": [] 9118 }, 9119 { 9120 "cookie": [] 9121 }, 9122 { 9123 "api_key": [] 9124 } 9125 ], 9126 "summary": "Retrieve explore data", 9127 "tags": [ 9128 "Search" 9129 ], 9130 "x-immich-history": [ 9131 { 9132 "version": "v1", 9133 "state": "Added" 9134 }, 9135 { 9136 "version": "v1", 9137 "state": "Beta" 9138 }, 9139 { 9140 "version": "v2", 9141 "state": "Stable" 9142 } 9143 ], 9144 "x-immich-permission": "asset.read", 9145 "x-immich-state": "Stable" 9146 } 9147 }, 9148 "/search/large-assets": { 9149 "post": { 9150 "description": "Search for assets that are considered large based on specified criteria.", 9151 "operationId": "searchLargeAssets", 9152 "parameters": [ 9153 { 9154 "name": "albumIds", 9155 "required": false, 9156 "in": "query", 9157 "schema": { 9158 "type": "array", 9159 "items": { 9160 "type": "string", 9161 "format": "uuid" 9162 } 9163 } 9164 }, 9165 { 9166 "name": "city", 9167 "required": false, 9168 "in": "query", 9169 "schema": { 9170 "nullable": true, 9171 "type": "string" 9172 } 9173 }, 9174 { 9175 "name": "country", 9176 "required": false, 9177 "in": "query", 9178 "schema": { 9179 "nullable": true, 9180 "type": "string" 9181 } 9182 }, 9183 { 9184 "name": "createdAfter", 9185 "required": false, 9186 "in": "query", 9187 "schema": { 9188 "format": "date-time", 9189 "type": "string" 9190 } 9191 }, 9192 { 9193 "name": "createdBefore", 9194 "required": false, 9195 "in": "query", 9196 "schema": { 9197 "format": "date-time", 9198 "type": "string" 9199 } 9200 }, 9201 { 9202 "name": "deviceId", 9203 "required": false, 9204 "in": "query", 9205 "schema": { 9206 "type": "string" 9207 } 9208 }, 9209 { 9210 "name": "isEncoded", 9211 "required": false, 9212 "in": "query", 9213 "schema": { 9214 "type": "boolean" 9215 } 9216 }, 9217 { 9218 "name": "isFavorite", 9219 "required": false, 9220 "in": "query", 9221 "schema": { 9222 "type": "boolean" 9223 } 9224 }, 9225 { 9226 "name": "isMotion", 9227 "required": false, 9228 "in": "query", 9229 "schema": { 9230 "type": "boolean" 9231 } 9232 }, 9233 { 9234 "name": "isNotInAlbum", 9235 "required": false, 9236 "in": "query", 9237 "schema": { 9238 "type": "boolean" 9239 } 9240 }, 9241 { 9242 "name": "isOffline", 9243 "required": false, 9244 "in": "query", 9245 "schema": { 9246 "type": "boolean" 9247 } 9248 }, 9249 { 9250 "name": "lensModel", 9251 "required": false, 9252 "in": "query", 9253 "schema": { 9254 "nullable": true, 9255 "type": "string" 9256 } 9257 }, 9258 { 9259 "name": "libraryId", 9260 "required": false, 9261 "in": "query", 9262 "schema": { 9263 "format": "uuid", 9264 "nullable": true, 9265 "type": "string" 9266 } 9267 }, 9268 { 9269 "name": "make", 9270 "required": false, 9271 "in": "query", 9272 "schema": { 9273 "type": "string" 9274 } 9275 }, 9276 { 9277 "name": "minFileSize", 9278 "required": false, 9279 "in": "query", 9280 "schema": { 9281 "minimum": 0, 9282 "type": "integer" 9283 } 9284 }, 9285 { 9286 "name": "model", 9287 "required": false, 9288 "in": "query", 9289 "schema": { 9290 "nullable": true, 9291 "type": "string" 9292 } 9293 }, 9294 { 9295 "name": "ocr", 9296 "required": false, 9297 "in": "query", 9298 "schema": { 9299 "type": "string" 9300 } 9301 }, 9302 { 9303 "name": "personIds", 9304 "required": false, 9305 "in": "query", 9306 "schema": { 9307 "type": "array", 9308 "items": { 9309 "type": "string", 9310 "format": "uuid" 9311 } 9312 } 9313 }, 9314 { 9315 "name": "rating", 9316 "required": false, 9317 "in": "query", 9318 "schema": { 9319 "minimum": -1, 9320 "maximum": 5, 9321 "type": "number" 9322 } 9323 }, 9324 { 9325 "name": "size", 9326 "required": false, 9327 "in": "query", 9328 "schema": { 9329 "minimum": 1, 9330 "maximum": 1000, 9331 "type": "number" 9332 } 9333 }, 9334 { 9335 "name": "state", 9336 "required": false, 9337 "in": "query", 9338 "schema": { 9339 "nullable": true, 9340 "type": "string" 9341 } 9342 }, 9343 { 9344 "name": "tagIds", 9345 "required": false, 9346 "in": "query", 9347 "schema": { 9348 "nullable": true, 9349 "type": "array", 9350 "items": { 9351 "type": "string", 9352 "format": "uuid" 9353 } 9354 } 9355 }, 9356 { 9357 "name": "takenAfter", 9358 "required": false, 9359 "in": "query", 9360 "schema": { 9361 "format": "date-time", 9362 "type": "string" 9363 } 9364 }, 9365 { 9366 "name": "takenBefore", 9367 "required": false, 9368 "in": "query", 9369 "schema": { 9370 "format": "date-time", 9371 "type": "string" 9372 } 9373 }, 9374 { 9375 "name": "trashedAfter", 9376 "required": false, 9377 "in": "query", 9378 "schema": { 9379 "format": "date-time", 9380 "type": "string" 9381 } 9382 }, 9383 { 9384 "name": "trashedBefore", 9385 "required": false, 9386 "in": "query", 9387 "schema": { 9388 "format": "date-time", 9389 "type": "string" 9390 } 9391 }, 9392 { 9393 "name": "type", 9394 "required": false, 9395 "in": "query", 9396 "schema": { 9397 "$ref": "#/components/schemas/AssetTypeEnum" 9398 } 9399 }, 9400 { 9401 "name": "updatedAfter", 9402 "required": false, 9403 "in": "query", 9404 "schema": { 9405 "format": "date-time", 9406 "type": "string" 9407 } 9408 }, 9409 { 9410 "name": "updatedBefore", 9411 "required": false, 9412 "in": "query", 9413 "schema": { 9414 "format": "date-time", 9415 "type": "string" 9416 } 9417 }, 9418 { 9419 "name": "visibility", 9420 "required": false, 9421 "in": "query", 9422 "schema": { 9423 "$ref": "#/components/schemas/AssetVisibility" 9424 } 9425 }, 9426 { 9427 "name": "withDeleted", 9428 "required": false, 9429 "in": "query", 9430 "schema": { 9431 "type": "boolean" 9432 } 9433 }, 9434 { 9435 "name": "withExif", 9436 "required": false, 9437 "in": "query", 9438 "schema": { 9439 "type": "boolean" 9440 } 9441 } 9442 ], 9443 "responses": { 9444 "200": { 9445 "content": { 9446 "application/json": { 9447 "schema": { 9448 "items": { 9449 "$ref": "#/components/schemas/AssetResponseDto" 9450 }, 9451 "type": "array" 9452 } 9453 } 9454 }, 9455 "description": "" 9456 } 9457 }, 9458 "security": [ 9459 { 9460 "bearer": [] 9461 }, 9462 { 9463 "cookie": [] 9464 }, 9465 { 9466 "api_key": [] 9467 } 9468 ], 9469 "summary": "Search large assets", 9470 "tags": [ 9471 "Search" 9472 ], 9473 "x-immich-history": [ 9474 { 9475 "version": "v1", 9476 "state": "Added" 9477 }, 9478 { 9479 "version": "v1", 9480 "state": "Beta" 9481 }, 9482 { 9483 "version": "v2", 9484 "state": "Stable" 9485 } 9486 ], 9487 "x-immich-permission": "asset.read", 9488 "x-immich-state": "Stable" 9489 } 9490 }, 9491 "/search/metadata": { 9492 "post": { 9493 "description": "Search for assets based on various metadata criteria.", 9494 "operationId": "searchAssets", 9495 "parameters": [], 9496 "requestBody": { 9497 "content": { 9498 "application/json": { 9499 "schema": { 9500 "$ref": "#/components/schemas/MetadataSearchDto" 9501 } 9502 } 9503 }, 9504 "required": true 9505 }, 9506 "responses": { 9507 "200": { 9508 "content": { 9509 "application/json": { 9510 "schema": { 9511 "$ref": "#/components/schemas/SearchResponseDto" 9512 } 9513 } 9514 }, 9515 "description": "" 9516 } 9517 }, 9518 "security": [ 9519 { 9520 "bearer": [] 9521 }, 9522 { 9523 "cookie": [] 9524 }, 9525 { 9526 "api_key": [] 9527 } 9528 ], 9529 "summary": "Search assets by metadata", 9530 "tags": [ 9531 "Search" 9532 ], 9533 "x-immich-history": [ 9534 { 9535 "version": "v1", 9536 "state": "Added" 9537 }, 9538 { 9539 "version": "v1", 9540 "state": "Beta" 9541 }, 9542 { 9543 "version": "v2", 9544 "state": "Stable" 9545 } 9546 ], 9547 "x-immich-permission": "asset.read", 9548 "x-immich-state": "Stable" 9549 } 9550 }, 9551 "/search/person": { 9552 "get": { 9553 "description": "Search for people by name.", 9554 "operationId": "searchPerson", 9555 "parameters": [ 9556 { 9557 "name": "name", 9558 "required": true, 9559 "in": "query", 9560 "schema": { 9561 "type": "string" 9562 } 9563 }, 9564 { 9565 "name": "withHidden", 9566 "required": false, 9567 "in": "query", 9568 "schema": { 9569 "type": "boolean" 9570 } 9571 } 9572 ], 9573 "responses": { 9574 "200": { 9575 "content": { 9576 "application/json": { 9577 "schema": { 9578 "items": { 9579 "$ref": "#/components/schemas/PersonResponseDto" 9580 }, 9581 "type": "array" 9582 } 9583 } 9584 }, 9585 "description": "" 9586 } 9587 }, 9588 "security": [ 9589 { 9590 "bearer": [] 9591 }, 9592 { 9593 "cookie": [] 9594 }, 9595 { 9596 "api_key": [] 9597 } 9598 ], 9599 "summary": "Search people", 9600 "tags": [ 9601 "Search" 9602 ], 9603 "x-immich-history": [ 9604 { 9605 "version": "v1", 9606 "state": "Added" 9607 }, 9608 { 9609 "version": "v1", 9610 "state": "Beta" 9611 }, 9612 { 9613 "version": "v2", 9614 "state": "Stable" 9615 } 9616 ], 9617 "x-immich-permission": "person.read", 9618 "x-immich-state": "Stable" 9619 } 9620 }, 9621 "/search/places": { 9622 "get": { 9623 "description": "Search for places by name.", 9624 "operationId": "searchPlaces", 9625 "parameters": [ 9626 { 9627 "name": "name", 9628 "required": true, 9629 "in": "query", 9630 "schema": { 9631 "type": "string" 9632 } 9633 } 9634 ], 9635 "responses": { 9636 "200": { 9637 "content": { 9638 "application/json": { 9639 "schema": { 9640 "items": { 9641 "$ref": "#/components/schemas/PlacesResponseDto" 9642 }, 9643 "type": "array" 9644 } 9645 } 9646 }, 9647 "description": "" 9648 } 9649 }, 9650 "security": [ 9651 { 9652 "bearer": [] 9653 }, 9654 { 9655 "cookie": [] 9656 }, 9657 { 9658 "api_key": [] 9659 } 9660 ], 9661 "summary": "Search places", 9662 "tags": [ 9663 "Search" 9664 ], 9665 "x-immich-history": [ 9666 { 9667 "version": "v1", 9668 "state": "Added" 9669 }, 9670 { 9671 "version": "v1", 9672 "state": "Beta" 9673 }, 9674 { 9675 "version": "v2", 9676 "state": "Stable" 9677 } 9678 ], 9679 "x-immich-permission": "asset.read", 9680 "x-immich-state": "Stable" 9681 } 9682 }, 9683 "/search/random": { 9684 "post": { 9685 "description": "Retrieve a random selection of assets based on the provided criteria.", 9686 "operationId": "searchRandom", 9687 "parameters": [], 9688 "requestBody": { 9689 "content": { 9690 "application/json": { 9691 "schema": { 9692 "$ref": "#/components/schemas/RandomSearchDto" 9693 } 9694 } 9695 }, 9696 "required": true 9697 }, 9698 "responses": { 9699 "200": { 9700 "content": { 9701 "application/json": { 9702 "schema": { 9703 "items": { 9704 "$ref": "#/components/schemas/AssetResponseDto" 9705 }, 9706 "type": "array" 9707 } 9708 } 9709 }, 9710 "description": "" 9711 } 9712 }, 9713 "security": [ 9714 { 9715 "bearer": [] 9716 }, 9717 { 9718 "cookie": [] 9719 }, 9720 { 9721 "api_key": [] 9722 } 9723 ], 9724 "summary": "Search random assets", 9725 "tags": [ 9726 "Search" 9727 ], 9728 "x-immich-history": [ 9729 { 9730 "version": "v1", 9731 "state": "Added" 9732 }, 9733 { 9734 "version": "v1", 9735 "state": "Beta" 9736 }, 9737 { 9738 "version": "v2", 9739 "state": "Stable" 9740 } 9741 ], 9742 "x-immich-permission": "asset.read", 9743 "x-immich-state": "Stable" 9744 } 9745 }, 9746 "/search/smart": { 9747 "post": { 9748 "description": "Perform a smart search for assets by using machine learning vectors to determine relevance.", 9749 "operationId": "searchSmart", 9750 "parameters": [], 9751 "requestBody": { 9752 "content": { 9753 "application/json": { 9754 "schema": { 9755 "$ref": "#/components/schemas/SmartSearchDto" 9756 } 9757 } 9758 }, 9759 "required": true 9760 }, 9761 "responses": { 9762 "200": { 9763 "content": { 9764 "application/json": { 9765 "schema": { 9766 "$ref": "#/components/schemas/SearchResponseDto" 9767 } 9768 } 9769 }, 9770 "description": "" 9771 } 9772 }, 9773 "security": [ 9774 { 9775 "bearer": [] 9776 }, 9777 { 9778 "cookie": [] 9779 }, 9780 { 9781 "api_key": [] 9782 } 9783 ], 9784 "summary": "Smart asset search", 9785 "tags": [ 9786 "Search" 9787 ], 9788 "x-immich-history": [ 9789 { 9790 "version": "v1", 9791 "state": "Added" 9792 }, 9793 { 9794 "version": "v1", 9795 "state": "Beta" 9796 }, 9797 { 9798 "version": "v2", 9799 "state": "Stable" 9800 } 9801 ], 9802 "x-immich-permission": "asset.read", 9803 "x-immich-state": "Stable" 9804 } 9805 }, 9806 "/search/statistics": { 9807 "post": { 9808 "description": "Retrieve statistical data about assets based on search criteria, such as the total matching count.", 9809 "operationId": "searchAssetStatistics", 9810 "parameters": [], 9811 "requestBody": { 9812 "content": { 9813 "application/json": { 9814 "schema": { 9815 "$ref": "#/components/schemas/StatisticsSearchDto" 9816 } 9817 } 9818 }, 9819 "required": true 9820 }, 9821 "responses": { 9822 "200": { 9823 "content": { 9824 "application/json": { 9825 "schema": { 9826 "$ref": "#/components/schemas/SearchStatisticsResponseDto" 9827 } 9828 } 9829 }, 9830 "description": "" 9831 } 9832 }, 9833 "security": [ 9834 { 9835 "bearer": [] 9836 }, 9837 { 9838 "cookie": [] 9839 }, 9840 { 9841 "api_key": [] 9842 } 9843 ], 9844 "summary": "Search asset statistics", 9845 "tags": [ 9846 "Search" 9847 ], 9848 "x-immich-history": [ 9849 { 9850 "version": "v1", 9851 "state": "Added" 9852 }, 9853 { 9854 "version": "v1", 9855 "state": "Beta" 9856 }, 9857 { 9858 "version": "v2", 9859 "state": "Stable" 9860 } 9861 ], 9862 "x-immich-permission": "asset.statistics", 9863 "x-immich-state": "Stable" 9864 } 9865 }, 9866 "/search/suggestions": { 9867 "get": { 9868 "description": "Retrieve search suggestions based on partial input. This endpoint is used for typeahead search features.", 9869 "operationId": "getSearchSuggestions", 9870 "parameters": [ 9871 { 9872 "name": "country", 9873 "required": false, 9874 "in": "query", 9875 "schema": { 9876 "type": "string" 9877 } 9878 }, 9879 { 9880 "name": "includeNull", 9881 "required": false, 9882 "in": "query", 9883 "x-immich-history": [ 9884 { 9885 "version": "v1.111.0", 9886 "state": "Added" 9887 }, 9888 { 9889 "version": "v2", 9890 "state": "Stable" 9891 } 9892 ], 9893 "x-immich-state": "Stable", 9894 "schema": { 9895 "type": "boolean" 9896 } 9897 }, 9898 { 9899 "name": "lensModel", 9900 "required": false, 9901 "in": "query", 9902 "schema": { 9903 "type": "string" 9904 } 9905 }, 9906 { 9907 "name": "make", 9908 "required": false, 9909 "in": "query", 9910 "schema": { 9911 "type": "string" 9912 } 9913 }, 9914 { 9915 "name": "model", 9916 "required": false, 9917 "in": "query", 9918 "schema": { 9919 "type": "string" 9920 } 9921 }, 9922 { 9923 "name": "state", 9924 "required": false, 9925 "in": "query", 9926 "schema": { 9927 "type": "string" 9928 } 9929 }, 9930 { 9931 "name": "type", 9932 "required": true, 9933 "in": "query", 9934 "schema": { 9935 "$ref": "#/components/schemas/SearchSuggestionType" 9936 } 9937 } 9938 ], 9939 "responses": { 9940 "200": { 9941 "content": { 9942 "application/json": { 9943 "schema": { 9944 "items": { 9945 "type": "string" 9946 }, 9947 "type": "array" 9948 } 9949 } 9950 }, 9951 "description": "" 9952 } 9953 }, 9954 "security": [ 9955 { 9956 "bearer": [] 9957 }, 9958 { 9959 "cookie": [] 9960 }, 9961 { 9962 "api_key": [] 9963 } 9964 ], 9965 "summary": "Retrieve search suggestions", 9966 "tags": [ 9967 "Search" 9968 ], 9969 "x-immich-history": [ 9970 { 9971 "version": "v1", 9972 "state": "Added" 9973 }, 9974 { 9975 "version": "v1", 9976 "state": "Beta" 9977 }, 9978 { 9979 "version": "v2", 9980 "state": "Stable" 9981 } 9982 ], 9983 "x-immich-permission": "asset.read", 9984 "x-immich-state": "Stable" 9985 } 9986 }, 9987 "/server/about": { 9988 "get": { 9989 "description": "Retrieve a list of information about the server.", 9990 "operationId": "getAboutInfo", 9991 "parameters": [], 9992 "responses": { 9993 "200": { 9994 "content": { 9995 "application/json": { 9996 "schema": { 9997 "$ref": "#/components/schemas/ServerAboutResponseDto" 9998 } 9999 } 10000 }, 10001 "description": "" 10002 } 10003 }, 10004 "security": [ 10005 { 10006 "bearer": [] 10007 }, 10008 { 10009 "cookie": [] 10010 }, 10011 { 10012 "api_key": [] 10013 } 10014 ], 10015 "summary": "Get server information", 10016 "tags": [ 10017 "Server" 10018 ], 10019 "x-immich-history": [ 10020 { 10021 "version": "v1", 10022 "state": "Added" 10023 }, 10024 { 10025 "version": "v1", 10026 "state": "Beta" 10027 }, 10028 { 10029 "version": "v2", 10030 "state": "Stable" 10031 } 10032 ], 10033 "x-immich-permission": "server.about", 10034 "x-immich-state": "Stable" 10035 } 10036 }, 10037 "/server/apk-links": { 10038 "get": { 10039 "description": "Retrieve links to the APKs for the current server version.", 10040 "operationId": "getApkLinks", 10041 "parameters": [], 10042 "responses": { 10043 "200": { 10044 "content": { 10045 "application/json": { 10046 "schema": { 10047 "$ref": "#/components/schemas/ServerApkLinksDto" 10048 } 10049 } 10050 }, 10051 "description": "" 10052 } 10053 }, 10054 "security": [ 10055 { 10056 "bearer": [] 10057 }, 10058 { 10059 "cookie": [] 10060 }, 10061 { 10062 "api_key": [] 10063 } 10064 ], 10065 "summary": "Get APK links", 10066 "tags": [ 10067 "Server" 10068 ], 10069 "x-immich-history": [ 10070 { 10071 "version": "v1", 10072 "state": "Added" 10073 }, 10074 { 10075 "version": "v1", 10076 "state": "Beta" 10077 }, 10078 { 10079 "version": "v2", 10080 "state": "Stable" 10081 } 10082 ], 10083 "x-immich-permission": "server.apkLinks", 10084 "x-immich-state": "Stable" 10085 } 10086 }, 10087 "/server/config": { 10088 "get": { 10089 "description": "Retrieve the current server configuration.", 10090 "operationId": "getServerConfig", 10091 "parameters": [], 10092 "responses": { 10093 "200": { 10094 "content": { 10095 "application/json": { 10096 "schema": { 10097 "$ref": "#/components/schemas/ServerConfigDto" 10098 } 10099 } 10100 }, 10101 "description": "" 10102 } 10103 }, 10104 "summary": "Get config", 10105 "tags": [ 10106 "Server" 10107 ], 10108 "x-immich-history": [ 10109 { 10110 "version": "v1", 10111 "state": "Added" 10112 }, 10113 { 10114 "version": "v1", 10115 "state": "Beta" 10116 }, 10117 { 10118 "version": "v2", 10119 "state": "Stable" 10120 } 10121 ], 10122 "x-immich-state": "Stable" 10123 } 10124 }, 10125 "/server/features": { 10126 "get": { 10127 "description": "Retrieve available features supported by this server.", 10128 "operationId": "getServerFeatures", 10129 "parameters": [], 10130 "responses": { 10131 "200": { 10132 "content": { 10133 "application/json": { 10134 "schema": { 10135 "$ref": "#/components/schemas/ServerFeaturesDto" 10136 } 10137 } 10138 }, 10139 "description": "" 10140 } 10141 }, 10142 "summary": "Get features", 10143 "tags": [ 10144 "Server" 10145 ], 10146 "x-immich-history": [ 10147 { 10148 "version": "v1", 10149 "state": "Added" 10150 }, 10151 { 10152 "version": "v1", 10153 "state": "Beta" 10154 }, 10155 { 10156 "version": "v2", 10157 "state": "Stable" 10158 } 10159 ], 10160 "x-immich-state": "Stable" 10161 } 10162 }, 10163 "/server/license": { 10164 "delete": { 10165 "description": "Delete the currently set server product key.", 10166 "operationId": "deleteServerLicense", 10167 "parameters": [], 10168 "responses": { 10169 "204": { 10170 "description": "" 10171 } 10172 }, 10173 "security": [ 10174 { 10175 "bearer": [] 10176 }, 10177 { 10178 "cookie": [] 10179 }, 10180 { 10181 "api_key": [] 10182 } 10183 ], 10184 "summary": "Delete server product key", 10185 "tags": [ 10186 "Server" 10187 ], 10188 "x-immich-admin-only": true, 10189 "x-immich-history": [ 10190 { 10191 "version": "v1", 10192 "state": "Added" 10193 }, 10194 { 10195 "version": "v1", 10196 "state": "Beta" 10197 }, 10198 { 10199 "version": "v2", 10200 "state": "Stable" 10201 } 10202 ], 10203 "x-immich-permission": "serverLicense.delete", 10204 "x-immich-state": "Stable" 10205 }, 10206 "get": { 10207 "description": "Retrieve information about whether the server currently has a product key registered.", 10208 "operationId": "getServerLicense", 10209 "parameters": [], 10210 "responses": { 10211 "200": { 10212 "content": { 10213 "application/json": { 10214 "schema": { 10215 "$ref": "#/components/schemas/LicenseResponseDto" 10216 } 10217 } 10218 }, 10219 "description": "" 10220 }, 10221 "404": { 10222 "description": "" 10223 } 10224 }, 10225 "security": [ 10226 { 10227 "bearer": [] 10228 }, 10229 { 10230 "cookie": [] 10231 }, 10232 { 10233 "api_key": [] 10234 } 10235 ], 10236 "summary": "Get product key", 10237 "tags": [ 10238 "Server" 10239 ], 10240 "x-immich-admin-only": true, 10241 "x-immich-history": [ 10242 { 10243 "version": "v1", 10244 "state": "Added" 10245 }, 10246 { 10247 "version": "v1", 10248 "state": "Beta" 10249 }, 10250 { 10251 "version": "v2", 10252 "state": "Stable" 10253 } 10254 ], 10255 "x-immich-permission": "serverLicense.read", 10256 "x-immich-state": "Stable" 10257 }, 10258 "put": { 10259 "description": "Validate and set the server product key if successful.", 10260 "operationId": "setServerLicense", 10261 "parameters": [], 10262 "requestBody": { 10263 "content": { 10264 "application/json": { 10265 "schema": { 10266 "$ref": "#/components/schemas/LicenseKeyDto" 10267 } 10268 } 10269 }, 10270 "required": true 10271 }, 10272 "responses": { 10273 "200": { 10274 "content": { 10275 "application/json": { 10276 "schema": { 10277 "$ref": "#/components/schemas/LicenseResponseDto" 10278 } 10279 } 10280 }, 10281 "description": "" 10282 } 10283 }, 10284 "security": [ 10285 { 10286 "bearer": [] 10287 }, 10288 { 10289 "cookie": [] 10290 }, 10291 { 10292 "api_key": [] 10293 } 10294 ], 10295 "summary": "Set server product key", 10296 "tags": [ 10297 "Server" 10298 ], 10299 "x-immich-admin-only": true, 10300 "x-immich-history": [ 10301 { 10302 "version": "v1", 10303 "state": "Added" 10304 }, 10305 { 10306 "version": "v1", 10307 "state": "Beta" 10308 }, 10309 { 10310 "version": "v2", 10311 "state": "Stable" 10312 } 10313 ], 10314 "x-immich-permission": "serverLicense.update", 10315 "x-immich-state": "Stable" 10316 } 10317 }, 10318 "/server/media-types": { 10319 "get": { 10320 "description": "Retrieve all media types supported by the server.", 10321 "operationId": "getSupportedMediaTypes", 10322 "parameters": [], 10323 "responses": { 10324 "200": { 10325 "content": { 10326 "application/json": { 10327 "schema": { 10328 "$ref": "#/components/schemas/ServerMediaTypesResponseDto" 10329 } 10330 } 10331 }, 10332 "description": "" 10333 } 10334 }, 10335 "summary": "Get supported media types", 10336 "tags": [ 10337 "Server" 10338 ], 10339 "x-immich-history": [ 10340 { 10341 "version": "v1", 10342 "state": "Added" 10343 }, 10344 { 10345 "version": "v1", 10346 "state": "Beta" 10347 }, 10348 { 10349 "version": "v2", 10350 "state": "Stable" 10351 } 10352 ], 10353 "x-immich-state": "Stable" 10354 } 10355 }, 10356 "/server/ping": { 10357 "get": { 10358 "description": "Pong", 10359 "operationId": "pingServer", 10360 "parameters": [], 10361 "responses": { 10362 "200": { 10363 "content": { 10364 "application/json": { 10365 "schema": { 10366 "$ref": "#/components/schemas/ServerPingResponse" 10367 } 10368 } 10369 }, 10370 "description": "" 10371 } 10372 }, 10373 "summary": "Ping", 10374 "tags": [ 10375 "Server" 10376 ], 10377 "x-immich-history": [ 10378 { 10379 "version": "v1", 10380 "state": "Added" 10381 }, 10382 { 10383 "version": "v1", 10384 "state": "Beta" 10385 }, 10386 { 10387 "version": "v2", 10388 "state": "Stable" 10389 } 10390 ], 10391 "x-immich-state": "Stable" 10392 } 10393 }, 10394 "/server/statistics": { 10395 "get": { 10396 "description": "Retrieve statistics about the entire Immich instance such as asset counts.", 10397 "operationId": "getServerStatistics", 10398 "parameters": [], 10399 "responses": { 10400 "200": { 10401 "content": { 10402 "application/json": { 10403 "schema": { 10404 "$ref": "#/components/schemas/ServerStatsResponseDto" 10405 } 10406 } 10407 }, 10408 "description": "" 10409 } 10410 }, 10411 "security": [ 10412 { 10413 "bearer": [] 10414 }, 10415 { 10416 "cookie": [] 10417 }, 10418 { 10419 "api_key": [] 10420 } 10421 ], 10422 "summary": "Get statistics", 10423 "tags": [ 10424 "Server" 10425 ], 10426 "x-immich-admin-only": true, 10427 "x-immich-history": [ 10428 { 10429 "version": "v1", 10430 "state": "Added" 10431 }, 10432 { 10433 "version": "v1", 10434 "state": "Beta" 10435 }, 10436 { 10437 "version": "v2", 10438 "state": "Stable" 10439 } 10440 ], 10441 "x-immich-permission": "server.statistics", 10442 "x-immich-state": "Stable" 10443 } 10444 }, 10445 "/server/storage": { 10446 "get": { 10447 "description": "Retrieve the current storage utilization information of the server.", 10448 "operationId": "getStorage", 10449 "parameters": [], 10450 "responses": { 10451 "200": { 10452 "content": { 10453 "application/json": { 10454 "schema": { 10455 "$ref": "#/components/schemas/ServerStorageResponseDto" 10456 } 10457 } 10458 }, 10459 "description": "" 10460 } 10461 }, 10462 "security": [ 10463 { 10464 "bearer": [] 10465 }, 10466 { 10467 "cookie": [] 10468 }, 10469 { 10470 "api_key": [] 10471 } 10472 ], 10473 "summary": "Get storage", 10474 "tags": [ 10475 "Server" 10476 ], 10477 "x-immich-history": [ 10478 { 10479 "version": "v1", 10480 "state": "Added" 10481 }, 10482 { 10483 "version": "v1", 10484 "state": "Beta" 10485 }, 10486 { 10487 "version": "v2", 10488 "state": "Stable" 10489 } 10490 ], 10491 "x-immich-permission": "server.storage", 10492 "x-immich-state": "Stable" 10493 } 10494 }, 10495 "/server/theme": { 10496 "get": { 10497 "description": "Retrieve the custom CSS, if existent.", 10498 "operationId": "getTheme", 10499 "parameters": [], 10500 "responses": { 10501 "200": { 10502 "content": { 10503 "application/json": { 10504 "schema": { 10505 "$ref": "#/components/schemas/ServerThemeDto" 10506 } 10507 } 10508 }, 10509 "description": "" 10510 } 10511 }, 10512 "summary": "Get theme", 10513 "tags": [ 10514 "Server" 10515 ], 10516 "x-immich-history": [ 10517 { 10518 "version": "v1", 10519 "state": "Added" 10520 }, 10521 { 10522 "version": "v1", 10523 "state": "Beta" 10524 }, 10525 { 10526 "version": "v2", 10527 "state": "Stable" 10528 } 10529 ], 10530 "x-immich-state": "Stable" 10531 } 10532 }, 10533 "/server/version": { 10534 "get": { 10535 "description": "Retrieve the current server version in semantic versioning (semver) format.", 10536 "operationId": "getServerVersion", 10537 "parameters": [], 10538 "responses": { 10539 "200": { 10540 "content": { 10541 "application/json": { 10542 "schema": { 10543 "$ref": "#/components/schemas/ServerVersionResponseDto" 10544 } 10545 } 10546 }, 10547 "description": "" 10548 } 10549 }, 10550 "summary": "Get server version", 10551 "tags": [ 10552 "Server" 10553 ], 10554 "x-immich-history": [ 10555 { 10556 "version": "v1", 10557 "state": "Added" 10558 }, 10559 { 10560 "version": "v1", 10561 "state": "Beta" 10562 }, 10563 { 10564 "version": "v2", 10565 "state": "Stable" 10566 } 10567 ], 10568 "x-immich-state": "Stable" 10569 } 10570 }, 10571 "/server/version-check": { 10572 "get": { 10573 "description": "Retrieve information about the last time the version check ran.", 10574 "operationId": "getVersionCheck", 10575 "parameters": [], 10576 "responses": { 10577 "200": { 10578 "content": { 10579 "application/json": { 10580 "schema": { 10581 "$ref": "#/components/schemas/VersionCheckStateResponseDto" 10582 } 10583 } 10584 }, 10585 "description": "" 10586 } 10587 }, 10588 "security": [ 10589 { 10590 "bearer": [] 10591 }, 10592 { 10593 "cookie": [] 10594 }, 10595 { 10596 "api_key": [] 10597 } 10598 ], 10599 "summary": "Get version check status", 10600 "tags": [ 10601 "Server" 10602 ], 10603 "x-immich-history": [ 10604 { 10605 "version": "v1", 10606 "state": "Added" 10607 }, 10608 { 10609 "version": "v1", 10610 "state": "Beta" 10611 }, 10612 { 10613 "version": "v2", 10614 "state": "Stable" 10615 } 10616 ], 10617 "x-immich-permission": "server.versionCheck", 10618 "x-immich-state": "Stable" 10619 } 10620 }, 10621 "/server/version-history": { 10622 "get": { 10623 "description": "Retrieve a list of past versions the server has been on.", 10624 "operationId": "getVersionHistory", 10625 "parameters": [], 10626 "responses": { 10627 "200": { 10628 "content": { 10629 "application/json": { 10630 "schema": { 10631 "items": { 10632 "$ref": "#/components/schemas/ServerVersionHistoryResponseDto" 10633 }, 10634 "type": "array" 10635 } 10636 } 10637 }, 10638 "description": "" 10639 } 10640 }, 10641 "summary": "Get version history", 10642 "tags": [ 10643 "Server" 10644 ], 10645 "x-immich-history": [ 10646 { 10647 "version": "v1", 10648 "state": "Added" 10649 }, 10650 { 10651 "version": "v1", 10652 "state": "Beta" 10653 }, 10654 { 10655 "version": "v2", 10656 "state": "Stable" 10657 } 10658 ], 10659 "x-immich-state": "Stable" 10660 } 10661 }, 10662 "/sessions": { 10663 "delete": { 10664 "description": "Delete all sessions for the user. This will not delete the current session.", 10665 "operationId": "deleteAllSessions", 10666 "parameters": [], 10667 "responses": { 10668 "204": { 10669 "description": "" 10670 } 10671 }, 10672 "security": [ 10673 { 10674 "bearer": [] 10675 }, 10676 { 10677 "cookie": [] 10678 }, 10679 { 10680 "api_key": [] 10681 } 10682 ], 10683 "summary": "Delete all sessions", 10684 "tags": [ 10685 "Sessions" 10686 ], 10687 "x-immich-history": [ 10688 { 10689 "version": "v1", 10690 "state": "Added" 10691 }, 10692 { 10693 "version": "v1", 10694 "state": "Beta" 10695 }, 10696 { 10697 "version": "v2", 10698 "state": "Stable" 10699 } 10700 ], 10701 "x-immich-permission": "session.delete", 10702 "x-immich-state": "Stable" 10703 }, 10704 "get": { 10705 "description": "Retrieve a list of sessions for the user.", 10706 "operationId": "getSessions", 10707 "parameters": [], 10708 "responses": { 10709 "200": { 10710 "content": { 10711 "application/json": { 10712 "schema": { 10713 "items": { 10714 "$ref": "#/components/schemas/SessionResponseDto" 10715 }, 10716 "type": "array" 10717 } 10718 } 10719 }, 10720 "description": "" 10721 } 10722 }, 10723 "security": [ 10724 { 10725 "bearer": [] 10726 }, 10727 { 10728 "cookie": [] 10729 }, 10730 { 10731 "api_key": [] 10732 } 10733 ], 10734 "summary": "Retrieve sessions", 10735 "tags": [ 10736 "Sessions" 10737 ], 10738 "x-immich-history": [ 10739 { 10740 "version": "v1", 10741 "state": "Added" 10742 }, 10743 { 10744 "version": "v1", 10745 "state": "Beta" 10746 }, 10747 { 10748 "version": "v2", 10749 "state": "Stable" 10750 } 10751 ], 10752 "x-immich-permission": "session.read", 10753 "x-immich-state": "Stable" 10754 }, 10755 "post": { 10756 "description": "Create a session as a child to the current session. This endpoint is used for casting.", 10757 "operationId": "createSession", 10758 "parameters": [], 10759 "requestBody": { 10760 "content": { 10761 "application/json": { 10762 "schema": { 10763 "$ref": "#/components/schemas/SessionCreateDto" 10764 } 10765 } 10766 }, 10767 "required": true 10768 }, 10769 "responses": { 10770 "201": { 10771 "content": { 10772 "application/json": { 10773 "schema": { 10774 "$ref": "#/components/schemas/SessionCreateResponseDto" 10775 } 10776 } 10777 }, 10778 "description": "" 10779 } 10780 }, 10781 "security": [ 10782 { 10783 "bearer": [] 10784 }, 10785 { 10786 "cookie": [] 10787 }, 10788 { 10789 "api_key": [] 10790 } 10791 ], 10792 "summary": "Create a session", 10793 "tags": [ 10794 "Sessions" 10795 ], 10796 "x-immich-history": [ 10797 { 10798 "version": "v1", 10799 "state": "Added" 10800 }, 10801 { 10802 "version": "v1", 10803 "state": "Beta" 10804 }, 10805 { 10806 "version": "v2", 10807 "state": "Stable" 10808 } 10809 ], 10810 "x-immich-permission": "session.create", 10811 "x-immich-state": "Stable" 10812 } 10813 }, 10814 "/sessions/{id}": { 10815 "delete": { 10816 "description": "Delete a specific session by id.", 10817 "operationId": "deleteSession", 10818 "parameters": [ 10819 { 10820 "name": "id", 10821 "required": true, 10822 "in": "path", 10823 "schema": { 10824 "format": "uuid", 10825 "type": "string" 10826 } 10827 } 10828 ], 10829 "responses": { 10830 "204": { 10831 "description": "" 10832 } 10833 }, 10834 "security": [ 10835 { 10836 "bearer": [] 10837 }, 10838 { 10839 "cookie": [] 10840 }, 10841 { 10842 "api_key": [] 10843 } 10844 ], 10845 "summary": "Delete a session", 10846 "tags": [ 10847 "Sessions" 10848 ], 10849 "x-immich-history": [ 10850 { 10851 "version": "v1", 10852 "state": "Added" 10853 }, 10854 { 10855 "version": "v1", 10856 "state": "Beta" 10857 }, 10858 { 10859 "version": "v2", 10860 "state": "Stable" 10861 } 10862 ], 10863 "x-immich-permission": "session.delete", 10864 "x-immich-state": "Stable" 10865 }, 10866 "put": { 10867 "description": "Update a specific session identified by id.", 10868 "operationId": "updateSession", 10869 "parameters": [ 10870 { 10871 "name": "id", 10872 "required": true, 10873 "in": "path", 10874 "schema": { 10875 "format": "uuid", 10876 "type": "string" 10877 } 10878 } 10879 ], 10880 "requestBody": { 10881 "content": { 10882 "application/json": { 10883 "schema": { 10884 "$ref": "#/components/schemas/SessionUpdateDto" 10885 } 10886 } 10887 }, 10888 "required": true 10889 }, 10890 "responses": { 10891 "200": { 10892 "content": { 10893 "application/json": { 10894 "schema": { 10895 "$ref": "#/components/schemas/SessionResponseDto" 10896 } 10897 } 10898 }, 10899 "description": "" 10900 } 10901 }, 10902 "security": [ 10903 { 10904 "bearer": [] 10905 }, 10906 { 10907 "cookie": [] 10908 }, 10909 { 10910 "api_key": [] 10911 } 10912 ], 10913 "summary": "Update a session", 10914 "tags": [ 10915 "Sessions" 10916 ], 10917 "x-immich-history": [ 10918 { 10919 "version": "v1", 10920 "state": "Added" 10921 }, 10922 { 10923 "version": "v1", 10924 "state": "Beta" 10925 }, 10926 { 10927 "version": "v2", 10928 "state": "Stable" 10929 } 10930 ], 10931 "x-immich-permission": "session.update", 10932 "x-immich-state": "Stable" 10933 } 10934 }, 10935 "/sessions/{id}/lock": { 10936 "post": { 10937 "description": "Lock a specific session by id.", 10938 "operationId": "lockSession", 10939 "parameters": [ 10940 { 10941 "name": "id", 10942 "required": true, 10943 "in": "path", 10944 "schema": { 10945 "format": "uuid", 10946 "type": "string" 10947 } 10948 } 10949 ], 10950 "responses": { 10951 "204": { 10952 "description": "" 10953 } 10954 }, 10955 "security": [ 10956 { 10957 "bearer": [] 10958 }, 10959 { 10960 "cookie": [] 10961 }, 10962 { 10963 "api_key": [] 10964 } 10965 ], 10966 "summary": "Lock a session", 10967 "tags": [ 10968 "Sessions" 10969 ], 10970 "x-immich-history": [ 10971 { 10972 "version": "v1", 10973 "state": "Added" 10974 }, 10975 { 10976 "version": "v1", 10977 "state": "Beta" 10978 }, 10979 { 10980 "version": "v2", 10981 "state": "Stable" 10982 } 10983 ], 10984 "x-immich-permission": "session.lock", 10985 "x-immich-state": "Stable" 10986 } 10987 }, 10988 "/shared-links": { 10989 "get": { 10990 "description": "Retrieve a list of all shared links.", 10991 "operationId": "getAllSharedLinks", 10992 "parameters": [ 10993 { 10994 "name": "albumId", 10995 "required": false, 10996 "in": "query", 10997 "schema": { 10998 "format": "uuid", 10999 "type": "string" 11000 } 11001 }, 11002 { 11003 "name": "id", 11004 "required": false, 11005 "in": "query", 11006 "x-immich-history": [ 11007 { 11008 "version": "v2.5.0", 11009 "state": "Added" 11010 } 11011 ], 11012 "schema": { 11013 "format": "uuid", 11014 "type": "string" 11015 } 11016 } 11017 ], 11018 "responses": { 11019 "200": { 11020 "content": { 11021 "application/json": { 11022 "schema": { 11023 "items": { 11024 "$ref": "#/components/schemas/SharedLinkResponseDto" 11025 }, 11026 "type": "array" 11027 } 11028 } 11029 }, 11030 "description": "" 11031 } 11032 }, 11033 "security": [ 11034 { 11035 "bearer": [] 11036 }, 11037 { 11038 "cookie": [] 11039 }, 11040 { 11041 "api_key": [] 11042 } 11043 ], 11044 "summary": "Retrieve all shared links", 11045 "tags": [ 11046 "Shared links" 11047 ], 11048 "x-immich-history": [ 11049 { 11050 "version": "v1", 11051 "state": "Added" 11052 }, 11053 { 11054 "version": "v1", 11055 "state": "Beta" 11056 }, 11057 { 11058 "version": "v2", 11059 "state": "Stable" 11060 } 11061 ], 11062 "x-immich-permission": "sharedLink.read", 11063 "x-immich-state": "Stable" 11064 }, 11065 "post": { 11066 "description": "Create a new shared link.", 11067 "operationId": "createSharedLink", 11068 "parameters": [], 11069 "requestBody": { 11070 "content": { 11071 "application/json": { 11072 "schema": { 11073 "$ref": "#/components/schemas/SharedLinkCreateDto" 11074 } 11075 } 11076 }, 11077 "required": true 11078 }, 11079 "responses": { 11080 "201": { 11081 "content": { 11082 "application/json": { 11083 "schema": { 11084 "$ref": "#/components/schemas/SharedLinkResponseDto" 11085 } 11086 } 11087 }, 11088 "description": "" 11089 } 11090 }, 11091 "security": [ 11092 { 11093 "bearer": [] 11094 }, 11095 { 11096 "cookie": [] 11097 }, 11098 { 11099 "api_key": [] 11100 } 11101 ], 11102 "summary": "Create a shared link", 11103 "tags": [ 11104 "Shared links" 11105 ], 11106 "x-immich-history": [ 11107 { 11108 "version": "v1", 11109 "state": "Added" 11110 }, 11111 { 11112 "version": "v1", 11113 "state": "Beta" 11114 }, 11115 { 11116 "version": "v2", 11117 "state": "Stable" 11118 } 11119 ], 11120 "x-immich-permission": "sharedLink.create", 11121 "x-immich-state": "Stable" 11122 } 11123 }, 11124 "/shared-links/me": { 11125 "get": { 11126 "description": "Retrieve the current shared link associated with authentication method.", 11127 "operationId": "getMySharedLink", 11128 "parameters": [ 11129 { 11130 "name": "key", 11131 "required": false, 11132 "in": "query", 11133 "schema": { 11134 "type": "string" 11135 } 11136 }, 11137 { 11138 "name": "password", 11139 "required": false, 11140 "in": "query", 11141 "schema": { 11142 "example": "password", 11143 "type": "string" 11144 } 11145 }, 11146 { 11147 "name": "slug", 11148 "required": false, 11149 "in": "query", 11150 "schema": { 11151 "type": "string" 11152 } 11153 }, 11154 { 11155 "name": "token", 11156 "required": false, 11157 "in": "query", 11158 "schema": { 11159 "type": "string" 11160 } 11161 } 11162 ], 11163 "responses": { 11164 "200": { 11165 "content": { 11166 "application/json": { 11167 "schema": { 11168 "$ref": "#/components/schemas/SharedLinkResponseDto" 11169 } 11170 } 11171 }, 11172 "description": "" 11173 } 11174 }, 11175 "security": [ 11176 { 11177 "bearer": [] 11178 }, 11179 { 11180 "cookie": [] 11181 }, 11182 { 11183 "api_key": [] 11184 } 11185 ], 11186 "summary": "Retrieve current shared link", 11187 "tags": [ 11188 "Shared links" 11189 ], 11190 "x-immich-history": [ 11191 { 11192 "version": "v1", 11193 "state": "Added" 11194 }, 11195 { 11196 "version": "v1", 11197 "state": "Beta" 11198 }, 11199 { 11200 "version": "v2", 11201 "state": "Stable" 11202 } 11203 ], 11204 "x-immich-state": "Stable" 11205 } 11206 }, 11207 "/shared-links/{id}": { 11208 "delete": { 11209 "description": "Delete a specific shared link by its ID.", 11210 "operationId": "removeSharedLink", 11211 "parameters": [ 11212 { 11213 "name": "id", 11214 "required": true, 11215 "in": "path", 11216 "schema": { 11217 "format": "uuid", 11218 "type": "string" 11219 } 11220 } 11221 ], 11222 "responses": { 11223 "204": { 11224 "description": "" 11225 } 11226 }, 11227 "security": [ 11228 { 11229 "bearer": [] 11230 }, 11231 { 11232 "cookie": [] 11233 }, 11234 { 11235 "api_key": [] 11236 } 11237 ], 11238 "summary": "Delete a shared link", 11239 "tags": [ 11240 "Shared links" 11241 ], 11242 "x-immich-history": [ 11243 { 11244 "version": "v1", 11245 "state": "Added" 11246 }, 11247 { 11248 "version": "v1", 11249 "state": "Beta" 11250 }, 11251 { 11252 "version": "v2", 11253 "state": "Stable" 11254 } 11255 ], 11256 "x-immich-permission": "sharedLink.delete", 11257 "x-immich-state": "Stable" 11258 }, 11259 "get": { 11260 "description": "Retrieve a specific shared link by its ID.", 11261 "operationId": "getSharedLinkById", 11262 "parameters": [ 11263 { 11264 "name": "id", 11265 "required": true, 11266 "in": "path", 11267 "schema": { 11268 "format": "uuid", 11269 "type": "string" 11270 } 11271 } 11272 ], 11273 "responses": { 11274 "200": { 11275 "content": { 11276 "application/json": { 11277 "schema": { 11278 "$ref": "#/components/schemas/SharedLinkResponseDto" 11279 } 11280 } 11281 }, 11282 "description": "" 11283 } 11284 }, 11285 "security": [ 11286 { 11287 "bearer": [] 11288 }, 11289 { 11290 "cookie": [] 11291 }, 11292 { 11293 "api_key": [] 11294 } 11295 ], 11296 "summary": "Retrieve a shared link", 11297 "tags": [ 11298 "Shared links" 11299 ], 11300 "x-immich-history": [ 11301 { 11302 "version": "v1", 11303 "state": "Added" 11304 }, 11305 { 11306 "version": "v1", 11307 "state": "Beta" 11308 }, 11309 { 11310 "version": "v2", 11311 "state": "Stable" 11312 } 11313 ], 11314 "x-immich-permission": "sharedLink.read", 11315 "x-immich-state": "Stable" 11316 }, 11317 "patch": { 11318 "description": "Update an existing shared link by its ID.", 11319 "operationId": "updateSharedLink", 11320 "parameters": [ 11321 { 11322 "name": "id", 11323 "required": true, 11324 "in": "path", 11325 "schema": { 11326 "format": "uuid", 11327 "type": "string" 11328 } 11329 } 11330 ], 11331 "requestBody": { 11332 "content": { 11333 "application/json": { 11334 "schema": { 11335 "$ref": "#/components/schemas/SharedLinkEditDto" 11336 } 11337 } 11338 }, 11339 "required": true 11340 }, 11341 "responses": { 11342 "200": { 11343 "content": { 11344 "application/json": { 11345 "schema": { 11346 "$ref": "#/components/schemas/SharedLinkResponseDto" 11347 } 11348 } 11349 }, 11350 "description": "" 11351 } 11352 }, 11353 "security": [ 11354 { 11355 "bearer": [] 11356 }, 11357 { 11358 "cookie": [] 11359 }, 11360 { 11361 "api_key": [] 11362 } 11363 ], 11364 "summary": "Update a shared link", 11365 "tags": [ 11366 "Shared links" 11367 ], 11368 "x-immich-history": [ 11369 { 11370 "version": "v1", 11371 "state": "Added" 11372 }, 11373 { 11374 "version": "v1", 11375 "state": "Beta" 11376 }, 11377 { 11378 "version": "v2", 11379 "state": "Stable" 11380 } 11381 ], 11382 "x-immich-permission": "sharedLink.update", 11383 "x-immich-state": "Stable" 11384 } 11385 }, 11386 "/shared-links/{id}/assets": { 11387 "delete": { 11388 "description": "Remove assets from a specific shared link by its ID. This endpoint is only relevant for shared link of type individual.", 11389 "operationId": "removeSharedLinkAssets", 11390 "parameters": [ 11391 { 11392 "name": "id", 11393 "required": true, 11394 "in": "path", 11395 "schema": { 11396 "format": "uuid", 11397 "type": "string" 11398 } 11399 }, 11400 { 11401 "name": "key", 11402 "required": false, 11403 "in": "query", 11404 "schema": { 11405 "type": "string" 11406 } 11407 }, 11408 { 11409 "name": "slug", 11410 "required": false, 11411 "in": "query", 11412 "schema": { 11413 "type": "string" 11414 } 11415 } 11416 ], 11417 "requestBody": { 11418 "content": { 11419 "application/json": { 11420 "schema": { 11421 "$ref": "#/components/schemas/AssetIdsDto" 11422 } 11423 } 11424 }, 11425 "required": true 11426 }, 11427 "responses": { 11428 "200": { 11429 "content": { 11430 "application/json": { 11431 "schema": { 11432 "items": { 11433 "$ref": "#/components/schemas/AssetIdsResponseDto" 11434 }, 11435 "type": "array" 11436 } 11437 } 11438 }, 11439 "description": "" 11440 } 11441 }, 11442 "security": [ 11443 { 11444 "bearer": [] 11445 }, 11446 { 11447 "cookie": [] 11448 }, 11449 { 11450 "api_key": [] 11451 } 11452 ], 11453 "summary": "Remove assets from a shared link", 11454 "tags": [ 11455 "Shared links" 11456 ], 11457 "x-immich-history": [ 11458 { 11459 "version": "v1", 11460 "state": "Added" 11461 }, 11462 { 11463 "version": "v1", 11464 "state": "Beta" 11465 }, 11466 { 11467 "version": "v2", 11468 "state": "Stable" 11469 } 11470 ], 11471 "x-immich-state": "Stable" 11472 }, 11473 "put": { 11474 "description": "Add assets to a specific shared link by its ID. This endpoint is only relevant for shared link of type individual.", 11475 "operationId": "addSharedLinkAssets", 11476 "parameters": [ 11477 { 11478 "name": "id", 11479 "required": true, 11480 "in": "path", 11481 "schema": { 11482 "format": "uuid", 11483 "type": "string" 11484 } 11485 }, 11486 { 11487 "name": "key", 11488 "required": false, 11489 "in": "query", 11490 "schema": { 11491 "type": "string" 11492 } 11493 }, 11494 { 11495 "name": "slug", 11496 "required": false, 11497 "in": "query", 11498 "schema": { 11499 "type": "string" 11500 } 11501 } 11502 ], 11503 "requestBody": { 11504 "content": { 11505 "application/json": { 11506 "schema": { 11507 "$ref": "#/components/schemas/AssetIdsDto" 11508 } 11509 } 11510 }, 11511 "required": true 11512 }, 11513 "responses": { 11514 "200": { 11515 "content": { 11516 "application/json": { 11517 "schema": { 11518 "items": { 11519 "$ref": "#/components/schemas/AssetIdsResponseDto" 11520 }, 11521 "type": "array" 11522 } 11523 } 11524 }, 11525 "description": "" 11526 } 11527 }, 11528 "security": [ 11529 { 11530 "bearer": [] 11531 }, 11532 { 11533 "cookie": [] 11534 }, 11535 { 11536 "api_key": [] 11537 } 11538 ], 11539 "summary": "Add assets to a shared link", 11540 "tags": [ 11541 "Shared links" 11542 ], 11543 "x-immich-history": [ 11544 { 11545 "version": "v1", 11546 "state": "Added" 11547 }, 11548 { 11549 "version": "v1", 11550 "state": "Beta" 11551 }, 11552 { 11553 "version": "v2", 11554 "state": "Stable" 11555 } 11556 ], 11557 "x-immich-state": "Stable" 11558 } 11559 }, 11560 "/stacks": { 11561 "delete": { 11562 "description": "Delete multiple stacks by providing a list of stack IDs.", 11563 "operationId": "deleteStacks", 11564 "parameters": [], 11565 "requestBody": { 11566 "content": { 11567 "application/json": { 11568 "schema": { 11569 "$ref": "#/components/schemas/BulkIdsDto" 11570 } 11571 } 11572 }, 11573 "required": true 11574 }, 11575 "responses": { 11576 "204": { 11577 "description": "" 11578 } 11579 }, 11580 "security": [ 11581 { 11582 "bearer": [] 11583 }, 11584 { 11585 "cookie": [] 11586 }, 11587 { 11588 "api_key": [] 11589 } 11590 ], 11591 "summary": "Delete stacks", 11592 "tags": [ 11593 "Stacks" 11594 ], 11595 "x-immich-history": [ 11596 { 11597 "version": "v1", 11598 "state": "Added" 11599 }, 11600 { 11601 "version": "v1", 11602 "state": "Beta" 11603 }, 11604 { 11605 "version": "v2", 11606 "state": "Stable" 11607 } 11608 ], 11609 "x-immich-permission": "stack.delete", 11610 "x-immich-state": "Stable" 11611 }, 11612 "get": { 11613 "description": "Retrieve a list of stacks.", 11614 "operationId": "searchStacks", 11615 "parameters": [ 11616 { 11617 "name": "primaryAssetId", 11618 "required": false, 11619 "in": "query", 11620 "schema": { 11621 "format": "uuid", 11622 "type": "string" 11623 } 11624 } 11625 ], 11626 "responses": { 11627 "200": { 11628 "content": { 11629 "application/json": { 11630 "schema": { 11631 "items": { 11632 "$ref": "#/components/schemas/StackResponseDto" 11633 }, 11634 "type": "array" 11635 } 11636 } 11637 }, 11638 "description": "" 11639 } 11640 }, 11641 "security": [ 11642 { 11643 "bearer": [] 11644 }, 11645 { 11646 "cookie": [] 11647 }, 11648 { 11649 "api_key": [] 11650 } 11651 ], 11652 "summary": "Retrieve stacks", 11653 "tags": [ 11654 "Stacks" 11655 ], 11656 "x-immich-history": [ 11657 { 11658 "version": "v1", 11659 "state": "Added" 11660 }, 11661 { 11662 "version": "v1", 11663 "state": "Beta" 11664 }, 11665 { 11666 "version": "v2", 11667 "state": "Stable" 11668 } 11669 ], 11670 "x-immich-permission": "stack.read", 11671 "x-immich-state": "Stable" 11672 }, 11673 "post": { 11674 "description": "Create a new stack by providing a name and a list of asset IDs to include in the stack. If any of the provided asset IDs are primary assets of an existing stack, the existing stack will be merged into the newly created stack.", 11675 "operationId": "createStack", 11676 "parameters": [], 11677 "requestBody": { 11678 "content": { 11679 "application/json": { 11680 "schema": { 11681 "$ref": "#/components/schemas/StackCreateDto" 11682 } 11683 } 11684 }, 11685 "required": true 11686 }, 11687 "responses": { 11688 "201": { 11689 "content": { 11690 "application/json": { 11691 "schema": { 11692 "$ref": "#/components/schemas/StackResponseDto" 11693 } 11694 } 11695 }, 11696 "description": "" 11697 } 11698 }, 11699 "security": [ 11700 { 11701 "bearer": [] 11702 }, 11703 { 11704 "cookie": [] 11705 }, 11706 { 11707 "api_key": [] 11708 } 11709 ], 11710 "summary": "Create a stack", 11711 "tags": [ 11712 "Stacks" 11713 ], 11714 "x-immich-history": [ 11715 { 11716 "version": "v1", 11717 "state": "Added" 11718 }, 11719 { 11720 "version": "v1", 11721 "state": "Beta" 11722 }, 11723 { 11724 "version": "v2", 11725 "state": "Stable" 11726 } 11727 ], 11728 "x-immich-permission": "stack.create", 11729 "x-immich-state": "Stable" 11730 } 11731 }, 11732 "/stacks/{id}": { 11733 "delete": { 11734 "description": "Delete a specific stack by its ID.", 11735 "operationId": "deleteStack", 11736 "parameters": [ 11737 { 11738 "name": "id", 11739 "required": true, 11740 "in": "path", 11741 "schema": { 11742 "format": "uuid", 11743 "type": "string" 11744 } 11745 } 11746 ], 11747 "responses": { 11748 "204": { 11749 "description": "" 11750 } 11751 }, 11752 "security": [ 11753 { 11754 "bearer": [] 11755 }, 11756 { 11757 "cookie": [] 11758 }, 11759 { 11760 "api_key": [] 11761 } 11762 ], 11763 "summary": "Delete a stack", 11764 "tags": [ 11765 "Stacks" 11766 ], 11767 "x-immich-history": [ 11768 { 11769 "version": "v1", 11770 "state": "Added" 11771 }, 11772 { 11773 "version": "v1", 11774 "state": "Beta" 11775 }, 11776 { 11777 "version": "v2", 11778 "state": "Stable" 11779 } 11780 ], 11781 "x-immich-permission": "stack.delete", 11782 "x-immich-state": "Stable" 11783 }, 11784 "get": { 11785 "description": "Retrieve a specific stack by its ID.", 11786 "operationId": "getStack", 11787 "parameters": [ 11788 { 11789 "name": "id", 11790 "required": true, 11791 "in": "path", 11792 "schema": { 11793 "format": "uuid", 11794 "type": "string" 11795 } 11796 } 11797 ], 11798 "responses": { 11799 "200": { 11800 "content": { 11801 "application/json": { 11802 "schema": { 11803 "$ref": "#/components/schemas/StackResponseDto" 11804 } 11805 } 11806 }, 11807 "description": "" 11808 } 11809 }, 11810 "security": [ 11811 { 11812 "bearer": [] 11813 }, 11814 { 11815 "cookie": [] 11816 }, 11817 { 11818 "api_key": [] 11819 } 11820 ], 11821 "summary": "Retrieve a stack", 11822 "tags": [ 11823 "Stacks" 11824 ], 11825 "x-immich-history": [ 11826 { 11827 "version": "v1", 11828 "state": "Added" 11829 }, 11830 { 11831 "version": "v1", 11832 "state": "Beta" 11833 }, 11834 { 11835 "version": "v2", 11836 "state": "Stable" 11837 } 11838 ], 11839 "x-immich-permission": "stack.read", 11840 "x-immich-state": "Stable" 11841 }, 11842 "put": { 11843 "description": "Update an existing stack by its ID.", 11844 "operationId": "updateStack", 11845 "parameters": [ 11846 { 11847 "name": "id", 11848 "required": true, 11849 "in": "path", 11850 "schema": { 11851 "format": "uuid", 11852 "type": "string" 11853 } 11854 } 11855 ], 11856 "requestBody": { 11857 "content": { 11858 "application/json": { 11859 "schema": { 11860 "$ref": "#/components/schemas/StackUpdateDto" 11861 } 11862 } 11863 }, 11864 "required": true 11865 }, 11866 "responses": { 11867 "200": { 11868 "content": { 11869 "application/json": { 11870 "schema": { 11871 "$ref": "#/components/schemas/StackResponseDto" 11872 } 11873 } 11874 }, 11875 "description": "" 11876 } 11877 }, 11878 "security": [ 11879 { 11880 "bearer": [] 11881 }, 11882 { 11883 "cookie": [] 11884 }, 11885 { 11886 "api_key": [] 11887 } 11888 ], 11889 "summary": "Update a stack", 11890 "tags": [ 11891 "Stacks" 11892 ], 11893 "x-immich-history": [ 11894 { 11895 "version": "v1", 11896 "state": "Added" 11897 }, 11898 { 11899 "version": "v1", 11900 "state": "Beta" 11901 }, 11902 { 11903 "version": "v2", 11904 "state": "Stable" 11905 } 11906 ], 11907 "x-immich-permission": "stack.update", 11908 "x-immich-state": "Stable" 11909 } 11910 }, 11911 "/stacks/{id}/assets/{assetId}": { 11912 "delete": { 11913 "description": "Remove a specific asset from a stack by providing the stack ID and asset ID.", 11914 "operationId": "removeAssetFromStack", 11915 "parameters": [ 11916 { 11917 "name": "assetId", 11918 "required": true, 11919 "in": "path", 11920 "schema": { 11921 "format": "uuid", 11922 "type": "string" 11923 } 11924 }, 11925 { 11926 "name": "id", 11927 "required": true, 11928 "in": "path", 11929 "schema": { 11930 "format": "uuid", 11931 "type": "string" 11932 } 11933 } 11934 ], 11935 "responses": { 11936 "204": { 11937 "description": "" 11938 } 11939 }, 11940 "security": [ 11941 { 11942 "bearer": [] 11943 }, 11944 { 11945 "cookie": [] 11946 }, 11947 { 11948 "api_key": [] 11949 } 11950 ], 11951 "summary": "Remove an asset from a stack", 11952 "tags": [ 11953 "Stacks" 11954 ], 11955 "x-immich-history": [ 11956 { 11957 "version": "v1", 11958 "state": "Added" 11959 }, 11960 { 11961 "version": "v1", 11962 "state": "Beta" 11963 }, 11964 { 11965 "version": "v2", 11966 "state": "Stable" 11967 } 11968 ], 11969 "x-immich-permission": "stack.update", 11970 "x-immich-state": "Stable" 11971 } 11972 }, 11973 "/sync/ack": { 11974 "delete": { 11975 "description": "Delete specific synchronization acknowledgments.", 11976 "operationId": "deleteSyncAck", 11977 "parameters": [], 11978 "requestBody": { 11979 "content": { 11980 "application/json": { 11981 "schema": { 11982 "$ref": "#/components/schemas/SyncAckDeleteDto" 11983 } 11984 } 11985 }, 11986 "required": true 11987 }, 11988 "responses": { 11989 "204": { 11990 "description": "" 11991 } 11992 }, 11993 "security": [ 11994 { 11995 "bearer": [] 11996 }, 11997 { 11998 "cookie": [] 11999 }, 12000 { 12001 "api_key": [] 12002 } 12003 ], 12004 "summary": "Delete acknowledgements", 12005 "tags": [ 12006 "Sync" 12007 ], 12008 "x-immich-history": [ 12009 { 12010 "version": "v1", 12011 "state": "Added" 12012 }, 12013 { 12014 "version": "v1", 12015 "state": "Beta" 12016 }, 12017 { 12018 "version": "v2", 12019 "state": "Stable" 12020 } 12021 ], 12022 "x-immich-permission": "syncCheckpoint.delete", 12023 "x-immich-state": "Stable" 12024 }, 12025 "get": { 12026 "description": "Retrieve the synchronization acknowledgments for the current session.", 12027 "operationId": "getSyncAck", 12028 "parameters": [], 12029 "responses": { 12030 "200": { 12031 "content": { 12032 "application/json": { 12033 "schema": { 12034 "items": { 12035 "$ref": "#/components/schemas/SyncAckDto" 12036 }, 12037 "type": "array" 12038 } 12039 } 12040 }, 12041 "description": "" 12042 } 12043 }, 12044 "security": [ 12045 { 12046 "bearer": [] 12047 }, 12048 { 12049 "cookie": [] 12050 }, 12051 { 12052 "api_key": [] 12053 } 12054 ], 12055 "summary": "Retrieve acknowledgements", 12056 "tags": [ 12057 "Sync" 12058 ], 12059 "x-immich-history": [ 12060 { 12061 "version": "v1", 12062 "state": "Added" 12063 }, 12064 { 12065 "version": "v1", 12066 "state": "Beta" 12067 }, 12068 { 12069 "version": "v2", 12070 "state": "Stable" 12071 } 12072 ], 12073 "x-immich-permission": "syncCheckpoint.read", 12074 "x-immich-state": "Stable" 12075 }, 12076 "post": { 12077 "description": "Send a list of synchronization acknowledgements to confirm that the latest changes have been received.", 12078 "operationId": "sendSyncAck", 12079 "parameters": [], 12080 "requestBody": { 12081 "content": { 12082 "application/json": { 12083 "schema": { 12084 "$ref": "#/components/schemas/SyncAckSetDto" 12085 } 12086 } 12087 }, 12088 "required": true 12089 }, 12090 "responses": { 12091 "204": { 12092 "description": "" 12093 } 12094 }, 12095 "security": [ 12096 { 12097 "bearer": [] 12098 }, 12099 { 12100 "cookie": [] 12101 }, 12102 { 12103 "api_key": [] 12104 } 12105 ], 12106 "summary": "Acknowledge changes", 12107 "tags": [ 12108 "Sync" 12109 ], 12110 "x-immich-history": [ 12111 { 12112 "version": "v1", 12113 "state": "Added" 12114 }, 12115 { 12116 "version": "v1", 12117 "state": "Beta" 12118 }, 12119 { 12120 "version": "v2", 12121 "state": "Stable" 12122 } 12123 ], 12124 "x-immich-permission": "syncCheckpoint.update", 12125 "x-immich-state": "Stable" 12126 } 12127 }, 12128 "/sync/delta-sync": { 12129 "post": { 12130 "deprecated": true, 12131 "description": "Retrieve changed assets since the last sync for the authenticated user.", 12132 "operationId": "getDeltaSync", 12133 "parameters": [], 12134 "requestBody": { 12135 "content": { 12136 "application/json": { 12137 "schema": { 12138 "$ref": "#/components/schemas/AssetDeltaSyncDto" 12139 } 12140 } 12141 }, 12142 "required": true 12143 }, 12144 "responses": { 12145 "200": { 12146 "content": { 12147 "application/json": { 12148 "schema": { 12149 "$ref": "#/components/schemas/AssetDeltaSyncResponseDto" 12150 } 12151 } 12152 }, 12153 "description": "" 12154 } 12155 }, 12156 "security": [ 12157 { 12158 "bearer": [] 12159 }, 12160 { 12161 "cookie": [] 12162 }, 12163 { 12164 "api_key": [] 12165 } 12166 ], 12167 "summary": "Get delta sync for user", 12168 "tags": [ 12169 "Sync", 12170 "Deprecated" 12171 ], 12172 "x-immich-history": [ 12173 { 12174 "version": "v1", 12175 "state": "Added" 12176 }, 12177 { 12178 "version": "v2", 12179 "state": "Deprecated" 12180 } 12181 ], 12182 "x-immich-state": "Deprecated" 12183 } 12184 }, 12185 "/sync/full-sync": { 12186 "post": { 12187 "deprecated": true, 12188 "description": "Retrieve all assets for a full synchronization for the authenticated user.", 12189 "operationId": "getFullSyncForUser", 12190 "parameters": [], 12191 "requestBody": { 12192 "content": { 12193 "application/json": { 12194 "schema": { 12195 "$ref": "#/components/schemas/AssetFullSyncDto" 12196 } 12197 } 12198 }, 12199 "required": true 12200 }, 12201 "responses": { 12202 "200": { 12203 "content": { 12204 "application/json": { 12205 "schema": { 12206 "items": { 12207 "$ref": "#/components/schemas/AssetResponseDto" 12208 }, 12209 "type": "array" 12210 } 12211 } 12212 }, 12213 "description": "" 12214 } 12215 }, 12216 "security": [ 12217 { 12218 "bearer": [] 12219 }, 12220 { 12221 "cookie": [] 12222 }, 12223 { 12224 "api_key": [] 12225 } 12226 ], 12227 "summary": "Get full sync for user", 12228 "tags": [ 12229 "Sync", 12230 "Deprecated" 12231 ], 12232 "x-immich-history": [ 12233 { 12234 "version": "v1", 12235 "state": "Added" 12236 }, 12237 { 12238 "version": "v2", 12239 "state": "Deprecated" 12240 } 12241 ], 12242 "x-immich-state": "Deprecated" 12243 } 12244 }, 12245 "/sync/stream": { 12246 "post": { 12247 "description": "Retrieve a JSON lines streamed response of changes for synchronization. This endpoint is used by the mobile app to efficiently stay up to date with changes.", 12248 "operationId": "getSyncStream", 12249 "parameters": [], 12250 "requestBody": { 12251 "content": { 12252 "application/json": { 12253 "schema": { 12254 "$ref": "#/components/schemas/SyncStreamDto" 12255 } 12256 } 12257 }, 12258 "required": true 12259 }, 12260 "responses": { 12261 "200": { 12262 "description": "" 12263 } 12264 }, 12265 "security": [ 12266 { 12267 "bearer": [] 12268 }, 12269 { 12270 "cookie": [] 12271 }, 12272 { 12273 "api_key": [] 12274 } 12275 ], 12276 "summary": "Stream sync changes", 12277 "tags": [ 12278 "Sync" 12279 ], 12280 "x-immich-history": [ 12281 { 12282 "version": "v1", 12283 "state": "Added" 12284 }, 12285 { 12286 "version": "v1", 12287 "state": "Beta" 12288 }, 12289 { 12290 "version": "v2", 12291 "state": "Stable" 12292 } 12293 ], 12294 "x-immich-permission": "sync.stream", 12295 "x-immich-state": "Stable" 12296 } 12297 }, 12298 "/system-config": { 12299 "get": { 12300 "description": "Retrieve the current system configuration.", 12301 "operationId": "getConfig", 12302 "parameters": [], 12303 "responses": { 12304 "200": { 12305 "content": { 12306 "application/json": { 12307 "schema": { 12308 "$ref": "#/components/schemas/SystemConfigDto" 12309 } 12310 } 12311 }, 12312 "description": "" 12313 } 12314 }, 12315 "security": [ 12316 { 12317 "bearer": [] 12318 }, 12319 { 12320 "cookie": [] 12321 }, 12322 { 12323 "api_key": [] 12324 } 12325 ], 12326 "summary": "Get system configuration", 12327 "tags": [ 12328 "System config" 12329 ], 12330 "x-immich-admin-only": true, 12331 "x-immich-history": [ 12332 { 12333 "version": "v1", 12334 "state": "Added" 12335 }, 12336 { 12337 "version": "v1", 12338 "state": "Beta" 12339 }, 12340 { 12341 "version": "v2", 12342 "state": "Stable" 12343 } 12344 ], 12345 "x-immich-permission": "systemConfig.read", 12346 "x-immich-state": "Stable" 12347 }, 12348 "put": { 12349 "description": "Update the system configuration with a new system configuration.", 12350 "operationId": "updateConfig", 12351 "parameters": [], 12352 "requestBody": { 12353 "content": { 12354 "application/json": { 12355 "schema": { 12356 "$ref": "#/components/schemas/SystemConfigDto" 12357 } 12358 } 12359 }, 12360 "required": true 12361 }, 12362 "responses": { 12363 "200": { 12364 "content": { 12365 "application/json": { 12366 "schema": { 12367 "$ref": "#/components/schemas/SystemConfigDto" 12368 } 12369 } 12370 }, 12371 "description": "" 12372 } 12373 }, 12374 "security": [ 12375 { 12376 "bearer": [] 12377 }, 12378 { 12379 "cookie": [] 12380 }, 12381 { 12382 "api_key": [] 12383 } 12384 ], 12385 "summary": "Update system configuration", 12386 "tags": [ 12387 "System config" 12388 ], 12389 "x-immich-admin-only": true, 12390 "x-immich-history": [ 12391 { 12392 "version": "v1", 12393 "state": "Added" 12394 }, 12395 { 12396 "version": "v1", 12397 "state": "Beta" 12398 }, 12399 { 12400 "version": "v2", 12401 "state": "Stable" 12402 } 12403 ], 12404 "x-immich-permission": "systemConfig.update", 12405 "x-immich-state": "Stable" 12406 } 12407 }, 12408 "/system-config/defaults": { 12409 "get": { 12410 "description": "Retrieve the default values for the system configuration.", 12411 "operationId": "getConfigDefaults", 12412 "parameters": [], 12413 "responses": { 12414 "200": { 12415 "content": { 12416 "application/json": { 12417 "schema": { 12418 "$ref": "#/components/schemas/SystemConfigDto" 12419 } 12420 } 12421 }, 12422 "description": "" 12423 } 12424 }, 12425 "security": [ 12426 { 12427 "bearer": [] 12428 }, 12429 { 12430 "cookie": [] 12431 }, 12432 { 12433 "api_key": [] 12434 } 12435 ], 12436 "summary": "Get system configuration defaults", 12437 "tags": [ 12438 "System config" 12439 ], 12440 "x-immich-admin-only": true, 12441 "x-immich-history": [ 12442 { 12443 "version": "v1", 12444 "state": "Added" 12445 }, 12446 { 12447 "version": "v1", 12448 "state": "Beta" 12449 }, 12450 { 12451 "version": "v2", 12452 "state": "Stable" 12453 } 12454 ], 12455 "x-immich-permission": "systemConfig.read", 12456 "x-immich-state": "Stable" 12457 } 12458 }, 12459 "/system-config/storage-template-options": { 12460 "get": { 12461 "description": "Retrieve exemplary storage template options.", 12462 "operationId": "getStorageTemplateOptions", 12463 "parameters": [], 12464 "responses": { 12465 "200": { 12466 "content": { 12467 "application/json": { 12468 "schema": { 12469 "$ref": "#/components/schemas/SystemConfigTemplateStorageOptionDto" 12470 } 12471 } 12472 }, 12473 "description": "" 12474 } 12475 }, 12476 "security": [ 12477 { 12478 "bearer": [] 12479 }, 12480 { 12481 "cookie": [] 12482 }, 12483 { 12484 "api_key": [] 12485 } 12486 ], 12487 "summary": "Get storage template options", 12488 "tags": [ 12489 "System config" 12490 ], 12491 "x-immich-admin-only": true, 12492 "x-immich-history": [ 12493 { 12494 "version": "v1", 12495 "state": "Added" 12496 }, 12497 { 12498 "version": "v1", 12499 "state": "Beta" 12500 }, 12501 { 12502 "version": "v2", 12503 "state": "Stable" 12504 } 12505 ], 12506 "x-immich-permission": "systemConfig.read", 12507 "x-immich-state": "Stable" 12508 } 12509 }, 12510 "/system-metadata/admin-onboarding": { 12511 "get": { 12512 "description": "Retrieve the current admin onboarding status.", 12513 "operationId": "getAdminOnboarding", 12514 "parameters": [], 12515 "responses": { 12516 "200": { 12517 "content": { 12518 "application/json": { 12519 "schema": { 12520 "$ref": "#/components/schemas/AdminOnboardingUpdateDto" 12521 } 12522 } 12523 }, 12524 "description": "" 12525 } 12526 }, 12527 "security": [ 12528 { 12529 "bearer": [] 12530 }, 12531 { 12532 "cookie": [] 12533 }, 12534 { 12535 "api_key": [] 12536 } 12537 ], 12538 "summary": "Retrieve admin onboarding", 12539 "tags": [ 12540 "System metadata" 12541 ], 12542 "x-immich-admin-only": true, 12543 "x-immich-history": [ 12544 { 12545 "version": "v1", 12546 "state": "Added" 12547 }, 12548 { 12549 "version": "v1", 12550 "state": "Beta" 12551 }, 12552 { 12553 "version": "v2", 12554 "state": "Stable" 12555 } 12556 ], 12557 "x-immich-permission": "systemMetadata.read", 12558 "x-immich-state": "Stable" 12559 }, 12560 "post": { 12561 "description": "Update the admin onboarding status.", 12562 "operationId": "updateAdminOnboarding", 12563 "parameters": [], 12564 "requestBody": { 12565 "content": { 12566 "application/json": { 12567 "schema": { 12568 "$ref": "#/components/schemas/AdminOnboardingUpdateDto" 12569 } 12570 } 12571 }, 12572 "required": true 12573 }, 12574 "responses": { 12575 "204": { 12576 "description": "" 12577 } 12578 }, 12579 "security": [ 12580 { 12581 "bearer": [] 12582 }, 12583 { 12584 "cookie": [] 12585 }, 12586 { 12587 "api_key": [] 12588 } 12589 ], 12590 "summary": "Update admin onboarding", 12591 "tags": [ 12592 "System metadata" 12593 ], 12594 "x-immich-admin-only": true, 12595 "x-immich-history": [ 12596 { 12597 "version": "v1", 12598 "state": "Added" 12599 }, 12600 { 12601 "version": "v1", 12602 "state": "Beta" 12603 }, 12604 { 12605 "version": "v2", 12606 "state": "Stable" 12607 } 12608 ], 12609 "x-immich-permission": "systemMetadata.update", 12610 "x-immich-state": "Stable" 12611 } 12612 }, 12613 "/system-metadata/reverse-geocoding-state": { 12614 "get": { 12615 "description": "Retrieve the current state of the reverse geocoding import.", 12616 "operationId": "getReverseGeocodingState", 12617 "parameters": [], 12618 "responses": { 12619 "200": { 12620 "content": { 12621 "application/json": { 12622 "schema": { 12623 "$ref": "#/components/schemas/ReverseGeocodingStateResponseDto" 12624 } 12625 } 12626 }, 12627 "description": "" 12628 } 12629 }, 12630 "security": [ 12631 { 12632 "bearer": [] 12633 }, 12634 { 12635 "cookie": [] 12636 }, 12637 { 12638 "api_key": [] 12639 } 12640 ], 12641 "summary": "Retrieve reverse geocoding state", 12642 "tags": [ 12643 "System metadata" 12644 ], 12645 "x-immich-admin-only": true, 12646 "x-immich-history": [ 12647 { 12648 "version": "v1", 12649 "state": "Added" 12650 }, 12651 { 12652 "version": "v1", 12653 "state": "Beta" 12654 }, 12655 { 12656 "version": "v2", 12657 "state": "Stable" 12658 } 12659 ], 12660 "x-immich-permission": "systemMetadata.read", 12661 "x-immich-state": "Stable" 12662 } 12663 }, 12664 "/system-metadata/version-check-state": { 12665 "get": { 12666 "description": "Retrieve the current state of the version check process.", 12667 "operationId": "getVersionCheckState", 12668 "parameters": [], 12669 "responses": { 12670 "200": { 12671 "content": { 12672 "application/json": { 12673 "schema": { 12674 "$ref": "#/components/schemas/VersionCheckStateResponseDto" 12675 } 12676 } 12677 }, 12678 "description": "" 12679 } 12680 }, 12681 "security": [ 12682 { 12683 "bearer": [] 12684 }, 12685 { 12686 "cookie": [] 12687 }, 12688 { 12689 "api_key": [] 12690 } 12691 ], 12692 "summary": "Retrieve version check state", 12693 "tags": [ 12694 "System metadata" 12695 ], 12696 "x-immich-admin-only": true, 12697 "x-immich-history": [ 12698 { 12699 "version": "v1", 12700 "state": "Added" 12701 }, 12702 { 12703 "version": "v1", 12704 "state": "Beta" 12705 }, 12706 { 12707 "version": "v2", 12708 "state": "Stable" 12709 } 12710 ], 12711 "x-immich-permission": "systemMetadata.read", 12712 "x-immich-state": "Stable" 12713 } 12714 }, 12715 "/tags": { 12716 "get": { 12717 "description": "Retrieve a list of all tags.", 12718 "operationId": "getAllTags", 12719 "parameters": [], 12720 "responses": { 12721 "200": { 12722 "content": { 12723 "application/json": { 12724 "schema": { 12725 "items": { 12726 "$ref": "#/components/schemas/TagResponseDto" 12727 }, 12728 "type": "array" 12729 } 12730 } 12731 }, 12732 "description": "" 12733 } 12734 }, 12735 "security": [ 12736 { 12737 "bearer": [] 12738 }, 12739 { 12740 "cookie": [] 12741 }, 12742 { 12743 "api_key": [] 12744 } 12745 ], 12746 "summary": "Retrieve tags", 12747 "tags": [ 12748 "Tags" 12749 ], 12750 "x-immich-history": [ 12751 { 12752 "version": "v1", 12753 "state": "Added" 12754 }, 12755 { 12756 "version": "v1", 12757 "state": "Beta" 12758 }, 12759 { 12760 "version": "v2", 12761 "state": "Stable" 12762 } 12763 ], 12764 "x-immich-permission": "tag.read", 12765 "x-immich-state": "Stable" 12766 }, 12767 "post": { 12768 "description": "Create a new tag by providing a name and optional color.", 12769 "operationId": "createTag", 12770 "parameters": [], 12771 "requestBody": { 12772 "content": { 12773 "application/json": { 12774 "schema": { 12775 "$ref": "#/components/schemas/TagCreateDto" 12776 } 12777 } 12778 }, 12779 "required": true 12780 }, 12781 "responses": { 12782 "201": { 12783 "content": { 12784 "application/json": { 12785 "schema": { 12786 "$ref": "#/components/schemas/TagResponseDto" 12787 } 12788 } 12789 }, 12790 "description": "" 12791 } 12792 }, 12793 "security": [ 12794 { 12795 "bearer": [] 12796 }, 12797 { 12798 "cookie": [] 12799 }, 12800 { 12801 "api_key": [] 12802 } 12803 ], 12804 "summary": "Create a tag", 12805 "tags": [ 12806 "Tags" 12807 ], 12808 "x-immich-history": [ 12809 { 12810 "version": "v1", 12811 "state": "Added" 12812 }, 12813 { 12814 "version": "v1", 12815 "state": "Beta" 12816 }, 12817 { 12818 "version": "v2", 12819 "state": "Stable" 12820 } 12821 ], 12822 "x-immich-permission": "tag.create", 12823 "x-immich-state": "Stable" 12824 }, 12825 "put": { 12826 "description": "Create or update multiple tags in a single request.", 12827 "operationId": "upsertTags", 12828 "parameters": [], 12829 "requestBody": { 12830 "content": { 12831 "application/json": { 12832 "schema": { 12833 "$ref": "#/components/schemas/TagUpsertDto" 12834 } 12835 } 12836 }, 12837 "required": true 12838 }, 12839 "responses": { 12840 "200": { 12841 "content": { 12842 "application/json": { 12843 "schema": { 12844 "items": { 12845 "$ref": "#/components/schemas/TagResponseDto" 12846 }, 12847 "type": "array" 12848 } 12849 } 12850 }, 12851 "description": "" 12852 } 12853 }, 12854 "security": [ 12855 { 12856 "bearer": [] 12857 }, 12858 { 12859 "cookie": [] 12860 }, 12861 { 12862 "api_key": [] 12863 } 12864 ], 12865 "summary": "Upsert tags", 12866 "tags": [ 12867 "Tags" 12868 ], 12869 "x-immich-history": [ 12870 { 12871 "version": "v1", 12872 "state": "Added" 12873 }, 12874 { 12875 "version": "v1", 12876 "state": "Beta" 12877 }, 12878 { 12879 "version": "v2", 12880 "state": "Stable" 12881 } 12882 ], 12883 "x-immich-permission": "tag.create", 12884 "x-immich-state": "Stable" 12885 } 12886 }, 12887 "/tags/assets": { 12888 "put": { 12889 "description": "Add multiple tags to multiple assets in a single request.", 12890 "operationId": "bulkTagAssets", 12891 "parameters": [], 12892 "requestBody": { 12893 "content": { 12894 "application/json": { 12895 "schema": { 12896 "$ref": "#/components/schemas/TagBulkAssetsDto" 12897 } 12898 } 12899 }, 12900 "required": true 12901 }, 12902 "responses": { 12903 "200": { 12904 "content": { 12905 "application/json": { 12906 "schema": { 12907 "$ref": "#/components/schemas/TagBulkAssetsResponseDto" 12908 } 12909 } 12910 }, 12911 "description": "" 12912 } 12913 }, 12914 "security": [ 12915 { 12916 "bearer": [] 12917 }, 12918 { 12919 "cookie": [] 12920 }, 12921 { 12922 "api_key": [] 12923 } 12924 ], 12925 "summary": "Tag assets", 12926 "tags": [ 12927 "Tags" 12928 ], 12929 "x-immich-history": [ 12930 { 12931 "version": "v1", 12932 "state": "Added" 12933 }, 12934 { 12935 "version": "v1", 12936 "state": "Beta" 12937 }, 12938 { 12939 "version": "v2", 12940 "state": "Stable" 12941 } 12942 ], 12943 "x-immich-permission": "tag.asset", 12944 "x-immich-state": "Stable" 12945 } 12946 }, 12947 "/tags/{id}": { 12948 "delete": { 12949 "description": "Delete a specific tag by its ID.", 12950 "operationId": "deleteTag", 12951 "parameters": [ 12952 { 12953 "name": "id", 12954 "required": true, 12955 "in": "path", 12956 "schema": { 12957 "format": "uuid", 12958 "type": "string" 12959 } 12960 } 12961 ], 12962 "responses": { 12963 "204": { 12964 "description": "" 12965 } 12966 }, 12967 "security": [ 12968 { 12969 "bearer": [] 12970 }, 12971 { 12972 "cookie": [] 12973 }, 12974 { 12975 "api_key": [] 12976 } 12977 ], 12978 "summary": "Delete a tag", 12979 "tags": [ 12980 "Tags" 12981 ], 12982 "x-immich-history": [ 12983 { 12984 "version": "v1", 12985 "state": "Added" 12986 }, 12987 { 12988 "version": "v1", 12989 "state": "Beta" 12990 }, 12991 { 12992 "version": "v2", 12993 "state": "Stable" 12994 } 12995 ], 12996 "x-immich-permission": "tag.delete", 12997 "x-immich-state": "Stable" 12998 }, 12999 "get": { 13000 "description": "Retrieve a specific tag by its ID.", 13001 "operationId": "getTagById", 13002 "parameters": [ 13003 { 13004 "name": "id", 13005 "required": true, 13006 "in": "path", 13007 "schema": { 13008 "format": "uuid", 13009 "type": "string" 13010 } 13011 } 13012 ], 13013 "responses": { 13014 "200": { 13015 "content": { 13016 "application/json": { 13017 "schema": { 13018 "$ref": "#/components/schemas/TagResponseDto" 13019 } 13020 } 13021 }, 13022 "description": "" 13023 } 13024 }, 13025 "security": [ 13026 { 13027 "bearer": [] 13028 }, 13029 { 13030 "cookie": [] 13031 }, 13032 { 13033 "api_key": [] 13034 } 13035 ], 13036 "summary": "Retrieve a tag", 13037 "tags": [ 13038 "Tags" 13039 ], 13040 "x-immich-history": [ 13041 { 13042 "version": "v1", 13043 "state": "Added" 13044 }, 13045 { 13046 "version": "v1", 13047 "state": "Beta" 13048 }, 13049 { 13050 "version": "v2", 13051 "state": "Stable" 13052 } 13053 ], 13054 "x-immich-permission": "tag.read", 13055 "x-immich-state": "Stable" 13056 }, 13057 "put": { 13058 "description": "Update an existing tag identified by its ID.", 13059 "operationId": "updateTag", 13060 "parameters": [ 13061 { 13062 "name": "id", 13063 "required": true, 13064 "in": "path", 13065 "schema": { 13066 "format": "uuid", 13067 "type": "string" 13068 } 13069 } 13070 ], 13071 "requestBody": { 13072 "content": { 13073 "application/json": { 13074 "schema": { 13075 "$ref": "#/components/schemas/TagUpdateDto" 13076 } 13077 } 13078 }, 13079 "required": true 13080 }, 13081 "responses": { 13082 "200": { 13083 "content": { 13084 "application/json": { 13085 "schema": { 13086 "$ref": "#/components/schemas/TagResponseDto" 13087 } 13088 } 13089 }, 13090 "description": "" 13091 } 13092 }, 13093 "security": [ 13094 { 13095 "bearer": [] 13096 }, 13097 { 13098 "cookie": [] 13099 }, 13100 { 13101 "api_key": [] 13102 } 13103 ], 13104 "summary": "Update a tag", 13105 "tags": [ 13106 "Tags" 13107 ], 13108 "x-immich-history": [ 13109 { 13110 "version": "v1", 13111 "state": "Added" 13112 }, 13113 { 13114 "version": "v1", 13115 "state": "Beta" 13116 }, 13117 { 13118 "version": "v2", 13119 "state": "Stable" 13120 } 13121 ], 13122 "x-immich-permission": "tag.update", 13123 "x-immich-state": "Stable" 13124 } 13125 }, 13126 "/tags/{id}/assets": { 13127 "delete": { 13128 "description": "Remove a tag from all the specified assets.", 13129 "operationId": "untagAssets", 13130 "parameters": [ 13131 { 13132 "name": "id", 13133 "required": true, 13134 "in": "path", 13135 "schema": { 13136 "format": "uuid", 13137 "type": "string" 13138 } 13139 } 13140 ], 13141 "requestBody": { 13142 "content": { 13143 "application/json": { 13144 "schema": { 13145 "$ref": "#/components/schemas/BulkIdsDto" 13146 } 13147 } 13148 }, 13149 "required": true 13150 }, 13151 "responses": { 13152 "200": { 13153 "content": { 13154 "application/json": { 13155 "schema": { 13156 "items": { 13157 "$ref": "#/components/schemas/BulkIdResponseDto" 13158 }, 13159 "type": "array" 13160 } 13161 } 13162 }, 13163 "description": "" 13164 } 13165 }, 13166 "security": [ 13167 { 13168 "bearer": [] 13169 }, 13170 { 13171 "cookie": [] 13172 }, 13173 { 13174 "api_key": [] 13175 } 13176 ], 13177 "summary": "Untag assets", 13178 "tags": [ 13179 "Tags" 13180 ], 13181 "x-immich-history": [ 13182 { 13183 "version": "v1", 13184 "state": "Added" 13185 }, 13186 { 13187 "version": "v1", 13188 "state": "Beta" 13189 }, 13190 { 13191 "version": "v2", 13192 "state": "Stable" 13193 } 13194 ], 13195 "x-immich-permission": "tag.asset", 13196 "x-immich-state": "Stable" 13197 }, 13198 "put": { 13199 "description": "Add a tag to all the specified assets.", 13200 "operationId": "tagAssets", 13201 "parameters": [ 13202 { 13203 "name": "id", 13204 "required": true, 13205 "in": "path", 13206 "schema": { 13207 "format": "uuid", 13208 "type": "string" 13209 } 13210 } 13211 ], 13212 "requestBody": { 13213 "content": { 13214 "application/json": { 13215 "schema": { 13216 "$ref": "#/components/schemas/BulkIdsDto" 13217 } 13218 } 13219 }, 13220 "required": true 13221 }, 13222 "responses": { 13223 "200": { 13224 "content": { 13225 "application/json": { 13226 "schema": { 13227 "items": { 13228 "$ref": "#/components/schemas/BulkIdResponseDto" 13229 }, 13230 "type": "array" 13231 } 13232 } 13233 }, 13234 "description": "" 13235 } 13236 }, 13237 "security": [ 13238 { 13239 "bearer": [] 13240 }, 13241 { 13242 "cookie": [] 13243 }, 13244 { 13245 "api_key": [] 13246 } 13247 ], 13248 "summary": "Tag assets", 13249 "tags": [ 13250 "Tags" 13251 ], 13252 "x-immich-history": [ 13253 { 13254 "version": "v1", 13255 "state": "Added" 13256 }, 13257 { 13258 "version": "v1", 13259 "state": "Beta" 13260 }, 13261 { 13262 "version": "v2", 13263 "state": "Stable" 13264 } 13265 ], 13266 "x-immich-permission": "tag.asset", 13267 "x-immich-state": "Stable" 13268 } 13269 }, 13270 "/timeline/bucket": { 13271 "get": { 13272 "description": "Retrieve a string of all asset ids in a given time bucket.", 13273 "operationId": "getTimeBucket", 13274 "parameters": [ 13275 { 13276 "name": "albumId", 13277 "required": false, 13278 "in": "query", 13279 "description": "Filter assets belonging to a specific album", 13280 "schema": { 13281 "format": "uuid", 13282 "type": "string" 13283 } 13284 }, 13285 { 13286 "name": "isFavorite", 13287 "required": false, 13288 "in": "query", 13289 "description": "Filter by favorite status (true for favorites only, false for non-favorites only)", 13290 "schema": { 13291 "type": "boolean" 13292 } 13293 }, 13294 { 13295 "name": "isTrashed", 13296 "required": false, 13297 "in": "query", 13298 "description": "Filter by trash status (true for trashed assets only, false for non-trashed only)", 13299 "schema": { 13300 "type": "boolean" 13301 } 13302 }, 13303 { 13304 "name": "key", 13305 "required": false, 13306 "in": "query", 13307 "schema": { 13308 "type": "string" 13309 } 13310 }, 13311 { 13312 "name": "order", 13313 "required": false, 13314 "in": "query", 13315 "description": "Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)", 13316 "schema": { 13317 "$ref": "#/components/schemas/AssetOrder" 13318 } 13319 }, 13320 { 13321 "name": "personId", 13322 "required": false, 13323 "in": "query", 13324 "description": "Filter assets containing a specific person (face recognition)", 13325 "schema": { 13326 "format": "uuid", 13327 "type": "string" 13328 } 13329 }, 13330 { 13331 "name": "slug", 13332 "required": false, 13333 "in": "query", 13334 "schema": { 13335 "type": "string" 13336 } 13337 }, 13338 { 13339 "name": "tagId", 13340 "required": false, 13341 "in": "query", 13342 "description": "Filter assets with a specific tag", 13343 "schema": { 13344 "format": "uuid", 13345 "type": "string" 13346 } 13347 }, 13348 { 13349 "name": "timeBucket", 13350 "required": true, 13351 "in": "query", 13352 "description": "Time bucket identifier in YYYY-MM-DD format (e.g., \"2024-01-01\" for January 2024)", 13353 "schema": { 13354 "example": "2024-01-01", 13355 "type": "string" 13356 } 13357 }, 13358 { 13359 "name": "userId", 13360 "required": false, 13361 "in": "query", 13362 "description": "Filter assets by specific user ID", 13363 "schema": { 13364 "format": "uuid", 13365 "type": "string" 13366 } 13367 }, 13368 { 13369 "name": "visibility", 13370 "required": false, 13371 "in": "query", 13372 "description": "Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)", 13373 "schema": { 13374 "$ref": "#/components/schemas/AssetVisibility" 13375 } 13376 }, 13377 { 13378 "name": "withCoordinates", 13379 "required": false, 13380 "in": "query", 13381 "description": "Include location data in the response", 13382 "schema": { 13383 "type": "boolean" 13384 } 13385 }, 13386 { 13387 "name": "withPartners", 13388 "required": false, 13389 "in": "query", 13390 "description": "Include assets shared by partners", 13391 "schema": { 13392 "type": "boolean" 13393 } 13394 }, 13395 { 13396 "name": "withStacked", 13397 "required": false, 13398 "in": "query", 13399 "description": "Include stacked assets in the response. When true, only primary assets from stacks are returned.", 13400 "schema": { 13401 "type": "boolean" 13402 } 13403 } 13404 ], 13405 "responses": { 13406 "200": { 13407 "content": { 13408 "application/json": { 13409 "schema": { 13410 "$ref": "#/components/schemas/TimeBucketAssetResponseDto" 13411 } 13412 } 13413 }, 13414 "description": "" 13415 } 13416 }, 13417 "security": [ 13418 { 13419 "bearer": [] 13420 }, 13421 { 13422 "cookie": [] 13423 }, 13424 { 13425 "api_key": [] 13426 } 13427 ], 13428 "summary": "Get time bucket", 13429 "tags": [ 13430 "Timeline" 13431 ], 13432 "x-immich-history": [ 13433 { 13434 "version": "v1", 13435 "state": "Added" 13436 }, 13437 { 13438 "version": "v1", 13439 "state": "Internal" 13440 } 13441 ], 13442 "x-immich-permission": "asset.read", 13443 "x-immich-state": "Internal" 13444 } 13445 }, 13446 "/timeline/buckets": { 13447 "get": { 13448 "description": "Retrieve a list of all minimal time buckets.", 13449 "operationId": "getTimeBuckets", 13450 "parameters": [ 13451 { 13452 "name": "albumId", 13453 "required": false, 13454 "in": "query", 13455 "description": "Filter assets belonging to a specific album", 13456 "schema": { 13457 "format": "uuid", 13458 "type": "string" 13459 } 13460 }, 13461 { 13462 "name": "isFavorite", 13463 "required": false, 13464 "in": "query", 13465 "description": "Filter by favorite status (true for favorites only, false for non-favorites only)", 13466 "schema": { 13467 "type": "boolean" 13468 } 13469 }, 13470 { 13471 "name": "isTrashed", 13472 "required": false, 13473 "in": "query", 13474 "description": "Filter by trash status (true for trashed assets only, false for non-trashed only)", 13475 "schema": { 13476 "type": "boolean" 13477 } 13478 }, 13479 { 13480 "name": "key", 13481 "required": false, 13482 "in": "query", 13483 "schema": { 13484 "type": "string" 13485 } 13486 }, 13487 { 13488 "name": "order", 13489 "required": false, 13490 "in": "query", 13491 "description": "Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)", 13492 "schema": { 13493 "$ref": "#/components/schemas/AssetOrder" 13494 } 13495 }, 13496 { 13497 "name": "personId", 13498 "required": false, 13499 "in": "query", 13500 "description": "Filter assets containing a specific person (face recognition)", 13501 "schema": { 13502 "format": "uuid", 13503 "type": "string" 13504 } 13505 }, 13506 { 13507 "name": "slug", 13508 "required": false, 13509 "in": "query", 13510 "schema": { 13511 "type": "string" 13512 } 13513 }, 13514 { 13515 "name": "tagId", 13516 "required": false, 13517 "in": "query", 13518 "description": "Filter assets with a specific tag", 13519 "schema": { 13520 "format": "uuid", 13521 "type": "string" 13522 } 13523 }, 13524 { 13525 "name": "userId", 13526 "required": false, 13527 "in": "query", 13528 "description": "Filter assets by specific user ID", 13529 "schema": { 13530 "format": "uuid", 13531 "type": "string" 13532 } 13533 }, 13534 { 13535 "name": "visibility", 13536 "required": false, 13537 "in": "query", 13538 "description": "Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)", 13539 "schema": { 13540 "$ref": "#/components/schemas/AssetVisibility" 13541 } 13542 }, 13543 { 13544 "name": "withCoordinates", 13545 "required": false, 13546 "in": "query", 13547 "description": "Include location data in the response", 13548 "schema": { 13549 "type": "boolean" 13550 } 13551 }, 13552 { 13553 "name": "withPartners", 13554 "required": false, 13555 "in": "query", 13556 "description": "Include assets shared by partners", 13557 "schema": { 13558 "type": "boolean" 13559 } 13560 }, 13561 { 13562 "name": "withStacked", 13563 "required": false, 13564 "in": "query", 13565 "description": "Include stacked assets in the response. When true, only primary assets from stacks are returned.", 13566 "schema": { 13567 "type": "boolean" 13568 } 13569 } 13570 ], 13571 "responses": { 13572 "200": { 13573 "content": { 13574 "application/json": { 13575 "schema": { 13576 "items": { 13577 "$ref": "#/components/schemas/TimeBucketsResponseDto" 13578 }, 13579 "type": "array" 13580 } 13581 } 13582 }, 13583 "description": "" 13584 } 13585 }, 13586 "security": [ 13587 { 13588 "bearer": [] 13589 }, 13590 { 13591 "cookie": [] 13592 }, 13593 { 13594 "api_key": [] 13595 } 13596 ], 13597 "summary": "Get time buckets", 13598 "tags": [ 13599 "Timeline" 13600 ], 13601 "x-immich-history": [ 13602 { 13603 "version": "v1", 13604 "state": "Added" 13605 }, 13606 { 13607 "version": "v1", 13608 "state": "Internal" 13609 } 13610 ], 13611 "x-immich-permission": "asset.read", 13612 "x-immich-state": "Internal" 13613 } 13614 }, 13615 "/trash/empty": { 13616 "post": { 13617 "description": "Permanently delete all items in the trash.", 13618 "operationId": "emptyTrash", 13619 "parameters": [], 13620 "responses": { 13621 "200": { 13622 "content": { 13623 "application/json": { 13624 "schema": { 13625 "$ref": "#/components/schemas/TrashResponseDto" 13626 } 13627 } 13628 }, 13629 "description": "" 13630 } 13631 }, 13632 "security": [ 13633 { 13634 "bearer": [] 13635 }, 13636 { 13637 "cookie": [] 13638 }, 13639 { 13640 "api_key": [] 13641 } 13642 ], 13643 "summary": "Empty trash", 13644 "tags": [ 13645 "Trash" 13646 ], 13647 "x-immich-history": [ 13648 { 13649 "version": "v1", 13650 "state": "Added" 13651 }, 13652 { 13653 "version": "v1", 13654 "state": "Beta" 13655 }, 13656 { 13657 "version": "v2", 13658 "state": "Stable" 13659 } 13660 ], 13661 "x-immich-permission": "asset.delete", 13662 "x-immich-state": "Stable" 13663 } 13664 }, 13665 "/trash/restore": { 13666 "post": { 13667 "description": "Restore all items in the trash.", 13668 "operationId": "restoreTrash", 13669 "parameters": [], 13670 "responses": { 13671 "200": { 13672 "content": { 13673 "application/json": { 13674 "schema": { 13675 "$ref": "#/components/schemas/TrashResponseDto" 13676 } 13677 } 13678 }, 13679 "description": "" 13680 } 13681 }, 13682 "security": [ 13683 { 13684 "bearer": [] 13685 }, 13686 { 13687 "cookie": [] 13688 }, 13689 { 13690 "api_key": [] 13691 } 13692 ], 13693 "summary": "Restore trash", 13694 "tags": [ 13695 "Trash" 13696 ], 13697 "x-immich-history": [ 13698 { 13699 "version": "v1", 13700 "state": "Added" 13701 }, 13702 { 13703 "version": "v1", 13704 "state": "Beta" 13705 }, 13706 { 13707 "version": "v2", 13708 "state": "Stable" 13709 } 13710 ], 13711 "x-immich-permission": "asset.delete", 13712 "x-immich-state": "Stable" 13713 } 13714 }, 13715 "/trash/restore/assets": { 13716 "post": { 13717 "description": "Restore specific assets from the trash.", 13718 "operationId": "restoreAssets", 13719 "parameters": [], 13720 "requestBody": { 13721 "content": { 13722 "application/json": { 13723 "schema": { 13724 "$ref": "#/components/schemas/BulkIdsDto" 13725 } 13726 } 13727 }, 13728 "required": true 13729 }, 13730 "responses": { 13731 "200": { 13732 "content": { 13733 "application/json": { 13734 "schema": { 13735 "$ref": "#/components/schemas/TrashResponseDto" 13736 } 13737 } 13738 }, 13739 "description": "" 13740 } 13741 }, 13742 "security": [ 13743 { 13744 "bearer": [] 13745 }, 13746 { 13747 "cookie": [] 13748 }, 13749 { 13750 "api_key": [] 13751 } 13752 ], 13753 "summary": "Restore assets", 13754 "tags": [ 13755 "Trash" 13756 ], 13757 "x-immich-history": [ 13758 { 13759 "version": "v1", 13760 "state": "Added" 13761 }, 13762 { 13763 "version": "v1", 13764 "state": "Beta" 13765 }, 13766 { 13767 "version": "v2", 13768 "state": "Stable" 13769 } 13770 ], 13771 "x-immich-permission": "asset.delete", 13772 "x-immich-state": "Stable" 13773 } 13774 }, 13775 "/users": { 13776 "get": { 13777 "description": "Retrieve a list of all users on the server.", 13778 "operationId": "searchUsers", 13779 "parameters": [], 13780 "responses": { 13781 "200": { 13782 "content": { 13783 "application/json": { 13784 "schema": { 13785 "items": { 13786 "$ref": "#/components/schemas/UserResponseDto" 13787 }, 13788 "type": "array" 13789 } 13790 } 13791 }, 13792 "description": "" 13793 } 13794 }, 13795 "security": [ 13796 { 13797 "bearer": [] 13798 }, 13799 { 13800 "cookie": [] 13801 }, 13802 { 13803 "api_key": [] 13804 } 13805 ], 13806 "summary": "Get all users", 13807 "tags": [ 13808 "Users" 13809 ], 13810 "x-immich-history": [ 13811 { 13812 "version": "v1", 13813 "state": "Added" 13814 }, 13815 { 13816 "version": "v1", 13817 "state": "Beta" 13818 }, 13819 { 13820 "version": "v2", 13821 "state": "Stable" 13822 } 13823 ], 13824 "x-immich-permission": "user.read", 13825 "x-immich-state": "Stable" 13826 } 13827 }, 13828 "/users/me": { 13829 "get": { 13830 "description": "Retrieve information about the user making the API request.", 13831 "operationId": "getMyUser", 13832 "parameters": [], 13833 "responses": { 13834 "200": { 13835 "content": { 13836 "application/json": { 13837 "schema": { 13838 "$ref": "#/components/schemas/UserAdminResponseDto" 13839 } 13840 } 13841 }, 13842 "description": "" 13843 } 13844 }, 13845 "security": [ 13846 { 13847 "bearer": [] 13848 }, 13849 { 13850 "cookie": [] 13851 }, 13852 { 13853 "api_key": [] 13854 } 13855 ], 13856 "summary": "Get current user", 13857 "tags": [ 13858 "Users" 13859 ], 13860 "x-immich-history": [ 13861 { 13862 "version": "v1", 13863 "state": "Added" 13864 }, 13865 { 13866 "version": "v1", 13867 "state": "Beta" 13868 }, 13869 { 13870 "version": "v2", 13871 "state": "Stable" 13872 } 13873 ], 13874 "x-immich-permission": "user.read", 13875 "x-immich-state": "Stable" 13876 }, 13877 "put": { 13878 "description": "Update the current user making teh API request.", 13879 "operationId": "updateMyUser", 13880 "parameters": [], 13881 "requestBody": { 13882 "content": { 13883 "application/json": { 13884 "schema": { 13885 "$ref": "#/components/schemas/UserUpdateMeDto" 13886 } 13887 } 13888 }, 13889 "required": true 13890 }, 13891 "responses": { 13892 "200": { 13893 "content": { 13894 "application/json": { 13895 "schema": { 13896 "$ref": "#/components/schemas/UserAdminResponseDto" 13897 } 13898 } 13899 }, 13900 "description": "" 13901 } 13902 }, 13903 "security": [ 13904 { 13905 "bearer": [] 13906 }, 13907 { 13908 "cookie": [] 13909 }, 13910 { 13911 "api_key": [] 13912 } 13913 ], 13914 "summary": "Update current user", 13915 "tags": [ 13916 "Users" 13917 ], 13918 "x-immich-history": [ 13919 { 13920 "version": "v1", 13921 "state": "Added" 13922 }, 13923 { 13924 "version": "v1", 13925 "state": "Beta" 13926 }, 13927 { 13928 "version": "v2", 13929 "state": "Stable" 13930 } 13931 ], 13932 "x-immich-permission": "user.update", 13933 "x-immich-state": "Stable" 13934 } 13935 }, 13936 "/users/me/license": { 13937 "delete": { 13938 "description": "Delete the registered product key for the current user.", 13939 "operationId": "deleteUserLicense", 13940 "parameters": [], 13941 "responses": { 13942 "204": { 13943 "description": "" 13944 } 13945 }, 13946 "security": [ 13947 { 13948 "bearer": [] 13949 }, 13950 { 13951 "cookie": [] 13952 }, 13953 { 13954 "api_key": [] 13955 } 13956 ], 13957 "summary": "Delete user product key", 13958 "tags": [ 13959 "Users" 13960 ], 13961 "x-immich-history": [ 13962 { 13963 "version": "v1", 13964 "state": "Added" 13965 }, 13966 { 13967 "version": "v1", 13968 "state": "Beta" 13969 }, 13970 { 13971 "version": "v2", 13972 "state": "Stable" 13973 } 13974 ], 13975 "x-immich-permission": "userLicense.delete", 13976 "x-immich-state": "Stable" 13977 }, 13978 "get": { 13979 "description": "Retrieve information about whether the current user has a registered product key.", 13980 "operationId": "getUserLicense", 13981 "parameters": [], 13982 "responses": { 13983 "200": { 13984 "content": { 13985 "application/json": { 13986 "schema": { 13987 "$ref": "#/components/schemas/LicenseResponseDto" 13988 } 13989 } 13990 }, 13991 "description": "" 13992 } 13993 }, 13994 "security": [ 13995 { 13996 "bearer": [] 13997 }, 13998 { 13999 "cookie": [] 14000 }, 14001 { 14002 "api_key": [] 14003 } 14004 ], 14005 "summary": "Retrieve user product key", 14006 "tags": [ 14007 "Users" 14008 ], 14009 "x-immich-history": [ 14010 { 14011 "version": "v1", 14012 "state": "Added" 14013 }, 14014 { 14015 "version": "v1", 14016 "state": "Beta" 14017 }, 14018 { 14019 "version": "v2", 14020 "state": "Stable" 14021 } 14022 ], 14023 "x-immich-permission": "userLicense.read", 14024 "x-immich-state": "Stable" 14025 }, 14026 "put": { 14027 "description": "Register a product key for the current user.", 14028 "operationId": "setUserLicense", 14029 "parameters": [], 14030 "requestBody": { 14031 "content": { 14032 "application/json": { 14033 "schema": { 14034 "$ref": "#/components/schemas/LicenseKeyDto" 14035 } 14036 } 14037 }, 14038 "required": true 14039 }, 14040 "responses": { 14041 "200": { 14042 "content": { 14043 "application/json": { 14044 "schema": { 14045 "$ref": "#/components/schemas/LicenseResponseDto" 14046 } 14047 } 14048 }, 14049 "description": "" 14050 } 14051 }, 14052 "security": [ 14053 { 14054 "bearer": [] 14055 }, 14056 { 14057 "cookie": [] 14058 }, 14059 { 14060 "api_key": [] 14061 } 14062 ], 14063 "summary": "Set user product key", 14064 "tags": [ 14065 "Users" 14066 ], 14067 "x-immich-history": [ 14068 { 14069 "version": "v1", 14070 "state": "Added" 14071 }, 14072 { 14073 "version": "v1", 14074 "state": "Beta" 14075 }, 14076 { 14077 "version": "v2", 14078 "state": "Stable" 14079 } 14080 ], 14081 "x-immich-permission": "userLicense.update", 14082 "x-immich-state": "Stable" 14083 } 14084 }, 14085 "/users/me/onboarding": { 14086 "delete": { 14087 "description": "Delete the onboarding status of the current user.", 14088 "operationId": "deleteUserOnboarding", 14089 "parameters": [], 14090 "responses": { 14091 "204": { 14092 "description": "" 14093 } 14094 }, 14095 "security": [ 14096 { 14097 "bearer": [] 14098 }, 14099 { 14100 "cookie": [] 14101 }, 14102 { 14103 "api_key": [] 14104 } 14105 ], 14106 "summary": "Delete user onboarding", 14107 "tags": [ 14108 "Users" 14109 ], 14110 "x-immich-history": [ 14111 { 14112 "version": "v1", 14113 "state": "Added" 14114 }, 14115 { 14116 "version": "v1", 14117 "state": "Beta" 14118 }, 14119 { 14120 "version": "v2", 14121 "state": "Stable" 14122 } 14123 ], 14124 "x-immich-permission": "userOnboarding.delete", 14125 "x-immich-state": "Stable" 14126 }, 14127 "get": { 14128 "description": "Retrieve the onboarding status of the current user.", 14129 "operationId": "getUserOnboarding", 14130 "parameters": [], 14131 "responses": { 14132 "200": { 14133 "content": { 14134 "application/json": { 14135 "schema": { 14136 "$ref": "#/components/schemas/OnboardingResponseDto" 14137 } 14138 } 14139 }, 14140 "description": "" 14141 } 14142 }, 14143 "security": [ 14144 { 14145 "bearer": [] 14146 }, 14147 { 14148 "cookie": [] 14149 }, 14150 { 14151 "api_key": [] 14152 } 14153 ], 14154 "summary": "Retrieve user onboarding", 14155 "tags": [ 14156 "Users" 14157 ], 14158 "x-immich-history": [ 14159 { 14160 "version": "v1", 14161 "state": "Added" 14162 }, 14163 { 14164 "version": "v1", 14165 "state": "Beta" 14166 }, 14167 { 14168 "version": "v2", 14169 "state": "Stable" 14170 } 14171 ], 14172 "x-immich-permission": "userOnboarding.read", 14173 "x-immich-state": "Stable" 14174 }, 14175 "put": { 14176 "description": "Update the onboarding status of the current user.", 14177 "operationId": "setUserOnboarding", 14178 "parameters": [], 14179 "requestBody": { 14180 "content": { 14181 "application/json": { 14182 "schema": { 14183 "$ref": "#/components/schemas/OnboardingDto" 14184 } 14185 } 14186 }, 14187 "required": true 14188 }, 14189 "responses": { 14190 "200": { 14191 "content": { 14192 "application/json": { 14193 "schema": { 14194 "$ref": "#/components/schemas/OnboardingResponseDto" 14195 } 14196 } 14197 }, 14198 "description": "" 14199 } 14200 }, 14201 "security": [ 14202 { 14203 "bearer": [] 14204 }, 14205 { 14206 "cookie": [] 14207 }, 14208 { 14209 "api_key": [] 14210 } 14211 ], 14212 "summary": "Update user onboarding", 14213 "tags": [ 14214 "Users" 14215 ], 14216 "x-immich-history": [ 14217 { 14218 "version": "v1", 14219 "state": "Added" 14220 }, 14221 { 14222 "version": "v1", 14223 "state": "Beta" 14224 }, 14225 { 14226 "version": "v2", 14227 "state": "Stable" 14228 } 14229 ], 14230 "x-immich-permission": "userOnboarding.update", 14231 "x-immich-state": "Stable" 14232 } 14233 }, 14234 "/users/me/preferences": { 14235 "get": { 14236 "description": "Retrieve the preferences for the current user.", 14237 "operationId": "getMyPreferences", 14238 "parameters": [], 14239 "responses": { 14240 "200": { 14241 "content": { 14242 "application/json": { 14243 "schema": { 14244 "$ref": "#/components/schemas/UserPreferencesResponseDto" 14245 } 14246 } 14247 }, 14248 "description": "" 14249 } 14250 }, 14251 "security": [ 14252 { 14253 "bearer": [] 14254 }, 14255 { 14256 "cookie": [] 14257 }, 14258 { 14259 "api_key": [] 14260 } 14261 ], 14262 "summary": "Get my preferences", 14263 "tags": [ 14264 "Users" 14265 ], 14266 "x-immich-history": [ 14267 { 14268 "version": "v1", 14269 "state": "Added" 14270 }, 14271 { 14272 "version": "v1", 14273 "state": "Beta" 14274 }, 14275 { 14276 "version": "v2", 14277 "state": "Stable" 14278 } 14279 ], 14280 "x-immich-permission": "userPreference.read", 14281 "x-immich-state": "Stable" 14282 }, 14283 "put": { 14284 "description": "Update the preferences of the current user.", 14285 "operationId": "updateMyPreferences", 14286 "parameters": [], 14287 "requestBody": { 14288 "content": { 14289 "application/json": { 14290 "schema": { 14291 "$ref": "#/components/schemas/UserPreferencesUpdateDto" 14292 } 14293 } 14294 }, 14295 "required": true 14296 }, 14297 "responses": { 14298 "200": { 14299 "content": { 14300 "application/json": { 14301 "schema": { 14302 "$ref": "#/components/schemas/UserPreferencesResponseDto" 14303 } 14304 } 14305 }, 14306 "description": "" 14307 } 14308 }, 14309 "security": [ 14310 { 14311 "bearer": [] 14312 }, 14313 { 14314 "cookie": [] 14315 }, 14316 { 14317 "api_key": [] 14318 } 14319 ], 14320 "summary": "Update my preferences", 14321 "tags": [ 14322 "Users" 14323 ], 14324 "x-immich-history": [ 14325 { 14326 "version": "v1", 14327 "state": "Added" 14328 }, 14329 { 14330 "version": "v1", 14331 "state": "Beta" 14332 }, 14333 { 14334 "version": "v2", 14335 "state": "Stable" 14336 } 14337 ], 14338 "x-immich-permission": "userPreference.update", 14339 "x-immich-state": "Stable" 14340 } 14341 }, 14342 "/users/profile-image": { 14343 "delete": { 14344 "description": "Delete the profile image of the current user.", 14345 "operationId": "deleteProfileImage", 14346 "parameters": [], 14347 "responses": { 14348 "204": { 14349 "description": "" 14350 } 14351 }, 14352 "security": [ 14353 { 14354 "bearer": [] 14355 }, 14356 { 14357 "cookie": [] 14358 }, 14359 { 14360 "api_key": [] 14361 } 14362 ], 14363 "summary": "Delete user profile image", 14364 "tags": [ 14365 "Users" 14366 ], 14367 "x-immich-history": [ 14368 { 14369 "version": "v1", 14370 "state": "Added" 14371 }, 14372 { 14373 "version": "v1", 14374 "state": "Beta" 14375 }, 14376 { 14377 "version": "v2", 14378 "state": "Stable" 14379 } 14380 ], 14381 "x-immich-permission": "userProfileImage.delete", 14382 "x-immich-state": "Stable" 14383 }, 14384 "post": { 14385 "description": "Upload and set a new profile image for the current user.", 14386 "operationId": "createProfileImage", 14387 "parameters": [], 14388 "requestBody": { 14389 "content": { 14390 "multipart/form-data": { 14391 "schema": { 14392 "$ref": "#/components/schemas/CreateProfileImageDto" 14393 } 14394 } 14395 }, 14396 "description": "A new avatar for the user", 14397 "required": true 14398 }, 14399 "responses": { 14400 "201": { 14401 "content": { 14402 "application/json": { 14403 "schema": { 14404 "$ref": "#/components/schemas/CreateProfileImageResponseDto" 14405 } 14406 } 14407 }, 14408 "description": "" 14409 } 14410 }, 14411 "security": [ 14412 { 14413 "bearer": [] 14414 }, 14415 { 14416 "cookie": [] 14417 }, 14418 { 14419 "api_key": [] 14420 } 14421 ], 14422 "summary": "Create user profile image", 14423 "tags": [ 14424 "Users" 14425 ], 14426 "x-immich-history": [ 14427 { 14428 "version": "v1", 14429 "state": "Added" 14430 }, 14431 { 14432 "version": "v1", 14433 "state": "Beta" 14434 }, 14435 { 14436 "version": "v2", 14437 "state": "Stable" 14438 } 14439 ], 14440 "x-immich-permission": "userProfileImage.update", 14441 "x-immich-state": "Stable" 14442 } 14443 }, 14444 "/users/{id}": { 14445 "get": { 14446 "description": "Retrieve a specific user by their ID.", 14447 "operationId": "getUser", 14448 "parameters": [ 14449 { 14450 "name": "id", 14451 "required": true, 14452 "in": "path", 14453 "schema": { 14454 "format": "uuid", 14455 "type": "string" 14456 } 14457 } 14458 ], 14459 "responses": { 14460 "200": { 14461 "content": { 14462 "application/json": { 14463 "schema": { 14464 "$ref": "#/components/schemas/UserResponseDto" 14465 } 14466 } 14467 }, 14468 "description": "" 14469 } 14470 }, 14471 "security": [ 14472 { 14473 "bearer": [] 14474 }, 14475 { 14476 "cookie": [] 14477 }, 14478 { 14479 "api_key": [] 14480 } 14481 ], 14482 "summary": "Retrieve a user", 14483 "tags": [ 14484 "Users" 14485 ], 14486 "x-immich-history": [ 14487 { 14488 "version": "v1", 14489 "state": "Added" 14490 }, 14491 { 14492 "version": "v1", 14493 "state": "Beta" 14494 }, 14495 { 14496 "version": "v2", 14497 "state": "Stable" 14498 } 14499 ], 14500 "x-immich-permission": "user.read", 14501 "x-immich-state": "Stable" 14502 } 14503 }, 14504 "/users/{id}/profile-image": { 14505 "get": { 14506 "description": "Retrieve the profile image file for a user.", 14507 "operationId": "getProfileImage", 14508 "parameters": [ 14509 { 14510 "name": "id", 14511 "required": true, 14512 "in": "path", 14513 "schema": { 14514 "format": "uuid", 14515 "type": "string" 14516 } 14517 } 14518 ], 14519 "responses": { 14520 "200": { 14521 "content": { 14522 "application/octet-stream": { 14523 "schema": { 14524 "format": "binary", 14525 "type": "string" 14526 } 14527 } 14528 }, 14529 "description": "" 14530 } 14531 }, 14532 "security": [ 14533 { 14534 "bearer": [] 14535 }, 14536 { 14537 "cookie": [] 14538 }, 14539 { 14540 "api_key": [] 14541 } 14542 ], 14543 "summary": "Retrieve user profile image", 14544 "tags": [ 14545 "Users" 14546 ], 14547 "x-immich-history": [ 14548 { 14549 "version": "v1", 14550 "state": "Added" 14551 }, 14552 { 14553 "version": "v1", 14554 "state": "Beta" 14555 }, 14556 { 14557 "version": "v2", 14558 "state": "Stable" 14559 } 14560 ], 14561 "x-immich-permission": "userProfileImage.read", 14562 "x-immich-state": "Stable" 14563 } 14564 }, 14565 "/view/folder": { 14566 "get": { 14567 "description": "Retrieve assets that are children of a specific folder.", 14568 "operationId": "getAssetsByOriginalPath", 14569 "parameters": [ 14570 { 14571 "name": "path", 14572 "required": true, 14573 "in": "query", 14574 "schema": { 14575 "type": "string" 14576 } 14577 } 14578 ], 14579 "responses": { 14580 "200": { 14581 "content": { 14582 "application/json": { 14583 "schema": { 14584 "items": { 14585 "$ref": "#/components/schemas/AssetResponseDto" 14586 }, 14587 "type": "array" 14588 } 14589 } 14590 }, 14591 "description": "" 14592 } 14593 }, 14594 "security": [ 14595 { 14596 "bearer": [] 14597 }, 14598 { 14599 "cookie": [] 14600 }, 14601 { 14602 "api_key": [] 14603 } 14604 ], 14605 "summary": "Retrieve assets by original path", 14606 "tags": [ 14607 "Views" 14608 ], 14609 "x-immich-history": [ 14610 { 14611 "version": "v1", 14612 "state": "Added" 14613 }, 14614 { 14615 "version": "v1", 14616 "state": "Beta" 14617 }, 14618 { 14619 "version": "v2", 14620 "state": "Stable" 14621 } 14622 ], 14623 "x-immich-permission": "folder.read", 14624 "x-immich-state": "Stable" 14625 } 14626 }, 14627 "/view/folder/unique-paths": { 14628 "get": { 14629 "description": "Retrieve a list of unique folder paths from asset original paths.", 14630 "operationId": "getUniqueOriginalPaths", 14631 "parameters": [], 14632 "responses": { 14633 "200": { 14634 "content": { 14635 "application/json": { 14636 "schema": { 14637 "items": { 14638 "type": "string" 14639 }, 14640 "type": "array" 14641 } 14642 } 14643 }, 14644 "description": "" 14645 } 14646 }, 14647 "security": [ 14648 { 14649 "bearer": [] 14650 }, 14651 { 14652 "cookie": [] 14653 }, 14654 { 14655 "api_key": [] 14656 } 14657 ], 14658 "summary": "Retrieve unique paths", 14659 "tags": [ 14660 "Views" 14661 ], 14662 "x-immich-history": [ 14663 { 14664 "version": "v1", 14665 "state": "Added" 14666 }, 14667 { 14668 "version": "v1", 14669 "state": "Beta" 14670 }, 14671 { 14672 "version": "v2", 14673 "state": "Stable" 14674 } 14675 ], 14676 "x-immich-permission": "folder.read", 14677 "x-immich-state": "Stable" 14678 } 14679 }, 14680 "/workflows": { 14681 "get": { 14682 "description": "Retrieve a list of workflows available to the authenticated user.", 14683 "operationId": "getWorkflows", 14684 "parameters": [], 14685 "responses": { 14686 "200": { 14687 "content": { 14688 "application/json": { 14689 "schema": { 14690 "items": { 14691 "$ref": "#/components/schemas/WorkflowResponseDto" 14692 }, 14693 "type": "array" 14694 } 14695 } 14696 }, 14697 "description": "" 14698 } 14699 }, 14700 "security": [ 14701 { 14702 "bearer": [] 14703 }, 14704 { 14705 "cookie": [] 14706 }, 14707 { 14708 "api_key": [] 14709 } 14710 ], 14711 "summary": "List all workflows", 14712 "tags": [ 14713 "Workflows" 14714 ], 14715 "x-immich-history": [ 14716 { 14717 "version": "v2.3.0", 14718 "state": "Added" 14719 }, 14720 { 14721 "version": "v2.3.0", 14722 "state": "Alpha" 14723 } 14724 ], 14725 "x-immich-permission": "workflow.read", 14726 "x-immich-state": "Alpha" 14727 }, 14728 "post": { 14729 "description": "Create a new workflow, the workflow can also be created with empty filters and actions.", 14730 "operationId": "createWorkflow", 14731 "parameters": [], 14732 "requestBody": { 14733 "content": { 14734 "application/json": { 14735 "schema": { 14736 "$ref": "#/components/schemas/WorkflowCreateDto" 14737 } 14738 } 14739 }, 14740 "required": true 14741 }, 14742 "responses": { 14743 "201": { 14744 "content": { 14745 "application/json": { 14746 "schema": { 14747 "$ref": "#/components/schemas/WorkflowResponseDto" 14748 } 14749 } 14750 }, 14751 "description": "" 14752 } 14753 }, 14754 "security": [ 14755 { 14756 "bearer": [] 14757 }, 14758 { 14759 "cookie": [] 14760 }, 14761 { 14762 "api_key": [] 14763 } 14764 ], 14765 "summary": "Create a workflow", 14766 "tags": [ 14767 "Workflows" 14768 ], 14769 "x-immich-history": [ 14770 { 14771 "version": "v2.3.0", 14772 "state": "Added" 14773 }, 14774 { 14775 "version": "v2.3.0", 14776 "state": "Alpha" 14777 } 14778 ], 14779 "x-immich-permission": "workflow.create", 14780 "x-immich-state": "Alpha" 14781 } 14782 }, 14783 "/workflows/{id}": { 14784 "delete": { 14785 "description": "Delete a workflow by its ID.", 14786 "operationId": "deleteWorkflow", 14787 "parameters": [ 14788 { 14789 "name": "id", 14790 "required": true, 14791 "in": "path", 14792 "schema": { 14793 "format": "uuid", 14794 "type": "string" 14795 } 14796 } 14797 ], 14798 "responses": { 14799 "204": { 14800 "description": "" 14801 } 14802 }, 14803 "security": [ 14804 { 14805 "bearer": [] 14806 }, 14807 { 14808 "cookie": [] 14809 }, 14810 { 14811 "api_key": [] 14812 } 14813 ], 14814 "summary": "Delete a workflow", 14815 "tags": [ 14816 "Workflows" 14817 ], 14818 "x-immich-history": [ 14819 { 14820 "version": "v2.3.0", 14821 "state": "Added" 14822 }, 14823 { 14824 "version": "v2.3.0", 14825 "state": "Alpha" 14826 } 14827 ], 14828 "x-immich-permission": "workflow.delete", 14829 "x-immich-state": "Alpha" 14830 }, 14831 "get": { 14832 "description": "Retrieve information about a specific workflow by its ID.", 14833 "operationId": "getWorkflow", 14834 "parameters": [ 14835 { 14836 "name": "id", 14837 "required": true, 14838 "in": "path", 14839 "schema": { 14840 "format": "uuid", 14841 "type": "string" 14842 } 14843 } 14844 ], 14845 "responses": { 14846 "200": { 14847 "content": { 14848 "application/json": { 14849 "schema": { 14850 "$ref": "#/components/schemas/WorkflowResponseDto" 14851 } 14852 } 14853 }, 14854 "description": "" 14855 } 14856 }, 14857 "security": [ 14858 { 14859 "bearer": [] 14860 }, 14861 { 14862 "cookie": [] 14863 }, 14864 { 14865 "api_key": [] 14866 } 14867 ], 14868 "summary": "Retrieve a workflow", 14869 "tags": [ 14870 "Workflows" 14871 ], 14872 "x-immich-history": [ 14873 { 14874 "version": "v2.3.0", 14875 "state": "Added" 14876 }, 14877 { 14878 "version": "v2.3.0", 14879 "state": "Alpha" 14880 } 14881 ], 14882 "x-immich-permission": "workflow.read", 14883 "x-immich-state": "Alpha" 14884 }, 14885 "put": { 14886 "description": "Update the information of a specific workflow by its ID. This endpoint can be used to update the workflow name, description, trigger type, filters and actions order, etc.", 14887 "operationId": "updateWorkflow", 14888 "parameters": [ 14889 { 14890 "name": "id", 14891 "required": true, 14892 "in": "path", 14893 "schema": { 14894 "format": "uuid", 14895 "type": "string" 14896 } 14897 } 14898 ], 14899 "requestBody": { 14900 "content": { 14901 "application/json": { 14902 "schema": { 14903 "$ref": "#/components/schemas/WorkflowUpdateDto" 14904 } 14905 } 14906 }, 14907 "required": true 14908 }, 14909 "responses": { 14910 "200": { 14911 "content": { 14912 "application/json": { 14913 "schema": { 14914 "$ref": "#/components/schemas/WorkflowResponseDto" 14915 } 14916 } 14917 }, 14918 "description": "" 14919 } 14920 }, 14921 "security": [ 14922 { 14923 "bearer": [] 14924 }, 14925 { 14926 "cookie": [] 14927 }, 14928 { 14929 "api_key": [] 14930 } 14931 ], 14932 "summary": "Update a workflow", 14933 "tags": [ 14934 "Workflows" 14935 ], 14936 "x-immich-history": [ 14937 { 14938 "version": "v2.3.0", 14939 "state": "Added" 14940 }, 14941 { 14942 "version": "v2.3.0", 14943 "state": "Alpha" 14944 } 14945 ], 14946 "x-immich-permission": "workflow.update", 14947 "x-immich-state": "Alpha" 14948 } 14949 } 14950 }, 14951 "info": { 14952 "title": "Immich", 14953 "description": "Immich API", 14954 "version": "2.4.1", 14955 "contact": {} 14956 }, 14957 "tags": [ 14958 { 14959 "name": "Activities", 14960 "description": "An activity is a like or a comment made by a user on an asset or album." 14961 }, 14962 { 14963 "name": "Albums", 14964 "description": "An album is a collection of assets that can be shared with other users or via shared links." 14965 }, 14966 { 14967 "name": "API keys", 14968 "description": "An api key can be used to programmatically access the Immich API." 14969 }, 14970 { 14971 "name": "Assets", 14972 "description": "An asset is an image or video that has been uploaded to Immich." 14973 }, 14974 { 14975 "name": "Authentication", 14976 "description": "Endpoints related to user authentication, including OAuth." 14977 }, 14978 { 14979 "name": "Authentication (admin)", 14980 "description": "Administrative endpoints related to authentication." 14981 }, 14982 { 14983 "name": "Database Backups (admin)", 14984 "description": "Manage backups of the Immich database." 14985 }, 14986 { 14987 "name": "Deprecated", 14988 "description": "Deprecated endpoints that are planned for removal in the next major release." 14989 }, 14990 { 14991 "name": "Download", 14992 "description": "Endpoints for downloading assets or collections of assets." 14993 }, 14994 { 14995 "name": "Duplicates", 14996 "description": "Endpoints for managing and identifying duplicate assets." 14997 }, 14998 { 14999 "name": "Faces", 15000 "description": "A face is a detected human face within an asset, which can be associated with a person. Faces are normally detected via machine learning, but can also be created via manually." 15001 }, 15002 { 15003 "name": "Jobs", 15004 "description": "Queues and background jobs are used for processing tasks asynchronously. Queues can be paused and resumed as needed." 15005 }, 15006 { 15007 "name": "Libraries", 15008 "description": "An external library is made up of input file paths or expressions that are scanned for asset files. Discovered files are automatically imported. Assets much be unique within a library, but can be duplicated across libraries. Each user has a default upload library, and can have one or more external libraries." 15009 }, 15010 { 15011 "name": "Maintenance (admin)", 15012 "description": "Maintenance mode allows you to put Immich in a read-only state to perform various operations." 15013 }, 15014 { 15015 "name": "Map", 15016 "description": "Map endpoints include supplemental functionality related to geolocation, such as reverse geocoding and retrieving map markers for assets with geolocation data." 15017 }, 15018 { 15019 "name": "Memories", 15020 "description": "A memory is a specialized collection of assets with dedicated viewing implementations in the web and mobile clients. A memory includes fields related to visibility and are automatically generated per user via a background job." 15021 }, 15022 { 15023 "name": "Notifications", 15024 "description": "A notification is a specialized message sent to users to inform them of important events. Currently, these notifications are only shown in the Immich web application." 15025 }, 15026 { 15027 "name": "Notifications (admin)", 15028 "description": "Notification administrative endpoints." 15029 }, 15030 { 15031 "name": "Partners", 15032 "description": "A partner is a link with another user that allows sharing of assets between two users." 15033 }, 15034 { 15035 "name": "People", 15036 "description": "A person is a collection of faces, which can be favorited and named. A person can also be merged into another person. People are automatically created via the face recognition job." 15037 }, 15038 { 15039 "name": "Plugins", 15040 "description": "A plugin is an installed module that makes filters and actions available for the workflow feature." 15041 }, 15042 { 15043 "name": "Queues", 15044 "description": "Queues and background jobs are used for processing tasks asynchronously. Queues can be paused and resumed as needed." 15045 }, 15046 { 15047 "name": "Search", 15048 "description": "Endpoints related to searching assets via text, smart search, optical character recognition (OCR), and other filters like person, album, and other metadata. Search endpoints usually support pagination and sorting." 15049 }, 15050 { 15051 "name": "Server", 15052 "description": "Information about the current server deployment, including version and build information, available features, supported media types, and more." 15053 }, 15054 { 15055 "name": "Sessions", 15056 "description": "A session represents an authenticated login session for a user. Sessions also appear in the web application as \"Authorized devices\"." 15057 }, 15058 { 15059 "name": "Shared links", 15060 "description": "A shared link is a public url that provides access to a specific album, asset, or collection of assets. A shared link can be protected with a password, include a specific slug, allow or disallow downloads, and optionally include an expiration date." 15061 }, 15062 { 15063 "name": "Stacks", 15064 "description": "A stack is a group of related assets. One asset is the \"primary\" asset, and the rest are \"child\" assets. On the main timeline, stack parents are included by default, while child assets are hidden." 15065 }, 15066 { 15067 "name": "Sync", 15068 "description": "A collection of endpoints for the new mobile synchronization implementation." 15069 }, 15070 { 15071 "name": "System config", 15072 "description": "Endpoints to view, modify, and validate the system configuration settings." 15073 }, 15074 { 15075 "name": "System metadata", 15076 "description": "Endpoints to view, modify, and validate the system metadata, which includes information about things like admin onboarding status." 15077 }, 15078 { 15079 "name": "Tags", 15080 "description": "A tag is a user-defined label that can be applied to assets for organizational purposes. Tags can also be hierarchical, allowing for parent-child relationships between tags." 15081 }, 15082 { 15083 "name": "Timeline", 15084 "description": "Specialized endpoints related to the timeline implementation used in the web application. External applications or tools should not use or rely on these endpoints, as they are subject to change without notice." 15085 }, 15086 { 15087 "name": "Trash", 15088 "description": "Endpoints for managing the trash can, which includes assets that have been discarded. Items in the trash are automatically deleted after a configured amount of time." 15089 }, 15090 { 15091 "name": "Users (admin)", 15092 "description": "Administrative endpoints for managing users, including creating, updating, deleting, and restoring users. Also includes endpoints for resetting passwords and PIN codes." 15093 }, 15094 { 15095 "name": "Users", 15096 "description": "Endpoints for viewing and updating the current users, including product key information, profile picture data, onboarding progress, and more." 15097 }, 15098 { 15099 "name": "Views", 15100 "description": "Endpoints for specialized views, such as the folder view." 15101 }, 15102 { 15103 "name": "Workflows", 15104 "description": "A workflow is a set of actions that run whenever a triggering event occurs. Workflows also can include filters to further limit execution." 15105 } 15106 ], 15107 "servers": [ 15108 { 15109 "url": "/api" 15110 } 15111 ], 15112 "components": { 15113 "securitySchemes": { 15114 "bearer": { 15115 "scheme": "Bearer", 15116 "bearerFormat": "JWT", 15117 "type": "http", 15118 "in": "header" 15119 }, 15120 "cookie": { 15121 "type": "apiKey", 15122 "in": "cookie", 15123 "name": "immich_access_token" 15124 }, 15125 "api_key": { 15126 "type": "apiKey", 15127 "in": "header", 15128 "name": "x-api-key" 15129 } 15130 }, 15131 "schemas": { 15132 "APIKeyCreateDto": { 15133 "properties": { 15134 "name": { 15135 "type": "string" 15136 }, 15137 "permissions": { 15138 "items": { 15139 "$ref": "#/components/schemas/Permission" 15140 }, 15141 "minItems": 1, 15142 "type": "array" 15143 } 15144 }, 15145 "required": [ 15146 "permissions" 15147 ], 15148 "type": "object" 15149 }, 15150 "APIKeyCreateResponseDto": { 15151 "properties": { 15152 "apiKey": { 15153 "$ref": "#/components/schemas/APIKeyResponseDto" 15154 }, 15155 "secret": { 15156 "type": "string" 15157 } 15158 }, 15159 "required": [ 15160 "apiKey", 15161 "secret" 15162 ], 15163 "type": "object" 15164 }, 15165 "APIKeyResponseDto": { 15166 "properties": { 15167 "createdAt": { 15168 "format": "date-time", 15169 "type": "string" 15170 }, 15171 "id": { 15172 "type": "string" 15173 }, 15174 "name": { 15175 "type": "string" 15176 }, 15177 "permissions": { 15178 "items": { 15179 "$ref": "#/components/schemas/Permission" 15180 }, 15181 "type": "array" 15182 }, 15183 "updatedAt": { 15184 "format": "date-time", 15185 "type": "string" 15186 } 15187 }, 15188 "required": [ 15189 "createdAt", 15190 "id", 15191 "name", 15192 "permissions", 15193 "updatedAt" 15194 ], 15195 "type": "object" 15196 }, 15197 "APIKeyUpdateDto": { 15198 "properties": { 15199 "name": { 15200 "type": "string" 15201 }, 15202 "permissions": { 15203 "items": { 15204 "$ref": "#/components/schemas/Permission" 15205 }, 15206 "minItems": 1, 15207 "type": "array" 15208 } 15209 }, 15210 "type": "object" 15211 }, 15212 "ActivityCreateDto": { 15213 "properties": { 15214 "albumId": { 15215 "format": "uuid", 15216 "type": "string" 15217 }, 15218 "assetId": { 15219 "format": "uuid", 15220 "type": "string" 15221 }, 15222 "comment": { 15223 "type": "string" 15224 }, 15225 "type": { 15226 "allOf": [ 15227 { 15228 "$ref": "#/components/schemas/ReactionType" 15229 } 15230 ] 15231 } 15232 }, 15233 "required": [ 15234 "albumId", 15235 "type" 15236 ], 15237 "type": "object" 15238 }, 15239 "ActivityResponseDto": { 15240 "properties": { 15241 "assetId": { 15242 "nullable": true, 15243 "type": "string" 15244 }, 15245 "comment": { 15246 "nullable": true, 15247 "type": "string" 15248 }, 15249 "createdAt": { 15250 "format": "date-time", 15251 "type": "string" 15252 }, 15253 "id": { 15254 "type": "string" 15255 }, 15256 "type": { 15257 "allOf": [ 15258 { 15259 "$ref": "#/components/schemas/ReactionType" 15260 } 15261 ] 15262 }, 15263 "user": { 15264 "$ref": "#/components/schemas/UserResponseDto" 15265 } 15266 }, 15267 "required": [ 15268 "assetId", 15269 "createdAt", 15270 "id", 15271 "type", 15272 "user" 15273 ], 15274 "type": "object" 15275 }, 15276 "ActivityStatisticsResponseDto": { 15277 "properties": { 15278 "comments": { 15279 "type": "integer" 15280 }, 15281 "likes": { 15282 "type": "integer" 15283 } 15284 }, 15285 "required": [ 15286 "comments", 15287 "likes" 15288 ], 15289 "type": "object" 15290 }, 15291 "AddUsersDto": { 15292 "properties": { 15293 "albumUsers": { 15294 "items": { 15295 "$ref": "#/components/schemas/AlbumUserAddDto" 15296 }, 15297 "minItems": 1, 15298 "type": "array" 15299 } 15300 }, 15301 "required": [ 15302 "albumUsers" 15303 ], 15304 "type": "object" 15305 }, 15306 "AdminOnboardingUpdateDto": { 15307 "properties": { 15308 "isOnboarded": { 15309 "type": "boolean" 15310 } 15311 }, 15312 "required": [ 15313 "isOnboarded" 15314 ], 15315 "type": "object" 15316 }, 15317 "AlbumResponseDto": { 15318 "properties": { 15319 "albumName": { 15320 "type": "string" 15321 }, 15322 "albumThumbnailAssetId": { 15323 "nullable": true, 15324 "type": "string" 15325 }, 15326 "albumUsers": { 15327 "items": { 15328 "$ref": "#/components/schemas/AlbumUserResponseDto" 15329 }, 15330 "type": "array" 15331 }, 15332 "assetCount": { 15333 "type": "integer" 15334 }, 15335 "assets": { 15336 "items": { 15337 "$ref": "#/components/schemas/AssetResponseDto" 15338 }, 15339 "type": "array" 15340 }, 15341 "contributorCounts": { 15342 "items": { 15343 "$ref": "#/components/schemas/ContributorCountResponseDto" 15344 }, 15345 "type": "array" 15346 }, 15347 "createdAt": { 15348 "format": "date-time", 15349 "type": "string" 15350 }, 15351 "description": { 15352 "type": "string" 15353 }, 15354 "endDate": { 15355 "format": "date-time", 15356 "type": "string" 15357 }, 15358 "hasSharedLink": { 15359 "type": "boolean" 15360 }, 15361 "id": { 15362 "type": "string" 15363 }, 15364 "isActivityEnabled": { 15365 "type": "boolean" 15366 }, 15367 "lastModifiedAssetTimestamp": { 15368 "format": "date-time", 15369 "type": "string" 15370 }, 15371 "order": { 15372 "allOf": [ 15373 { 15374 "$ref": "#/components/schemas/AssetOrder" 15375 } 15376 ] 15377 }, 15378 "owner": { 15379 "$ref": "#/components/schemas/UserResponseDto" 15380 }, 15381 "ownerId": { 15382 "type": "string" 15383 }, 15384 "shared": { 15385 "type": "boolean" 15386 }, 15387 "startDate": { 15388 "format": "date-time", 15389 "type": "string" 15390 }, 15391 "updatedAt": { 15392 "format": "date-time", 15393 "type": "string" 15394 } 15395 }, 15396 "required": [ 15397 "albumName", 15398 "albumThumbnailAssetId", 15399 "albumUsers", 15400 "assetCount", 15401 "assets", 15402 "createdAt", 15403 "description", 15404 "hasSharedLink", 15405 "id", 15406 "isActivityEnabled", 15407 "owner", 15408 "ownerId", 15409 "shared", 15410 "updatedAt" 15411 ], 15412 "type": "object" 15413 }, 15414 "AlbumStatisticsResponseDto": { 15415 "properties": { 15416 "notShared": { 15417 "type": "integer" 15418 }, 15419 "owned": { 15420 "type": "integer" 15421 }, 15422 "shared": { 15423 "type": "integer" 15424 } 15425 }, 15426 "required": [ 15427 "notShared", 15428 "owned", 15429 "shared" 15430 ], 15431 "type": "object" 15432 }, 15433 "AlbumUserAddDto": { 15434 "properties": { 15435 "role": { 15436 "allOf": [ 15437 { 15438 "$ref": "#/components/schemas/AlbumUserRole" 15439 } 15440 ], 15441 "default": "editor" 15442 }, 15443 "userId": { 15444 "format": "uuid", 15445 "type": "string" 15446 } 15447 }, 15448 "required": [ 15449 "userId" 15450 ], 15451 "type": "object" 15452 }, 15453 "AlbumUserCreateDto": { 15454 "properties": { 15455 "role": { 15456 "allOf": [ 15457 { 15458 "$ref": "#/components/schemas/AlbumUserRole" 15459 } 15460 ] 15461 }, 15462 "userId": { 15463 "format": "uuid", 15464 "type": "string" 15465 } 15466 }, 15467 "required": [ 15468 "role", 15469 "userId" 15470 ], 15471 "type": "object" 15472 }, 15473 "AlbumUserResponseDto": { 15474 "properties": { 15475 "role": { 15476 "allOf": [ 15477 { 15478 "$ref": "#/components/schemas/AlbumUserRole" 15479 } 15480 ] 15481 }, 15482 "user": { 15483 "$ref": "#/components/schemas/UserResponseDto" 15484 } 15485 }, 15486 "required": [ 15487 "role", 15488 "user" 15489 ], 15490 "type": "object" 15491 }, 15492 "AlbumUserRole": { 15493 "enum": [ 15494 "editor", 15495 "viewer" 15496 ], 15497 "type": "string" 15498 }, 15499 "AlbumsAddAssetsDto": { 15500 "properties": { 15501 "albumIds": { 15502 "items": { 15503 "format": "uuid", 15504 "type": "string" 15505 }, 15506 "type": "array" 15507 }, 15508 "assetIds": { 15509 "items": { 15510 "format": "uuid", 15511 "type": "string" 15512 }, 15513 "type": "array" 15514 } 15515 }, 15516 "required": [ 15517 "albumIds", 15518 "assetIds" 15519 ], 15520 "type": "object" 15521 }, 15522 "AlbumsAddAssetsResponseDto": { 15523 "properties": { 15524 "error": { 15525 "allOf": [ 15526 { 15527 "$ref": "#/components/schemas/BulkIdErrorReason" 15528 } 15529 ] 15530 }, 15531 "success": { 15532 "type": "boolean" 15533 } 15534 }, 15535 "required": [ 15536 "success" 15537 ], 15538 "type": "object" 15539 }, 15540 "AlbumsResponse": { 15541 "properties": { 15542 "defaultAssetOrder": { 15543 "allOf": [ 15544 { 15545 "$ref": "#/components/schemas/AssetOrder" 15546 } 15547 ], 15548 "default": "desc" 15549 } 15550 }, 15551 "required": [ 15552 "defaultAssetOrder" 15553 ], 15554 "type": "object" 15555 }, 15556 "AlbumsUpdate": { 15557 "properties": { 15558 "defaultAssetOrder": { 15559 "allOf": [ 15560 { 15561 "$ref": "#/components/schemas/AssetOrder" 15562 } 15563 ] 15564 } 15565 }, 15566 "type": "object" 15567 }, 15568 "AssetBulkDeleteDto": { 15569 "properties": { 15570 "force": { 15571 "type": "boolean" 15572 }, 15573 "ids": { 15574 "items": { 15575 "format": "uuid", 15576 "type": "string" 15577 }, 15578 "type": "array" 15579 } 15580 }, 15581 "required": [ 15582 "ids" 15583 ], 15584 "type": "object" 15585 }, 15586 "AssetBulkUpdateDto": { 15587 "properties": { 15588 "dateTimeOriginal": { 15589 "type": "string" 15590 }, 15591 "dateTimeRelative": { 15592 "type": "number" 15593 }, 15594 "description": { 15595 "type": "string" 15596 }, 15597 "duplicateId": { 15598 "nullable": true, 15599 "type": "string" 15600 }, 15601 "ids": { 15602 "items": { 15603 "format": "uuid", 15604 "type": "string" 15605 }, 15606 "type": "array" 15607 }, 15608 "isFavorite": { 15609 "type": "boolean" 15610 }, 15611 "latitude": { 15612 "type": "number" 15613 }, 15614 "longitude": { 15615 "type": "number" 15616 }, 15617 "rating": { 15618 "maximum": 5, 15619 "minimum": -1, 15620 "type": "number" 15621 }, 15622 "timeZone": { 15623 "type": "string" 15624 }, 15625 "visibility": { 15626 "allOf": [ 15627 { 15628 "$ref": "#/components/schemas/AssetVisibility" 15629 } 15630 ] 15631 } 15632 }, 15633 "required": [ 15634 "ids" 15635 ], 15636 "type": "object" 15637 }, 15638 "AssetBulkUploadCheckDto": { 15639 "properties": { 15640 "assets": { 15641 "items": { 15642 "$ref": "#/components/schemas/AssetBulkUploadCheckItem" 15643 }, 15644 "type": "array" 15645 } 15646 }, 15647 "required": [ 15648 "assets" 15649 ], 15650 "type": "object" 15651 }, 15652 "AssetBulkUploadCheckItem": { 15653 "properties": { 15654 "checksum": { 15655 "description": "base64 or hex encoded sha1 hash", 15656 "type": "string" 15657 }, 15658 "id": { 15659 "type": "string" 15660 } 15661 }, 15662 "required": [ 15663 "checksum", 15664 "id" 15665 ], 15666 "type": "object" 15667 }, 15668 "AssetBulkUploadCheckResponseDto": { 15669 "properties": { 15670 "results": { 15671 "items": { 15672 "$ref": "#/components/schemas/AssetBulkUploadCheckResult" 15673 }, 15674 "type": "array" 15675 } 15676 }, 15677 "required": [ 15678 "results" 15679 ], 15680 "type": "object" 15681 }, 15682 "AssetBulkUploadCheckResult": { 15683 "properties": { 15684 "action": { 15685 "enum": [ 15686 "accept", 15687 "reject" 15688 ], 15689 "type": "string" 15690 }, 15691 "assetId": { 15692 "type": "string" 15693 }, 15694 "id": { 15695 "type": "string" 15696 }, 15697 "isTrashed": { 15698 "type": "boolean" 15699 }, 15700 "reason": { 15701 "enum": [ 15702 "duplicate", 15703 "unsupported-format" 15704 ], 15705 "type": "string" 15706 } 15707 }, 15708 "required": [ 15709 "action", 15710 "id" 15711 ], 15712 "type": "object" 15713 }, 15714 "AssetCopyDto": { 15715 "properties": { 15716 "albums": { 15717 "default": true, 15718 "type": "boolean" 15719 }, 15720 "favorite": { 15721 "default": true, 15722 "type": "boolean" 15723 }, 15724 "sharedLinks": { 15725 "default": true, 15726 "type": "boolean" 15727 }, 15728 "sidecar": { 15729 "default": true, 15730 "type": "boolean" 15731 }, 15732 "sourceId": { 15733 "format": "uuid", 15734 "type": "string" 15735 }, 15736 "stack": { 15737 "default": true, 15738 "type": "boolean" 15739 }, 15740 "targetId": { 15741 "format": "uuid", 15742 "type": "string" 15743 } 15744 }, 15745 "required": [ 15746 "sourceId", 15747 "targetId" 15748 ], 15749 "type": "object" 15750 }, 15751 "AssetDeltaSyncDto": { 15752 "properties": { 15753 "updatedAfter": { 15754 "format": "date-time", 15755 "type": "string" 15756 }, 15757 "userIds": { 15758 "items": { 15759 "format": "uuid", 15760 "type": "string" 15761 }, 15762 "type": "array" 15763 } 15764 }, 15765 "required": [ 15766 "updatedAfter", 15767 "userIds" 15768 ], 15769 "type": "object" 15770 }, 15771 "AssetDeltaSyncResponseDto": { 15772 "properties": { 15773 "deleted": { 15774 "items": { 15775 "type": "string" 15776 }, 15777 "type": "array" 15778 }, 15779 "needsFullSync": { 15780 "type": "boolean" 15781 }, 15782 "upserted": { 15783 "items": { 15784 "$ref": "#/components/schemas/AssetResponseDto" 15785 }, 15786 "type": "array" 15787 } 15788 }, 15789 "required": [ 15790 "deleted", 15791 "needsFullSync", 15792 "upserted" 15793 ], 15794 "type": "object" 15795 }, 15796 "AssetEditAction": { 15797 "enum": [ 15798 "crop", 15799 "rotate", 15800 "mirror" 15801 ], 15802 "type": "string" 15803 }, 15804 "AssetEditActionCrop": { 15805 "properties": { 15806 "action": { 15807 "allOf": [ 15808 { 15809 "$ref": "#/components/schemas/AssetEditAction" 15810 } 15811 ] 15812 }, 15813 "parameters": { 15814 "$ref": "#/components/schemas/CropParameters" 15815 } 15816 }, 15817 "required": [ 15818 "action", 15819 "parameters" 15820 ], 15821 "type": "object" 15822 }, 15823 "AssetEditActionListDto": { 15824 "properties": { 15825 "edits": { 15826 "description": "list of edits", 15827 "items": { 15828 "anyOf": [ 15829 { 15830 "$ref": "#/components/schemas/AssetEditActionCrop" 15831 }, 15832 { 15833 "$ref": "#/components/schemas/AssetEditActionRotate" 15834 }, 15835 { 15836 "$ref": "#/components/schemas/AssetEditActionMirror" 15837 } 15838 ] 15839 }, 15840 "minItems": 1, 15841 "type": "array" 15842 } 15843 }, 15844 "required": [ 15845 "edits" 15846 ], 15847 "type": "object" 15848 }, 15849 "AssetEditActionMirror": { 15850 "properties": { 15851 "action": { 15852 "allOf": [ 15853 { 15854 "$ref": "#/components/schemas/AssetEditAction" 15855 } 15856 ] 15857 }, 15858 "parameters": { 15859 "$ref": "#/components/schemas/MirrorParameters" 15860 } 15861 }, 15862 "required": [ 15863 "action", 15864 "parameters" 15865 ], 15866 "type": "object" 15867 }, 15868 "AssetEditActionRotate": { 15869 "properties": { 15870 "action": { 15871 "allOf": [ 15872 { 15873 "$ref": "#/components/schemas/AssetEditAction" 15874 } 15875 ] 15876 }, 15877 "parameters": { 15878 "$ref": "#/components/schemas/RotateParameters" 15879 } 15880 }, 15881 "required": [ 15882 "action", 15883 "parameters" 15884 ], 15885 "type": "object" 15886 }, 15887 "AssetEditsDto": { 15888 "properties": { 15889 "assetId": { 15890 "format": "uuid", 15891 "type": "string" 15892 }, 15893 "edits": { 15894 "description": "list of edits", 15895 "items": { 15896 "anyOf": [ 15897 { 15898 "$ref": "#/components/schemas/AssetEditActionCrop" 15899 }, 15900 { 15901 "$ref": "#/components/schemas/AssetEditActionRotate" 15902 }, 15903 { 15904 "$ref": "#/components/schemas/AssetEditActionMirror" 15905 } 15906 ] 15907 }, 15908 "minItems": 1, 15909 "type": "array" 15910 } 15911 }, 15912 "required": [ 15913 "assetId", 15914 "edits" 15915 ], 15916 "type": "object" 15917 }, 15918 "AssetFaceCreateDto": { 15919 "properties": { 15920 "assetId": { 15921 "format": "uuid", 15922 "type": "string" 15923 }, 15924 "height": { 15925 "type": "integer" 15926 }, 15927 "imageHeight": { 15928 "type": "integer" 15929 }, 15930 "imageWidth": { 15931 "type": "integer" 15932 }, 15933 "personId": { 15934 "format": "uuid", 15935 "type": "string" 15936 }, 15937 "width": { 15938 "type": "integer" 15939 }, 15940 "x": { 15941 "type": "integer" 15942 }, 15943 "y": { 15944 "type": "integer" 15945 } 15946 }, 15947 "required": [ 15948 "assetId", 15949 "height", 15950 "imageHeight", 15951 "imageWidth", 15952 "personId", 15953 "width", 15954 "x", 15955 "y" 15956 ], 15957 "type": "object" 15958 }, 15959 "AssetFaceDeleteDto": { 15960 "properties": { 15961 "force": { 15962 "type": "boolean" 15963 } 15964 }, 15965 "required": [ 15966 "force" 15967 ], 15968 "type": "object" 15969 }, 15970 "AssetFaceResponseDto": { 15971 "properties": { 15972 "boundingBoxX1": { 15973 "type": "integer" 15974 }, 15975 "boundingBoxX2": { 15976 "type": "integer" 15977 }, 15978 "boundingBoxY1": { 15979 "type": "integer" 15980 }, 15981 "boundingBoxY2": { 15982 "type": "integer" 15983 }, 15984 "id": { 15985 "format": "uuid", 15986 "type": "string" 15987 }, 15988 "imageHeight": { 15989 "type": "integer" 15990 }, 15991 "imageWidth": { 15992 "type": "integer" 15993 }, 15994 "person": { 15995 "allOf": [ 15996 { 15997 "$ref": "#/components/schemas/PersonResponseDto" 15998 } 15999 ], 16000 "nullable": true 16001 }, 16002 "sourceType": { 16003 "allOf": [ 16004 { 16005 "$ref": "#/components/schemas/SourceType" 16006 } 16007 ] 16008 } 16009 }, 16010 "required": [ 16011 "boundingBoxX1", 16012 "boundingBoxX2", 16013 "boundingBoxY1", 16014 "boundingBoxY2", 16015 "id", 16016 "imageHeight", 16017 "imageWidth", 16018 "person" 16019 ], 16020 "type": "object" 16021 }, 16022 "AssetFaceUpdateDto": { 16023 "properties": { 16024 "data": { 16025 "items": { 16026 "$ref": "#/components/schemas/AssetFaceUpdateItem" 16027 }, 16028 "type": "array" 16029 } 16030 }, 16031 "required": [ 16032 "data" 16033 ], 16034 "type": "object" 16035 }, 16036 "AssetFaceUpdateItem": { 16037 "properties": { 16038 "assetId": { 16039 "format": "uuid", 16040 "type": "string" 16041 }, 16042 "personId": { 16043 "format": "uuid", 16044 "type": "string" 16045 } 16046 }, 16047 "required": [ 16048 "assetId", 16049 "personId" 16050 ], 16051 "type": "object" 16052 }, 16053 "AssetFaceWithoutPersonResponseDto": { 16054 "properties": { 16055 "boundingBoxX1": { 16056 "type": "integer" 16057 }, 16058 "boundingBoxX2": { 16059 "type": "integer" 16060 }, 16061 "boundingBoxY1": { 16062 "type": "integer" 16063 }, 16064 "boundingBoxY2": { 16065 "type": "integer" 16066 }, 16067 "id": { 16068 "format": "uuid", 16069 "type": "string" 16070 }, 16071 "imageHeight": { 16072 "type": "integer" 16073 }, 16074 "imageWidth": { 16075 "type": "integer" 16076 }, 16077 "sourceType": { 16078 "allOf": [ 16079 { 16080 "$ref": "#/components/schemas/SourceType" 16081 } 16082 ] 16083 } 16084 }, 16085 "required": [ 16086 "boundingBoxX1", 16087 "boundingBoxX2", 16088 "boundingBoxY1", 16089 "boundingBoxY2", 16090 "id", 16091 "imageHeight", 16092 "imageWidth" 16093 ], 16094 "type": "object" 16095 }, 16096 "AssetFullSyncDto": { 16097 "properties": { 16098 "lastId": { 16099 "format": "uuid", 16100 "type": "string" 16101 }, 16102 "limit": { 16103 "minimum": 1, 16104 "type": "integer" 16105 }, 16106 "updatedUntil": { 16107 "format": "date-time", 16108 "type": "string" 16109 }, 16110 "userId": { 16111 "format": "uuid", 16112 "type": "string" 16113 } 16114 }, 16115 "required": [ 16116 "limit", 16117 "updatedUntil" 16118 ], 16119 "type": "object" 16120 }, 16121 "AssetIdsDto": { 16122 "properties": { 16123 "assetIds": { 16124 "items": { 16125 "format": "uuid", 16126 "type": "string" 16127 }, 16128 "type": "array" 16129 } 16130 }, 16131 "required": [ 16132 "assetIds" 16133 ], 16134 "type": "object" 16135 }, 16136 "AssetIdsResponseDto": { 16137 "properties": { 16138 "assetId": { 16139 "type": "string" 16140 }, 16141 "error": { 16142 "enum": [ 16143 "duplicate", 16144 "no_permission", 16145 "not_found" 16146 ], 16147 "type": "string" 16148 }, 16149 "success": { 16150 "type": "boolean" 16151 } 16152 }, 16153 "required": [ 16154 "assetId", 16155 "success" 16156 ], 16157 "type": "object" 16158 }, 16159 "AssetJobName": { 16160 "enum": [ 16161 "refresh-faces", 16162 "refresh-metadata", 16163 "regenerate-thumbnail", 16164 "transcode-video" 16165 ], 16166 "type": "string" 16167 }, 16168 "AssetJobsDto": { 16169 "properties": { 16170 "assetIds": { 16171 "items": { 16172 "format": "uuid", 16173 "type": "string" 16174 }, 16175 "type": "array" 16176 }, 16177 "name": { 16178 "allOf": [ 16179 { 16180 "$ref": "#/components/schemas/AssetJobName" 16181 } 16182 ] 16183 } 16184 }, 16185 "required": [ 16186 "assetIds", 16187 "name" 16188 ], 16189 "type": "object" 16190 }, 16191 "AssetMediaCreateDto": { 16192 "properties": { 16193 "assetData": { 16194 "format": "binary", 16195 "type": "string" 16196 }, 16197 "deviceAssetId": { 16198 "type": "string" 16199 }, 16200 "deviceId": { 16201 "type": "string" 16202 }, 16203 "duration": { 16204 "type": "string" 16205 }, 16206 "fileCreatedAt": { 16207 "format": "date-time", 16208 "type": "string" 16209 }, 16210 "fileModifiedAt": { 16211 "format": "date-time", 16212 "type": "string" 16213 }, 16214 "filename": { 16215 "type": "string" 16216 }, 16217 "isFavorite": { 16218 "type": "boolean" 16219 }, 16220 "livePhotoVideoId": { 16221 "format": "uuid", 16222 "type": "string" 16223 }, 16224 "metadata": { 16225 "items": { 16226 "$ref": "#/components/schemas/AssetMetadataUpsertItemDto" 16227 }, 16228 "type": "array" 16229 }, 16230 "sidecarData": { 16231 "format": "binary", 16232 "type": "string" 16233 }, 16234 "visibility": { 16235 "allOf": [ 16236 { 16237 "$ref": "#/components/schemas/AssetVisibility" 16238 } 16239 ] 16240 } 16241 }, 16242 "required": [ 16243 "assetData", 16244 "deviceAssetId", 16245 "deviceId", 16246 "fileCreatedAt", 16247 "fileModifiedAt" 16248 ], 16249 "type": "object" 16250 }, 16251 "AssetMediaReplaceDto": { 16252 "properties": { 16253 "assetData": { 16254 "format": "binary", 16255 "type": "string" 16256 }, 16257 "deviceAssetId": { 16258 "type": "string" 16259 }, 16260 "deviceId": { 16261 "type": "string" 16262 }, 16263 "duration": { 16264 "type": "string" 16265 }, 16266 "fileCreatedAt": { 16267 "format": "date-time", 16268 "type": "string" 16269 }, 16270 "fileModifiedAt": { 16271 "format": "date-time", 16272 "type": "string" 16273 }, 16274 "filename": { 16275 "type": "string" 16276 } 16277 }, 16278 "required": [ 16279 "assetData", 16280 "deviceAssetId", 16281 "deviceId", 16282 "fileCreatedAt", 16283 "fileModifiedAt" 16284 ], 16285 "type": "object" 16286 }, 16287 "AssetMediaResponseDto": { 16288 "properties": { 16289 "id": { 16290 "type": "string" 16291 }, 16292 "status": { 16293 "allOf": [ 16294 { 16295 "$ref": "#/components/schemas/AssetMediaStatus" 16296 } 16297 ] 16298 } 16299 }, 16300 "required": [ 16301 "id", 16302 "status" 16303 ], 16304 "type": "object" 16305 }, 16306 "AssetMediaSize": { 16307 "enum": [ 16308 "original", 16309 "fullsize", 16310 "preview", 16311 "thumbnail" 16312 ], 16313 "type": "string" 16314 }, 16315 "AssetMediaStatus": { 16316 "enum": [ 16317 "created", 16318 "replaced", 16319 "duplicate" 16320 ], 16321 "type": "string" 16322 }, 16323 "AssetMetadataBulkDeleteDto": { 16324 "properties": { 16325 "items": { 16326 "items": { 16327 "$ref": "#/components/schemas/AssetMetadataBulkDeleteItemDto" 16328 }, 16329 "type": "array" 16330 } 16331 }, 16332 "required": [ 16333 "items" 16334 ], 16335 "type": "object" 16336 }, 16337 "AssetMetadataBulkDeleteItemDto": { 16338 "properties": { 16339 "assetId": { 16340 "format": "uuid", 16341 "type": "string" 16342 }, 16343 "key": { 16344 "type": "string" 16345 } 16346 }, 16347 "required": [ 16348 "assetId", 16349 "key" 16350 ], 16351 "type": "object" 16352 }, 16353 "AssetMetadataBulkResponseDto": { 16354 "properties": { 16355 "assetId": { 16356 "type": "string" 16357 }, 16358 "key": { 16359 "type": "string" 16360 }, 16361 "updatedAt": { 16362 "format": "date-time", 16363 "type": "string" 16364 }, 16365 "value": { 16366 "type": "object" 16367 } 16368 }, 16369 "required": [ 16370 "assetId", 16371 "key", 16372 "updatedAt", 16373 "value" 16374 ], 16375 "type": "object" 16376 }, 16377 "AssetMetadataBulkUpsertDto": { 16378 "properties": { 16379 "items": { 16380 "items": { 16381 "$ref": "#/components/schemas/AssetMetadataBulkUpsertItemDto" 16382 }, 16383 "type": "array" 16384 } 16385 }, 16386 "required": [ 16387 "items" 16388 ], 16389 "type": "object" 16390 }, 16391 "AssetMetadataBulkUpsertItemDto": { 16392 "properties": { 16393 "assetId": { 16394 "format": "uuid", 16395 "type": "string" 16396 }, 16397 "key": { 16398 "type": "string" 16399 }, 16400 "value": { 16401 "type": "object" 16402 } 16403 }, 16404 "required": [ 16405 "assetId", 16406 "key", 16407 "value" 16408 ], 16409 "type": "object" 16410 }, 16411 "AssetMetadataResponseDto": { 16412 "properties": { 16413 "key": { 16414 "type": "string" 16415 }, 16416 "updatedAt": { 16417 "format": "date-time", 16418 "type": "string" 16419 }, 16420 "value": { 16421 "type": "object" 16422 } 16423 }, 16424 "required": [ 16425 "key", 16426 "updatedAt", 16427 "value" 16428 ], 16429 "type": "object" 16430 }, 16431 "AssetMetadataUpsertDto": { 16432 "properties": { 16433 "items": { 16434 "items": { 16435 "$ref": "#/components/schemas/AssetMetadataUpsertItemDto" 16436 }, 16437 "type": "array" 16438 } 16439 }, 16440 "required": [ 16441 "items" 16442 ], 16443 "type": "object" 16444 }, 16445 "AssetMetadataUpsertItemDto": { 16446 "properties": { 16447 "key": { 16448 "type": "string" 16449 }, 16450 "value": { 16451 "type": "object" 16452 } 16453 }, 16454 "required": [ 16455 "key", 16456 "value" 16457 ], 16458 "type": "object" 16459 }, 16460 "AssetOcrResponseDto": { 16461 "properties": { 16462 "assetId": { 16463 "format": "uuid", 16464 "type": "string" 16465 }, 16466 "boxScore": { 16467 "description": "Confidence score for text detection box", 16468 "format": "double", 16469 "type": "number" 16470 }, 16471 "id": { 16472 "format": "uuid", 16473 "type": "string" 16474 }, 16475 "text": { 16476 "description": "Recognized text", 16477 "type": "string" 16478 }, 16479 "textScore": { 16480 "description": "Confidence score for text recognition", 16481 "format": "double", 16482 "type": "number" 16483 }, 16484 "x1": { 16485 "description": "Normalized x coordinate of box corner 1 (0-1)", 16486 "format": "double", 16487 "type": "number" 16488 }, 16489 "x2": { 16490 "description": "Normalized x coordinate of box corner 2 (0-1)", 16491 "format": "double", 16492 "type": "number" 16493 }, 16494 "x3": { 16495 "description": "Normalized x coordinate of box corner 3 (0-1)", 16496 "format": "double", 16497 "type": "number" 16498 }, 16499 "x4": { 16500 "description": "Normalized x coordinate of box corner 4 (0-1)", 16501 "format": "double", 16502 "type": "number" 16503 }, 16504 "y1": { 16505 "description": "Normalized y coordinate of box corner 1 (0-1)", 16506 "format": "double", 16507 "type": "number" 16508 }, 16509 "y2": { 16510 "description": "Normalized y coordinate of box corner 2 (0-1)", 16511 "format": "double", 16512 "type": "number" 16513 }, 16514 "y3": { 16515 "description": "Normalized y coordinate of box corner 3 (0-1)", 16516 "format": "double", 16517 "type": "number" 16518 }, 16519 "y4": { 16520 "description": "Normalized y coordinate of box corner 4 (0-1)", 16521 "format": "double", 16522 "type": "number" 16523 } 16524 }, 16525 "required": [ 16526 "assetId", 16527 "boxScore", 16528 "id", 16529 "text", 16530 "textScore", 16531 "x1", 16532 "x2", 16533 "x3", 16534 "x4", 16535 "y1", 16536 "y2", 16537 "y3", 16538 "y4" 16539 ], 16540 "type": "object" 16541 }, 16542 "AssetOrder": { 16543 "enum": [ 16544 "asc", 16545 "desc" 16546 ], 16547 "type": "string" 16548 }, 16549 "AssetResponseDto": { 16550 "properties": { 16551 "checksum": { 16552 "description": "base64 encoded sha1 hash", 16553 "type": "string" 16554 }, 16555 "createdAt": { 16556 "description": "The UTC timestamp when the asset was originally uploaded to Immich.", 16557 "example": "2024-01-15T20:30:00.000Z", 16558 "format": "date-time", 16559 "type": "string" 16560 }, 16561 "deviceAssetId": { 16562 "type": "string" 16563 }, 16564 "deviceId": { 16565 "type": "string" 16566 }, 16567 "duplicateId": { 16568 "nullable": true, 16569 "type": "string" 16570 }, 16571 "duration": { 16572 "type": "string" 16573 }, 16574 "exifInfo": { 16575 "$ref": "#/components/schemas/ExifResponseDto" 16576 }, 16577 "fileCreatedAt": { 16578 "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.", 16579 "example": "2024-01-15T19:30:00.000Z", 16580 "format": "date-time", 16581 "type": "string" 16582 }, 16583 "fileModifiedAt": { 16584 "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.", 16585 "example": "2024-01-16T10:15:00.000Z", 16586 "format": "date-time", 16587 "type": "string" 16588 }, 16589 "hasMetadata": { 16590 "type": "boolean" 16591 }, 16592 "height": { 16593 "nullable": true, 16594 "type": "number" 16595 }, 16596 "id": { 16597 "type": "string" 16598 }, 16599 "isArchived": { 16600 "type": "boolean" 16601 }, 16602 "isEdited": { 16603 "type": "boolean", 16604 "x-immich-history": [ 16605 { 16606 "version": "v2.5.0", 16607 "state": "Added" 16608 }, 16609 { 16610 "version": "v2.5.0", 16611 "state": "Beta" 16612 } 16613 ], 16614 "x-immich-state": "Beta" 16615 }, 16616 "isFavorite": { 16617 "type": "boolean" 16618 }, 16619 "isOffline": { 16620 "type": "boolean" 16621 }, 16622 "isTrashed": { 16623 "type": "boolean" 16624 }, 16625 "libraryId": { 16626 "deprecated": true, 16627 "nullable": true, 16628 "type": "string", 16629 "x-immich-history": [ 16630 { 16631 "version": "v1", 16632 "state": "Added" 16633 }, 16634 { 16635 "version": "v1", 16636 "state": "Deprecated" 16637 } 16638 ], 16639 "x-immich-state": "Deprecated" 16640 }, 16641 "livePhotoVideoId": { 16642 "nullable": true, 16643 "type": "string" 16644 }, 16645 "localDateTime": { 16646 "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.", 16647 "example": "2024-01-15T14:30:00.000Z", 16648 "format": "date-time", 16649 "type": "string" 16650 }, 16651 "originalFileName": { 16652 "type": "string" 16653 }, 16654 "originalMimeType": { 16655 "type": "string" 16656 }, 16657 "originalPath": { 16658 "type": "string" 16659 }, 16660 "owner": { 16661 "$ref": "#/components/schemas/UserResponseDto" 16662 }, 16663 "ownerId": { 16664 "type": "string" 16665 }, 16666 "people": { 16667 "items": { 16668 "$ref": "#/components/schemas/PersonWithFacesResponseDto" 16669 }, 16670 "type": "array" 16671 }, 16672 "resized": { 16673 "deprecated": true, 16674 "type": "boolean", 16675 "x-immich-history": [ 16676 { 16677 "version": "v1", 16678 "state": "Added" 16679 }, 16680 { 16681 "version": "v1.113.0", 16682 "state": "Deprecated" 16683 } 16684 ], 16685 "x-immich-state": "Deprecated" 16686 }, 16687 "stack": { 16688 "allOf": [ 16689 { 16690 "$ref": "#/components/schemas/AssetStackResponseDto" 16691 } 16692 ], 16693 "nullable": true 16694 }, 16695 "tags": { 16696 "items": { 16697 "$ref": "#/components/schemas/TagResponseDto" 16698 }, 16699 "type": "array" 16700 }, 16701 "thumbhash": { 16702 "nullable": true, 16703 "type": "string" 16704 }, 16705 "type": { 16706 "allOf": [ 16707 { 16708 "$ref": "#/components/schemas/AssetTypeEnum" 16709 } 16710 ] 16711 }, 16712 "unassignedFaces": { 16713 "items": { 16714 "$ref": "#/components/schemas/AssetFaceWithoutPersonResponseDto" 16715 }, 16716 "type": "array" 16717 }, 16718 "updatedAt": { 16719 "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.", 16720 "example": "2024-01-16T12:45:30.000Z", 16721 "format": "date-time", 16722 "type": "string" 16723 }, 16724 "visibility": { 16725 "allOf": [ 16726 { 16727 "$ref": "#/components/schemas/AssetVisibility" 16728 } 16729 ] 16730 }, 16731 "width": { 16732 "nullable": true, 16733 "type": "number" 16734 } 16735 }, 16736 "required": [ 16737 "checksum", 16738 "createdAt", 16739 "deviceAssetId", 16740 "deviceId", 16741 "duration", 16742 "fileCreatedAt", 16743 "fileModifiedAt", 16744 "hasMetadata", 16745 "height", 16746 "id", 16747 "isArchived", 16748 "isEdited", 16749 "isFavorite", 16750 "isOffline", 16751 "isTrashed", 16752 "localDateTime", 16753 "originalFileName", 16754 "originalPath", 16755 "ownerId", 16756 "thumbhash", 16757 "type", 16758 "updatedAt", 16759 "visibility", 16760 "width" 16761 ], 16762 "type": "object" 16763 }, 16764 "AssetStackResponseDto": { 16765 "properties": { 16766 "assetCount": { 16767 "type": "integer" 16768 }, 16769 "id": { 16770 "type": "string" 16771 }, 16772 "primaryAssetId": { 16773 "type": "string" 16774 } 16775 }, 16776 "required": [ 16777 "assetCount", 16778 "id", 16779 "primaryAssetId" 16780 ], 16781 "type": "object" 16782 }, 16783 "AssetStatsResponseDto": { 16784 "properties": { 16785 "images": { 16786 "type": "integer" 16787 }, 16788 "total": { 16789 "type": "integer" 16790 }, 16791 "videos": { 16792 "type": "integer" 16793 } 16794 }, 16795 "required": [ 16796 "images", 16797 "total", 16798 "videos" 16799 ], 16800 "type": "object" 16801 }, 16802 "AssetTypeEnum": { 16803 "enum": [ 16804 "IMAGE", 16805 "VIDEO", 16806 "AUDIO", 16807 "OTHER" 16808 ], 16809 "type": "string" 16810 }, 16811 "AssetVisibility": { 16812 "enum": [ 16813 "archive", 16814 "timeline", 16815 "hidden", 16816 "locked" 16817 ], 16818 "type": "string" 16819 }, 16820 "AudioCodec": { 16821 "enum": [ 16822 "mp3", 16823 "aac", 16824 "libopus", 16825 "pcm_s16le" 16826 ], 16827 "type": "string" 16828 }, 16829 "AuthStatusResponseDto": { 16830 "properties": { 16831 "expiresAt": { 16832 "type": "string" 16833 }, 16834 "isElevated": { 16835 "type": "boolean" 16836 }, 16837 "password": { 16838 "type": "boolean" 16839 }, 16840 "pinCode": { 16841 "type": "boolean" 16842 }, 16843 "pinExpiresAt": { 16844 "type": "string" 16845 } 16846 }, 16847 "required": [ 16848 "isElevated", 16849 "password", 16850 "pinCode" 16851 ], 16852 "type": "object" 16853 }, 16854 "AvatarUpdate": { 16855 "properties": { 16856 "color": { 16857 "allOf": [ 16858 { 16859 "$ref": "#/components/schemas/UserAvatarColor" 16860 } 16861 ] 16862 } 16863 }, 16864 "type": "object" 16865 }, 16866 "BulkIdErrorReason": { 16867 "enum": [ 16868 "duplicate", 16869 "no_permission", 16870 "not_found", 16871 "unknown" 16872 ], 16873 "type": "string" 16874 }, 16875 "BulkIdResponseDto": { 16876 "properties": { 16877 "error": { 16878 "enum": [ 16879 "duplicate", 16880 "no_permission", 16881 "not_found", 16882 "unknown" 16883 ], 16884 "type": "string" 16885 }, 16886 "id": { 16887 "type": "string" 16888 }, 16889 "success": { 16890 "type": "boolean" 16891 } 16892 }, 16893 "required": [ 16894 "id", 16895 "success" 16896 ], 16897 "type": "object" 16898 }, 16899 "BulkIdsDto": { 16900 "properties": { 16901 "ids": { 16902 "items": { 16903 "format": "uuid", 16904 "type": "string" 16905 }, 16906 "type": "array" 16907 } 16908 }, 16909 "required": [ 16910 "ids" 16911 ], 16912 "type": "object" 16913 }, 16914 "CLIPConfig": { 16915 "properties": { 16916 "enabled": { 16917 "type": "boolean" 16918 }, 16919 "modelName": { 16920 "type": "string" 16921 } 16922 }, 16923 "required": [ 16924 "enabled", 16925 "modelName" 16926 ], 16927 "type": "object" 16928 }, 16929 "CQMode": { 16930 "enum": [ 16931 "auto", 16932 "cqp", 16933 "icq" 16934 ], 16935 "type": "string" 16936 }, 16937 "CastResponse": { 16938 "properties": { 16939 "gCastEnabled": { 16940 "default": false, 16941 "type": "boolean" 16942 } 16943 }, 16944 "required": [ 16945 "gCastEnabled" 16946 ], 16947 "type": "object" 16948 }, 16949 "CastUpdate": { 16950 "properties": { 16951 "gCastEnabled": { 16952 "type": "boolean" 16953 } 16954 }, 16955 "type": "object" 16956 }, 16957 "ChangePasswordDto": { 16958 "properties": { 16959 "invalidateSessions": { 16960 "default": false, 16961 "type": "boolean" 16962 }, 16963 "newPassword": { 16964 "example": "password", 16965 "minLength": 8, 16966 "type": "string" 16967 }, 16968 "password": { 16969 "example": "password", 16970 "type": "string" 16971 } 16972 }, 16973 "required": [ 16974 "newPassword", 16975 "password" 16976 ], 16977 "type": "object" 16978 }, 16979 "CheckExistingAssetsDto": { 16980 "properties": { 16981 "deviceAssetIds": { 16982 "items": { 16983 "type": "string" 16984 }, 16985 "minItems": 1, 16986 "type": "array" 16987 }, 16988 "deviceId": { 16989 "type": "string" 16990 } 16991 }, 16992 "required": [ 16993 "deviceAssetIds", 16994 "deviceId" 16995 ], 16996 "type": "object" 16997 }, 16998 "CheckExistingAssetsResponseDto": { 16999 "properties": { 17000 "existingIds": { 17001 "items": { 17002 "type": "string" 17003 }, 17004 "type": "array" 17005 } 17006 }, 17007 "required": [ 17008 "existingIds" 17009 ], 17010 "type": "object" 17011 }, 17012 "Colorspace": { 17013 "enum": [ 17014 "srgb", 17015 "p3" 17016 ], 17017 "type": "string" 17018 }, 17019 "ContributorCountResponseDto": { 17020 "properties": { 17021 "assetCount": { 17022 "type": "integer" 17023 }, 17024 "userId": { 17025 "type": "string" 17026 } 17027 }, 17028 "required": [ 17029 "assetCount", 17030 "userId" 17031 ], 17032 "type": "object" 17033 }, 17034 "CreateAlbumDto": { 17035 "properties": { 17036 "albumName": { 17037 "type": "string" 17038 }, 17039 "albumUsers": { 17040 "items": { 17041 "$ref": "#/components/schemas/AlbumUserCreateDto" 17042 }, 17043 "type": "array" 17044 }, 17045 "assetIds": { 17046 "items": { 17047 "format": "uuid", 17048 "type": "string" 17049 }, 17050 "type": "array" 17051 }, 17052 "description": { 17053 "type": "string" 17054 } 17055 }, 17056 "required": [ 17057 "albumName" 17058 ], 17059 "type": "object" 17060 }, 17061 "CreateLibraryDto": { 17062 "properties": { 17063 "exclusionPatterns": { 17064 "items": { 17065 "type": "string" 17066 }, 17067 "maxItems": 128, 17068 "type": "array", 17069 "uniqueItems": true 17070 }, 17071 "importPaths": { 17072 "items": { 17073 "type": "string" 17074 }, 17075 "maxItems": 128, 17076 "type": "array", 17077 "uniqueItems": true 17078 }, 17079 "name": { 17080 "type": "string" 17081 }, 17082 "ownerId": { 17083 "format": "uuid", 17084 "type": "string" 17085 } 17086 }, 17087 "required": [ 17088 "ownerId" 17089 ], 17090 "type": "object" 17091 }, 17092 "CreateProfileImageDto": { 17093 "properties": { 17094 "file": { 17095 "format": "binary", 17096 "type": "string" 17097 } 17098 }, 17099 "required": [ 17100 "file" 17101 ], 17102 "type": "object" 17103 }, 17104 "CreateProfileImageResponseDto": { 17105 "properties": { 17106 "profileChangedAt": { 17107 "format": "date-time", 17108 "type": "string" 17109 }, 17110 "profileImagePath": { 17111 "type": "string" 17112 }, 17113 "userId": { 17114 "type": "string" 17115 } 17116 }, 17117 "required": [ 17118 "profileChangedAt", 17119 "profileImagePath", 17120 "userId" 17121 ], 17122 "type": "object" 17123 }, 17124 "CropParameters": { 17125 "properties": { 17126 "height": { 17127 "description": "Height of the crop", 17128 "minimum": 1, 17129 "type": "number" 17130 }, 17131 "width": { 17132 "description": "Width of the crop", 17133 "minimum": 1, 17134 "type": "number" 17135 }, 17136 "x": { 17137 "description": "Top-Left X coordinate of crop", 17138 "minimum": 0, 17139 "type": "number" 17140 }, 17141 "y": { 17142 "description": "Top-Left Y coordinate of crop", 17143 "minimum": 0, 17144 "type": "number" 17145 } 17146 }, 17147 "required": [ 17148 "height", 17149 "width", 17150 "x", 17151 "y" 17152 ], 17153 "type": "object" 17154 }, 17155 "DatabaseBackupConfig": { 17156 "properties": { 17157 "cronExpression": { 17158 "type": "string" 17159 }, 17160 "enabled": { 17161 "type": "boolean" 17162 }, 17163 "keepLastAmount": { 17164 "minimum": 1, 17165 "type": "number" 17166 } 17167 }, 17168 "required": [ 17169 "cronExpression", 17170 "enabled", 17171 "keepLastAmount" 17172 ], 17173 "type": "object" 17174 }, 17175 "DatabaseBackupDeleteDto": { 17176 "properties": { 17177 "backups": { 17178 "items": { 17179 "type": "string" 17180 }, 17181 "type": "array" 17182 } 17183 }, 17184 "required": [ 17185 "backups" 17186 ], 17187 "type": "object" 17188 }, 17189 "DatabaseBackupDto": { 17190 "properties": { 17191 "filename": { 17192 "type": "string" 17193 }, 17194 "filesize": { 17195 "type": "number" 17196 } 17197 }, 17198 "required": [ 17199 "filename", 17200 "filesize" 17201 ], 17202 "type": "object" 17203 }, 17204 "DatabaseBackupListResponseDto": { 17205 "properties": { 17206 "backups": { 17207 "items": { 17208 "$ref": "#/components/schemas/DatabaseBackupDto" 17209 }, 17210 "type": "array" 17211 } 17212 }, 17213 "required": [ 17214 "backups" 17215 ], 17216 "type": "object" 17217 }, 17218 "DatabaseBackupUploadDto": { 17219 "properties": { 17220 "file": { 17221 "format": "binary", 17222 "type": "string" 17223 } 17224 }, 17225 "type": "object" 17226 }, 17227 "DownloadArchiveInfo": { 17228 "properties": { 17229 "assetIds": { 17230 "items": { 17231 "type": "string" 17232 }, 17233 "type": "array" 17234 }, 17235 "size": { 17236 "type": "integer" 17237 } 17238 }, 17239 "required": [ 17240 "assetIds", 17241 "size" 17242 ], 17243 "type": "object" 17244 }, 17245 "DownloadInfoDto": { 17246 "properties": { 17247 "albumId": { 17248 "format": "uuid", 17249 "type": "string" 17250 }, 17251 "archiveSize": { 17252 "minimum": 1, 17253 "type": "integer" 17254 }, 17255 "assetIds": { 17256 "items": { 17257 "format": "uuid", 17258 "type": "string" 17259 }, 17260 "type": "array" 17261 }, 17262 "userId": { 17263 "format": "uuid", 17264 "type": "string" 17265 } 17266 }, 17267 "type": "object" 17268 }, 17269 "DownloadResponse": { 17270 "properties": { 17271 "archiveSize": { 17272 "type": "integer" 17273 }, 17274 "includeEmbeddedVideos": { 17275 "default": false, 17276 "type": "boolean" 17277 } 17278 }, 17279 "required": [ 17280 "archiveSize", 17281 "includeEmbeddedVideos" 17282 ], 17283 "type": "object" 17284 }, 17285 "DownloadResponseDto": { 17286 "properties": { 17287 "archives": { 17288 "items": { 17289 "$ref": "#/components/schemas/DownloadArchiveInfo" 17290 }, 17291 "type": "array" 17292 }, 17293 "totalSize": { 17294 "type": "integer" 17295 } 17296 }, 17297 "required": [ 17298 "archives", 17299 "totalSize" 17300 ], 17301 "type": "object" 17302 }, 17303 "DownloadUpdate": { 17304 "properties": { 17305 "archiveSize": { 17306 "minimum": 1, 17307 "type": "integer" 17308 }, 17309 "includeEmbeddedVideos": { 17310 "type": "boolean" 17311 } 17312 }, 17313 "type": "object" 17314 }, 17315 "DuplicateDetectionConfig": { 17316 "properties": { 17317 "enabled": { 17318 "type": "boolean" 17319 }, 17320 "maxDistance": { 17321 "format": "double", 17322 "maximum": 0.1, 17323 "minimum": 0.001, 17324 "type": "number" 17325 } 17326 }, 17327 "required": [ 17328 "enabled", 17329 "maxDistance" 17330 ], 17331 "type": "object" 17332 }, 17333 "DuplicateResponseDto": { 17334 "properties": { 17335 "assets": { 17336 "items": { 17337 "$ref": "#/components/schemas/AssetResponseDto" 17338 }, 17339 "type": "array" 17340 }, 17341 "duplicateId": { 17342 "type": "string" 17343 } 17344 }, 17345 "required": [ 17346 "assets", 17347 "duplicateId" 17348 ], 17349 "type": "object" 17350 }, 17351 "EmailNotificationsResponse": { 17352 "properties": { 17353 "albumInvite": { 17354 "type": "boolean" 17355 }, 17356 "albumUpdate": { 17357 "type": "boolean" 17358 }, 17359 "enabled": { 17360 "type": "boolean" 17361 } 17362 }, 17363 "required": [ 17364 "albumInvite", 17365 "albumUpdate", 17366 "enabled" 17367 ], 17368 "type": "object" 17369 }, 17370 "EmailNotificationsUpdate": { 17371 "properties": { 17372 "albumInvite": { 17373 "type": "boolean" 17374 }, 17375 "albumUpdate": { 17376 "type": "boolean" 17377 }, 17378 "enabled": { 17379 "type": "boolean" 17380 } 17381 }, 17382 "type": "object" 17383 }, 17384 "ExifResponseDto": { 17385 "properties": { 17386 "city": { 17387 "default": null, 17388 "nullable": true, 17389 "type": "string" 17390 }, 17391 "country": { 17392 "default": null, 17393 "nullable": true, 17394 "type": "string" 17395 }, 17396 "dateTimeOriginal": { 17397 "default": null, 17398 "format": "date-time", 17399 "nullable": true, 17400 "type": "string" 17401 }, 17402 "description": { 17403 "default": null, 17404 "nullable": true, 17405 "type": "string" 17406 }, 17407 "exifImageHeight": { 17408 "default": null, 17409 "nullable": true, 17410 "type": "number" 17411 }, 17412 "exifImageWidth": { 17413 "default": null, 17414 "nullable": true, 17415 "type": "number" 17416 }, 17417 "exposureTime": { 17418 "default": null, 17419 "nullable": true, 17420 "type": "string" 17421 }, 17422 "fNumber": { 17423 "default": null, 17424 "nullable": true, 17425 "type": "number" 17426 }, 17427 "fileSizeInByte": { 17428 "default": null, 17429 "format": "int64", 17430 "nullable": true, 17431 "type": "integer" 17432 }, 17433 "focalLength": { 17434 "default": null, 17435 "nullable": true, 17436 "type": "number" 17437 }, 17438 "iso": { 17439 "default": null, 17440 "nullable": true, 17441 "type": "number" 17442 }, 17443 "latitude": { 17444 "default": null, 17445 "nullable": true, 17446 "type": "number" 17447 }, 17448 "lensModel": { 17449 "default": null, 17450 "nullable": true, 17451 "type": "string" 17452 }, 17453 "longitude": { 17454 "default": null, 17455 "nullable": true, 17456 "type": "number" 17457 }, 17458 "make": { 17459 "default": null, 17460 "nullable": true, 17461 "type": "string" 17462 }, 17463 "model": { 17464 "default": null, 17465 "nullable": true, 17466 "type": "string" 17467 }, 17468 "modifyDate": { 17469 "default": null, 17470 "format": "date-time", 17471 "nullable": true, 17472 "type": "string" 17473 }, 17474 "orientation": { 17475 "default": null, 17476 "nullable": true, 17477 "type": "string" 17478 }, 17479 "projectionType": { 17480 "default": null, 17481 "nullable": true, 17482 "type": "string" 17483 }, 17484 "rating": { 17485 "default": null, 17486 "nullable": true, 17487 "type": "number" 17488 }, 17489 "state": { 17490 "default": null, 17491 "nullable": true, 17492 "type": "string" 17493 }, 17494 "timeZone": { 17495 "default": null, 17496 "nullable": true, 17497 "type": "string" 17498 } 17499 }, 17500 "type": "object" 17501 }, 17502 "FaceDto": { 17503 "properties": { 17504 "id": { 17505 "format": "uuid", 17506 "type": "string" 17507 } 17508 }, 17509 "required": [ 17510 "id" 17511 ], 17512 "type": "object" 17513 }, 17514 "FacialRecognitionConfig": { 17515 "properties": { 17516 "enabled": { 17517 "type": "boolean" 17518 }, 17519 "maxDistance": { 17520 "format": "double", 17521 "maximum": 2, 17522 "minimum": 0.1, 17523 "type": "number" 17524 }, 17525 "minFaces": { 17526 "minimum": 1, 17527 "type": "integer" 17528 }, 17529 "minScore": { 17530 "format": "double", 17531 "maximum": 1, 17532 "minimum": 0.1, 17533 "type": "number" 17534 }, 17535 "modelName": { 17536 "type": "string" 17537 } 17538 }, 17539 "required": [ 17540 "enabled", 17541 "maxDistance", 17542 "minFaces", 17543 "minScore", 17544 "modelName" 17545 ], 17546 "type": "object" 17547 }, 17548 "FoldersResponse": { 17549 "properties": { 17550 "enabled": { 17551 "default": false, 17552 "type": "boolean" 17553 }, 17554 "sidebarWeb": { 17555 "default": false, 17556 "type": "boolean" 17557 } 17558 }, 17559 "required": [ 17560 "enabled", 17561 "sidebarWeb" 17562 ], 17563 "type": "object" 17564 }, 17565 "FoldersUpdate": { 17566 "properties": { 17567 "enabled": { 17568 "type": "boolean" 17569 }, 17570 "sidebarWeb": { 17571 "type": "boolean" 17572 } 17573 }, 17574 "type": "object" 17575 }, 17576 "ImageFormat": { 17577 "enum": [ 17578 "jpeg", 17579 "webp" 17580 ], 17581 "type": "string" 17582 }, 17583 "JobCreateDto": { 17584 "properties": { 17585 "name": { 17586 "allOf": [ 17587 { 17588 "$ref": "#/components/schemas/ManualJobName" 17589 } 17590 ] 17591 } 17592 }, 17593 "required": [ 17594 "name" 17595 ], 17596 "type": "object" 17597 }, 17598 "JobName": { 17599 "enum": [ 17600 "AssetDelete", 17601 "AssetDeleteCheck", 17602 "AssetDetectFacesQueueAll", 17603 "AssetDetectFaces", 17604 "AssetDetectDuplicatesQueueAll", 17605 "AssetDetectDuplicates", 17606 "AssetEditThumbnailGeneration", 17607 "AssetEncodeVideoQueueAll", 17608 "AssetEncodeVideo", 17609 "AssetEmptyTrash", 17610 "AssetExtractMetadataQueueAll", 17611 "AssetExtractMetadata", 17612 "AssetFileMigration", 17613 "AssetGenerateThumbnailsQueueAll", 17614 "AssetGenerateThumbnails", 17615 "AuditLogCleanup", 17616 "AuditTableCleanup", 17617 "DatabaseBackup", 17618 "FacialRecognitionQueueAll", 17619 "FacialRecognition", 17620 "FileDelete", 17621 "FileMigrationQueueAll", 17622 "LibraryDeleteCheck", 17623 "LibraryDelete", 17624 "LibraryRemoveAsset", 17625 "LibraryScanAssetsQueueAll", 17626 "LibrarySyncAssets", 17627 "LibrarySyncFilesQueueAll", 17628 "LibrarySyncFiles", 17629 "LibraryScanQueueAll", 17630 "MemoryCleanup", 17631 "MemoryGenerate", 17632 "NotificationsCleanup", 17633 "NotifyUserSignup", 17634 "NotifyAlbumInvite", 17635 "NotifyAlbumUpdate", 17636 "UserDelete", 17637 "UserDeleteCheck", 17638 "UserSyncUsage", 17639 "PersonCleanup", 17640 "PersonFileMigration", 17641 "PersonGenerateThumbnail", 17642 "SessionCleanup", 17643 "SendMail", 17644 "SidecarQueueAll", 17645 "SidecarCheck", 17646 "SidecarWrite", 17647 "SmartSearchQueueAll", 17648 "SmartSearch", 17649 "StorageTemplateMigration", 17650 "StorageTemplateMigrationSingle", 17651 "TagCleanup", 17652 "VersionCheck", 17653 "OcrQueueAll", 17654 "Ocr", 17655 "WorkflowRun" 17656 ], 17657 "type": "string" 17658 }, 17659 "JobSettingsDto": { 17660 "properties": { 17661 "concurrency": { 17662 "minimum": 1, 17663 "type": "integer" 17664 } 17665 }, 17666 "required": [ 17667 "concurrency" 17668 ], 17669 "type": "object" 17670 }, 17671 "LibraryResponseDto": { 17672 "properties": { 17673 "assetCount": { 17674 "type": "integer" 17675 }, 17676 "createdAt": { 17677 "format": "date-time", 17678 "type": "string" 17679 }, 17680 "exclusionPatterns": { 17681 "items": { 17682 "type": "string" 17683 }, 17684 "type": "array" 17685 }, 17686 "id": { 17687 "type": "string" 17688 }, 17689 "importPaths": { 17690 "items": { 17691 "type": "string" 17692 }, 17693 "type": "array" 17694 }, 17695 "name": { 17696 "type": "string" 17697 }, 17698 "ownerId": { 17699 "type": "string" 17700 }, 17701 "refreshedAt": { 17702 "format": "date-time", 17703 "nullable": true, 17704 "type": "string" 17705 }, 17706 "updatedAt": { 17707 "format": "date-time", 17708 "type": "string" 17709 } 17710 }, 17711 "required": [ 17712 "assetCount", 17713 "createdAt", 17714 "exclusionPatterns", 17715 "id", 17716 "importPaths", 17717 "name", 17718 "ownerId", 17719 "refreshedAt", 17720 "updatedAt" 17721 ], 17722 "type": "object" 17723 }, 17724 "LibraryStatsResponseDto": { 17725 "properties": { 17726 "photos": { 17727 "default": 0, 17728 "type": "integer" 17729 }, 17730 "total": { 17731 "default": 0, 17732 "type": "integer" 17733 }, 17734 "usage": { 17735 "default": 0, 17736 "format": "int64", 17737 "type": "integer" 17738 }, 17739 "videos": { 17740 "default": 0, 17741 "type": "integer" 17742 } 17743 }, 17744 "required": [ 17745 "photos", 17746 "total", 17747 "usage", 17748 "videos" 17749 ], 17750 "type": "object" 17751 }, 17752 "LicenseKeyDto": { 17753 "properties": { 17754 "activationKey": { 17755 "type": "string" 17756 }, 17757 "licenseKey": { 17758 "pattern": "/IM(SV|CL)(-[\\dA-Za-z]{4}){8}/", 17759 "type": "string" 17760 } 17761 }, 17762 "required": [ 17763 "activationKey", 17764 "licenseKey" 17765 ], 17766 "type": "object" 17767 }, 17768 "LicenseResponseDto": { 17769 "properties": { 17770 "activatedAt": { 17771 "format": "date-time", 17772 "type": "string" 17773 }, 17774 "activationKey": { 17775 "type": "string" 17776 }, 17777 "licenseKey": { 17778 "pattern": "/IM(SV|CL)(-[\\dA-Za-z]{4}){8}/", 17779 "type": "string" 17780 } 17781 }, 17782 "required": [ 17783 "activatedAt", 17784 "activationKey", 17785 "licenseKey" 17786 ], 17787 "type": "object" 17788 }, 17789 "LogLevel": { 17790 "enum": [ 17791 "verbose", 17792 "debug", 17793 "log", 17794 "warn", 17795 "error", 17796 "fatal" 17797 ], 17798 "type": "string" 17799 }, 17800 "LoginCredentialDto": { 17801 "properties": { 17802 "email": { 17803 "example": "testuser@email.com", 17804 "format": "email", 17805 "type": "string" 17806 }, 17807 "password": { 17808 "example": "password", 17809 "type": "string" 17810 } 17811 }, 17812 "required": [ 17813 "email", 17814 "password" 17815 ], 17816 "type": "object" 17817 }, 17818 "LoginResponseDto": { 17819 "properties": { 17820 "accessToken": { 17821 "type": "string" 17822 }, 17823 "isAdmin": { 17824 "type": "boolean" 17825 }, 17826 "isOnboarded": { 17827 "type": "boolean" 17828 }, 17829 "name": { 17830 "type": "string" 17831 }, 17832 "profileImagePath": { 17833 "type": "string" 17834 }, 17835 "shouldChangePassword": { 17836 "type": "boolean" 17837 }, 17838 "userEmail": { 17839 "type": "string" 17840 }, 17841 "userId": { 17842 "type": "string" 17843 } 17844 }, 17845 "required": [ 17846 "accessToken", 17847 "isAdmin", 17848 "isOnboarded", 17849 "name", 17850 "profileImagePath", 17851 "shouldChangePassword", 17852 "userEmail", 17853 "userId" 17854 ], 17855 "type": "object" 17856 }, 17857 "LogoutResponseDto": { 17858 "properties": { 17859 "redirectUri": { 17860 "type": "string" 17861 }, 17862 "successful": { 17863 "type": "boolean" 17864 } 17865 }, 17866 "required": [ 17867 "redirectUri", 17868 "successful" 17869 ], 17870 "type": "object" 17871 }, 17872 "MachineLearningAvailabilityChecksDto": { 17873 "properties": { 17874 "enabled": { 17875 "type": "boolean" 17876 }, 17877 "interval": { 17878 "type": "number" 17879 }, 17880 "timeout": { 17881 "type": "number" 17882 } 17883 }, 17884 "required": [ 17885 "enabled", 17886 "interval", 17887 "timeout" 17888 ], 17889 "type": "object" 17890 }, 17891 "MaintenanceAction": { 17892 "enum": [ 17893 "start", 17894 "end", 17895 "select_database_restore", 17896 "restore_database" 17897 ], 17898 "type": "string" 17899 }, 17900 "MaintenanceAuthDto": { 17901 "properties": { 17902 "username": { 17903 "type": "string" 17904 } 17905 }, 17906 "required": [ 17907 "username" 17908 ], 17909 "type": "object" 17910 }, 17911 "MaintenanceDetectInstallResponseDto": { 17912 "properties": { 17913 "storage": { 17914 "items": { 17915 "$ref": "#/components/schemas/MaintenanceDetectInstallStorageFolderDto" 17916 }, 17917 "type": "array" 17918 } 17919 }, 17920 "required": [ 17921 "storage" 17922 ], 17923 "type": "object" 17924 }, 17925 "MaintenanceDetectInstallStorageFolderDto": { 17926 "properties": { 17927 "files": { 17928 "type": "number" 17929 }, 17930 "folder": { 17931 "allOf": [ 17932 { 17933 "$ref": "#/components/schemas/StorageFolder" 17934 } 17935 ] 17936 }, 17937 "readable": { 17938 "type": "boolean" 17939 }, 17940 "writable": { 17941 "type": "boolean" 17942 } 17943 }, 17944 "required": [ 17945 "files", 17946 "folder", 17947 "readable", 17948 "writable" 17949 ], 17950 "type": "object" 17951 }, 17952 "MaintenanceLoginDto": { 17953 "properties": { 17954 "token": { 17955 "type": "string" 17956 } 17957 }, 17958 "type": "object" 17959 }, 17960 "MaintenanceStatusResponseDto": { 17961 "properties": { 17962 "action": { 17963 "allOf": [ 17964 { 17965 "$ref": "#/components/schemas/MaintenanceAction" 17966 } 17967 ] 17968 }, 17969 "active": { 17970 "type": "boolean" 17971 }, 17972 "error": { 17973 "type": "string" 17974 }, 17975 "progress": { 17976 "type": "number" 17977 }, 17978 "task": { 17979 "type": "string" 17980 } 17981 }, 17982 "required": [ 17983 "action", 17984 "active" 17985 ], 17986 "type": "object" 17987 }, 17988 "ManualJobName": { 17989 "enum": [ 17990 "person-cleanup", 17991 "tag-cleanup", 17992 "user-cleanup", 17993 "memory-cleanup", 17994 "memory-create", 17995 "backup-database" 17996 ], 17997 "type": "string" 17998 }, 17999 "MapMarkerResponseDto": { 18000 "properties": { 18001 "city": { 18002 "nullable": true, 18003 "type": "string" 18004 }, 18005 "country": { 18006 "nullable": true, 18007 "type": "string" 18008 }, 18009 "id": { 18010 "type": "string" 18011 }, 18012 "lat": { 18013 "format": "double", 18014 "type": "number" 18015 }, 18016 "lon": { 18017 "format": "double", 18018 "type": "number" 18019 }, 18020 "state": { 18021 "nullable": true, 18022 "type": "string" 18023 } 18024 }, 18025 "required": [ 18026 "city", 18027 "country", 18028 "id", 18029 "lat", 18030 "lon", 18031 "state" 18032 ], 18033 "type": "object" 18034 }, 18035 "MapReverseGeocodeResponseDto": { 18036 "properties": { 18037 "city": { 18038 "nullable": true, 18039 "type": "string" 18040 }, 18041 "country": { 18042 "nullable": true, 18043 "type": "string" 18044 }, 18045 "state": { 18046 "nullable": true, 18047 "type": "string" 18048 } 18049 }, 18050 "required": [ 18051 "city", 18052 "country", 18053 "state" 18054 ], 18055 "type": "object" 18056 }, 18057 "MemoriesResponse": { 18058 "properties": { 18059 "duration": { 18060 "default": 5, 18061 "type": "integer" 18062 }, 18063 "enabled": { 18064 "default": true, 18065 "type": "boolean" 18066 } 18067 }, 18068 "required": [ 18069 "duration", 18070 "enabled" 18071 ], 18072 "type": "object" 18073 }, 18074 "MemoriesUpdate": { 18075 "properties": { 18076 "duration": { 18077 "minimum": 1, 18078 "type": "integer" 18079 }, 18080 "enabled": { 18081 "type": "boolean" 18082 } 18083 }, 18084 "type": "object" 18085 }, 18086 "MemoryCreateDto": { 18087 "properties": { 18088 "assetIds": { 18089 "items": { 18090 "format": "uuid", 18091 "type": "string" 18092 }, 18093 "type": "array" 18094 }, 18095 "data": { 18096 "$ref": "#/components/schemas/OnThisDayDto" 18097 }, 18098 "isSaved": { 18099 "type": "boolean" 18100 }, 18101 "memoryAt": { 18102 "format": "date-time", 18103 "type": "string" 18104 }, 18105 "seenAt": { 18106 "format": "date-time", 18107 "type": "string" 18108 }, 18109 "type": { 18110 "allOf": [ 18111 { 18112 "$ref": "#/components/schemas/MemoryType" 18113 } 18114 ] 18115 } 18116 }, 18117 "required": [ 18118 "data", 18119 "memoryAt", 18120 "type" 18121 ], 18122 "type": "object" 18123 }, 18124 "MemoryResponseDto": { 18125 "properties": { 18126 "assets": { 18127 "items": { 18128 "$ref": "#/components/schemas/AssetResponseDto" 18129 }, 18130 "type": "array" 18131 }, 18132 "createdAt": { 18133 "format": "date-time", 18134 "type": "string" 18135 }, 18136 "data": { 18137 "$ref": "#/components/schemas/OnThisDayDto" 18138 }, 18139 "deletedAt": { 18140 "format": "date-time", 18141 "type": "string" 18142 }, 18143 "hideAt": { 18144 "format": "date-time", 18145 "type": "string" 18146 }, 18147 "id": { 18148 "type": "string" 18149 }, 18150 "isSaved": { 18151 "type": "boolean" 18152 }, 18153 "memoryAt": { 18154 "format": "date-time", 18155 "type": "string" 18156 }, 18157 "ownerId": { 18158 "type": "string" 18159 }, 18160 "seenAt": { 18161 "format": "date-time", 18162 "type": "string" 18163 }, 18164 "showAt": { 18165 "format": "date-time", 18166 "type": "string" 18167 }, 18168 "type": { 18169 "allOf": [ 18170 { 18171 "$ref": "#/components/schemas/MemoryType" 18172 } 18173 ] 18174 }, 18175 "updatedAt": { 18176 "format": "date-time", 18177 "type": "string" 18178 } 18179 }, 18180 "required": [ 18181 "assets", 18182 "createdAt", 18183 "data", 18184 "id", 18185 "isSaved", 18186 "memoryAt", 18187 "ownerId", 18188 "type", 18189 "updatedAt" 18190 ], 18191 "type": "object" 18192 }, 18193 "MemorySearchOrder": { 18194 "enum": [ 18195 "asc", 18196 "desc", 18197 "random" 18198 ], 18199 "type": "string" 18200 }, 18201 "MemoryStatisticsResponseDto": { 18202 "properties": { 18203 "total": { 18204 "type": "integer" 18205 } 18206 }, 18207 "required": [ 18208 "total" 18209 ], 18210 "type": "object" 18211 }, 18212 "MemoryType": { 18213 "enum": [ 18214 "on_this_day" 18215 ], 18216 "type": "string" 18217 }, 18218 "MemoryUpdateDto": { 18219 "properties": { 18220 "isSaved": { 18221 "type": "boolean" 18222 }, 18223 "memoryAt": { 18224 "format": "date-time", 18225 "type": "string" 18226 }, 18227 "seenAt": { 18228 "format": "date-time", 18229 "type": "string" 18230 } 18231 }, 18232 "type": "object" 18233 }, 18234 "MergePersonDto": { 18235 "properties": { 18236 "ids": { 18237 "items": { 18238 "format": "uuid", 18239 "type": "string" 18240 }, 18241 "type": "array" 18242 } 18243 }, 18244 "required": [ 18245 "ids" 18246 ], 18247 "type": "object" 18248 }, 18249 "MetadataSearchDto": { 18250 "properties": { 18251 "albumIds": { 18252 "items": { 18253 "format": "uuid", 18254 "type": "string" 18255 }, 18256 "type": "array" 18257 }, 18258 "checksum": { 18259 "type": "string" 18260 }, 18261 "city": { 18262 "nullable": true, 18263 "type": "string" 18264 }, 18265 "country": { 18266 "nullable": true, 18267 "type": "string" 18268 }, 18269 "createdAfter": { 18270 "format": "date-time", 18271 "type": "string" 18272 }, 18273 "createdBefore": { 18274 "format": "date-time", 18275 "type": "string" 18276 }, 18277 "description": { 18278 "type": "string" 18279 }, 18280 "deviceAssetId": { 18281 "type": "string" 18282 }, 18283 "deviceId": { 18284 "type": "string" 18285 }, 18286 "encodedVideoPath": { 18287 "type": "string" 18288 }, 18289 "id": { 18290 "format": "uuid", 18291 "type": "string" 18292 }, 18293 "isEncoded": { 18294 "type": "boolean" 18295 }, 18296 "isFavorite": { 18297 "type": "boolean" 18298 }, 18299 "isMotion": { 18300 "type": "boolean" 18301 }, 18302 "isNotInAlbum": { 18303 "type": "boolean" 18304 }, 18305 "isOffline": { 18306 "type": "boolean" 18307 }, 18308 "lensModel": { 18309 "nullable": true, 18310 "type": "string" 18311 }, 18312 "libraryId": { 18313 "format": "uuid", 18314 "nullable": true, 18315 "type": "string" 18316 }, 18317 "make": { 18318 "type": "string" 18319 }, 18320 "model": { 18321 "nullable": true, 18322 "type": "string" 18323 }, 18324 "ocr": { 18325 "type": "string" 18326 }, 18327 "order": { 18328 "allOf": [ 18329 { 18330 "$ref": "#/components/schemas/AssetOrder" 18331 } 18332 ], 18333 "default": "desc" 18334 }, 18335 "originalFileName": { 18336 "type": "string" 18337 }, 18338 "originalPath": { 18339 "type": "string" 18340 }, 18341 "page": { 18342 "minimum": 1, 18343 "type": "number" 18344 }, 18345 "personIds": { 18346 "items": { 18347 "format": "uuid", 18348 "type": "string" 18349 }, 18350 "type": "array" 18351 }, 18352 "previewPath": { 18353 "type": "string" 18354 }, 18355 "rating": { 18356 "maximum": 5, 18357 "minimum": -1, 18358 "type": "number" 18359 }, 18360 "size": { 18361 "maximum": 1000, 18362 "minimum": 1, 18363 "type": "number" 18364 }, 18365 "state": { 18366 "nullable": true, 18367 "type": "string" 18368 }, 18369 "tagIds": { 18370 "items": { 18371 "format": "uuid", 18372 "type": "string" 18373 }, 18374 "nullable": true, 18375 "type": "array" 18376 }, 18377 "takenAfter": { 18378 "format": "date-time", 18379 "type": "string" 18380 }, 18381 "takenBefore": { 18382 "format": "date-time", 18383 "type": "string" 18384 }, 18385 "thumbnailPath": { 18386 "type": "string" 18387 }, 18388 "trashedAfter": { 18389 "format": "date-time", 18390 "type": "string" 18391 }, 18392 "trashedBefore": { 18393 "format": "date-time", 18394 "type": "string" 18395 }, 18396 "type": { 18397 "allOf": [ 18398 { 18399 "$ref": "#/components/schemas/AssetTypeEnum" 18400 } 18401 ] 18402 }, 18403 "updatedAfter": { 18404 "format": "date-time", 18405 "type": "string" 18406 }, 18407 "updatedBefore": { 18408 "format": "date-time", 18409 "type": "string" 18410 }, 18411 "visibility": { 18412 "allOf": [ 18413 { 18414 "$ref": "#/components/schemas/AssetVisibility" 18415 } 18416 ] 18417 }, 18418 "withDeleted": { 18419 "type": "boolean" 18420 }, 18421 "withExif": { 18422 "type": "boolean" 18423 }, 18424 "withPeople": { 18425 "type": "boolean" 18426 }, 18427 "withStacked": { 18428 "type": "boolean" 18429 } 18430 }, 18431 "type": "object" 18432 }, 18433 "MirrorAxis": { 18434 "description": "Axis to mirror along", 18435 "enum": [ 18436 "horizontal", 18437 "vertical" 18438 ], 18439 "type": "string" 18440 }, 18441 "MirrorParameters": { 18442 "properties": { 18443 "axis": { 18444 "allOf": [ 18445 { 18446 "$ref": "#/components/schemas/MirrorAxis" 18447 } 18448 ], 18449 "description": "Axis to mirror along" 18450 } 18451 }, 18452 "required": [ 18453 "axis" 18454 ], 18455 "type": "object" 18456 }, 18457 "NotificationCreateDto": { 18458 "properties": { 18459 "data": { 18460 "type": "object" 18461 }, 18462 "description": { 18463 "nullable": true, 18464 "type": "string" 18465 }, 18466 "level": { 18467 "allOf": [ 18468 { 18469 "$ref": "#/components/schemas/NotificationLevel" 18470 } 18471 ] 18472 }, 18473 "readAt": { 18474 "format": "date-time", 18475 "nullable": true, 18476 "type": "string" 18477 }, 18478 "title": { 18479 "type": "string" 18480 }, 18481 "type": { 18482 "allOf": [ 18483 { 18484 "$ref": "#/components/schemas/NotificationType" 18485 } 18486 ] 18487 }, 18488 "userId": { 18489 "format": "uuid", 18490 "type": "string" 18491 } 18492 }, 18493 "required": [ 18494 "title", 18495 "userId" 18496 ], 18497 "type": "object" 18498 }, 18499 "NotificationDeleteAllDto": { 18500 "properties": { 18501 "ids": { 18502 "items": { 18503 "format": "uuid", 18504 "type": "string" 18505 }, 18506 "type": "array" 18507 } 18508 }, 18509 "required": [ 18510 "ids" 18511 ], 18512 "type": "object" 18513 }, 18514 "NotificationDto": { 18515 "properties": { 18516 "createdAt": { 18517 "format": "date-time", 18518 "type": "string" 18519 }, 18520 "data": { 18521 "type": "object" 18522 }, 18523 "description": { 18524 "type": "string" 18525 }, 18526 "id": { 18527 "type": "string" 18528 }, 18529 "level": { 18530 "allOf": [ 18531 { 18532 "$ref": "#/components/schemas/NotificationLevel" 18533 } 18534 ] 18535 }, 18536 "readAt": { 18537 "format": "date-time", 18538 "type": "string" 18539 }, 18540 "title": { 18541 "type": "string" 18542 }, 18543 "type": { 18544 "allOf": [ 18545 { 18546 "$ref": "#/components/schemas/NotificationType" 18547 } 18548 ] 18549 } 18550 }, 18551 "required": [ 18552 "createdAt", 18553 "id", 18554 "level", 18555 "title", 18556 "type" 18557 ], 18558 "type": "object" 18559 }, 18560 "NotificationLevel": { 18561 "enum": [ 18562 "success", 18563 "error", 18564 "warning", 18565 "info" 18566 ], 18567 "type": "string" 18568 }, 18569 "NotificationType": { 18570 "enum": [ 18571 "JobFailed", 18572 "BackupFailed", 18573 "SystemMessage", 18574 "AlbumInvite", 18575 "AlbumUpdate", 18576 "Custom" 18577 ], 18578 "type": "string" 18579 }, 18580 "NotificationUpdateAllDto": { 18581 "properties": { 18582 "ids": { 18583 "items": { 18584 "format": "uuid", 18585 "type": "string" 18586 }, 18587 "type": "array" 18588 }, 18589 "readAt": { 18590 "format": "date-time", 18591 "nullable": true, 18592 "type": "string" 18593 } 18594 }, 18595 "required": [ 18596 "ids" 18597 ], 18598 "type": "object" 18599 }, 18600 "NotificationUpdateDto": { 18601 "properties": { 18602 "readAt": { 18603 "format": "date-time", 18604 "nullable": true, 18605 "type": "string" 18606 } 18607 }, 18608 "type": "object" 18609 }, 18610 "OAuthAuthorizeResponseDto": { 18611 "properties": { 18612 "url": { 18613 "type": "string" 18614 } 18615 }, 18616 "required": [ 18617 "url" 18618 ], 18619 "type": "object" 18620 }, 18621 "OAuthCallbackDto": { 18622 "properties": { 18623 "codeVerifier": { 18624 "type": "string" 18625 }, 18626 "state": { 18627 "type": "string" 18628 }, 18629 "url": { 18630 "type": "string" 18631 } 18632 }, 18633 "required": [ 18634 "url" 18635 ], 18636 "type": "object" 18637 }, 18638 "OAuthConfigDto": { 18639 "properties": { 18640 "codeChallenge": { 18641 "type": "string" 18642 }, 18643 "redirectUri": { 18644 "type": "string" 18645 }, 18646 "state": { 18647 "type": "string" 18648 } 18649 }, 18650 "required": [ 18651 "redirectUri" 18652 ], 18653 "type": "object" 18654 }, 18655 "OAuthTokenEndpointAuthMethod": { 18656 "enum": [ 18657 "client_secret_post", 18658 "client_secret_basic" 18659 ], 18660 "type": "string" 18661 }, 18662 "OcrConfig": { 18663 "properties": { 18664 "enabled": { 18665 "type": "boolean" 18666 }, 18667 "maxResolution": { 18668 "minimum": 1, 18669 "type": "integer" 18670 }, 18671 "minDetectionScore": { 18672 "format": "double", 18673 "maximum": 1, 18674 "minimum": 0.1, 18675 "type": "number" 18676 }, 18677 "minRecognitionScore": { 18678 "format": "double", 18679 "maximum": 1, 18680 "minimum": 0.1, 18681 "type": "number" 18682 }, 18683 "modelName": { 18684 "type": "string" 18685 } 18686 }, 18687 "required": [ 18688 "enabled", 18689 "maxResolution", 18690 "minDetectionScore", 18691 "minRecognitionScore", 18692 "modelName" 18693 ], 18694 "type": "object" 18695 }, 18696 "OnThisDayDto": { 18697 "properties": { 18698 "year": { 18699 "minimum": 1, 18700 "type": "number" 18701 } 18702 }, 18703 "required": [ 18704 "year" 18705 ], 18706 "type": "object" 18707 }, 18708 "OnboardingDto": { 18709 "properties": { 18710 "isOnboarded": { 18711 "type": "boolean" 18712 } 18713 }, 18714 "required": [ 18715 "isOnboarded" 18716 ], 18717 "type": "object" 18718 }, 18719 "OnboardingResponseDto": { 18720 "properties": { 18721 "isOnboarded": { 18722 "type": "boolean" 18723 } 18724 }, 18725 "required": [ 18726 "isOnboarded" 18727 ], 18728 "type": "object" 18729 }, 18730 "PartnerCreateDto": { 18731 "properties": { 18732 "sharedWithId": { 18733 "format": "uuid", 18734 "type": "string" 18735 } 18736 }, 18737 "required": [ 18738 "sharedWithId" 18739 ], 18740 "type": "object" 18741 }, 18742 "PartnerDirection": { 18743 "enum": [ 18744 "shared-by", 18745 "shared-with" 18746 ], 18747 "type": "string" 18748 }, 18749 "PartnerResponseDto": { 18750 "properties": { 18751 "avatarColor": { 18752 "allOf": [ 18753 { 18754 "$ref": "#/components/schemas/UserAvatarColor" 18755 } 18756 ] 18757 }, 18758 "email": { 18759 "type": "string" 18760 }, 18761 "id": { 18762 "type": "string" 18763 }, 18764 "inTimeline": { 18765 "type": "boolean" 18766 }, 18767 "name": { 18768 "type": "string" 18769 }, 18770 "profileChangedAt": { 18771 "format": "date-time", 18772 "type": "string" 18773 }, 18774 "profileImagePath": { 18775 "type": "string" 18776 } 18777 }, 18778 "required": [ 18779 "avatarColor", 18780 "email", 18781 "id", 18782 "name", 18783 "profileChangedAt", 18784 "profileImagePath" 18785 ], 18786 "type": "object" 18787 }, 18788 "PartnerUpdateDto": { 18789 "properties": { 18790 "inTimeline": { 18791 "type": "boolean" 18792 } 18793 }, 18794 "required": [ 18795 "inTimeline" 18796 ], 18797 "type": "object" 18798 }, 18799 "PeopleResponse": { 18800 "properties": { 18801 "enabled": { 18802 "default": true, 18803 "type": "boolean" 18804 }, 18805 "sidebarWeb": { 18806 "default": false, 18807 "type": "boolean" 18808 } 18809 }, 18810 "required": [ 18811 "enabled", 18812 "sidebarWeb" 18813 ], 18814 "type": "object" 18815 }, 18816 "PeopleResponseDto": { 18817 "properties": { 18818 "hasNextPage": { 18819 "type": "boolean", 18820 "x-immich-history": [ 18821 { 18822 "version": "v1.110.0", 18823 "state": "Added" 18824 }, 18825 { 18826 "version": "v2", 18827 "state": "Stable" 18828 } 18829 ], 18830 "x-immich-state": "Stable" 18831 }, 18832 "hidden": { 18833 "type": "integer" 18834 }, 18835 "people": { 18836 "items": { 18837 "$ref": "#/components/schemas/PersonResponseDto" 18838 }, 18839 "type": "array" 18840 }, 18841 "total": { 18842 "type": "integer" 18843 } 18844 }, 18845 "required": [ 18846 "hidden", 18847 "people", 18848 "total" 18849 ], 18850 "type": "object" 18851 }, 18852 "PeopleUpdate": { 18853 "properties": { 18854 "enabled": { 18855 "type": "boolean" 18856 }, 18857 "sidebarWeb": { 18858 "type": "boolean" 18859 } 18860 }, 18861 "type": "object" 18862 }, 18863 "PeopleUpdateDto": { 18864 "properties": { 18865 "people": { 18866 "items": { 18867 "$ref": "#/components/schemas/PeopleUpdateItem" 18868 }, 18869 "type": "array" 18870 } 18871 }, 18872 "required": [ 18873 "people" 18874 ], 18875 "type": "object" 18876 }, 18877 "PeopleUpdateItem": { 18878 "properties": { 18879 "birthDate": { 18880 "description": "Person date of birth.\nNote: the mobile app cannot currently set the birth date to null.", 18881 "format": "date", 18882 "nullable": true, 18883 "type": "string" 18884 }, 18885 "color": { 18886 "nullable": true, 18887 "type": "string" 18888 }, 18889 "featureFaceAssetId": { 18890 "description": "Asset is used to get the feature face thumbnail.", 18891 "format": "uuid", 18892 "type": "string" 18893 }, 18894 "id": { 18895 "description": "Person id.", 18896 "type": "string" 18897 }, 18898 "isFavorite": { 18899 "type": "boolean" 18900 }, 18901 "isHidden": { 18902 "description": "Person visibility", 18903 "type": "boolean" 18904 }, 18905 "name": { 18906 "description": "Person name.", 18907 "type": "string" 18908 } 18909 }, 18910 "required": [ 18911 "id" 18912 ], 18913 "type": "object" 18914 }, 18915 "Permission": { 18916 "enum": [ 18917 "all", 18918 "activity.create", 18919 "activity.read", 18920 "activity.update", 18921 "activity.delete", 18922 "activity.statistics", 18923 "apiKey.create", 18924 "apiKey.read", 18925 "apiKey.update", 18926 "apiKey.delete", 18927 "asset.read", 18928 "asset.update", 18929 "asset.delete", 18930 "asset.statistics", 18931 "asset.share", 18932 "asset.view", 18933 "asset.download", 18934 "asset.upload", 18935 "asset.replace", 18936 "asset.copy", 18937 "asset.derive", 18938 "asset.edit.get", 18939 "asset.edit.create", 18940 "asset.edit.delete", 18941 "album.create", 18942 "album.read", 18943 "album.update", 18944 "album.delete", 18945 "album.statistics", 18946 "album.share", 18947 "album.download", 18948 "albumAsset.create", 18949 "albumAsset.delete", 18950 "albumUser.create", 18951 "albumUser.update", 18952 "albumUser.delete", 18953 "auth.changePassword", 18954 "authDevice.delete", 18955 "archive.read", 18956 "backup.list", 18957 "backup.download", 18958 "backup.upload", 18959 "backup.delete", 18960 "duplicate.read", 18961 "duplicate.delete", 18962 "face.create", 18963 "face.read", 18964 "face.update", 18965 "face.delete", 18966 "folder.read", 18967 "job.create", 18968 "job.read", 18969 "library.create", 18970 "library.read", 18971 "library.update", 18972 "library.delete", 18973 "library.statistics", 18974 "timeline.read", 18975 "timeline.download", 18976 "maintenance", 18977 "map.read", 18978 "map.search", 18979 "memory.create", 18980 "memory.read", 18981 "memory.update", 18982 "memory.delete", 18983 "memory.statistics", 18984 "memoryAsset.create", 18985 "memoryAsset.delete", 18986 "notification.create", 18987 "notification.read", 18988 "notification.update", 18989 "notification.delete", 18990 "partner.create", 18991 "partner.read", 18992 "partner.update", 18993 "partner.delete", 18994 "person.create", 18995 "person.read", 18996 "person.update", 18997 "person.delete", 18998 "person.statistics", 18999 "person.merge", 19000 "person.reassign", 19001 "pinCode.create", 19002 "pinCode.update", 19003 "pinCode.delete", 19004 "plugin.create", 19005 "plugin.read", 19006 "plugin.update", 19007 "plugin.delete", 19008 "server.about", 19009 "server.apkLinks", 19010 "server.storage", 19011 "server.statistics", 19012 "server.versionCheck", 19013 "serverLicense.read", 19014 "serverLicense.update", 19015 "serverLicense.delete", 19016 "session.create", 19017 "session.read", 19018 "session.update", 19019 "session.delete", 19020 "session.lock", 19021 "sharedLink.create", 19022 "sharedLink.read", 19023 "sharedLink.update", 19024 "sharedLink.delete", 19025 "stack.create", 19026 "stack.read", 19027 "stack.update", 19028 "stack.delete", 19029 "sync.stream", 19030 "syncCheckpoint.read", 19031 "syncCheckpoint.update", 19032 "syncCheckpoint.delete", 19033 "systemConfig.read", 19034 "systemConfig.update", 19035 "systemMetadata.read", 19036 "systemMetadata.update", 19037 "tag.create", 19038 "tag.read", 19039 "tag.update", 19040 "tag.delete", 19041 "tag.asset", 19042 "user.read", 19043 "user.update", 19044 "userLicense.create", 19045 "userLicense.read", 19046 "userLicense.update", 19047 "userLicense.delete", 19048 "userOnboarding.read", 19049 "userOnboarding.update", 19050 "userOnboarding.delete", 19051 "userPreference.read", 19052 "userPreference.update", 19053 "userProfileImage.create", 19054 "userProfileImage.read", 19055 "userProfileImage.update", 19056 "userProfileImage.delete", 19057 "queue.read", 19058 "queue.update", 19059 "queueJob.create", 19060 "queueJob.read", 19061 "queueJob.update", 19062 "queueJob.delete", 19063 "workflow.create", 19064 "workflow.read", 19065 "workflow.update", 19066 "workflow.delete", 19067 "adminUser.create", 19068 "adminUser.read", 19069 "adminUser.update", 19070 "adminUser.delete", 19071 "adminSession.read", 19072 "adminAuth.unlinkAll" 19073 ], 19074 "type": "string" 19075 }, 19076 "PersonCreateDto": { 19077 "properties": { 19078 "birthDate": { 19079 "description": "Person date of birth.\nNote: the mobile app cannot currently set the birth date to null.", 19080 "format": "date", 19081 "nullable": true, 19082 "type": "string" 19083 }, 19084 "color": { 19085 "nullable": true, 19086 "type": "string" 19087 }, 19088 "isFavorite": { 19089 "type": "boolean" 19090 }, 19091 "isHidden": { 19092 "description": "Person visibility", 19093 "type": "boolean" 19094 }, 19095 "name": { 19096 "description": "Person name.", 19097 "type": "string" 19098 } 19099 }, 19100 "type": "object" 19101 }, 19102 "PersonResponseDto": { 19103 "properties": { 19104 "birthDate": { 19105 "format": "date", 19106 "nullable": true, 19107 "type": "string" 19108 }, 19109 "color": { 19110 "type": "string", 19111 "x-immich-history": [ 19112 { 19113 "version": "v1.126.0", 19114 "state": "Added" 19115 }, 19116 { 19117 "version": "v2", 19118 "state": "Stable" 19119 } 19120 ], 19121 "x-immich-state": "Stable" 19122 }, 19123 "id": { 19124 "type": "string" 19125 }, 19126 "isFavorite": { 19127 "type": "boolean", 19128 "x-immich-history": [ 19129 { 19130 "version": "v1.126.0", 19131 "state": "Added" 19132 }, 19133 { 19134 "version": "v2", 19135 "state": "Stable" 19136 } 19137 ], 19138 "x-immich-state": "Stable" 19139 }, 19140 "isHidden": { 19141 "type": "boolean" 19142 }, 19143 "name": { 19144 "type": "string" 19145 }, 19146 "thumbnailPath": { 19147 "type": "string" 19148 }, 19149 "updatedAt": { 19150 "format": "date-time", 19151 "type": "string", 19152 "x-immich-history": [ 19153 { 19154 "version": "v1.107.0", 19155 "state": "Added" 19156 }, 19157 { 19158 "version": "v2", 19159 "state": "Stable" 19160 } 19161 ], 19162 "x-immich-state": "Stable" 19163 } 19164 }, 19165 "required": [ 19166 "birthDate", 19167 "id", 19168 "isHidden", 19169 "name", 19170 "thumbnailPath" 19171 ], 19172 "type": "object" 19173 }, 19174 "PersonStatisticsResponseDto": { 19175 "properties": { 19176 "assets": { 19177 "type": "integer" 19178 } 19179 }, 19180 "required": [ 19181 "assets" 19182 ], 19183 "type": "object" 19184 }, 19185 "PersonUpdateDto": { 19186 "properties": { 19187 "birthDate": { 19188 "description": "Person date of birth.\nNote: the mobile app cannot currently set the birth date to null.", 19189 "format": "date", 19190 "nullable": true, 19191 "type": "string" 19192 }, 19193 "color": { 19194 "nullable": true, 19195 "type": "string" 19196 }, 19197 "featureFaceAssetId": { 19198 "description": "Asset is used to get the feature face thumbnail.", 19199 "format": "uuid", 19200 "type": "string" 19201 }, 19202 "isFavorite": { 19203 "type": "boolean" 19204 }, 19205 "isHidden": { 19206 "description": "Person visibility", 19207 "type": "boolean" 19208 }, 19209 "name": { 19210 "description": "Person name.", 19211 "type": "string" 19212 } 19213 }, 19214 "type": "object" 19215 }, 19216 "PersonWithFacesResponseDto": { 19217 "properties": { 19218 "birthDate": { 19219 "format": "date", 19220 "nullable": true, 19221 "type": "string" 19222 }, 19223 "color": { 19224 "type": "string", 19225 "x-immich-history": [ 19226 { 19227 "version": "v1.126.0", 19228 "state": "Added" 19229 }, 19230 { 19231 "version": "v2", 19232 "state": "Stable" 19233 } 19234 ], 19235 "x-immich-state": "Stable" 19236 }, 19237 "faces": { 19238 "items": { 19239 "$ref": "#/components/schemas/AssetFaceWithoutPersonResponseDto" 19240 }, 19241 "type": "array" 19242 }, 19243 "id": { 19244 "type": "string" 19245 }, 19246 "isFavorite": { 19247 "type": "boolean", 19248 "x-immich-history": [ 19249 { 19250 "version": "v1.126.0", 19251 "state": "Added" 19252 }, 19253 { 19254 "version": "v2", 19255 "state": "Stable" 19256 } 19257 ], 19258 "x-immich-state": "Stable" 19259 }, 19260 "isHidden": { 19261 "type": "boolean" 19262 }, 19263 "name": { 19264 "type": "string" 19265 }, 19266 "thumbnailPath": { 19267 "type": "string" 19268 }, 19269 "updatedAt": { 19270 "format": "date-time", 19271 "type": "string", 19272 "x-immich-history": [ 19273 { 19274 "version": "v1.107.0", 19275 "state": "Added" 19276 }, 19277 { 19278 "version": "v2", 19279 "state": "Stable" 19280 } 19281 ], 19282 "x-immich-state": "Stable" 19283 } 19284 }, 19285 "required": [ 19286 "birthDate", 19287 "faces", 19288 "id", 19289 "isHidden", 19290 "name", 19291 "thumbnailPath" 19292 ], 19293 "type": "object" 19294 }, 19295 "PinCodeChangeDto": { 19296 "properties": { 19297 "newPinCode": { 19298 "example": "123456", 19299 "type": "string" 19300 }, 19301 "password": { 19302 "type": "string" 19303 }, 19304 "pinCode": { 19305 "example": "123456", 19306 "type": "string" 19307 } 19308 }, 19309 "required": [ 19310 "newPinCode" 19311 ], 19312 "type": "object" 19313 }, 19314 "PinCodeResetDto": { 19315 "properties": { 19316 "password": { 19317 "type": "string" 19318 }, 19319 "pinCode": { 19320 "example": "123456", 19321 "type": "string" 19322 } 19323 }, 19324 "type": "object" 19325 }, 19326 "PinCodeSetupDto": { 19327 "properties": { 19328 "pinCode": { 19329 "example": "123456", 19330 "type": "string" 19331 } 19332 }, 19333 "required": [ 19334 "pinCode" 19335 ], 19336 "type": "object" 19337 }, 19338 "PlacesResponseDto": { 19339 "properties": { 19340 "admin1name": { 19341 "type": "string" 19342 }, 19343 "admin2name": { 19344 "type": "string" 19345 }, 19346 "latitude": { 19347 "type": "number" 19348 }, 19349 "longitude": { 19350 "type": "number" 19351 }, 19352 "name": { 19353 "type": "string" 19354 } 19355 }, 19356 "required": [ 19357 "latitude", 19358 "longitude", 19359 "name" 19360 ], 19361 "type": "object" 19362 }, 19363 "PluginActionResponseDto": { 19364 "properties": { 19365 "description": { 19366 "type": "string" 19367 }, 19368 "id": { 19369 "type": "string" 19370 }, 19371 "methodName": { 19372 "type": "string" 19373 }, 19374 "pluginId": { 19375 "type": "string" 19376 }, 19377 "schema": { 19378 "nullable": true, 19379 "type": "object" 19380 }, 19381 "supportedContexts": { 19382 "items": { 19383 "$ref": "#/components/schemas/PluginContextType" 19384 }, 19385 "type": "array" 19386 }, 19387 "title": { 19388 "type": "string" 19389 } 19390 }, 19391 "required": [ 19392 "description", 19393 "id", 19394 "methodName", 19395 "pluginId", 19396 "schema", 19397 "supportedContexts", 19398 "title" 19399 ], 19400 "type": "object" 19401 }, 19402 "PluginContextType": { 19403 "enum": [ 19404 "asset", 19405 "album", 19406 "person" 19407 ], 19408 "type": "string" 19409 }, 19410 "PluginFilterResponseDto": { 19411 "properties": { 19412 "description": { 19413 "type": "string" 19414 }, 19415 "id": { 19416 "type": "string" 19417 }, 19418 "methodName": { 19419 "type": "string" 19420 }, 19421 "pluginId": { 19422 "type": "string" 19423 }, 19424 "schema": { 19425 "nullable": true, 19426 "type": "object" 19427 }, 19428 "supportedContexts": { 19429 "items": { 19430 "$ref": "#/components/schemas/PluginContextType" 19431 }, 19432 "type": "array" 19433 }, 19434 "title": { 19435 "type": "string" 19436 } 19437 }, 19438 "required": [ 19439 "description", 19440 "id", 19441 "methodName", 19442 "pluginId", 19443 "schema", 19444 "supportedContexts", 19445 "title" 19446 ], 19447 "type": "object" 19448 }, 19449 "PluginResponseDto": { 19450 "properties": { 19451 "actions": { 19452 "items": { 19453 "$ref": "#/components/schemas/PluginActionResponseDto" 19454 }, 19455 "type": "array" 19456 }, 19457 "author": { 19458 "type": "string" 19459 }, 19460 "createdAt": { 19461 "type": "string" 19462 }, 19463 "description": { 19464 "type": "string" 19465 }, 19466 "filters": { 19467 "items": { 19468 "$ref": "#/components/schemas/PluginFilterResponseDto" 19469 }, 19470 "type": "array" 19471 }, 19472 "id": { 19473 "type": "string" 19474 }, 19475 "name": { 19476 "type": "string" 19477 }, 19478 "title": { 19479 "type": "string" 19480 }, 19481 "updatedAt": { 19482 "type": "string" 19483 }, 19484 "version": { 19485 "type": "string" 19486 } 19487 }, 19488 "required": [ 19489 "actions", 19490 "author", 19491 "createdAt", 19492 "description", 19493 "filters", 19494 "id", 19495 "name", 19496 "title", 19497 "updatedAt", 19498 "version" 19499 ], 19500 "type": "object" 19501 }, 19502 "PluginTriggerResponseDto": { 19503 "properties": { 19504 "contextType": { 19505 "allOf": [ 19506 { 19507 "$ref": "#/components/schemas/PluginContextType" 19508 } 19509 ] 19510 }, 19511 "type": { 19512 "allOf": [ 19513 { 19514 "$ref": "#/components/schemas/PluginTriggerType" 19515 } 19516 ] 19517 } 19518 }, 19519 "required": [ 19520 "contextType", 19521 "type" 19522 ], 19523 "type": "object" 19524 }, 19525 "PluginTriggerType": { 19526 "enum": [ 19527 "AssetCreate", 19528 "PersonRecognized" 19529 ], 19530 "type": "string" 19531 }, 19532 "PurchaseResponse": { 19533 "properties": { 19534 "hideBuyButtonUntil": { 19535 "type": "string" 19536 }, 19537 "showSupportBadge": { 19538 "type": "boolean" 19539 } 19540 }, 19541 "required": [ 19542 "hideBuyButtonUntil", 19543 "showSupportBadge" 19544 ], 19545 "type": "object" 19546 }, 19547 "PurchaseUpdate": { 19548 "properties": { 19549 "hideBuyButtonUntil": { 19550 "type": "string" 19551 }, 19552 "showSupportBadge": { 19553 "type": "boolean" 19554 } 19555 }, 19556 "type": "object" 19557 }, 19558 "QueueCommand": { 19559 "enum": [ 19560 "start", 19561 "pause", 19562 "resume", 19563 "empty", 19564 "clear-failed" 19565 ], 19566 "type": "string" 19567 }, 19568 "QueueCommandDto": { 19569 "properties": { 19570 "command": { 19571 "allOf": [ 19572 { 19573 "$ref": "#/components/schemas/QueueCommand" 19574 } 19575 ] 19576 }, 19577 "force": { 19578 "type": "boolean" 19579 } 19580 }, 19581 "required": [ 19582 "command" 19583 ], 19584 "type": "object" 19585 }, 19586 "QueueDeleteDto": { 19587 "properties": { 19588 "failed": { 19589 "description": "If true, will also remove failed jobs from the queue.", 19590 "type": "boolean", 19591 "x-immich-history": [ 19592 { 19593 "version": "v2.4.0", 19594 "state": "Added" 19595 }, 19596 { 19597 "version": "v2.4.0", 19598 "state": "Alpha" 19599 } 19600 ], 19601 "x-immich-state": "Alpha" 19602 } 19603 }, 19604 "type": "object" 19605 }, 19606 "QueueJobResponseDto": { 19607 "properties": { 19608 "data": { 19609 "type": "object" 19610 }, 19611 "id": { 19612 "type": "string" 19613 }, 19614 "name": { 19615 "allOf": [ 19616 { 19617 "$ref": "#/components/schemas/JobName" 19618 } 19619 ] 19620 }, 19621 "timestamp": { 19622 "type": "integer" 19623 } 19624 }, 19625 "required": [ 19626 "data", 19627 "name", 19628 "timestamp" 19629 ], 19630 "type": "object" 19631 }, 19632 "QueueJobStatus": { 19633 "enum": [ 19634 "active", 19635 "failed", 19636 "completed", 19637 "delayed", 19638 "waiting", 19639 "paused" 19640 ], 19641 "type": "string" 19642 }, 19643 "QueueName": { 19644 "enum": [ 19645 "thumbnailGeneration", 19646 "metadataExtraction", 19647 "videoConversion", 19648 "faceDetection", 19649 "facialRecognition", 19650 "smartSearch", 19651 "duplicateDetection", 19652 "backgroundTask", 19653 "storageTemplateMigration", 19654 "migration", 19655 "search", 19656 "sidecar", 19657 "library", 19658 "notifications", 19659 "backupDatabase", 19660 "ocr", 19661 "workflow", 19662 "editor" 19663 ], 19664 "type": "string" 19665 }, 19666 "QueueResponseDto": { 19667 "properties": { 19668 "isPaused": { 19669 "type": "boolean" 19670 }, 19671 "name": { 19672 "allOf": [ 19673 { 19674 "$ref": "#/components/schemas/QueueName" 19675 } 19676 ] 19677 }, 19678 "statistics": { 19679 "$ref": "#/components/schemas/QueueStatisticsDto" 19680 } 19681 }, 19682 "required": [ 19683 "isPaused", 19684 "name", 19685 "statistics" 19686 ], 19687 "type": "object" 19688 }, 19689 "QueueResponseLegacyDto": { 19690 "properties": { 19691 "jobCounts": { 19692 "$ref": "#/components/schemas/QueueStatisticsDto" 19693 }, 19694 "queueStatus": { 19695 "$ref": "#/components/schemas/QueueStatusLegacyDto" 19696 } 19697 }, 19698 "required": [ 19699 "jobCounts", 19700 "queueStatus" 19701 ], 19702 "type": "object" 19703 }, 19704 "QueueStatisticsDto": { 19705 "properties": { 19706 "active": { 19707 "type": "integer" 19708 }, 19709 "completed": { 19710 "type": "integer" 19711 }, 19712 "delayed": { 19713 "type": "integer" 19714 }, 19715 "failed": { 19716 "type": "integer" 19717 }, 19718 "paused": { 19719 "type": "integer" 19720 }, 19721 "waiting": { 19722 "type": "integer" 19723 } 19724 }, 19725 "required": [ 19726 "active", 19727 "completed", 19728 "delayed", 19729 "failed", 19730 "paused", 19731 "waiting" 19732 ], 19733 "type": "object" 19734 }, 19735 "QueueStatusLegacyDto": { 19736 "properties": { 19737 "isActive": { 19738 "type": "boolean" 19739 }, 19740 "isPaused": { 19741 "type": "boolean" 19742 } 19743 }, 19744 "required": [ 19745 "isActive", 19746 "isPaused" 19747 ], 19748 "type": "object" 19749 }, 19750 "QueueUpdateDto": { 19751 "properties": { 19752 "isPaused": { 19753 "type": "boolean" 19754 } 19755 }, 19756 "type": "object" 19757 }, 19758 "QueuesResponseLegacyDto": { 19759 "properties": { 19760 "backgroundTask": { 19761 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19762 }, 19763 "backupDatabase": { 19764 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19765 }, 19766 "duplicateDetection": { 19767 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19768 }, 19769 "editor": { 19770 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19771 }, 19772 "faceDetection": { 19773 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19774 }, 19775 "facialRecognition": { 19776 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19777 }, 19778 "library": { 19779 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19780 }, 19781 "metadataExtraction": { 19782 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19783 }, 19784 "migration": { 19785 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19786 }, 19787 "notifications": { 19788 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19789 }, 19790 "ocr": { 19791 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19792 }, 19793 "search": { 19794 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19795 }, 19796 "sidecar": { 19797 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19798 }, 19799 "smartSearch": { 19800 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19801 }, 19802 "storageTemplateMigration": { 19803 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19804 }, 19805 "thumbnailGeneration": { 19806 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19807 }, 19808 "videoConversion": { 19809 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19810 }, 19811 "workflow": { 19812 "$ref": "#/components/schemas/QueueResponseLegacyDto" 19813 } 19814 }, 19815 "required": [ 19816 "backgroundTask", 19817 "backupDatabase", 19818 "duplicateDetection", 19819 "editor", 19820 "faceDetection", 19821 "facialRecognition", 19822 "library", 19823 "metadataExtraction", 19824 "migration", 19825 "notifications", 19826 "ocr", 19827 "search", 19828 "sidecar", 19829 "smartSearch", 19830 "storageTemplateMigration", 19831 "thumbnailGeneration", 19832 "videoConversion", 19833 "workflow" 19834 ], 19835 "type": "object" 19836 }, 19837 "RandomSearchDto": { 19838 "properties": { 19839 "albumIds": { 19840 "items": { 19841 "format": "uuid", 19842 "type": "string" 19843 }, 19844 "type": "array" 19845 }, 19846 "city": { 19847 "nullable": true, 19848 "type": "string" 19849 }, 19850 "country": { 19851 "nullable": true, 19852 "type": "string" 19853 }, 19854 "createdAfter": { 19855 "format": "date-time", 19856 "type": "string" 19857 }, 19858 "createdBefore": { 19859 "format": "date-time", 19860 "type": "string" 19861 }, 19862 "deviceId": { 19863 "type": "string" 19864 }, 19865 "isEncoded": { 19866 "type": "boolean" 19867 }, 19868 "isFavorite": { 19869 "type": "boolean" 19870 }, 19871 "isMotion": { 19872 "type": "boolean" 19873 }, 19874 "isNotInAlbum": { 19875 "type": "boolean" 19876 }, 19877 "isOffline": { 19878 "type": "boolean" 19879 }, 19880 "lensModel": { 19881 "nullable": true, 19882 "type": "string" 19883 }, 19884 "libraryId": { 19885 "format": "uuid", 19886 "nullable": true, 19887 "type": "string" 19888 }, 19889 "make": { 19890 "type": "string" 19891 }, 19892 "model": { 19893 "nullable": true, 19894 "type": "string" 19895 }, 19896 "ocr": { 19897 "type": "string" 19898 }, 19899 "personIds": { 19900 "items": { 19901 "format": "uuid", 19902 "type": "string" 19903 }, 19904 "type": "array" 19905 }, 19906 "rating": { 19907 "maximum": 5, 19908 "minimum": -1, 19909 "type": "number" 19910 }, 19911 "size": { 19912 "maximum": 1000, 19913 "minimum": 1, 19914 "type": "number" 19915 }, 19916 "state": { 19917 "nullable": true, 19918 "type": "string" 19919 }, 19920 "tagIds": { 19921 "items": { 19922 "format": "uuid", 19923 "type": "string" 19924 }, 19925 "nullable": true, 19926 "type": "array" 19927 }, 19928 "takenAfter": { 19929 "format": "date-time", 19930 "type": "string" 19931 }, 19932 "takenBefore": { 19933 "format": "date-time", 19934 "type": "string" 19935 }, 19936 "trashedAfter": { 19937 "format": "date-time", 19938 "type": "string" 19939 }, 19940 "trashedBefore": { 19941 "format": "date-time", 19942 "type": "string" 19943 }, 19944 "type": { 19945 "allOf": [ 19946 { 19947 "$ref": "#/components/schemas/AssetTypeEnum" 19948 } 19949 ] 19950 }, 19951 "updatedAfter": { 19952 "format": "date-time", 19953 "type": "string" 19954 }, 19955 "updatedBefore": { 19956 "format": "date-time", 19957 "type": "string" 19958 }, 19959 "visibility": { 19960 "allOf": [ 19961 { 19962 "$ref": "#/components/schemas/AssetVisibility" 19963 } 19964 ] 19965 }, 19966 "withDeleted": { 19967 "type": "boolean" 19968 }, 19969 "withExif": { 19970 "type": "boolean" 19971 }, 19972 "withPeople": { 19973 "type": "boolean" 19974 }, 19975 "withStacked": { 19976 "type": "boolean" 19977 } 19978 }, 19979 "type": "object" 19980 }, 19981 "RatingsResponse": { 19982 "properties": { 19983 "enabled": { 19984 "default": false, 19985 "type": "boolean" 19986 } 19987 }, 19988 "required": [ 19989 "enabled" 19990 ], 19991 "type": "object" 19992 }, 19993 "RatingsUpdate": { 19994 "properties": { 19995 "enabled": { 19996 "type": "boolean" 19997 } 19998 }, 19999 "type": "object" 20000 }, 20001 "ReactionLevel": { 20002 "enum": [ 20003 "album", 20004 "asset" 20005 ], 20006 "type": "string" 20007 }, 20008 "ReactionType": { 20009 "enum": [ 20010 "comment", 20011 "like" 20012 ], 20013 "type": "string" 20014 }, 20015 "ReverseGeocodingStateResponseDto": { 20016 "properties": { 20017 "lastImportFileName": { 20018 "nullable": true, 20019 "type": "string" 20020 }, 20021 "lastUpdate": { 20022 "nullable": true, 20023 "type": "string" 20024 } 20025 }, 20026 "required": [ 20027 "lastImportFileName", 20028 "lastUpdate" 20029 ], 20030 "type": "object" 20031 }, 20032 "RotateParameters": { 20033 "properties": { 20034 "angle": { 20035 "description": "Rotation angle in degrees", 20036 "type": "number" 20037 } 20038 }, 20039 "required": [ 20040 "angle" 20041 ], 20042 "type": "object" 20043 }, 20044 "SearchAlbumResponseDto": { 20045 "properties": { 20046 "count": { 20047 "type": "integer" 20048 }, 20049 "facets": { 20050 "items": { 20051 "$ref": "#/components/schemas/SearchFacetResponseDto" 20052 }, 20053 "type": "array" 20054 }, 20055 "items": { 20056 "items": { 20057 "$ref": "#/components/schemas/AlbumResponseDto" 20058 }, 20059 "type": "array" 20060 }, 20061 "total": { 20062 "type": "integer" 20063 } 20064 }, 20065 "required": [ 20066 "count", 20067 "facets", 20068 "items", 20069 "total" 20070 ], 20071 "type": "object" 20072 }, 20073 "SearchAssetResponseDto": { 20074 "properties": { 20075 "count": { 20076 "type": "integer" 20077 }, 20078 "facets": { 20079 "items": { 20080 "$ref": "#/components/schemas/SearchFacetResponseDto" 20081 }, 20082 "type": "array" 20083 }, 20084 "items": { 20085 "items": { 20086 "$ref": "#/components/schemas/AssetResponseDto" 20087 }, 20088 "type": "array" 20089 }, 20090 "nextPage": { 20091 "nullable": true, 20092 "type": "string" 20093 }, 20094 "total": { 20095 "type": "integer" 20096 } 20097 }, 20098 "required": [ 20099 "count", 20100 "facets", 20101 "items", 20102 "nextPage", 20103 "total" 20104 ], 20105 "type": "object" 20106 }, 20107 "SearchExploreItem": { 20108 "properties": { 20109 "data": { 20110 "$ref": "#/components/schemas/AssetResponseDto" 20111 }, 20112 "value": { 20113 "type": "string" 20114 } 20115 }, 20116 "required": [ 20117 "data", 20118 "value" 20119 ], 20120 "type": "object" 20121 }, 20122 "SearchExploreResponseDto": { 20123 "properties": { 20124 "fieldName": { 20125 "type": "string" 20126 }, 20127 "items": { 20128 "items": { 20129 "$ref": "#/components/schemas/SearchExploreItem" 20130 }, 20131 "type": "array" 20132 } 20133 }, 20134 "required": [ 20135 "fieldName", 20136 "items" 20137 ], 20138 "type": "object" 20139 }, 20140 "SearchFacetCountResponseDto": { 20141 "properties": { 20142 "count": { 20143 "type": "integer" 20144 }, 20145 "value": { 20146 "type": "string" 20147 } 20148 }, 20149 "required": [ 20150 "count", 20151 "value" 20152 ], 20153 "type": "object" 20154 }, 20155 "SearchFacetResponseDto": { 20156 "properties": { 20157 "counts": { 20158 "items": { 20159 "$ref": "#/components/schemas/SearchFacetCountResponseDto" 20160 }, 20161 "type": "array" 20162 }, 20163 "fieldName": { 20164 "type": "string" 20165 } 20166 }, 20167 "required": [ 20168 "counts", 20169 "fieldName" 20170 ], 20171 "type": "object" 20172 }, 20173 "SearchResponseDto": { 20174 "properties": { 20175 "albums": { 20176 "$ref": "#/components/schemas/SearchAlbumResponseDto" 20177 }, 20178 "assets": { 20179 "$ref": "#/components/schemas/SearchAssetResponseDto" 20180 } 20181 }, 20182 "required": [ 20183 "albums", 20184 "assets" 20185 ], 20186 "type": "object" 20187 }, 20188 "SearchStatisticsResponseDto": { 20189 "properties": { 20190 "total": { 20191 "type": "integer" 20192 } 20193 }, 20194 "required": [ 20195 "total" 20196 ], 20197 "type": "object" 20198 }, 20199 "SearchSuggestionType": { 20200 "enum": [ 20201 "country", 20202 "state", 20203 "city", 20204 "camera-make", 20205 "camera-model", 20206 "camera-lens-model" 20207 ], 20208 "type": "string" 20209 }, 20210 "ServerAboutResponseDto": { 20211 "properties": { 20212 "build": { 20213 "type": "string" 20214 }, 20215 "buildImage": { 20216 "type": "string" 20217 }, 20218 "buildImageUrl": { 20219 "type": "string" 20220 }, 20221 "buildUrl": { 20222 "type": "string" 20223 }, 20224 "exiftool": { 20225 "type": "string" 20226 }, 20227 "ffmpeg": { 20228 "type": "string" 20229 }, 20230 "imagemagick": { 20231 "type": "string" 20232 }, 20233 "libvips": { 20234 "type": "string" 20235 }, 20236 "licensed": { 20237 "type": "boolean" 20238 }, 20239 "nodejs": { 20240 "type": "string" 20241 }, 20242 "repository": { 20243 "type": "string" 20244 }, 20245 "repositoryUrl": { 20246 "type": "string" 20247 }, 20248 "sourceCommit": { 20249 "type": "string" 20250 }, 20251 "sourceRef": { 20252 "type": "string" 20253 }, 20254 "sourceUrl": { 20255 "type": "string" 20256 }, 20257 "thirdPartyBugFeatureUrl": { 20258 "type": "string" 20259 }, 20260 "thirdPartyDocumentationUrl": { 20261 "type": "string" 20262 }, 20263 "thirdPartySourceUrl": { 20264 "type": "string" 20265 }, 20266 "thirdPartySupportUrl": { 20267 "type": "string" 20268 }, 20269 "version": { 20270 "type": "string" 20271 }, 20272 "versionUrl": { 20273 "type": "string" 20274 } 20275 }, 20276 "required": [ 20277 "licensed", 20278 "version", 20279 "versionUrl" 20280 ], 20281 "type": "object" 20282 }, 20283 "ServerApkLinksDto": { 20284 "properties": { 20285 "arm64v8a": { 20286 "type": "string" 20287 }, 20288 "armeabiv7a": { 20289 "type": "string" 20290 }, 20291 "universal": { 20292 "type": "string" 20293 }, 20294 "x86_64": { 20295 "type": "string" 20296 } 20297 }, 20298 "required": [ 20299 "arm64v8a", 20300 "armeabiv7a", 20301 "universal", 20302 "x86_64" 20303 ], 20304 "type": "object" 20305 }, 20306 "ServerConfigDto": { 20307 "properties": { 20308 "externalDomain": { 20309 "type": "string" 20310 }, 20311 "isInitialized": { 20312 "type": "boolean" 20313 }, 20314 "isOnboarded": { 20315 "type": "boolean" 20316 }, 20317 "loginPageMessage": { 20318 "type": "string" 20319 }, 20320 "maintenanceMode": { 20321 "type": "boolean" 20322 }, 20323 "mapDarkStyleUrl": { 20324 "type": "string" 20325 }, 20326 "mapLightStyleUrl": { 20327 "type": "string" 20328 }, 20329 "oauthButtonText": { 20330 "type": "string" 20331 }, 20332 "publicUsers": { 20333 "type": "boolean" 20334 }, 20335 "trashDays": { 20336 "type": "integer" 20337 }, 20338 "userDeleteDelay": { 20339 "type": "integer" 20340 } 20341 }, 20342 "required": [ 20343 "externalDomain", 20344 "isInitialized", 20345 "isOnboarded", 20346 "loginPageMessage", 20347 "maintenanceMode", 20348 "mapDarkStyleUrl", 20349 "mapLightStyleUrl", 20350 "oauthButtonText", 20351 "publicUsers", 20352 "trashDays", 20353 "userDeleteDelay" 20354 ], 20355 "type": "object" 20356 }, 20357 "ServerFeaturesDto": { 20358 "properties": { 20359 "configFile": { 20360 "type": "boolean" 20361 }, 20362 "duplicateDetection": { 20363 "type": "boolean" 20364 }, 20365 "email": { 20366 "type": "boolean" 20367 }, 20368 "facialRecognition": { 20369 "type": "boolean" 20370 }, 20371 "importFaces": { 20372 "type": "boolean" 20373 }, 20374 "map": { 20375 "type": "boolean" 20376 }, 20377 "oauth": { 20378 "type": "boolean" 20379 }, 20380 "oauthAutoLaunch": { 20381 "type": "boolean" 20382 }, 20383 "ocr": { 20384 "type": "boolean" 20385 }, 20386 "passwordLogin": { 20387 "type": "boolean" 20388 }, 20389 "reverseGeocoding": { 20390 "type": "boolean" 20391 }, 20392 "search": { 20393 "type": "boolean" 20394 }, 20395 "sidecar": { 20396 "type": "boolean" 20397 }, 20398 "smartSearch": { 20399 "type": "boolean" 20400 }, 20401 "trash": { 20402 "type": "boolean" 20403 } 20404 }, 20405 "required": [ 20406 "configFile", 20407 "duplicateDetection", 20408 "email", 20409 "facialRecognition", 20410 "importFaces", 20411 "map", 20412 "oauth", 20413 "oauthAutoLaunch", 20414 "ocr", 20415 "passwordLogin", 20416 "reverseGeocoding", 20417 "search", 20418 "sidecar", 20419 "smartSearch", 20420 "trash" 20421 ], 20422 "type": "object" 20423 }, 20424 "ServerMediaTypesResponseDto": { 20425 "properties": { 20426 "image": { 20427 "items": { 20428 "type": "string" 20429 }, 20430 "type": "array" 20431 }, 20432 "sidecar": { 20433 "items": { 20434 "type": "string" 20435 }, 20436 "type": "array" 20437 }, 20438 "video": { 20439 "items": { 20440 "type": "string" 20441 }, 20442 "type": "array" 20443 } 20444 }, 20445 "required": [ 20446 "image", 20447 "sidecar", 20448 "video" 20449 ], 20450 "type": "object" 20451 }, 20452 "ServerPingResponse": { 20453 "properties": { 20454 "res": { 20455 "example": "pong", 20456 "readOnly": true, 20457 "type": "string" 20458 } 20459 }, 20460 "required": [ 20461 "res" 20462 ], 20463 "type": "object" 20464 }, 20465 "ServerStatsResponseDto": { 20466 "properties": { 20467 "photos": { 20468 "default": 0, 20469 "type": "integer" 20470 }, 20471 "usage": { 20472 "default": 0, 20473 "format": "int64", 20474 "type": "integer" 20475 }, 20476 "usageByUser": { 20477 "default": [], 20478 "example": [ 20479 { 20480 "photos": 1, 20481 "videos": 1, 20482 "diskUsageRaw": 2, 20483 "usagePhotos": 1, 20484 "usageVideos": 1 20485 } 20486 ], 20487 "items": { 20488 "$ref": "#/components/schemas/UsageByUserDto" 20489 }, 20490 "title": "Array of usage for each user", 20491 "type": "array" 20492 }, 20493 "usagePhotos": { 20494 "default": 0, 20495 "format": "int64", 20496 "type": "integer" 20497 }, 20498 "usageVideos": { 20499 "default": 0, 20500 "format": "int64", 20501 "type": "integer" 20502 }, 20503 "videos": { 20504 "default": 0, 20505 "type": "integer" 20506 } 20507 }, 20508 "required": [ 20509 "photos", 20510 "usage", 20511 "usageByUser", 20512 "usagePhotos", 20513 "usageVideos", 20514 "videos" 20515 ], 20516 "type": "object" 20517 }, 20518 "ServerStorageResponseDto": { 20519 "properties": { 20520 "diskAvailable": { 20521 "type": "string" 20522 }, 20523 "diskAvailableRaw": { 20524 "format": "int64", 20525 "type": "integer" 20526 }, 20527 "diskSize": { 20528 "type": "string" 20529 }, 20530 "diskSizeRaw": { 20531 "format": "int64", 20532 "type": "integer" 20533 }, 20534 "diskUsagePercentage": { 20535 "format": "double", 20536 "type": "number" 20537 }, 20538 "diskUse": { 20539 "type": "string" 20540 }, 20541 "diskUseRaw": { 20542 "format": "int64", 20543 "type": "integer" 20544 } 20545 }, 20546 "required": [ 20547 "diskAvailable", 20548 "diskAvailableRaw", 20549 "diskSize", 20550 "diskSizeRaw", 20551 "diskUsagePercentage", 20552 "diskUse", 20553 "diskUseRaw" 20554 ], 20555 "type": "object" 20556 }, 20557 "ServerThemeDto": { 20558 "properties": { 20559 "customCss": { 20560 "type": "string" 20561 } 20562 }, 20563 "required": [ 20564 "customCss" 20565 ], 20566 "type": "object" 20567 }, 20568 "ServerVersionHistoryResponseDto": { 20569 "properties": { 20570 "createdAt": { 20571 "format": "date-time", 20572 "type": "string" 20573 }, 20574 "id": { 20575 "type": "string" 20576 }, 20577 "version": { 20578 "type": "string" 20579 } 20580 }, 20581 "required": [ 20582 "createdAt", 20583 "id", 20584 "version" 20585 ], 20586 "type": "object" 20587 }, 20588 "ServerVersionResponseDto": { 20589 "properties": { 20590 "major": { 20591 "type": "integer" 20592 }, 20593 "minor": { 20594 "type": "integer" 20595 }, 20596 "patch": { 20597 "type": "integer" 20598 } 20599 }, 20600 "required": [ 20601 "major", 20602 "minor", 20603 "patch" 20604 ], 20605 "type": "object" 20606 }, 20607 "SessionCreateDto": { 20608 "properties": { 20609 "deviceOS": { 20610 "type": "string" 20611 }, 20612 "deviceType": { 20613 "type": "string" 20614 }, 20615 "duration": { 20616 "description": "session duration, in seconds", 20617 "minimum": 1, 20618 "type": "number" 20619 } 20620 }, 20621 "type": "object" 20622 }, 20623 "SessionCreateResponseDto": { 20624 "properties": { 20625 "appVersion": { 20626 "nullable": true, 20627 "type": "string" 20628 }, 20629 "createdAt": { 20630 "type": "string" 20631 }, 20632 "current": { 20633 "type": "boolean" 20634 }, 20635 "deviceOS": { 20636 "type": "string" 20637 }, 20638 "deviceType": { 20639 "type": "string" 20640 }, 20641 "expiresAt": { 20642 "type": "string" 20643 }, 20644 "id": { 20645 "type": "string" 20646 }, 20647 "isPendingSyncReset": { 20648 "type": "boolean" 20649 }, 20650 "token": { 20651 "type": "string" 20652 }, 20653 "updatedAt": { 20654 "type": "string" 20655 } 20656 }, 20657 "required": [ 20658 "appVersion", 20659 "createdAt", 20660 "current", 20661 "deviceOS", 20662 "deviceType", 20663 "id", 20664 "isPendingSyncReset", 20665 "token", 20666 "updatedAt" 20667 ], 20668 "type": "object" 20669 }, 20670 "SessionResponseDto": { 20671 "properties": { 20672 "appVersion": { 20673 "nullable": true, 20674 "type": "string" 20675 }, 20676 "createdAt": { 20677 "type": "string" 20678 }, 20679 "current": { 20680 "type": "boolean" 20681 }, 20682 "deviceOS": { 20683 "type": "string" 20684 }, 20685 "deviceType": { 20686 "type": "string" 20687 }, 20688 "expiresAt": { 20689 "type": "string" 20690 }, 20691 "id": { 20692 "type": "string" 20693 }, 20694 "isPendingSyncReset": { 20695 "type": "boolean" 20696 }, 20697 "updatedAt": { 20698 "type": "string" 20699 } 20700 }, 20701 "required": [ 20702 "appVersion", 20703 "createdAt", 20704 "current", 20705 "deviceOS", 20706 "deviceType", 20707 "id", 20708 "isPendingSyncReset", 20709 "updatedAt" 20710 ], 20711 "type": "object" 20712 }, 20713 "SessionUnlockDto": { 20714 "properties": { 20715 "password": { 20716 "type": "string" 20717 }, 20718 "pinCode": { 20719 "example": "123456", 20720 "type": "string" 20721 } 20722 }, 20723 "type": "object" 20724 }, 20725 "SessionUpdateDto": { 20726 "properties": { 20727 "isPendingSyncReset": { 20728 "type": "boolean" 20729 } 20730 }, 20731 "type": "object" 20732 }, 20733 "SetMaintenanceModeDto": { 20734 "properties": { 20735 "action": { 20736 "allOf": [ 20737 { 20738 "$ref": "#/components/schemas/MaintenanceAction" 20739 } 20740 ] 20741 }, 20742 "restoreBackupFilename": { 20743 "type": "string" 20744 } 20745 }, 20746 "required": [ 20747 "action" 20748 ], 20749 "type": "object" 20750 }, 20751 "SharedLinkCreateDto": { 20752 "properties": { 20753 "albumId": { 20754 "format": "uuid", 20755 "type": "string" 20756 }, 20757 "allowDownload": { 20758 "default": true, 20759 "type": "boolean" 20760 }, 20761 "allowUpload": { 20762 "type": "boolean" 20763 }, 20764 "assetIds": { 20765 "items": { 20766 "format": "uuid", 20767 "type": "string" 20768 }, 20769 "type": "array" 20770 }, 20771 "description": { 20772 "nullable": true, 20773 "type": "string" 20774 }, 20775 "expiresAt": { 20776 "default": null, 20777 "format": "date-time", 20778 "nullable": true, 20779 "type": "string" 20780 }, 20781 "password": { 20782 "nullable": true, 20783 "type": "string" 20784 }, 20785 "showMetadata": { 20786 "default": true, 20787 "type": "boolean" 20788 }, 20789 "slug": { 20790 "nullable": true, 20791 "type": "string" 20792 }, 20793 "type": { 20794 "allOf": [ 20795 { 20796 "$ref": "#/components/schemas/SharedLinkType" 20797 } 20798 ] 20799 } 20800 }, 20801 "required": [ 20802 "type" 20803 ], 20804 "type": "object" 20805 }, 20806 "SharedLinkEditDto": { 20807 "properties": { 20808 "allowDownload": { 20809 "type": "boolean" 20810 }, 20811 "allowUpload": { 20812 "type": "boolean" 20813 }, 20814 "changeExpiryTime": { 20815 "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.", 20816 "type": "boolean" 20817 }, 20818 "description": { 20819 "nullable": true, 20820 "type": "string" 20821 }, 20822 "expiresAt": { 20823 "format": "date-time", 20824 "nullable": true, 20825 "type": "string" 20826 }, 20827 "password": { 20828 "nullable": true, 20829 "type": "string" 20830 }, 20831 "showMetadata": { 20832 "type": "boolean" 20833 }, 20834 "slug": { 20835 "nullable": true, 20836 "type": "string" 20837 } 20838 }, 20839 "type": "object" 20840 }, 20841 "SharedLinkResponseDto": { 20842 "properties": { 20843 "album": { 20844 "$ref": "#/components/schemas/AlbumResponseDto" 20845 }, 20846 "allowDownload": { 20847 "type": "boolean" 20848 }, 20849 "allowUpload": { 20850 "type": "boolean" 20851 }, 20852 "assets": { 20853 "items": { 20854 "$ref": "#/components/schemas/AssetResponseDto" 20855 }, 20856 "type": "array" 20857 }, 20858 "createdAt": { 20859 "format": "date-time", 20860 "type": "string" 20861 }, 20862 "description": { 20863 "nullable": true, 20864 "type": "string" 20865 }, 20866 "expiresAt": { 20867 "format": "date-time", 20868 "nullable": true, 20869 "type": "string" 20870 }, 20871 "id": { 20872 "type": "string" 20873 }, 20874 "key": { 20875 "type": "string" 20876 }, 20877 "password": { 20878 "nullable": true, 20879 "type": "string" 20880 }, 20881 "showMetadata": { 20882 "type": "boolean" 20883 }, 20884 "slug": { 20885 "nullable": true, 20886 "type": "string" 20887 }, 20888 "token": { 20889 "nullable": true, 20890 "type": "string" 20891 }, 20892 "type": { 20893 "allOf": [ 20894 { 20895 "$ref": "#/components/schemas/SharedLinkType" 20896 } 20897 ] 20898 }, 20899 "userId": { 20900 "type": "string" 20901 } 20902 }, 20903 "required": [ 20904 "allowDownload", 20905 "allowUpload", 20906 "assets", 20907 "createdAt", 20908 "description", 20909 "expiresAt", 20910 "id", 20911 "key", 20912 "password", 20913 "showMetadata", 20914 "slug", 20915 "type", 20916 "userId" 20917 ], 20918 "type": "object" 20919 }, 20920 "SharedLinkType": { 20921 "enum": [ 20922 "ALBUM", 20923 "INDIVIDUAL" 20924 ], 20925 "type": "string" 20926 }, 20927 "SharedLinksResponse": { 20928 "properties": { 20929 "enabled": { 20930 "default": true, 20931 "type": "boolean" 20932 }, 20933 "sidebarWeb": { 20934 "default": false, 20935 "type": "boolean" 20936 } 20937 }, 20938 "required": [ 20939 "enabled", 20940 "sidebarWeb" 20941 ], 20942 "type": "object" 20943 }, 20944 "SharedLinksUpdate": { 20945 "properties": { 20946 "enabled": { 20947 "type": "boolean" 20948 }, 20949 "sidebarWeb": { 20950 "type": "boolean" 20951 } 20952 }, 20953 "type": "object" 20954 }, 20955 "SignUpDto": { 20956 "properties": { 20957 "email": { 20958 "example": "testuser@email.com", 20959 "format": "email", 20960 "type": "string" 20961 }, 20962 "name": { 20963 "example": "Admin", 20964 "type": "string" 20965 }, 20966 "password": { 20967 "example": "password", 20968 "type": "string" 20969 } 20970 }, 20971 "required": [ 20972 "email", 20973 "name", 20974 "password" 20975 ], 20976 "type": "object" 20977 }, 20978 "SmartSearchDto": { 20979 "properties": { 20980 "albumIds": { 20981 "items": { 20982 "format": "uuid", 20983 "type": "string" 20984 }, 20985 "type": "array" 20986 }, 20987 "city": { 20988 "nullable": true, 20989 "type": "string" 20990 }, 20991 "country": { 20992 "nullable": true, 20993 "type": "string" 20994 }, 20995 "createdAfter": { 20996 "format": "date-time", 20997 "type": "string" 20998 }, 20999 "createdBefore": { 21000 "format": "date-time", 21001 "type": "string" 21002 }, 21003 "deviceId": { 21004 "type": "string" 21005 }, 21006 "isEncoded": { 21007 "type": "boolean" 21008 }, 21009 "isFavorite": { 21010 "type": "boolean" 21011 }, 21012 "isMotion": { 21013 "type": "boolean" 21014 }, 21015 "isNotInAlbum": { 21016 "type": "boolean" 21017 }, 21018 "isOffline": { 21019 "type": "boolean" 21020 }, 21021 "language": { 21022 "type": "string" 21023 }, 21024 "lensModel": { 21025 "nullable": true, 21026 "type": "string" 21027 }, 21028 "libraryId": { 21029 "format": "uuid", 21030 "nullable": true, 21031 "type": "string" 21032 }, 21033 "make": { 21034 "type": "string" 21035 }, 21036 "model": { 21037 "nullable": true, 21038 "type": "string" 21039 }, 21040 "ocr": { 21041 "type": "string" 21042 }, 21043 "page": { 21044 "minimum": 1, 21045 "type": "number" 21046 }, 21047 "personIds": { 21048 "items": { 21049 "format": "uuid", 21050 "type": "string" 21051 }, 21052 "type": "array" 21053 }, 21054 "query": { 21055 "type": "string" 21056 }, 21057 "queryAssetId": { 21058 "format": "uuid", 21059 "type": "string" 21060 }, 21061 "rating": { 21062 "maximum": 5, 21063 "minimum": -1, 21064 "type": "number" 21065 }, 21066 "size": { 21067 "maximum": 1000, 21068 "minimum": 1, 21069 "type": "number" 21070 }, 21071 "state": { 21072 "nullable": true, 21073 "type": "string" 21074 }, 21075 "tagIds": { 21076 "items": { 21077 "format": "uuid", 21078 "type": "string" 21079 }, 21080 "nullable": true, 21081 "type": "array" 21082 }, 21083 "takenAfter": { 21084 "format": "date-time", 21085 "type": "string" 21086 }, 21087 "takenBefore": { 21088 "format": "date-time", 21089 "type": "string" 21090 }, 21091 "trashedAfter": { 21092 "format": "date-time", 21093 "type": "string" 21094 }, 21095 "trashedBefore": { 21096 "format": "date-time", 21097 "type": "string" 21098 }, 21099 "type": { 21100 "allOf": [ 21101 { 21102 "$ref": "#/components/schemas/AssetTypeEnum" 21103 } 21104 ] 21105 }, 21106 "updatedAfter": { 21107 "format": "date-time", 21108 "type": "string" 21109 }, 21110 "updatedBefore": { 21111 "format": "date-time", 21112 "type": "string" 21113 }, 21114 "visibility": { 21115 "allOf": [ 21116 { 21117 "$ref": "#/components/schemas/AssetVisibility" 21118 } 21119 ] 21120 }, 21121 "withDeleted": { 21122 "type": "boolean" 21123 }, 21124 "withExif": { 21125 "type": "boolean" 21126 } 21127 }, 21128 "type": "object" 21129 }, 21130 "SourceType": { 21131 "enum": [ 21132 "machine-learning", 21133 "exif", 21134 "manual" 21135 ], 21136 "type": "string" 21137 }, 21138 "StackCreateDto": { 21139 "properties": { 21140 "assetIds": { 21141 "description": "first asset becomes the primary", 21142 "items": { 21143 "format": "uuid", 21144 "type": "string" 21145 }, 21146 "minItems": 2, 21147 "type": "array" 21148 } 21149 }, 21150 "required": [ 21151 "assetIds" 21152 ], 21153 "type": "object" 21154 }, 21155 "StackResponseDto": { 21156 "properties": { 21157 "assets": { 21158 "items": { 21159 "$ref": "#/components/schemas/AssetResponseDto" 21160 }, 21161 "type": "array" 21162 }, 21163 "id": { 21164 "type": "string" 21165 }, 21166 "primaryAssetId": { 21167 "type": "string" 21168 } 21169 }, 21170 "required": [ 21171 "assets", 21172 "id", 21173 "primaryAssetId" 21174 ], 21175 "type": "object" 21176 }, 21177 "StackUpdateDto": { 21178 "properties": { 21179 "primaryAssetId": { 21180 "format": "uuid", 21181 "type": "string" 21182 } 21183 }, 21184 "type": "object" 21185 }, 21186 "StatisticsSearchDto": { 21187 "properties": { 21188 "albumIds": { 21189 "items": { 21190 "format": "uuid", 21191 "type": "string" 21192 }, 21193 "type": "array" 21194 }, 21195 "city": { 21196 "nullable": true, 21197 "type": "string" 21198 }, 21199 "country": { 21200 "nullable": true, 21201 "type": "string" 21202 }, 21203 "createdAfter": { 21204 "format": "date-time", 21205 "type": "string" 21206 }, 21207 "createdBefore": { 21208 "format": "date-time", 21209 "type": "string" 21210 }, 21211 "description": { 21212 "type": "string" 21213 }, 21214 "deviceId": { 21215 "type": "string" 21216 }, 21217 "isEncoded": { 21218 "type": "boolean" 21219 }, 21220 "isFavorite": { 21221 "type": "boolean" 21222 }, 21223 "isMotion": { 21224 "type": "boolean" 21225 }, 21226 "isNotInAlbum": { 21227 "type": "boolean" 21228 }, 21229 "isOffline": { 21230 "type": "boolean" 21231 }, 21232 "lensModel": { 21233 "nullable": true, 21234 "type": "string" 21235 }, 21236 "libraryId": { 21237 "format": "uuid", 21238 "nullable": true, 21239 "type": "string" 21240 }, 21241 "make": { 21242 "type": "string" 21243 }, 21244 "model": { 21245 "nullable": true, 21246 "type": "string" 21247 }, 21248 "ocr": { 21249 "type": "string" 21250 }, 21251 "personIds": { 21252 "items": { 21253 "format": "uuid", 21254 "type": "string" 21255 }, 21256 "type": "array" 21257 }, 21258 "rating": { 21259 "maximum": 5, 21260 "minimum": -1, 21261 "type": "number" 21262 }, 21263 "state": { 21264 "nullable": true, 21265 "type": "string" 21266 }, 21267 "tagIds": { 21268 "items": { 21269 "format": "uuid", 21270 "type": "string" 21271 }, 21272 "nullable": true, 21273 "type": "array" 21274 }, 21275 "takenAfter": { 21276 "format": "date-time", 21277 "type": "string" 21278 }, 21279 "takenBefore": { 21280 "format": "date-time", 21281 "type": "string" 21282 }, 21283 "trashedAfter": { 21284 "format": "date-time", 21285 "type": "string" 21286 }, 21287 "trashedBefore": { 21288 "format": "date-time", 21289 "type": "string" 21290 }, 21291 "type": { 21292 "allOf": [ 21293 { 21294 "$ref": "#/components/schemas/AssetTypeEnum" 21295 } 21296 ] 21297 }, 21298 "updatedAfter": { 21299 "format": "date-time", 21300 "type": "string" 21301 }, 21302 "updatedBefore": { 21303 "format": "date-time", 21304 "type": "string" 21305 }, 21306 "visibility": { 21307 "allOf": [ 21308 { 21309 "$ref": "#/components/schemas/AssetVisibility" 21310 } 21311 ] 21312 } 21313 }, 21314 "type": "object" 21315 }, 21316 "StorageFolder": { 21317 "enum": [ 21318 "encoded-video", 21319 "library", 21320 "upload", 21321 "profile", 21322 "thumbs", 21323 "backups" 21324 ], 21325 "type": "string" 21326 }, 21327 "SyncAckDeleteDto": { 21328 "properties": { 21329 "types": { 21330 "items": { 21331 "$ref": "#/components/schemas/SyncEntityType" 21332 }, 21333 "type": "array" 21334 } 21335 }, 21336 "type": "object" 21337 }, 21338 "SyncAckDto": { 21339 "properties": { 21340 "ack": { 21341 "type": "string" 21342 }, 21343 "type": { 21344 "allOf": [ 21345 { 21346 "$ref": "#/components/schemas/SyncEntityType" 21347 } 21348 ] 21349 } 21350 }, 21351 "required": [ 21352 "ack", 21353 "type" 21354 ], 21355 "type": "object" 21356 }, 21357 "SyncAckSetDto": { 21358 "properties": { 21359 "acks": { 21360 "items": { 21361 "type": "string" 21362 }, 21363 "maxItems": 1000, 21364 "type": "array" 21365 } 21366 }, 21367 "required": [ 21368 "acks" 21369 ], 21370 "type": "object" 21371 }, 21372 "SyncAckV1": { 21373 "properties": {}, 21374 "type": "object" 21375 }, 21376 "SyncAlbumDeleteV1": { 21377 "properties": { 21378 "albumId": { 21379 "type": "string" 21380 } 21381 }, 21382 "required": [ 21383 "albumId" 21384 ], 21385 "type": "object" 21386 }, 21387 "SyncAlbumToAssetDeleteV1": { 21388 "properties": { 21389 "albumId": { 21390 "type": "string" 21391 }, 21392 "assetId": { 21393 "type": "string" 21394 } 21395 }, 21396 "required": [ 21397 "albumId", 21398 "assetId" 21399 ], 21400 "type": "object" 21401 }, 21402 "SyncAlbumToAssetV1": { 21403 "properties": { 21404 "albumId": { 21405 "type": "string" 21406 }, 21407 "assetId": { 21408 "type": "string" 21409 } 21410 }, 21411 "required": [ 21412 "albumId", 21413 "assetId" 21414 ], 21415 "type": "object" 21416 }, 21417 "SyncAlbumUserDeleteV1": { 21418 "properties": { 21419 "albumId": { 21420 "type": "string" 21421 }, 21422 "userId": { 21423 "type": "string" 21424 } 21425 }, 21426 "required": [ 21427 "albumId", 21428 "userId" 21429 ], 21430 "type": "object" 21431 }, 21432 "SyncAlbumUserV1": { 21433 "properties": { 21434 "albumId": { 21435 "type": "string" 21436 }, 21437 "role": { 21438 "allOf": [ 21439 { 21440 "$ref": "#/components/schemas/AlbumUserRole" 21441 } 21442 ] 21443 }, 21444 "userId": { 21445 "type": "string" 21446 } 21447 }, 21448 "required": [ 21449 "albumId", 21450 "role", 21451 "userId" 21452 ], 21453 "type": "object" 21454 }, 21455 "SyncAlbumV1": { 21456 "properties": { 21457 "createdAt": { 21458 "format": "date-time", 21459 "type": "string" 21460 }, 21461 "description": { 21462 "type": "string" 21463 }, 21464 "id": { 21465 "type": "string" 21466 }, 21467 "isActivityEnabled": { 21468 "type": "boolean" 21469 }, 21470 "name": { 21471 "type": "string" 21472 }, 21473 "order": { 21474 "allOf": [ 21475 { 21476 "$ref": "#/components/schemas/AssetOrder" 21477 } 21478 ] 21479 }, 21480 "ownerId": { 21481 "type": "string" 21482 }, 21483 "thumbnailAssetId": { 21484 "nullable": true, 21485 "type": "string" 21486 }, 21487 "updatedAt": { 21488 "format": "date-time", 21489 "type": "string" 21490 } 21491 }, 21492 "required": [ 21493 "createdAt", 21494 "description", 21495 "id", 21496 "isActivityEnabled", 21497 "name", 21498 "order", 21499 "ownerId", 21500 "thumbnailAssetId", 21501 "updatedAt" 21502 ], 21503 "type": "object" 21504 }, 21505 "SyncAssetDeleteV1": { 21506 "properties": { 21507 "assetId": { 21508 "type": "string" 21509 } 21510 }, 21511 "required": [ 21512 "assetId" 21513 ], 21514 "type": "object" 21515 }, 21516 "SyncAssetExifV1": { 21517 "properties": { 21518 "assetId": { 21519 "type": "string" 21520 }, 21521 "city": { 21522 "nullable": true, 21523 "type": "string" 21524 }, 21525 "country": { 21526 "nullable": true, 21527 "type": "string" 21528 }, 21529 "dateTimeOriginal": { 21530 "format": "date-time", 21531 "nullable": true, 21532 "type": "string" 21533 }, 21534 "description": { 21535 "nullable": true, 21536 "type": "string" 21537 }, 21538 "exifImageHeight": { 21539 "nullable": true, 21540 "type": "integer" 21541 }, 21542 "exifImageWidth": { 21543 "nullable": true, 21544 "type": "integer" 21545 }, 21546 "exposureTime": { 21547 "nullable": true, 21548 "type": "string" 21549 }, 21550 "fNumber": { 21551 "format": "double", 21552 "nullable": true, 21553 "type": "number" 21554 }, 21555 "fileSizeInByte": { 21556 "nullable": true, 21557 "type": "integer" 21558 }, 21559 "focalLength": { 21560 "format": "double", 21561 "nullable": true, 21562 "type": "number" 21563 }, 21564 "fps": { 21565 "format": "double", 21566 "nullable": true, 21567 "type": "number" 21568 }, 21569 "iso": { 21570 "nullable": true, 21571 "type": "integer" 21572 }, 21573 "latitude": { 21574 "format": "double", 21575 "nullable": true, 21576 "type": "number" 21577 }, 21578 "lensModel": { 21579 "nullable": true, 21580 "type": "string" 21581 }, 21582 "longitude": { 21583 "format": "double", 21584 "nullable": true, 21585 "type": "number" 21586 }, 21587 "make": { 21588 "nullable": true, 21589 "type": "string" 21590 }, 21591 "model": { 21592 "nullable": true, 21593 "type": "string" 21594 }, 21595 "modifyDate": { 21596 "format": "date-time", 21597 "nullable": true, 21598 "type": "string" 21599 }, 21600 "orientation": { 21601 "nullable": true, 21602 "type": "string" 21603 }, 21604 "profileDescription": { 21605 "nullable": true, 21606 "type": "string" 21607 }, 21608 "projectionType": { 21609 "nullable": true, 21610 "type": "string" 21611 }, 21612 "rating": { 21613 "nullable": true, 21614 "type": "integer" 21615 }, 21616 "state": { 21617 "nullable": true, 21618 "type": "string" 21619 }, 21620 "timeZone": { 21621 "nullable": true, 21622 "type": "string" 21623 } 21624 }, 21625 "required": [ 21626 "assetId", 21627 "city", 21628 "country", 21629 "dateTimeOriginal", 21630 "description", 21631 "exifImageHeight", 21632 "exifImageWidth", 21633 "exposureTime", 21634 "fNumber", 21635 "fileSizeInByte", 21636 "focalLength", 21637 "fps", 21638 "iso", 21639 "latitude", 21640 "lensModel", 21641 "longitude", 21642 "make", 21643 "model", 21644 "modifyDate", 21645 "orientation", 21646 "profileDescription", 21647 "projectionType", 21648 "rating", 21649 "state", 21650 "timeZone" 21651 ], 21652 "type": "object" 21653 }, 21654 "SyncAssetFaceDeleteV1": { 21655 "properties": { 21656 "assetFaceId": { 21657 "type": "string" 21658 } 21659 }, 21660 "required": [ 21661 "assetFaceId" 21662 ], 21663 "type": "object" 21664 }, 21665 "SyncAssetFaceV1": { 21666 "properties": { 21667 "assetId": { 21668 "type": "string" 21669 }, 21670 "boundingBoxX1": { 21671 "type": "integer" 21672 }, 21673 "boundingBoxX2": { 21674 "type": "integer" 21675 }, 21676 "boundingBoxY1": { 21677 "type": "integer" 21678 }, 21679 "boundingBoxY2": { 21680 "type": "integer" 21681 }, 21682 "id": { 21683 "type": "string" 21684 }, 21685 "imageHeight": { 21686 "type": "integer" 21687 }, 21688 "imageWidth": { 21689 "type": "integer" 21690 }, 21691 "personId": { 21692 "nullable": true, 21693 "type": "string" 21694 }, 21695 "sourceType": { 21696 "type": "string" 21697 } 21698 }, 21699 "required": [ 21700 "assetId", 21701 "boundingBoxX1", 21702 "boundingBoxX2", 21703 "boundingBoxY1", 21704 "boundingBoxY2", 21705 "id", 21706 "imageHeight", 21707 "imageWidth", 21708 "personId", 21709 "sourceType" 21710 ], 21711 "type": "object" 21712 }, 21713 "SyncAssetMetadataDeleteV1": { 21714 "properties": { 21715 "assetId": { 21716 "type": "string" 21717 }, 21718 "key": { 21719 "type": "string" 21720 } 21721 }, 21722 "required": [ 21723 "assetId", 21724 "key" 21725 ], 21726 "type": "object" 21727 }, 21728 "SyncAssetMetadataV1": { 21729 "properties": { 21730 "assetId": { 21731 "type": "string" 21732 }, 21733 "key": { 21734 "type": "string" 21735 }, 21736 "value": { 21737 "type": "object" 21738 } 21739 }, 21740 "required": [ 21741 "assetId", 21742 "key", 21743 "value" 21744 ], 21745 "type": "object" 21746 }, 21747 "SyncAssetV1": { 21748 "properties": { 21749 "checksum": { 21750 "type": "string" 21751 }, 21752 "deletedAt": { 21753 "format": "date-time", 21754 "nullable": true, 21755 "type": "string" 21756 }, 21757 "duration": { 21758 "nullable": true, 21759 "type": "string" 21760 }, 21761 "fileCreatedAt": { 21762 "format": "date-time", 21763 "nullable": true, 21764 "type": "string" 21765 }, 21766 "fileModifiedAt": { 21767 "format": "date-time", 21768 "nullable": true, 21769 "type": "string" 21770 }, 21771 "height": { 21772 "nullable": true, 21773 "type": "integer" 21774 }, 21775 "id": { 21776 "type": "string" 21777 }, 21778 "isEdited": { 21779 "type": "boolean" 21780 }, 21781 "isFavorite": { 21782 "type": "boolean" 21783 }, 21784 "libraryId": { 21785 "nullable": true, 21786 "type": "string" 21787 }, 21788 "livePhotoVideoId": { 21789 "nullable": true, 21790 "type": "string" 21791 }, 21792 "localDateTime": { 21793 "format": "date-time", 21794 "nullable": true, 21795 "type": "string" 21796 }, 21797 "originalFileName": { 21798 "type": "string" 21799 }, 21800 "ownerId": { 21801 "type": "string" 21802 }, 21803 "stackId": { 21804 "nullable": true, 21805 "type": "string" 21806 }, 21807 "thumbhash": { 21808 "nullable": true, 21809 "type": "string" 21810 }, 21811 "type": { 21812 "allOf": [ 21813 { 21814 "$ref": "#/components/schemas/AssetTypeEnum" 21815 } 21816 ] 21817 }, 21818 "visibility": { 21819 "allOf": [ 21820 { 21821 "$ref": "#/components/schemas/AssetVisibility" 21822 } 21823 ] 21824 }, 21825 "width": { 21826 "nullable": true, 21827 "type": "integer" 21828 } 21829 }, 21830 "required": [ 21831 "checksum", 21832 "deletedAt", 21833 "duration", 21834 "fileCreatedAt", 21835 "fileModifiedAt", 21836 "height", 21837 "id", 21838 "isEdited", 21839 "isFavorite", 21840 "libraryId", 21841 "livePhotoVideoId", 21842 "localDateTime", 21843 "originalFileName", 21844 "ownerId", 21845 "stackId", 21846 "thumbhash", 21847 "type", 21848 "visibility", 21849 "width" 21850 ], 21851 "type": "object" 21852 }, 21853 "SyncAuthUserV1": { 21854 "properties": { 21855 "avatarColor": { 21856 "allOf": [ 21857 { 21858 "$ref": "#/components/schemas/UserAvatarColor" 21859 } 21860 ], 21861 "nullable": true 21862 }, 21863 "deletedAt": { 21864 "format": "date-time", 21865 "nullable": true, 21866 "type": "string" 21867 }, 21868 "email": { 21869 "type": "string" 21870 }, 21871 "hasProfileImage": { 21872 "type": "boolean" 21873 }, 21874 "id": { 21875 "type": "string" 21876 }, 21877 "isAdmin": { 21878 "type": "boolean" 21879 }, 21880 "name": { 21881 "type": "string" 21882 }, 21883 "oauthId": { 21884 "type": "string" 21885 }, 21886 "pinCode": { 21887 "nullable": true, 21888 "type": "string" 21889 }, 21890 "profileChangedAt": { 21891 "format": "date-time", 21892 "type": "string" 21893 }, 21894 "quotaSizeInBytes": { 21895 "nullable": true, 21896 "type": "integer" 21897 }, 21898 "quotaUsageInBytes": { 21899 "type": "integer" 21900 }, 21901 "storageLabel": { 21902 "nullable": true, 21903 "type": "string" 21904 } 21905 }, 21906 "required": [ 21907 "avatarColor", 21908 "deletedAt", 21909 "email", 21910 "hasProfileImage", 21911 "id", 21912 "isAdmin", 21913 "name", 21914 "oauthId", 21915 "pinCode", 21916 "profileChangedAt", 21917 "quotaSizeInBytes", 21918 "quotaUsageInBytes", 21919 "storageLabel" 21920 ], 21921 "type": "object" 21922 }, 21923 "SyncCompleteV1": { 21924 "properties": {}, 21925 "type": "object" 21926 }, 21927 "SyncEntityType": { 21928 "enum": [ 21929 "AuthUserV1", 21930 "UserV1", 21931 "UserDeleteV1", 21932 "AssetV1", 21933 "AssetDeleteV1", 21934 "AssetExifV1", 21935 "AssetMetadataV1", 21936 "AssetMetadataDeleteV1", 21937 "PartnerV1", 21938 "PartnerDeleteV1", 21939 "PartnerAssetV1", 21940 "PartnerAssetBackfillV1", 21941 "PartnerAssetDeleteV1", 21942 "PartnerAssetExifV1", 21943 "PartnerAssetExifBackfillV1", 21944 "PartnerStackBackfillV1", 21945 "PartnerStackDeleteV1", 21946 "PartnerStackV1", 21947 "AlbumV1", 21948 "AlbumDeleteV1", 21949 "AlbumUserV1", 21950 "AlbumUserBackfillV1", 21951 "AlbumUserDeleteV1", 21952 "AlbumAssetCreateV1", 21953 "AlbumAssetUpdateV1", 21954 "AlbumAssetBackfillV1", 21955 "AlbumAssetExifCreateV1", 21956 "AlbumAssetExifUpdateV1", 21957 "AlbumAssetExifBackfillV1", 21958 "AlbumToAssetV1", 21959 "AlbumToAssetDeleteV1", 21960 "AlbumToAssetBackfillV1", 21961 "MemoryV1", 21962 "MemoryDeleteV1", 21963 "MemoryToAssetV1", 21964 "MemoryToAssetDeleteV1", 21965 "StackV1", 21966 "StackDeleteV1", 21967 "PersonV1", 21968 "PersonDeleteV1", 21969 "AssetFaceV1", 21970 "AssetFaceDeleteV1", 21971 "UserMetadataV1", 21972 "UserMetadataDeleteV1", 21973 "SyncAckV1", 21974 "SyncResetV1", 21975 "SyncCompleteV1" 21976 ], 21977 "type": "string" 21978 }, 21979 "SyncMemoryAssetDeleteV1": { 21980 "properties": { 21981 "assetId": { 21982 "type": "string" 21983 }, 21984 "memoryId": { 21985 "type": "string" 21986 } 21987 }, 21988 "required": [ 21989 "assetId", 21990 "memoryId" 21991 ], 21992 "type": "object" 21993 }, 21994 "SyncMemoryAssetV1": { 21995 "properties": { 21996 "assetId": { 21997 "type": "string" 21998 }, 21999 "memoryId": { 22000 "type": "string" 22001 } 22002 }, 22003 "required": [ 22004 "assetId", 22005 "memoryId" 22006 ], 22007 "type": "object" 22008 }, 22009 "SyncMemoryDeleteV1": { 22010 "properties": { 22011 "memoryId": { 22012 "type": "string" 22013 } 22014 }, 22015 "required": [ 22016 "memoryId" 22017 ], 22018 "type": "object" 22019 }, 22020 "SyncMemoryV1": { 22021 "properties": { 22022 "createdAt": { 22023 "format": "date-time", 22024 "type": "string" 22025 }, 22026 "data": { 22027 "type": "object" 22028 }, 22029 "deletedAt": { 22030 "format": "date-time", 22031 "nullable": true, 22032 "type": "string" 22033 }, 22034 "hideAt": { 22035 "format": "date-time", 22036 "nullable": true, 22037 "type": "string" 22038 }, 22039 "id": { 22040 "type": "string" 22041 }, 22042 "isSaved": { 22043 "type": "boolean" 22044 }, 22045 "memoryAt": { 22046 "format": "date-time", 22047 "type": "string" 22048 }, 22049 "ownerId": { 22050 "type": "string" 22051 }, 22052 "seenAt": { 22053 "format": "date-time", 22054 "nullable": true, 22055 "type": "string" 22056 }, 22057 "showAt": { 22058 "format": "date-time", 22059 "nullable": true, 22060 "type": "string" 22061 }, 22062 "type": { 22063 "allOf": [ 22064 { 22065 "$ref": "#/components/schemas/MemoryType" 22066 } 22067 ] 22068 }, 22069 "updatedAt": { 22070 "format": "date-time", 22071 "type": "string" 22072 } 22073 }, 22074 "required": [ 22075 "createdAt", 22076 "data", 22077 "deletedAt", 22078 "hideAt", 22079 "id", 22080 "isSaved", 22081 "memoryAt", 22082 "ownerId", 22083 "seenAt", 22084 "showAt", 22085 "type", 22086 "updatedAt" 22087 ], 22088 "type": "object" 22089 }, 22090 "SyncPartnerDeleteV1": { 22091 "properties": { 22092 "sharedById": { 22093 "type": "string" 22094 }, 22095 "sharedWithId": { 22096 "type": "string" 22097 } 22098 }, 22099 "required": [ 22100 "sharedById", 22101 "sharedWithId" 22102 ], 22103 "type": "object" 22104 }, 22105 "SyncPartnerV1": { 22106 "properties": { 22107 "inTimeline": { 22108 "type": "boolean" 22109 }, 22110 "sharedById": { 22111 "type": "string" 22112 }, 22113 "sharedWithId": { 22114 "type": "string" 22115 } 22116 }, 22117 "required": [ 22118 "inTimeline", 22119 "sharedById", 22120 "sharedWithId" 22121 ], 22122 "type": "object" 22123 }, 22124 "SyncPersonDeleteV1": { 22125 "properties": { 22126 "personId": { 22127 "type": "string" 22128 } 22129 }, 22130 "required": [ 22131 "personId" 22132 ], 22133 "type": "object" 22134 }, 22135 "SyncPersonV1": { 22136 "properties": { 22137 "birthDate": { 22138 "format": "date-time", 22139 "nullable": true, 22140 "type": "string" 22141 }, 22142 "color": { 22143 "nullable": true, 22144 "type": "string" 22145 }, 22146 "createdAt": { 22147 "format": "date-time", 22148 "type": "string" 22149 }, 22150 "faceAssetId": { 22151 "nullable": true, 22152 "type": "string" 22153 }, 22154 "id": { 22155 "type": "string" 22156 }, 22157 "isFavorite": { 22158 "type": "boolean" 22159 }, 22160 "isHidden": { 22161 "type": "boolean" 22162 }, 22163 "name": { 22164 "type": "string" 22165 }, 22166 "ownerId": { 22167 "type": "string" 22168 }, 22169 "updatedAt": { 22170 "format": "date-time", 22171 "type": "string" 22172 } 22173 }, 22174 "required": [ 22175 "birthDate", 22176 "color", 22177 "createdAt", 22178 "faceAssetId", 22179 "id", 22180 "isFavorite", 22181 "isHidden", 22182 "name", 22183 "ownerId", 22184 "updatedAt" 22185 ], 22186 "type": "object" 22187 }, 22188 "SyncRequestType": { 22189 "enum": [ 22190 "AlbumsV1", 22191 "AlbumUsersV1", 22192 "AlbumToAssetsV1", 22193 "AlbumAssetsV1", 22194 "AlbumAssetExifsV1", 22195 "AssetsV1", 22196 "AssetExifsV1", 22197 "AssetMetadataV1", 22198 "AuthUsersV1", 22199 "MemoriesV1", 22200 "MemoryToAssetsV1", 22201 "PartnersV1", 22202 "PartnerAssetsV1", 22203 "PartnerAssetExifsV1", 22204 "PartnerStacksV1", 22205 "StacksV1", 22206 "UsersV1", 22207 "PeopleV1", 22208 "AssetFacesV1", 22209 "UserMetadataV1" 22210 ], 22211 "type": "string" 22212 }, 22213 "SyncResetV1": { 22214 "properties": {}, 22215 "type": "object" 22216 }, 22217 "SyncStackDeleteV1": { 22218 "properties": { 22219 "stackId": { 22220 "type": "string" 22221 } 22222 }, 22223 "required": [ 22224 "stackId" 22225 ], 22226 "type": "object" 22227 }, 22228 "SyncStackV1": { 22229 "properties": { 22230 "createdAt": { 22231 "format": "date-time", 22232 "type": "string" 22233 }, 22234 "id": { 22235 "type": "string" 22236 }, 22237 "ownerId": { 22238 "type": "string" 22239 }, 22240 "primaryAssetId": { 22241 "type": "string" 22242 }, 22243 "updatedAt": { 22244 "format": "date-time", 22245 "type": "string" 22246 } 22247 }, 22248 "required": [ 22249 "createdAt", 22250 "id", 22251 "ownerId", 22252 "primaryAssetId", 22253 "updatedAt" 22254 ], 22255 "type": "object" 22256 }, 22257 "SyncStreamDto": { 22258 "properties": { 22259 "reset": { 22260 "type": "boolean" 22261 }, 22262 "types": { 22263 "items": { 22264 "$ref": "#/components/schemas/SyncRequestType" 22265 }, 22266 "type": "array" 22267 } 22268 }, 22269 "required": [ 22270 "types" 22271 ], 22272 "type": "object" 22273 }, 22274 "SyncUserDeleteV1": { 22275 "properties": { 22276 "userId": { 22277 "type": "string" 22278 } 22279 }, 22280 "required": [ 22281 "userId" 22282 ], 22283 "type": "object" 22284 }, 22285 "SyncUserMetadataDeleteV1": { 22286 "properties": { 22287 "key": { 22288 "allOf": [ 22289 { 22290 "$ref": "#/components/schemas/UserMetadataKey" 22291 } 22292 ] 22293 }, 22294 "userId": { 22295 "type": "string" 22296 } 22297 }, 22298 "required": [ 22299 "key", 22300 "userId" 22301 ], 22302 "type": "object" 22303 }, 22304 "SyncUserMetadataV1": { 22305 "properties": { 22306 "key": { 22307 "allOf": [ 22308 { 22309 "$ref": "#/components/schemas/UserMetadataKey" 22310 } 22311 ] 22312 }, 22313 "userId": { 22314 "type": "string" 22315 }, 22316 "value": { 22317 "type": "object" 22318 } 22319 }, 22320 "required": [ 22321 "key", 22322 "userId", 22323 "value" 22324 ], 22325 "type": "object" 22326 }, 22327 "SyncUserV1": { 22328 "properties": { 22329 "avatarColor": { 22330 "allOf": [ 22331 { 22332 "$ref": "#/components/schemas/UserAvatarColor" 22333 } 22334 ], 22335 "nullable": true 22336 }, 22337 "deletedAt": { 22338 "format": "date-time", 22339 "nullable": true, 22340 "type": "string" 22341 }, 22342 "email": { 22343 "type": "string" 22344 }, 22345 "hasProfileImage": { 22346 "type": "boolean" 22347 }, 22348 "id": { 22349 "type": "string" 22350 }, 22351 "name": { 22352 "type": "string" 22353 }, 22354 "profileChangedAt": { 22355 "format": "date-time", 22356 "type": "string" 22357 } 22358 }, 22359 "required": [ 22360 "avatarColor", 22361 "deletedAt", 22362 "email", 22363 "hasProfileImage", 22364 "id", 22365 "name", 22366 "profileChangedAt" 22367 ], 22368 "type": "object" 22369 }, 22370 "SystemConfigBackupsDto": { 22371 "properties": { 22372 "database": { 22373 "$ref": "#/components/schemas/DatabaseBackupConfig" 22374 } 22375 }, 22376 "required": [ 22377 "database" 22378 ], 22379 "type": "object" 22380 }, 22381 "SystemConfigDto": { 22382 "properties": { 22383 "backup": { 22384 "$ref": "#/components/schemas/SystemConfigBackupsDto" 22385 }, 22386 "ffmpeg": { 22387 "$ref": "#/components/schemas/SystemConfigFFmpegDto" 22388 }, 22389 "image": { 22390 "$ref": "#/components/schemas/SystemConfigImageDto" 22391 }, 22392 "job": { 22393 "$ref": "#/components/schemas/SystemConfigJobDto" 22394 }, 22395 "library": { 22396 "$ref": "#/components/schemas/SystemConfigLibraryDto" 22397 }, 22398 "logging": { 22399 "$ref": "#/components/schemas/SystemConfigLoggingDto" 22400 }, 22401 "machineLearning": { 22402 "$ref": "#/components/schemas/SystemConfigMachineLearningDto" 22403 }, 22404 "map": { 22405 "$ref": "#/components/schemas/SystemConfigMapDto" 22406 }, 22407 "metadata": { 22408 "$ref": "#/components/schemas/SystemConfigMetadataDto" 22409 }, 22410 "newVersionCheck": { 22411 "$ref": "#/components/schemas/SystemConfigNewVersionCheckDto" 22412 }, 22413 "nightlyTasks": { 22414 "$ref": "#/components/schemas/SystemConfigNightlyTasksDto" 22415 }, 22416 "notifications": { 22417 "$ref": "#/components/schemas/SystemConfigNotificationsDto" 22418 }, 22419 "oauth": { 22420 "$ref": "#/components/schemas/SystemConfigOAuthDto" 22421 }, 22422 "passwordLogin": { 22423 "$ref": "#/components/schemas/SystemConfigPasswordLoginDto" 22424 }, 22425 "reverseGeocoding": { 22426 "$ref": "#/components/schemas/SystemConfigReverseGeocodingDto" 22427 }, 22428 "server": { 22429 "$ref": "#/components/schemas/SystemConfigServerDto" 22430 }, 22431 "storageTemplate": { 22432 "$ref": "#/components/schemas/SystemConfigStorageTemplateDto" 22433 }, 22434 "templates": { 22435 "$ref": "#/components/schemas/SystemConfigTemplatesDto" 22436 }, 22437 "theme": { 22438 "$ref": "#/components/schemas/SystemConfigThemeDto" 22439 }, 22440 "trash": { 22441 "$ref": "#/components/schemas/SystemConfigTrashDto" 22442 }, 22443 "user": { 22444 "$ref": "#/components/schemas/SystemConfigUserDto" 22445 } 22446 }, 22447 "required": [ 22448 "backup", 22449 "ffmpeg", 22450 "image", 22451 "job", 22452 "library", 22453 "logging", 22454 "machineLearning", 22455 "map", 22456 "metadata", 22457 "newVersionCheck", 22458 "nightlyTasks", 22459 "notifications", 22460 "oauth", 22461 "passwordLogin", 22462 "reverseGeocoding", 22463 "server", 22464 "storageTemplate", 22465 "templates", 22466 "theme", 22467 "trash", 22468 "user" 22469 ], 22470 "type": "object" 22471 }, 22472 "SystemConfigFFmpegDto": { 22473 "properties": { 22474 "accel": { 22475 "allOf": [ 22476 { 22477 "$ref": "#/components/schemas/TranscodeHWAccel" 22478 } 22479 ] 22480 }, 22481 "accelDecode": { 22482 "type": "boolean" 22483 }, 22484 "acceptedAudioCodecs": { 22485 "items": { 22486 "$ref": "#/components/schemas/AudioCodec" 22487 }, 22488 "type": "array" 22489 }, 22490 "acceptedContainers": { 22491 "items": { 22492 "$ref": "#/components/schemas/VideoContainer" 22493 }, 22494 "type": "array" 22495 }, 22496 "acceptedVideoCodecs": { 22497 "items": { 22498 "$ref": "#/components/schemas/VideoCodec" 22499 }, 22500 "type": "array" 22501 }, 22502 "bframes": { 22503 "maximum": 16, 22504 "minimum": -1, 22505 "type": "integer" 22506 }, 22507 "cqMode": { 22508 "allOf": [ 22509 { 22510 "$ref": "#/components/schemas/CQMode" 22511 } 22512 ] 22513 }, 22514 "crf": { 22515 "maximum": 51, 22516 "minimum": 0, 22517 "type": "integer" 22518 }, 22519 "gopSize": { 22520 "minimum": 0, 22521 "type": "integer" 22522 }, 22523 "maxBitrate": { 22524 "type": "string" 22525 }, 22526 "preferredHwDevice": { 22527 "type": "string" 22528 }, 22529 "preset": { 22530 "type": "string" 22531 }, 22532 "refs": { 22533 "maximum": 6, 22534 "minimum": 0, 22535 "type": "integer" 22536 }, 22537 "targetAudioCodec": { 22538 "allOf": [ 22539 { 22540 "$ref": "#/components/schemas/AudioCodec" 22541 } 22542 ] 22543 }, 22544 "targetResolution": { 22545 "type": "string" 22546 }, 22547 "targetVideoCodec": { 22548 "allOf": [ 22549 { 22550 "$ref": "#/components/schemas/VideoCodec" 22551 } 22552 ] 22553 }, 22554 "temporalAQ": { 22555 "type": "boolean" 22556 }, 22557 "threads": { 22558 "minimum": 0, 22559 "type": "integer" 22560 }, 22561 "tonemap": { 22562 "allOf": [ 22563 { 22564 "$ref": "#/components/schemas/ToneMapping" 22565 } 22566 ] 22567 }, 22568 "transcode": { 22569 "allOf": [ 22570 { 22571 "$ref": "#/components/schemas/TranscodePolicy" 22572 } 22573 ] 22574 }, 22575 "twoPass": { 22576 "type": "boolean" 22577 } 22578 }, 22579 "required": [ 22580 "accel", 22581 "accelDecode", 22582 "acceptedAudioCodecs", 22583 "acceptedContainers", 22584 "acceptedVideoCodecs", 22585 "bframes", 22586 "cqMode", 22587 "crf", 22588 "gopSize", 22589 "maxBitrate", 22590 "preferredHwDevice", 22591 "preset", 22592 "refs", 22593 "targetAudioCodec", 22594 "targetResolution", 22595 "targetVideoCodec", 22596 "temporalAQ", 22597 "threads", 22598 "tonemap", 22599 "transcode", 22600 "twoPass" 22601 ], 22602 "type": "object" 22603 }, 22604 "SystemConfigFacesDto": { 22605 "properties": { 22606 "import": { 22607 "type": "boolean" 22608 } 22609 }, 22610 "required": [ 22611 "import" 22612 ], 22613 "type": "object" 22614 }, 22615 "SystemConfigGeneratedFullsizeImageDto": { 22616 "properties": { 22617 "enabled": { 22618 "type": "boolean" 22619 }, 22620 "format": { 22621 "allOf": [ 22622 { 22623 "$ref": "#/components/schemas/ImageFormat" 22624 } 22625 ] 22626 }, 22627 "progressive": { 22628 "default": false, 22629 "type": "boolean" 22630 }, 22631 "quality": { 22632 "maximum": 100, 22633 "minimum": 1, 22634 "type": "integer" 22635 } 22636 }, 22637 "required": [ 22638 "enabled", 22639 "format", 22640 "quality" 22641 ], 22642 "type": "object" 22643 }, 22644 "SystemConfigGeneratedImageDto": { 22645 "properties": { 22646 "format": { 22647 "allOf": [ 22648 { 22649 "$ref": "#/components/schemas/ImageFormat" 22650 } 22651 ] 22652 }, 22653 "progressive": { 22654 "default": false, 22655 "type": "boolean" 22656 }, 22657 "quality": { 22658 "maximum": 100, 22659 "minimum": 1, 22660 "type": "integer" 22661 }, 22662 "size": { 22663 "minimum": 1, 22664 "type": "integer" 22665 } 22666 }, 22667 "required": [ 22668 "format", 22669 "quality", 22670 "size" 22671 ], 22672 "type": "object" 22673 }, 22674 "SystemConfigImageDto": { 22675 "properties": { 22676 "colorspace": { 22677 "allOf": [ 22678 { 22679 "$ref": "#/components/schemas/Colorspace" 22680 } 22681 ] 22682 }, 22683 "extractEmbedded": { 22684 "type": "boolean" 22685 }, 22686 "fullsize": { 22687 "$ref": "#/components/schemas/SystemConfigGeneratedFullsizeImageDto" 22688 }, 22689 "preview": { 22690 "$ref": "#/components/schemas/SystemConfigGeneratedImageDto" 22691 }, 22692 "thumbnail": { 22693 "$ref": "#/components/schemas/SystemConfigGeneratedImageDto" 22694 } 22695 }, 22696 "required": [ 22697 "colorspace", 22698 "extractEmbedded", 22699 "fullsize", 22700 "preview", 22701 "thumbnail" 22702 ], 22703 "type": "object" 22704 }, 22705 "SystemConfigJobDto": { 22706 "properties": { 22707 "backgroundTask": { 22708 "$ref": "#/components/schemas/JobSettingsDto" 22709 }, 22710 "editor": { 22711 "$ref": "#/components/schemas/JobSettingsDto" 22712 }, 22713 "faceDetection": { 22714 "$ref": "#/components/schemas/JobSettingsDto" 22715 }, 22716 "library": { 22717 "$ref": "#/components/schemas/JobSettingsDto" 22718 }, 22719 "metadataExtraction": { 22720 "$ref": "#/components/schemas/JobSettingsDto" 22721 }, 22722 "migration": { 22723 "$ref": "#/components/schemas/JobSettingsDto" 22724 }, 22725 "notifications": { 22726 "$ref": "#/components/schemas/JobSettingsDto" 22727 }, 22728 "ocr": { 22729 "$ref": "#/components/schemas/JobSettingsDto" 22730 }, 22731 "search": { 22732 "$ref": "#/components/schemas/JobSettingsDto" 22733 }, 22734 "sidecar": { 22735 "$ref": "#/components/schemas/JobSettingsDto" 22736 }, 22737 "smartSearch": { 22738 "$ref": "#/components/schemas/JobSettingsDto" 22739 }, 22740 "thumbnailGeneration": { 22741 "$ref": "#/components/schemas/JobSettingsDto" 22742 }, 22743 "videoConversion": { 22744 "$ref": "#/components/schemas/JobSettingsDto" 22745 }, 22746 "workflow": { 22747 "$ref": "#/components/schemas/JobSettingsDto" 22748 } 22749 }, 22750 "required": [ 22751 "backgroundTask", 22752 "editor", 22753 "faceDetection", 22754 "library", 22755 "metadataExtraction", 22756 "migration", 22757 "notifications", 22758 "ocr", 22759 "search", 22760 "sidecar", 22761 "smartSearch", 22762 "thumbnailGeneration", 22763 "videoConversion", 22764 "workflow" 22765 ], 22766 "type": "object" 22767 }, 22768 "SystemConfigLibraryDto": { 22769 "properties": { 22770 "scan": { 22771 "$ref": "#/components/schemas/SystemConfigLibraryScanDto" 22772 }, 22773 "watch": { 22774 "$ref": "#/components/schemas/SystemConfigLibraryWatchDto" 22775 } 22776 }, 22777 "required": [ 22778 "scan", 22779 "watch" 22780 ], 22781 "type": "object" 22782 }, 22783 "SystemConfigLibraryScanDto": { 22784 "properties": { 22785 "cronExpression": { 22786 "type": "string" 22787 }, 22788 "enabled": { 22789 "type": "boolean" 22790 } 22791 }, 22792 "required": [ 22793 "cronExpression", 22794 "enabled" 22795 ], 22796 "type": "object" 22797 }, 22798 "SystemConfigLibraryWatchDto": { 22799 "properties": { 22800 "enabled": { 22801 "type": "boolean" 22802 } 22803 }, 22804 "required": [ 22805 "enabled" 22806 ], 22807 "type": "object" 22808 }, 22809 "SystemConfigLoggingDto": { 22810 "properties": { 22811 "enabled": { 22812 "type": "boolean" 22813 }, 22814 "level": { 22815 "allOf": [ 22816 { 22817 "$ref": "#/components/schemas/LogLevel" 22818 } 22819 ] 22820 } 22821 }, 22822 "required": [ 22823 "enabled", 22824 "level" 22825 ], 22826 "type": "object" 22827 }, 22828 "SystemConfigMachineLearningDto": { 22829 "properties": { 22830 "availabilityChecks": { 22831 "$ref": "#/components/schemas/MachineLearningAvailabilityChecksDto" 22832 }, 22833 "clip": { 22834 "$ref": "#/components/schemas/CLIPConfig" 22835 }, 22836 "duplicateDetection": { 22837 "$ref": "#/components/schemas/DuplicateDetectionConfig" 22838 }, 22839 "enabled": { 22840 "type": "boolean" 22841 }, 22842 "facialRecognition": { 22843 "$ref": "#/components/schemas/FacialRecognitionConfig" 22844 }, 22845 "ocr": { 22846 "$ref": "#/components/schemas/OcrConfig" 22847 }, 22848 "urls": { 22849 "format": "uri", 22850 "items": { 22851 "format": "uri", 22852 "type": "string" 22853 }, 22854 "minItems": 1, 22855 "type": "array" 22856 } 22857 }, 22858 "required": [ 22859 "availabilityChecks", 22860 "clip", 22861 "duplicateDetection", 22862 "enabled", 22863 "facialRecognition", 22864 "ocr", 22865 "urls" 22866 ], 22867 "type": "object" 22868 }, 22869 "SystemConfigMapDto": { 22870 "properties": { 22871 "darkStyle": { 22872 "format": "uri", 22873 "type": "string" 22874 }, 22875 "enabled": { 22876 "type": "boolean" 22877 }, 22878 "lightStyle": { 22879 "format": "uri", 22880 "type": "string" 22881 } 22882 }, 22883 "required": [ 22884 "darkStyle", 22885 "enabled", 22886 "lightStyle" 22887 ], 22888 "type": "object" 22889 }, 22890 "SystemConfigMetadataDto": { 22891 "properties": { 22892 "faces": { 22893 "$ref": "#/components/schemas/SystemConfigFacesDto" 22894 } 22895 }, 22896 "required": [ 22897 "faces" 22898 ], 22899 "type": "object" 22900 }, 22901 "SystemConfigNewVersionCheckDto": { 22902 "properties": { 22903 "enabled": { 22904 "type": "boolean" 22905 } 22906 }, 22907 "required": [ 22908 "enabled" 22909 ], 22910 "type": "object" 22911 }, 22912 "SystemConfigNightlyTasksDto": { 22913 "properties": { 22914 "clusterNewFaces": { 22915 "type": "boolean" 22916 }, 22917 "databaseCleanup": { 22918 "type": "boolean" 22919 }, 22920 "generateMemories": { 22921 "type": "boolean" 22922 }, 22923 "missingThumbnails": { 22924 "type": "boolean" 22925 }, 22926 "startTime": { 22927 "type": "string" 22928 }, 22929 "syncQuotaUsage": { 22930 "type": "boolean" 22931 } 22932 }, 22933 "required": [ 22934 "clusterNewFaces", 22935 "databaseCleanup", 22936 "generateMemories", 22937 "missingThumbnails", 22938 "startTime", 22939 "syncQuotaUsage" 22940 ], 22941 "type": "object" 22942 }, 22943 "SystemConfigNotificationsDto": { 22944 "properties": { 22945 "smtp": { 22946 "$ref": "#/components/schemas/SystemConfigSmtpDto" 22947 } 22948 }, 22949 "required": [ 22950 "smtp" 22951 ], 22952 "type": "object" 22953 }, 22954 "SystemConfigOAuthDto": { 22955 "properties": { 22956 "autoLaunch": { 22957 "type": "boolean" 22958 }, 22959 "autoRegister": { 22960 "type": "boolean" 22961 }, 22962 "buttonText": { 22963 "type": "string" 22964 }, 22965 "clientId": { 22966 "type": "string" 22967 }, 22968 "clientSecret": { 22969 "type": "string" 22970 }, 22971 "defaultStorageQuota": { 22972 "format": "int64", 22973 "minimum": 0, 22974 "nullable": true, 22975 "type": "integer" 22976 }, 22977 "enabled": { 22978 "type": "boolean" 22979 }, 22980 "issuerUrl": { 22981 "type": "string" 22982 }, 22983 "mobileOverrideEnabled": { 22984 "type": "boolean" 22985 }, 22986 "mobileRedirectUri": { 22987 "format": "uri", 22988 "type": "string" 22989 }, 22990 "profileSigningAlgorithm": { 22991 "type": "string" 22992 }, 22993 "roleClaim": { 22994 "type": "string" 22995 }, 22996 "scope": { 22997 "type": "string" 22998 }, 22999 "signingAlgorithm": { 23000 "type": "string" 23001 }, 23002 "storageLabelClaim": { 23003 "type": "string" 23004 }, 23005 "storageQuotaClaim": { 23006 "type": "string" 23007 }, 23008 "timeout": { 23009 "minimum": 1, 23010 "type": "integer" 23011 }, 23012 "tokenEndpointAuthMethod": { 23013 "allOf": [ 23014 { 23015 "$ref": "#/components/schemas/OAuthTokenEndpointAuthMethod" 23016 } 23017 ] 23018 } 23019 }, 23020 "required": [ 23021 "autoLaunch", 23022 "autoRegister", 23023 "buttonText", 23024 "clientId", 23025 "clientSecret", 23026 "defaultStorageQuota", 23027 "enabled", 23028 "issuerUrl", 23029 "mobileOverrideEnabled", 23030 "mobileRedirectUri", 23031 "profileSigningAlgorithm", 23032 "roleClaim", 23033 "scope", 23034 "signingAlgorithm", 23035 "storageLabelClaim", 23036 "storageQuotaClaim", 23037 "timeout", 23038 "tokenEndpointAuthMethod" 23039 ], 23040 "type": "object" 23041 }, 23042 "SystemConfigPasswordLoginDto": { 23043 "properties": { 23044 "enabled": { 23045 "type": "boolean" 23046 } 23047 }, 23048 "required": [ 23049 "enabled" 23050 ], 23051 "type": "object" 23052 }, 23053 "SystemConfigReverseGeocodingDto": { 23054 "properties": { 23055 "enabled": { 23056 "type": "boolean" 23057 } 23058 }, 23059 "required": [ 23060 "enabled" 23061 ], 23062 "type": "object" 23063 }, 23064 "SystemConfigServerDto": { 23065 "properties": { 23066 "externalDomain": { 23067 "format": "uri", 23068 "type": "string" 23069 }, 23070 "loginPageMessage": { 23071 "type": "string" 23072 }, 23073 "publicUsers": { 23074 "type": "boolean" 23075 } 23076 }, 23077 "required": [ 23078 "externalDomain", 23079 "loginPageMessage", 23080 "publicUsers" 23081 ], 23082 "type": "object" 23083 }, 23084 "SystemConfigSmtpDto": { 23085 "properties": { 23086 "enabled": { 23087 "type": "boolean" 23088 }, 23089 "from": { 23090 "type": "string" 23091 }, 23092 "replyTo": { 23093 "type": "string" 23094 }, 23095 "transport": { 23096 "$ref": "#/components/schemas/SystemConfigSmtpTransportDto" 23097 } 23098 }, 23099 "required": [ 23100 "enabled", 23101 "from", 23102 "replyTo", 23103 "transport" 23104 ], 23105 "type": "object" 23106 }, 23107 "SystemConfigSmtpTransportDto": { 23108 "properties": { 23109 "host": { 23110 "type": "string" 23111 }, 23112 "ignoreCert": { 23113 "type": "boolean" 23114 }, 23115 "password": { 23116 "type": "string" 23117 }, 23118 "port": { 23119 "maximum": 65535, 23120 "minimum": 0, 23121 "type": "number" 23122 }, 23123 "secure": { 23124 "type": "boolean" 23125 }, 23126 "username": { 23127 "type": "string" 23128 } 23129 }, 23130 "required": [ 23131 "host", 23132 "ignoreCert", 23133 "password", 23134 "port", 23135 "secure", 23136 "username" 23137 ], 23138 "type": "object" 23139 }, 23140 "SystemConfigStorageTemplateDto": { 23141 "properties": { 23142 "enabled": { 23143 "type": "boolean" 23144 }, 23145 "hashVerificationEnabled": { 23146 "type": "boolean" 23147 }, 23148 "template": { 23149 "type": "string" 23150 } 23151 }, 23152 "required": [ 23153 "enabled", 23154 "hashVerificationEnabled", 23155 "template" 23156 ], 23157 "type": "object" 23158 }, 23159 "SystemConfigTemplateEmailsDto": { 23160 "properties": { 23161 "albumInviteTemplate": { 23162 "type": "string" 23163 }, 23164 "albumUpdateTemplate": { 23165 "type": "string" 23166 }, 23167 "welcomeTemplate": { 23168 "type": "string" 23169 } 23170 }, 23171 "required": [ 23172 "albumInviteTemplate", 23173 "albumUpdateTemplate", 23174 "welcomeTemplate" 23175 ], 23176 "type": "object" 23177 }, 23178 "SystemConfigTemplateStorageOptionDto": { 23179 "properties": { 23180 "dayOptions": { 23181 "items": { 23182 "type": "string" 23183 }, 23184 "type": "array" 23185 }, 23186 "hourOptions": { 23187 "items": { 23188 "type": "string" 23189 }, 23190 "type": "array" 23191 }, 23192 "minuteOptions": { 23193 "items": { 23194 "type": "string" 23195 }, 23196 "type": "array" 23197 }, 23198 "monthOptions": { 23199 "items": { 23200 "type": "string" 23201 }, 23202 "type": "array" 23203 }, 23204 "presetOptions": { 23205 "items": { 23206 "type": "string" 23207 }, 23208 "type": "array" 23209 }, 23210 "secondOptions": { 23211 "items": { 23212 "type": "string" 23213 }, 23214 "type": "array" 23215 }, 23216 "weekOptions": { 23217 "items": { 23218 "type": "string" 23219 }, 23220 "type": "array" 23221 }, 23222 "yearOptions": { 23223 "items": { 23224 "type": "string" 23225 }, 23226 "type": "array" 23227 } 23228 }, 23229 "required": [ 23230 "dayOptions", 23231 "hourOptions", 23232 "minuteOptions", 23233 "monthOptions", 23234 "presetOptions", 23235 "secondOptions", 23236 "weekOptions", 23237 "yearOptions" 23238 ], 23239 "type": "object" 23240 }, 23241 "SystemConfigTemplatesDto": { 23242 "properties": { 23243 "email": { 23244 "$ref": "#/components/schemas/SystemConfigTemplateEmailsDto" 23245 } 23246 }, 23247 "required": [ 23248 "email" 23249 ], 23250 "type": "object" 23251 }, 23252 "SystemConfigThemeDto": { 23253 "properties": { 23254 "customCss": { 23255 "type": "string" 23256 } 23257 }, 23258 "required": [ 23259 "customCss" 23260 ], 23261 "type": "object" 23262 }, 23263 "SystemConfigTrashDto": { 23264 "properties": { 23265 "days": { 23266 "minimum": 0, 23267 "type": "integer" 23268 }, 23269 "enabled": { 23270 "type": "boolean" 23271 } 23272 }, 23273 "required": [ 23274 "days", 23275 "enabled" 23276 ], 23277 "type": "object" 23278 }, 23279 "SystemConfigUserDto": { 23280 "properties": { 23281 "deleteDelay": { 23282 "minimum": 1, 23283 "type": "integer" 23284 } 23285 }, 23286 "required": [ 23287 "deleteDelay" 23288 ], 23289 "type": "object" 23290 }, 23291 "TagBulkAssetsDto": { 23292 "properties": { 23293 "assetIds": { 23294 "items": { 23295 "format": "uuid", 23296 "type": "string" 23297 }, 23298 "type": "array" 23299 }, 23300 "tagIds": { 23301 "items": { 23302 "format": "uuid", 23303 "type": "string" 23304 }, 23305 "type": "array" 23306 } 23307 }, 23308 "required": [ 23309 "assetIds", 23310 "tagIds" 23311 ], 23312 "type": "object" 23313 }, 23314 "TagBulkAssetsResponseDto": { 23315 "properties": { 23316 "count": { 23317 "type": "integer" 23318 } 23319 }, 23320 "required": [ 23321 "count" 23322 ], 23323 "type": "object" 23324 }, 23325 "TagCreateDto": { 23326 "properties": { 23327 "color": { 23328 "pattern": "^#?([0-9A-F]{3}|[0-9A-F]{4}|[0-9A-F]{6}|[0-9A-F]{8})$", 23329 "type": "string" 23330 }, 23331 "name": { 23332 "type": "string" 23333 }, 23334 "parentId": { 23335 "format": "uuid", 23336 "nullable": true, 23337 "type": "string" 23338 } 23339 }, 23340 "required": [ 23341 "name" 23342 ], 23343 "type": "object" 23344 }, 23345 "TagResponseDto": { 23346 "properties": { 23347 "color": { 23348 "type": "string" 23349 }, 23350 "createdAt": { 23351 "format": "date-time", 23352 "type": "string" 23353 }, 23354 "id": { 23355 "type": "string" 23356 }, 23357 "name": { 23358 "type": "string" 23359 }, 23360 "parentId": { 23361 "type": "string" 23362 }, 23363 "updatedAt": { 23364 "format": "date-time", 23365 "type": "string" 23366 }, 23367 "value": { 23368 "type": "string" 23369 } 23370 }, 23371 "required": [ 23372 "createdAt", 23373 "id", 23374 "name", 23375 "updatedAt", 23376 "value" 23377 ], 23378 "type": "object" 23379 }, 23380 "TagUpdateDto": { 23381 "properties": { 23382 "color": { 23383 "nullable": true, 23384 "type": "string" 23385 } 23386 }, 23387 "type": "object" 23388 }, 23389 "TagUpsertDto": { 23390 "properties": { 23391 "tags": { 23392 "items": { 23393 "type": "string" 23394 }, 23395 "type": "array" 23396 } 23397 }, 23398 "required": [ 23399 "tags" 23400 ], 23401 "type": "object" 23402 }, 23403 "TagsResponse": { 23404 "properties": { 23405 "enabled": { 23406 "default": true, 23407 "type": "boolean" 23408 }, 23409 "sidebarWeb": { 23410 "default": true, 23411 "type": "boolean" 23412 } 23413 }, 23414 "required": [ 23415 "enabled", 23416 "sidebarWeb" 23417 ], 23418 "type": "object" 23419 }, 23420 "TagsUpdate": { 23421 "properties": { 23422 "enabled": { 23423 "type": "boolean" 23424 }, 23425 "sidebarWeb": { 23426 "type": "boolean" 23427 } 23428 }, 23429 "type": "object" 23430 }, 23431 "TemplateDto": { 23432 "properties": { 23433 "template": { 23434 "type": "string" 23435 } 23436 }, 23437 "required": [ 23438 "template" 23439 ], 23440 "type": "object" 23441 }, 23442 "TemplateResponseDto": { 23443 "properties": { 23444 "html": { 23445 "type": "string" 23446 }, 23447 "name": { 23448 "type": "string" 23449 } 23450 }, 23451 "required": [ 23452 "html", 23453 "name" 23454 ], 23455 "type": "object" 23456 }, 23457 "TestEmailResponseDto": { 23458 "properties": { 23459 "messageId": { 23460 "type": "string" 23461 } 23462 }, 23463 "required": [ 23464 "messageId" 23465 ], 23466 "type": "object" 23467 }, 23468 "TimeBucketAssetResponseDto": { 23469 "properties": { 23470 "city": { 23471 "description": "Array of city names extracted from EXIF GPS data", 23472 "items": { 23473 "nullable": true, 23474 "type": "string" 23475 }, 23476 "type": "array" 23477 }, 23478 "country": { 23479 "description": "Array of country names extracted from EXIF GPS data", 23480 "items": { 23481 "nullable": true, 23482 "type": "string" 23483 }, 23484 "type": "array" 23485 }, 23486 "duration": { 23487 "description": "Array of video durations in HH:MM:SS format (null for images)", 23488 "items": { 23489 "nullable": true, 23490 "type": "string" 23491 }, 23492 "type": "array" 23493 }, 23494 "fileCreatedAt": { 23495 "description": "Array of file creation timestamps in UTC (ISO 8601 format, without timezone)", 23496 "items": { 23497 "type": "string" 23498 }, 23499 "type": "array" 23500 }, 23501 "id": { 23502 "description": "Array of asset IDs in the time bucket", 23503 "items": { 23504 "type": "string" 23505 }, 23506 "type": "array" 23507 }, 23508 "isFavorite": { 23509 "description": "Array indicating whether each asset is favorited", 23510 "items": { 23511 "type": "boolean" 23512 }, 23513 "type": "array" 23514 }, 23515 "isImage": { 23516 "description": "Array indicating whether each asset is an image (false for videos)", 23517 "items": { 23518 "type": "boolean" 23519 }, 23520 "type": "array" 23521 }, 23522 "isTrashed": { 23523 "description": "Array indicating whether each asset is in the trash", 23524 "items": { 23525 "type": "boolean" 23526 }, 23527 "type": "array" 23528 }, 23529 "latitude": { 23530 "description": "Array of latitude coordinates extracted from EXIF GPS data", 23531 "items": { 23532 "nullable": true, 23533 "type": "number" 23534 }, 23535 "type": "array" 23536 }, 23537 "livePhotoVideoId": { 23538 "description": "Array of live photo video asset IDs (null for non-live photos)", 23539 "items": { 23540 "nullable": true, 23541 "type": "string" 23542 }, 23543 "type": "array" 23544 }, 23545 "localOffsetHours": { 23546 "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.", 23547 "items": { 23548 "type": "number" 23549 }, 23550 "type": "array" 23551 }, 23552 "longitude": { 23553 "description": "Array of longitude coordinates extracted from EXIF GPS data", 23554 "items": { 23555 "nullable": true, 23556 "type": "number" 23557 }, 23558 "type": "array" 23559 }, 23560 "ownerId": { 23561 "description": "Array of owner IDs for each asset", 23562 "items": { 23563 "type": "string" 23564 }, 23565 "type": "array" 23566 }, 23567 "projectionType": { 23568 "description": "Array of projection types for 360° content (e.g., \"EQUIRECTANGULAR\", \"CUBEFACE\", \"CYLINDRICAL\")", 23569 "items": { 23570 "nullable": true, 23571 "type": "string" 23572 }, 23573 "type": "array" 23574 }, 23575 "ratio": { 23576 "description": "Array of aspect ratios (width/height) for each asset", 23577 "items": { 23578 "type": "number" 23579 }, 23580 "type": "array" 23581 }, 23582 "stack": { 23583 "description": "Array of stack information as [stackId, assetCount] tuples (null for non-stacked assets)", 23584 "items": { 23585 "items": { 23586 "type": "string" 23587 }, 23588 "maxItems": 2, 23589 "minItems": 2, 23590 "nullable": true, 23591 "type": "array" 23592 }, 23593 "type": "array" 23594 }, 23595 "thumbhash": { 23596 "description": "Array of BlurHash strings for generating asset previews (base64 encoded)", 23597 "items": { 23598 "nullable": true, 23599 "type": "string" 23600 }, 23601 "type": "array" 23602 }, 23603 "visibility": { 23604 "description": "Array of visibility statuses for each asset (e.g., ARCHIVE, TIMELINE, HIDDEN, LOCKED)", 23605 "items": { 23606 "$ref": "#/components/schemas/AssetVisibility" 23607 }, 23608 "type": "array" 23609 } 23610 }, 23611 "required": [ 23612 "city", 23613 "country", 23614 "duration", 23615 "fileCreatedAt", 23616 "id", 23617 "isFavorite", 23618 "isImage", 23619 "isTrashed", 23620 "livePhotoVideoId", 23621 "localOffsetHours", 23622 "ownerId", 23623 "projectionType", 23624 "ratio", 23625 "thumbhash", 23626 "visibility" 23627 ], 23628 "type": "object" 23629 }, 23630 "TimeBucketsResponseDto": { 23631 "properties": { 23632 "count": { 23633 "description": "Number of assets in this time bucket", 23634 "example": 42, 23635 "type": "integer" 23636 }, 23637 "timeBucket": { 23638 "description": "Time bucket identifier in YYYY-MM-DD format representing the start of the time period", 23639 "example": "2024-01-01", 23640 "type": "string" 23641 } 23642 }, 23643 "required": [ 23644 "count", 23645 "timeBucket" 23646 ], 23647 "type": "object" 23648 }, 23649 "ToneMapping": { 23650 "enum": [ 23651 "hable", 23652 "mobius", 23653 "reinhard", 23654 "disabled" 23655 ], 23656 "type": "string" 23657 }, 23658 "TranscodeHWAccel": { 23659 "enum": [ 23660 "nvenc", 23661 "qsv", 23662 "vaapi", 23663 "rkmpp", 23664 "disabled" 23665 ], 23666 "type": "string" 23667 }, 23668 "TranscodePolicy": { 23669 "enum": [ 23670 "all", 23671 "optimal", 23672 "bitrate", 23673 "required", 23674 "disabled" 23675 ], 23676 "type": "string" 23677 }, 23678 "TrashResponseDto": { 23679 "properties": { 23680 "count": { 23681 "type": "integer" 23682 } 23683 }, 23684 "required": [ 23685 "count" 23686 ], 23687 "type": "object" 23688 }, 23689 "UpdateAlbumDto": { 23690 "properties": { 23691 "albumName": { 23692 "type": "string" 23693 }, 23694 "albumThumbnailAssetId": { 23695 "format": "uuid", 23696 "type": "string" 23697 }, 23698 "description": { 23699 "type": "string" 23700 }, 23701 "isActivityEnabled": { 23702 "type": "boolean" 23703 }, 23704 "order": { 23705 "allOf": [ 23706 { 23707 "$ref": "#/components/schemas/AssetOrder" 23708 } 23709 ] 23710 } 23711 }, 23712 "type": "object" 23713 }, 23714 "UpdateAlbumUserDto": { 23715 "properties": { 23716 "role": { 23717 "allOf": [ 23718 { 23719 "$ref": "#/components/schemas/AlbumUserRole" 23720 } 23721 ] 23722 } 23723 }, 23724 "required": [ 23725 "role" 23726 ], 23727 "type": "object" 23728 }, 23729 "UpdateAssetDto": { 23730 "properties": { 23731 "dateTimeOriginal": { 23732 "type": "string" 23733 }, 23734 "description": { 23735 "type": "string" 23736 }, 23737 "isFavorite": { 23738 "type": "boolean" 23739 }, 23740 "latitude": { 23741 "type": "number" 23742 }, 23743 "livePhotoVideoId": { 23744 "format": "uuid", 23745 "nullable": true, 23746 "type": "string" 23747 }, 23748 "longitude": { 23749 "type": "number" 23750 }, 23751 "rating": { 23752 "maximum": 5, 23753 "minimum": -1, 23754 "type": "number" 23755 }, 23756 "visibility": { 23757 "allOf": [ 23758 { 23759 "$ref": "#/components/schemas/AssetVisibility" 23760 } 23761 ] 23762 } 23763 }, 23764 "type": "object" 23765 }, 23766 "UpdateLibraryDto": { 23767 "properties": { 23768 "exclusionPatterns": { 23769 "items": { 23770 "type": "string" 23771 }, 23772 "maxItems": 128, 23773 "type": "array", 23774 "uniqueItems": true 23775 }, 23776 "importPaths": { 23777 "items": { 23778 "type": "string" 23779 }, 23780 "maxItems": 128, 23781 "type": "array", 23782 "uniqueItems": true 23783 }, 23784 "name": { 23785 "type": "string" 23786 } 23787 }, 23788 "type": "object" 23789 }, 23790 "UsageByUserDto": { 23791 "properties": { 23792 "photos": { 23793 "type": "integer" 23794 }, 23795 "quotaSizeInBytes": { 23796 "format": "int64", 23797 "nullable": true, 23798 "type": "integer" 23799 }, 23800 "usage": { 23801 "format": "int64", 23802 "type": "integer" 23803 }, 23804 "usagePhotos": { 23805 "format": "int64", 23806 "type": "integer" 23807 }, 23808 "usageVideos": { 23809 "format": "int64", 23810 "type": "integer" 23811 }, 23812 "userId": { 23813 "type": "string" 23814 }, 23815 "userName": { 23816 "type": "string" 23817 }, 23818 "videos": { 23819 "type": "integer" 23820 } 23821 }, 23822 "required": [ 23823 "photos", 23824 "quotaSizeInBytes", 23825 "usage", 23826 "usagePhotos", 23827 "usageVideos", 23828 "userId", 23829 "userName", 23830 "videos" 23831 ], 23832 "type": "object" 23833 }, 23834 "UserAdminCreateDto": { 23835 "properties": { 23836 "avatarColor": { 23837 "allOf": [ 23838 { 23839 "$ref": "#/components/schemas/UserAvatarColor" 23840 } 23841 ], 23842 "nullable": true 23843 }, 23844 "email": { 23845 "format": "email", 23846 "type": "string" 23847 }, 23848 "isAdmin": { 23849 "type": "boolean" 23850 }, 23851 "name": { 23852 "type": "string" 23853 }, 23854 "notify": { 23855 "type": "boolean" 23856 }, 23857 "password": { 23858 "type": "string" 23859 }, 23860 "quotaSizeInBytes": { 23861 "format": "int64", 23862 "minimum": 0, 23863 "nullable": true, 23864 "type": "integer" 23865 }, 23866 "shouldChangePassword": { 23867 "type": "boolean" 23868 }, 23869 "storageLabel": { 23870 "nullable": true, 23871 "type": "string" 23872 } 23873 }, 23874 "required": [ 23875 "email", 23876 "name", 23877 "password" 23878 ], 23879 "type": "object" 23880 }, 23881 "UserAdminDeleteDto": { 23882 "properties": { 23883 "force": { 23884 "type": "boolean" 23885 } 23886 }, 23887 "type": "object" 23888 }, 23889 "UserAdminResponseDto": { 23890 "properties": { 23891 "avatarColor": { 23892 "allOf": [ 23893 { 23894 "$ref": "#/components/schemas/UserAvatarColor" 23895 } 23896 ] 23897 }, 23898 "createdAt": { 23899 "format": "date-time", 23900 "type": "string" 23901 }, 23902 "deletedAt": { 23903 "format": "date-time", 23904 "nullable": true, 23905 "type": "string" 23906 }, 23907 "email": { 23908 "type": "string" 23909 }, 23910 "id": { 23911 "type": "string" 23912 }, 23913 "isAdmin": { 23914 "type": "boolean" 23915 }, 23916 "license": { 23917 "allOf": [ 23918 { 23919 "$ref": "#/components/schemas/UserLicense" 23920 } 23921 ], 23922 "nullable": true 23923 }, 23924 "name": { 23925 "type": "string" 23926 }, 23927 "oauthId": { 23928 "type": "string" 23929 }, 23930 "profileChangedAt": { 23931 "format": "date-time", 23932 "type": "string" 23933 }, 23934 "profileImagePath": { 23935 "type": "string" 23936 }, 23937 "quotaSizeInBytes": { 23938 "format": "int64", 23939 "nullable": true, 23940 "type": "integer" 23941 }, 23942 "quotaUsageInBytes": { 23943 "format": "int64", 23944 "nullable": true, 23945 "type": "integer" 23946 }, 23947 "shouldChangePassword": { 23948 "type": "boolean" 23949 }, 23950 "status": { 23951 "allOf": [ 23952 { 23953 "$ref": "#/components/schemas/UserStatus" 23954 } 23955 ] 23956 }, 23957 "storageLabel": { 23958 "nullable": true, 23959 "type": "string" 23960 }, 23961 "updatedAt": { 23962 "format": "date-time", 23963 "type": "string" 23964 } 23965 }, 23966 "required": [ 23967 "avatarColor", 23968 "createdAt", 23969 "deletedAt", 23970 "email", 23971 "id", 23972 "isAdmin", 23973 "license", 23974 "name", 23975 "oauthId", 23976 "profileChangedAt", 23977 "profileImagePath", 23978 "quotaSizeInBytes", 23979 "quotaUsageInBytes", 23980 "shouldChangePassword", 23981 "status", 23982 "storageLabel", 23983 "updatedAt" 23984 ], 23985 "type": "object" 23986 }, 23987 "UserAdminUpdateDto": { 23988 "properties": { 23989 "avatarColor": { 23990 "allOf": [ 23991 { 23992 "$ref": "#/components/schemas/UserAvatarColor" 23993 } 23994 ], 23995 "nullable": true 23996 }, 23997 "email": { 23998 "format": "email", 23999 "type": "string" 24000 }, 24001 "isAdmin": { 24002 "type": "boolean" 24003 }, 24004 "name": { 24005 "type": "string" 24006 }, 24007 "password": { 24008 "type": "string" 24009 }, 24010 "pinCode": { 24011 "example": "123456", 24012 "nullable": true, 24013 "type": "string" 24014 }, 24015 "quotaSizeInBytes": { 24016 "format": "int64", 24017 "minimum": 0, 24018 "nullable": true, 24019 "type": "integer" 24020 }, 24021 "shouldChangePassword": { 24022 "type": "boolean" 24023 }, 24024 "storageLabel": { 24025 "nullable": true, 24026 "type": "string" 24027 } 24028 }, 24029 "type": "object" 24030 }, 24031 "UserAvatarColor": { 24032 "enum": [ 24033 "primary", 24034 "pink", 24035 "red", 24036 "yellow", 24037 "blue", 24038 "green", 24039 "purple", 24040 "orange", 24041 "gray", 24042 "amber" 24043 ], 24044 "type": "string" 24045 }, 24046 "UserLicense": { 24047 "properties": { 24048 "activatedAt": { 24049 "format": "date-time", 24050 "type": "string" 24051 }, 24052 "activationKey": { 24053 "type": "string" 24054 }, 24055 "licenseKey": { 24056 "type": "string" 24057 } 24058 }, 24059 "required": [ 24060 "activatedAt", 24061 "activationKey", 24062 "licenseKey" 24063 ], 24064 "type": "object" 24065 }, 24066 "UserMetadataKey": { 24067 "enum": [ 24068 "preferences", 24069 "license", 24070 "onboarding" 24071 ], 24072 "type": "string" 24073 }, 24074 "UserPreferencesResponseDto": { 24075 "properties": { 24076 "albums": { 24077 "$ref": "#/components/schemas/AlbumsResponse" 24078 }, 24079 "cast": { 24080 "$ref": "#/components/schemas/CastResponse" 24081 }, 24082 "download": { 24083 "$ref": "#/components/schemas/DownloadResponse" 24084 }, 24085 "emailNotifications": { 24086 "$ref": "#/components/schemas/EmailNotificationsResponse" 24087 }, 24088 "folders": { 24089 "$ref": "#/components/schemas/FoldersResponse" 24090 }, 24091 "memories": { 24092 "$ref": "#/components/schemas/MemoriesResponse" 24093 }, 24094 "people": { 24095 "$ref": "#/components/schemas/PeopleResponse" 24096 }, 24097 "purchase": { 24098 "$ref": "#/components/schemas/PurchaseResponse" 24099 }, 24100 "ratings": { 24101 "$ref": "#/components/schemas/RatingsResponse" 24102 }, 24103 "sharedLinks": { 24104 "$ref": "#/components/schemas/SharedLinksResponse" 24105 }, 24106 "tags": { 24107 "$ref": "#/components/schemas/TagsResponse" 24108 } 24109 }, 24110 "required": [ 24111 "albums", 24112 "cast", 24113 "download", 24114 "emailNotifications", 24115 "folders", 24116 "memories", 24117 "people", 24118 "purchase", 24119 "ratings", 24120 "sharedLinks", 24121 "tags" 24122 ], 24123 "type": "object" 24124 }, 24125 "UserPreferencesUpdateDto": { 24126 "properties": { 24127 "albums": { 24128 "$ref": "#/components/schemas/AlbumsUpdate" 24129 }, 24130 "avatar": { 24131 "$ref": "#/components/schemas/AvatarUpdate" 24132 }, 24133 "cast": { 24134 "$ref": "#/components/schemas/CastUpdate" 24135 }, 24136 "download": { 24137 "$ref": "#/components/schemas/DownloadUpdate" 24138 }, 24139 "emailNotifications": { 24140 "$ref": "#/components/schemas/EmailNotificationsUpdate" 24141 }, 24142 "folders": { 24143 "$ref": "#/components/schemas/FoldersUpdate" 24144 }, 24145 "memories": { 24146 "$ref": "#/components/schemas/MemoriesUpdate" 24147 }, 24148 "people": { 24149 "$ref": "#/components/schemas/PeopleUpdate" 24150 }, 24151 "purchase": { 24152 "$ref": "#/components/schemas/PurchaseUpdate" 24153 }, 24154 "ratings": { 24155 "$ref": "#/components/schemas/RatingsUpdate" 24156 }, 24157 "sharedLinks": { 24158 "$ref": "#/components/schemas/SharedLinksUpdate" 24159 }, 24160 "tags": { 24161 "$ref": "#/components/schemas/TagsUpdate" 24162 } 24163 }, 24164 "type": "object" 24165 }, 24166 "UserResponseDto": { 24167 "properties": { 24168 "avatarColor": { 24169 "allOf": [ 24170 { 24171 "$ref": "#/components/schemas/UserAvatarColor" 24172 } 24173 ] 24174 }, 24175 "email": { 24176 "type": "string" 24177 }, 24178 "id": { 24179 "type": "string" 24180 }, 24181 "name": { 24182 "type": "string" 24183 }, 24184 "profileChangedAt": { 24185 "format": "date-time", 24186 "type": "string" 24187 }, 24188 "profileImagePath": { 24189 "type": "string" 24190 } 24191 }, 24192 "required": [ 24193 "avatarColor", 24194 "email", 24195 "id", 24196 "name", 24197 "profileChangedAt", 24198 "profileImagePath" 24199 ], 24200 "type": "object" 24201 }, 24202 "UserStatus": { 24203 "enum": [ 24204 "active", 24205 "removing", 24206 "deleted" 24207 ], 24208 "type": "string" 24209 }, 24210 "UserUpdateMeDto": { 24211 "properties": { 24212 "avatarColor": { 24213 "allOf": [ 24214 { 24215 "$ref": "#/components/schemas/UserAvatarColor" 24216 } 24217 ], 24218 "nullable": true 24219 }, 24220 "email": { 24221 "format": "email", 24222 "type": "string" 24223 }, 24224 "name": { 24225 "type": "string" 24226 }, 24227 "password": { 24228 "type": "string" 24229 } 24230 }, 24231 "type": "object" 24232 }, 24233 "ValidateAccessTokenResponseDto": { 24234 "properties": { 24235 "authStatus": { 24236 "type": "boolean" 24237 } 24238 }, 24239 "required": [ 24240 "authStatus" 24241 ], 24242 "type": "object" 24243 }, 24244 "ValidateLibraryDto": { 24245 "properties": { 24246 "exclusionPatterns": { 24247 "items": { 24248 "type": "string" 24249 }, 24250 "maxItems": 128, 24251 "type": "array", 24252 "uniqueItems": true 24253 }, 24254 "importPaths": { 24255 "items": { 24256 "type": "string" 24257 }, 24258 "maxItems": 128, 24259 "type": "array", 24260 "uniqueItems": true 24261 } 24262 }, 24263 "type": "object" 24264 }, 24265 "ValidateLibraryImportPathResponseDto": { 24266 "properties": { 24267 "importPath": { 24268 "type": "string" 24269 }, 24270 "isValid": { 24271 "default": false, 24272 "type": "boolean" 24273 }, 24274 "message": { 24275 "type": "string" 24276 } 24277 }, 24278 "required": [ 24279 "importPath", 24280 "isValid" 24281 ], 24282 "type": "object" 24283 }, 24284 "ValidateLibraryResponseDto": { 24285 "properties": { 24286 "importPaths": { 24287 "items": { 24288 "$ref": "#/components/schemas/ValidateLibraryImportPathResponseDto" 24289 }, 24290 "type": "array" 24291 } 24292 }, 24293 "type": "object" 24294 }, 24295 "VersionCheckStateResponseDto": { 24296 "properties": { 24297 "checkedAt": { 24298 "nullable": true, 24299 "type": "string" 24300 }, 24301 "releaseVersion": { 24302 "nullable": true, 24303 "type": "string" 24304 } 24305 }, 24306 "required": [ 24307 "checkedAt", 24308 "releaseVersion" 24309 ], 24310 "type": "object" 24311 }, 24312 "VideoCodec": { 24313 "enum": [ 24314 "h264", 24315 "hevc", 24316 "vp9", 24317 "av1" 24318 ], 24319 "type": "string" 24320 }, 24321 "VideoContainer": { 24322 "enum": [ 24323 "mov", 24324 "mp4", 24325 "ogg", 24326 "webm" 24327 ], 24328 "type": "string" 24329 }, 24330 "WorkflowActionItemDto": { 24331 "properties": { 24332 "actionConfig": { 24333 "type": "object" 24334 }, 24335 "pluginActionId": { 24336 "format": "uuid", 24337 "type": "string" 24338 } 24339 }, 24340 "required": [ 24341 "pluginActionId" 24342 ], 24343 "type": "object" 24344 }, 24345 "WorkflowActionResponseDto": { 24346 "properties": { 24347 "actionConfig": { 24348 "nullable": true, 24349 "type": "object" 24350 }, 24351 "id": { 24352 "type": "string" 24353 }, 24354 "order": { 24355 "type": "number" 24356 }, 24357 "pluginActionId": { 24358 "type": "string" 24359 }, 24360 "workflowId": { 24361 "type": "string" 24362 } 24363 }, 24364 "required": [ 24365 "actionConfig", 24366 "id", 24367 "order", 24368 "pluginActionId", 24369 "workflowId" 24370 ], 24371 "type": "object" 24372 }, 24373 "WorkflowCreateDto": { 24374 "properties": { 24375 "actions": { 24376 "items": { 24377 "$ref": "#/components/schemas/WorkflowActionItemDto" 24378 }, 24379 "type": "array" 24380 }, 24381 "description": { 24382 "type": "string" 24383 }, 24384 "enabled": { 24385 "type": "boolean" 24386 }, 24387 "filters": { 24388 "items": { 24389 "$ref": "#/components/schemas/WorkflowFilterItemDto" 24390 }, 24391 "type": "array" 24392 }, 24393 "name": { 24394 "type": "string" 24395 }, 24396 "triggerType": { 24397 "allOf": [ 24398 { 24399 "$ref": "#/components/schemas/PluginTriggerType" 24400 } 24401 ] 24402 } 24403 }, 24404 "required": [ 24405 "actions", 24406 "filters", 24407 "name", 24408 "triggerType" 24409 ], 24410 "type": "object" 24411 }, 24412 "WorkflowFilterItemDto": { 24413 "properties": { 24414 "filterConfig": { 24415 "type": "object" 24416 }, 24417 "pluginFilterId": { 24418 "format": "uuid", 24419 "type": "string" 24420 } 24421 }, 24422 "required": [ 24423 "pluginFilterId" 24424 ], 24425 "type": "object" 24426 }, 24427 "WorkflowFilterResponseDto": { 24428 "properties": { 24429 "filterConfig": { 24430 "nullable": true, 24431 "type": "object" 24432 }, 24433 "id": { 24434 "type": "string" 24435 }, 24436 "order": { 24437 "type": "number" 24438 }, 24439 "pluginFilterId": { 24440 "type": "string" 24441 }, 24442 "workflowId": { 24443 "type": "string" 24444 } 24445 }, 24446 "required": [ 24447 "filterConfig", 24448 "id", 24449 "order", 24450 "pluginFilterId", 24451 "workflowId" 24452 ], 24453 "type": "object" 24454 }, 24455 "WorkflowResponseDto": { 24456 "properties": { 24457 "actions": { 24458 "items": { 24459 "$ref": "#/components/schemas/WorkflowActionResponseDto" 24460 }, 24461 "type": "array" 24462 }, 24463 "createdAt": { 24464 "type": "string" 24465 }, 24466 "description": { 24467 "type": "string" 24468 }, 24469 "enabled": { 24470 "type": "boolean" 24471 }, 24472 "filters": { 24473 "items": { 24474 "$ref": "#/components/schemas/WorkflowFilterResponseDto" 24475 }, 24476 "type": "array" 24477 }, 24478 "id": { 24479 "type": "string" 24480 }, 24481 "name": { 24482 "nullable": true, 24483 "type": "string" 24484 }, 24485 "ownerId": { 24486 "type": "string" 24487 }, 24488 "triggerType": { 24489 "allOf": [ 24490 { 24491 "$ref": "#/components/schemas/PluginTriggerType" 24492 } 24493 ] 24494 } 24495 }, 24496 "required": [ 24497 "actions", 24498 "createdAt", 24499 "description", 24500 "enabled", 24501 "filters", 24502 "id", 24503 "name", 24504 "ownerId", 24505 "triggerType" 24506 ], 24507 "type": "object" 24508 }, 24509 "WorkflowUpdateDto": { 24510 "properties": { 24511 "actions": { 24512 "items": { 24513 "$ref": "#/components/schemas/WorkflowActionItemDto" 24514 }, 24515 "type": "array" 24516 }, 24517 "description": { 24518 "type": "string" 24519 }, 24520 "enabled": { 24521 "type": "boolean" 24522 }, 24523 "filters": { 24524 "items": { 24525 "$ref": "#/components/schemas/WorkflowFilterItemDto" 24526 }, 24527 "type": "array" 24528 }, 24529 "name": { 24530 "type": "string" 24531 }, 24532 "triggerType": { 24533 "allOf": [ 24534 { 24535 "$ref": "#/components/schemas/PluginTriggerType" 24536 } 24537 ] 24538 } 24539 }, 24540 "type": "object" 24541 } 24542 } 24543 } 24544}