Schemathesis v4.30.1 ━━━━━━━━━━━━━━━━━━━━ ✅ Loaded specification from http://0.0.0.0:36907/api/spec.json (in 1.51s) Base URL: http://0.0.0.0:36907/api Specification: Open API 3.0.0 Operations: 277 selected / 279 total Configuration: /home/stranger6667/data/programming/workbench/target s/immich/schemathesis.toml ✅ API capabilities: Supports NULL byte in headers: ✘ Accepts backslash and control characters in URL paths: ✓ ❌ Examples (in 1.16s) ✅ 9 passed ❌ 21 failed ⏭ 247 skipped ❌ Coverage (in 173.40s) ✅ 17 passed ❌ 260 failed 🚫 Fuzzing (in 1707.82s) ✅ 11 passed ❌ 265 failed 🚫 1 error ❌ Stateful (in 1717.17s) Scenarios: 46503 API Links: 242 covered / 930 selected / 930 total ✅ 45197 passed ❌ 1306 failed ==================================== ERRORS ==================================== ______________________________ POST /sync/stream _______________________________ Network Error Connection failed Read timed out Need more help? Join our Discord server: https://discord.gg/R9ASRAmHnA =================================== FAILURES =================================== ___________________________ DELETE /activities/{id} ____________________________ 1. Test Case ID: 5XCwMW - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no activity.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/activities/00000000-0000-4000-8000-000000000000 2. Test Case ID: tlurSJ - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/activities/2ba97a65-9151-48a9-bcb2-61830a0d06ed ________________________ DELETE /admin/database-backups ________________________ 1. Test Case ID: eowskv - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/database-backups 2. Test Case ID: RAiC6g - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Invalid backup name!"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"backups": [""]}' http://0.0.0.0:36907/api/admin/database-backups 3. Test Case ID: 4fhHQr - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X DELETE -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"a": {"\udb25\udc71\ud8e7\udc26\ud84e\ude60": [], "vlI": [null, "", "rH4\ud813\udc8d"], "": false}, "\udab0\udea307\ud93d\udd0b\u00b8\u00e9\u0dac": {"\u00d7+/\u0090\u00cb\ufec8\u00b7\udb68\udda8\u00f3\u00eb\u00ad\udbce\udee7\u00ae\u001a\u00b6\ud9d2\udc78": [null]}, "\u00fb\u00d7\u00cf\u00cb\ud8a6\udec4": [[], {"\udb3b\udddb\r\ud9fc\ude84\ud84d\udee0\u00cb\u0084\u0010\u0084o\u59b3M\udb77\ude80\u00b2=\ud855\udcf8\u00a3\ud8b5\uddbb": true, "\u00af{f\r\ud90b\udf49\u0088\u00a7\u00f9\u0092\u00fdk\ud96e\udf73\u00e7\u0095\u00b3\u001a": 14699, "\udae4\udeef\udbff\udd32>\ud87a\udd78\udb3d\udce9\ud92c\udcef": ""}, 0.0], "backups": ["\udb99\udfb0\ud822\udd9b\uda1f\udc09\uda86\udd95\u00cc\u008a\u00af\ud860\udfb8(\u00f8\u00ce\u00ea\ud906\udd61j\ud863\udee3", "\u00e7", "g\u00b5>", "\u009c\u00e1\"", "", "", "\u0001\u0097", "\u0004x\uda49\udf7f\u0087", "\u0095"]}' http://0.0.0.0:36907/api/admin/database-backups _____________________ DELETE /admin/integrity/report/{id} ______________________ 1. Test Case ID: qXJDBB - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to delete integrity report"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/integrity/report/00000000-0000-7000-8000-000000000000 2. Test Case ID: KSJAQl - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/integrity/report/null%2Cnull ___________________________ DELETE /admin/users/{id} ___________________________ 1. Test Case ID: dcsx17 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"User not found"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"force": false}' http://0.0.0.0:36907/api/admin/users/251acf7c-d04e-42eb-a646-6a8925fb2ff9 2. Test Case ID: 0JCBmd - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"hd\u001b": "E\u0015\u00c8\u0099\u00a4\u0092a\u0088", "Ag\u001f": [], "\u0005\ud8ea\udd82\u0082 \u0017": {"~\u0083\u00fa\u008a\ud826\udd9e\u0014\u000b": -4941915403, "\uda8d\udf65\u00fb'"'"'\ud8ca\udf3c\u00b8\udbb4\ude09#": "-", "-\u0095-\u00d0\u00a2\u00d5": true}, "\u00b9\u00bc\ud9ff\udfb5": {}, "": {"\u00f7`\u001e\u00c1=?\u0001\ud855\udf2a\u00cf\u00ed\u0012\r\ud94e\uddcc\uda80\udfc3\u000e\u008d\ud928\udee7c\uda7a\udefe\u83cf`\u0084G\u008b\u00cd": {}, "\u00a8\udb7f\udd36": {"\u00be\u009e\u00af": [-12986, true]}, "P-\u00ad": {"\u00ab\u00fb\u00ed\u0007\u00a6": 229, "\u0014\u00d4r\u00a3\u0011\u0016n\u00d0": ""}}}' http://0.0.0.0:36907/api/admin/users/251acf7c-d04e-42eb-a646-6a8925fb2ff9 _____________________________ DELETE /albums/{id} ______________________________ 1. Test Case ID: u9dYXX - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no album.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/albums/8e223439-dddf-4a7f-a6ff-dd5e239a511b __________________________ DELETE /albums/{id}/assets __________________________ 1. Test Case ID: FTV8qG - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/albums/dbe499a2-9975-4621-83f6-5fcfa7ed4414/assets 2. Test Case ID: 2KsN8i - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X DELETE -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\udb68\udfeb\u00a8\u0084\udb03\udc61": {"\u1bc6": null}, "3\ud8d6\udceb\u009b=\ud8f9\udc1b\u00e7\u00b6W\uda18\udd1d\u00bd\u0090\u001f\u00be\u0019\u0003\ud96a\udf47 \u0087\udaad\udfae\u00f4\u007ft\u00bf\u00c5\t$": {"\u0090\u0086\u001f!\u009d\ud983\udee2\ud9d0\udee1\ud9d6\udd0e\u00a4,\u00ce\u0011P\ud8df\udfc5": []}, "": {"\u00ae-\u00b9\u00bf": "\u00ce2\udb36\udff3\u0081\u001c\u00c6", "": 4.088542967463461e+16, "v\u009f\u00e6\u009b\u00a8:\udb2b\udd18\u00cf\u00e8\u00da": null}, "/\u00d3\u0012\u00b6mB\udab2\ude1f\u00f7\u00c5\ud90d\udeec\u00ea": [], "6\ud9d9\udd85\u00a0\u00ab\u00eb\u00d1\u00c0\u00a9\u00ed\u00d8\u00a8\u0012b": {}, "ids": ["00000000-0000-4000-8000-000000000000"]}' http://0.0.0.0:36907/api/albums/c9acc498-5ddf-48d6-b7fc-f8542404cf63/assets 3. Test Case ID: Ww4xdD - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no albumAsset.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u0002y5\u00b7\u00aa\u0084\udbb0\udf65\u00b22\u0090%\u001c\u0005": [], "\ud87d\uddd4": [true], "\u00b8\u0016:\b\u960b\u00d9": [-1223547740], "\u0000`\ud954\udc0e\ud81f\udcb3\ud9ff\udc0b\ud91b\udfb8\udad8\udc45\u00cc\u00bc\u00f2": {"": "\u009d", "Q": "", "<\u00e0h\u00b4u+\uda3a\udf00": null}, "ids": ["0097ecaf-db7d-4f10-9d8a-76f5091b9b8b"]}' http://0.0.0.0:36907/api/albums/f3e7da2e-9ee3-4d09-9c40-902f4ee8ec02/assets ______________________ DELETE /albums/{id}/user/{userId} _______________________ 1. Test Case ID: DeudHi - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Album not shared with user"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/albums/b68f9873-0ac5-4fbb-ac51-cba2ee4febc6/user/251acf7c-d04e-42eb-a646-6a8925fb2ff9 2. Test Case ID: Rge08v - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/albums/2ddfcda5-dda9-4bd1-92d1-0a33785b402d/user/94517c21-99da-4c15-815f-b8456dbbeb91 ____________________________ DELETE /api-keys/{id} _____________________________ 1. Test Case ID: rCbS2T - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"API Key not found"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/api-keys/d4281a03-2762-4850-a1a0-314781795129 ___________________________ DELETE /asset-files/{id} ___________________________ 1. Test Case ID: 8MBxWN - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no assetFile.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/asset-files/00000000-0000-4000-8000-000000000000 2. Test Case ID: MGlVZx - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' http://0.0.0.0:36907/api/asset-files/6d300c0a-f26a-4350-bf37-b0cbf91f19af ________________________________ DELETE /assets ________________________________ 1. Test Case ID: KL9RR4 - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/assets 2. Test Case ID: zymlbb - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no asset.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": ["00000000-0000-4000-8000-000000000000"], "force": false}' http://0.0.0.0:36907/api/assets 3. Test Case ID: 66I5nP - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u0082\u008e'"'"'\u63c6\u0096<\u0099\udb7e\uddb1\u00d8\udb33\udcfa\u008f\u00e9i\u00a3\uda01\ude00\uda20\udff3\ud84c\ude2d6": [{}, 1.7976931348623157e+308, true], "%c": [0.0], "ids": ["00000000-0000-4000-8000-000000000000"]}' http://0.0.0.0:36907/api/assets ___________________________ DELETE /assets/metadata ____________________________ 1. Test Case ID: X6tnBW - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/assets/metadata 2. Test Case ID: hpBnRs - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no asset.update access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": [{"assetId": "00000000-0000-4000-8000-000000000000", "key": "[Filtered]"}]}' http://0.0.0.0:36907/api/assets/metadata 3. Test Case ID: WxC4xC - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"items": [{"\u0001\u0082\udae7\udd5e\u001e-?\u00f5\ud9a5\udd2a\u3eca\u00eb \ud854\udc5d\u00e8": null, "": {"\u0005\u0016\u0097": {"": 94531}, "": [-4.792820939888829e+268, 26239], "\u00a2\u00ff\uda39\ude61\ud88a\udc9a\u00826\u0088\u00b0": {"\u00d6F": [], "": 1.7140932664568274e+221}}, "Infinity": {"\ud95c\udf09\u00e2\u009cd\u009c2\u00e4O\u009f\u00ba,D '"'"'\u00c0\ud894\udee2Zq\u00dc": null}, "\u009b\u00cd\u009b\u00bf:)<": {"": false}, "\u00f1\u0004\u0011\u00d2\u00bd": [], "assetId": "0a9125a7-29c5-401b-8d6a-0b6f6aaa5b4b", "key": "[Filtered]"}, {"key": "[Filtered]", "assetId": "98ac7b8d-d415-4d5c-ad84-21d41037b0cd"}]}' http://0.0.0.0:36907/api/assets/metadata __________________________ DELETE /assets/{id}/edits ___________________________ 1. Test Case ID: KGnCNx - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no asset.edit.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/edits 2. Test Case ID: 97jRZq - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/assets/21636369-8b52-4b4a-97b7-50923ceb3ffd/edits ______________________ DELETE /assets/{id}/metadata/{key} ______________________ 1. Test Case ID: 9y1Fzr - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no asset.update access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/metadata/0 2. Test Case ID: aUuT4Q - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/assets/1c033633-f8cf-4427-8a6f-2d425dc16636/metadata/immich-plugin-core%23assetExifFilter __________________ DELETE /assets/{id}/video/stream/main.m3u8 __________________ 1. Test Case ID: N0KcJD - Unsupported methods Unsupported method DELETE returned 400, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["sessionId"],"message":"Invalid UUID"}]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/video/stream/main.m3u8?key=%5BFiltered%5D&slug=' _________________ DELETE /assets/{id}/video/stream/{sessionId} _________________ 1. Test Case ID: c4aGjV - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no asset.view access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/video/stream/c9d14b1a-beb3-4c5e-ad08-b8ffbc06d41d?key=%5BFiltered%5D&slug=' 2. Test Case ID: c7t6Ea - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Invalid share slug"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/cd649a48-b8c6-4427-b89b-62f69a17b939/video/stream/37819ba6-c138-422c-ac9e-b50c99d138e1?slug=l%C3%B7%C3%B7%C3%9Ce%F4%8B%95%95%C2%93%7C%40%F0%B2%A8%B1' 3. Test Case ID: pKLk03 - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"message":"Internal server error"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/f9e0b742-b53f-487a-8013-5771b7d72365/video/stream/6bd8bab1-c135-4b5e-aa2a-02744fcb37f6?slug=%00%C3%BC' ____________________________ DELETE /auth/pin-code _____________________________ 1. Test Case ID: TvAjPJ - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Wrong password"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"pinCode": "123456", "password": "[Filtered]"}' http://0.0.0.0:36907/api/auth/pin-code 2. Test Case ID: BgNJpP - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:36907/api/auth/pin-code _____________________ DELETE /cluster-groups/requests/{id} _____________________ 1. Test Case ID: HWooKl - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no clusterGroupRequest.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/cluster-groups/requests/00000000-0000-4000-8000-000000000000 2. Test Case ID: 2f7zlH - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/cluster-groups/requests/2b2a1c91-3462-4b2d-b14a-52da2e0e0bf9 ______________________________ DELETE /duplicates ______________________________ 1. Test Case ID: oI5mDW - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/duplicates 2. Test Case ID: 6m0n04 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no duplicate.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": ["00000000-0000-4000-8000-000000000000"]}' http://0.0.0.0:36907/api/duplicates 3. Test Case ID: a8Fijw - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X DELETE -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\udb21\udfc9\udaf2\udf5f\u001e": [], "ids": []}' http://0.0.0.0:36907/api/duplicates ___________________________ DELETE /duplicates/{id} ____________________________ 1. Test Case ID: A8qbll - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no duplicate.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/duplicates/00000000-0000-4000-8000-000000000000 2. Test Case ID: 28UTxE - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/duplicates/61509756-8bba-4307-8d4e-ef4373a3cd80 ______________________________ DELETE /faces/{id} ______________________________ 1. Test Case ID: V2zl4k - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no face.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"force": false}' http://0.0.0.0:36907/api/faces/00000000-0000-4000-8000-000000000000 2. Test Case ID: oBX7Ic - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"force": false}' http://0.0.0.0:36907/api/faces/c6d52d65-e836-4e5f-ad4e-0b626194f80d ____________________________ DELETE /libraries/{id} ____________________________ 1. Test Case ID: FUfV6f - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Library not found"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/libraries/00000000-0000-4000-8000-000000000000 2. Test Case ID: 9p1yvy - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/libraries/674a898f-2c57-4e5c-a062-27d6a6966a00 ____________________________ DELETE /memories/{id} _____________________________ 1. Test Case ID: Cgmr6V - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no memory.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/memories/fe1c5049-3c24-4979-91b4-6412fb8dd3f4 _________________________ DELETE /memories/{id}/assets _________________________ 1. Test Case ID: tbrwEw - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/memories/47f0e2d1-6bfb-49cf-9505-7a3105b465a8/assets 2. Test Case ID: g6SwAi - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": ["b286e8ec-f7f8-4dc3-b69f-6e4ad62f40bc"]}' http://0.0.0.0:36907/api/memories/dfc864fb-39cb-48b7-ac5c-9fbfe2da55b7/assets 3. Test Case ID: Vnh8dt - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 5 additional properties not defined in the schema (`N%尩€ø򣔷`, `“.󃙔‹󛂲`, `ß󇳟˜` and 2 more). The server appears to reject properties the schema allows. Declare `additionalProperties: false` if extras are not accepted, or make the server ignore unknown fields. [400] Bad Request: `{"message":"Not found or no memory.update access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\ud854\udfef\u00a5UZ\u009e\u00be\u00ef": [], "\u00e7\u009d\u001b/\u001d\u00c7\udab5\udcb6": -2.6754839596921348e+16, "\u00df\udadf\udcdf\u0098": [], "\u0093.\udacd\ude54\u008b\udb2c\udcb2": {"_": "\u0019P", "*\u000e\u156c:\u00c6": 166, "\u00c7\u00a9\u00c7\uda64\uddb5\u00e2]": 551569}, "\u007fN%\u5c29\u0080\u00f8\uda4d\udd37": [{"\u0006\ud897\udd19": 266875, "\u00a1=N\udb01\udd0cY\u00b1": -2503628631168385.0}], "ids": ["00000000-0000-4000-8000-000000000000"]}' http://0.0.0.0:36907/api/memories/f2e47b75-0c38-4b6e-bde9-b0a8446f56b8/assets ____________________________ DELETE /notifications _____________________________ 1. Test Case ID: WDm942 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no notification.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": ["befc8b63-7c1d-43e7-9cb0-6ea6251be12b"]}' http://0.0.0.0:36907/api/notifications 2. Test Case ID: 0CcYIT - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": {"\u00e4@g\u0014\u00cc\udb1a\udd70\u00bb\u00b5\ud9c8\udd65": null, "\u00a5\u00be\ud991\udd5c\u0088C\u009f\ud868\ude8f\u00a2\u0085": [true, 3.2269835174030025e-125]}, "\uda1c\ude4aG1k\u0013w\u0003\ud870\udfb3*\u009a\u0089\u0019a": {}, "\udaf1\udca1\u001a{\u00f0\uda6a\udde0.\u00fa\u009c\u00e6\u0090\u001d\u00b8\u00fb\u008f\ud85f\udd95\udb6b\udd32xK\u0014%\u001c": [":\u00be\u00d8\u7dd0\u00be", -7654, null], "\u009a\u00bc\u00b9": {"L": [], "": {"H\ud8a9\uddc5": 4.313949098595383e+72, "0\u0082K\u00dd\uda92\uddc2\u00d7\u00df": 8028, "\u0096\u009f\u00e2\uda8b\udf52,xs\ud9e2\udf7e7S\udac0\udc0e\u00a9\u0092T": {}}, "J\udb8b\ude22\u00a2\u00a1\u00c1\u00d6,'"'"'\u00f7#\u0084\u00c6\u00fd\ud9bf\udeab\b\u00ef\udbe5\udc79": {"\u0090\u00a0": null, "\u00ab)k": "\u00ad\u001c\u00d0\u00e9\u00cd"}}, "u\u0084": 205, "ids": ["715aab82-2065-4887-a8aa-ffbb4d476c8e"]}' http://0.0.0.0:36907/api/notifications __________________________ DELETE /notifications/{id} __________________________ 1. Test Case ID: aLr7hA - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no notification.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/notifications/00000000-0000-4000-8000-000000000000 2. Test Case ID: HaIi04 - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/notifications/23d62cf7-60fd-40f8-97e1-89695d2b0934 ____________________________ DELETE /partners/{id} _____________________________ 1. Test Case ID: 8XsGLE - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Partner not found"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/partners/00000000-0000-4000-8000-000000000000 2. Test Case ID: 06LQQq - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/partners/531f8530-5cee-463b-bc80-a22e757095dc ________________________________ DELETE /people ________________________________ 1. Test Case ID: nW1LIY - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/people 2. Test Case ID: yCFGLr - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"message":"Failed to delete people"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": ["00000000-0000-4000-8000-000000000000"], "userId": ""}' http://0.0.0.0:36907/api/people 3. Test Case ID: YyT4y9 - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u00c0\uda15\ude61\ud841\udfec\u00a7\u0014\uda84\ude3aI\ud96a\udd17U5\u0090C\u00ea": {}, "": {}, "userId": "X\fCql", "ids": ["388e8a3c-4cf7-4b2b-b021-8213454d7f6b"]}' http://0.0.0.0:36907/api/people 4. Test Case ID: QRaAPA - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 2 additional properties not defined in the schema (`©`, `ß򎂤`). The server appears to reject properties the schema allows. Declare `additionalProperties: false` if extras are not accepted, or make the server ignore unknown fields. [400] Bad Request: `{"message":"Not found or no person.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u00df\ud9f8\udca4": [], "\u00a9": {}, "ids": ["16a958ec-c5f7-4b23-89cb-e56deea5362d"]}' http://0.0.0.0:36907/api/people _____________________________ DELETE /people/users _____________________________ 1. Test Case ID: YDAnp3 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no person.update access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '[{"personId": "00000000-0000-1000-8000-000000000000", "sharedWithId": "00000000-0000-1000-8000-000000000000", "sharedById": "00000000-0000-1000-8000-000000000000"}]' http://0.0.0.0:36907/api/people/users 2. Test Case ID: 2IrC38 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -d '[]' http://0.0.0.0:36907/api/people/users _____________________________ DELETE /people/{id} ______________________________ 1. Test Case ID: FP2pYb - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no person.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:36907/api/people/25feff08-3f8f-48c5-a317-f1866a73a47f 2. Test Case ID: g5AmMt - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X DELETE -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\ud808\udfecD\u009e\u0080\u00a3\ud868\udd41\u00d5\u0004\u000bv7\u00d4": {"\u00a2\ud92e\udd89\u00c4\ud856\uddad\uda13\udee34": [true]}, "": {}, "t\u00ef\u00db": false, "\ud809\udd1a\u0006\ud99d\udd62\u00a06\u00ec\u00c2\u0019": [{"g#\u00e0\u00bao": "\n\u00e0", "\u0082\u00b8\u0094\u00cc\b\u000e\u00a1": "J\uc2f5\u0006", "\ud9df\udf14\u00cb\u00b5\u001b": "'"'"'C"}], "\udbb6\ude02\u009au\udaf1\udcaf": {"\ud8e5\udeb6\ud95e\udcbd\uda47\udcad!\u00158": {"\u0094\ud907\udff2?\ubbee": true, "\u0005\u001c\u4300SQH": null}, "Inf": "\u00ea", "\u31df": {"\ud9b8\udea6>": -3.416247307611149e+202}}, "userId": "7e6e7f97-6ac2-41db-9659-a47c27982a08"}' http://0.0.0.0:36907/api/people/5e08a703-a957-4886-b771-74f814cf557a 3. Test Case ID: BxhQb1 - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"message":"Failed to delete person"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u00c5": true, "\u00d6\ud8cd\udd4b\u0096s\u000e\u00b1@\u000b\u008c\u00d3\ud97c\ude2a\u00e8": [], "": [["\ud8a7\udee4\u00ee\u00ffp", -1.41369665842541e+16, -2.5322516072316816e+16], [2133]], "n\"!\u00b3\u00dfE\u00a3\u00a0\u0003\ud99a\udd25\u009fZ\u00f7\u001cD": false, "0\u008b": [], "userId": "\ud829\udd56\u001f"}' http://0.0.0.0:36907/api/people/ac2b0bf9-8e01-4ff2-8161-d1e7a476d895 __________________________ DELETE /queues/{name}/jobs __________________________ 1. Test Case ID: jJbdfV - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/queues/faceDetection/jobs ____________________________ DELETE /server/license ____________________________ 1. Test Case ID: QRohFG - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/server/license _______________________________ DELETE /sessions _______________________________ 1. Test Case ID: eZFq2g - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/sessions ____________________________ DELETE /sessions/{id} _____________________________ 1. Test Case ID: btngMk - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no authDevice.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/sessions/43df5d9c-c4d9-4bb4-ab34-e554475a5996 2. Test Case ID: IZcJn9 - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/sessions/cdac2fcd-9506-4c9f-a747-9e7b97fb64ab __________________________ DELETE /shared-links/{id} ___________________________ 1. Test Case ID: j5zVVa - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Shared link not found"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/shared-links/00000000-0000-4000-8000-000000000000 2. Test Case ID: NZt5rJ - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/shared-links/d95bafc8-f2a4-427b-9cf4-bb99f4bea973 _______________________ DELETE /shared-links/{id}/assets _______________________ 1. Test Case ID: cQLETU - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Shared link not found"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"assetIds": []}' http://0.0.0.0:36907/api/shared-links/00000000-0000-4000-8000-000000000000/assets 2. Test Case ID: 12BvfH - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"assetIds": []}' http://0.0.0.0:36907/api/shared-links/ab23aae1-8b14-4af8-88ed-e74a935a3600/assets ________________________________ DELETE /stacks ________________________________ 1. Test Case ID: q8gWva - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"message":"Failed to delete stacks"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": []}' http://0.0.0.0:36907/api/stacks 2. Test Case ID: MjE1LQ - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/stacks 3. Test Case ID: pcjCqI - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no stack.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": ["00000000-0000-4000-8000-000000000000"]}' http://0.0.0.0:36907/api/stacks 4. Test Case ID: qKsZfc - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": []}' http://0.0.0.0:36907/api/stacks _____________________________ DELETE /stacks/{id} ______________________________ 1. Test Case ID: Bj3Ya9 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no stack.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/stacks/00000000-0000-4000-8000-000000000000 2. Test Case ID: bkHk42 - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/stacks/e7196a43-d78e-4ae6-a10b-83a8d18e8204 _____________________ DELETE /stacks/{id}/assets/{assetId} _____________________ 1. Test Case ID: 9jcMvo - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no stack.update access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/stacks/00000000-0000-4000-8000-000000000000/assets/00000000-0000-4000-8000-000000000000 2. Test Case ID: p5Lfwa - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/stacks/f728b4fa-4248-4e3a-8a5d-2f346baa9455/assets/e3e70682-c209-4cac-a29f-6fbed82c07cd _______________________________ DELETE /sync/ack _______________________________ 1. Test Case ID: M2CFKY - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"message":"Failed to delete sync ack"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"types": []}' http://0.0.0.0:36907/api/sync/ack 2. Test Case ID: TUkmtE - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/sync/ack 3. Test Case ID: rrnTTX - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": null}' http://0.0.0.0:36907/api/sync/ack ______________________________ DELETE /tags/{id} _______________________________ 1. Test Case ID: b6HD0n - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no tag.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/tags/3a2f72c7-66e9-457d-aed3-795a1d5a1b86 2. Test Case ID: P5Cszt - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/tags/559be9c2-bc8d-4759-b342-e7eaf82f10ee ___________________________ DELETE /tags/{id}/assets ___________________________ 1. Test Case ID: depOn6 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no tag.asset access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": ["00000000-0000-4000-8000-000000000000"]}' http://0.0.0.0:36907/api/tags/3a2f72c7-66e9-457d-aed3-795a1d5a1b86/assets 2. Test Case ID: a2ZvnZ - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -d '{"\ud842\udede\ued1d\uda64\udec8`\uda04\ude678Gi\u0087": {"\u001d\u00d8\udb1b\udfb53\u00fa\ud9d3\udcc7\u00db\u0017": -5.960464477539063e-08, "\u00f6\ud982\ude08\ud89f\udea9": {}}, "\u00fc\u00f4\ud938\udde2\u0015\u0084\u0082Et\u00f5k\u00b4\uda06\uddee\u00f2(@\uda11\uddcc\u00bf\u00de\u0093O\u0080\u009d^": [], "\u000b\u00f0\u00e6D\uda21\udc3dO\u0091\u00ef?o": 0.99999, "e\udbc7\udc2e$\ud90d\udc4d /\u00f3\ud9b0\udf88": 5093683542, "ids": ["0097ecaf-db7d-4f10-9d8a-76f5091b9b8b"]}' http://0.0.0.0:36907/api/tags/1fce1b41-8d62-47b4-a296-64d2ba42fafc/assets ___________________________ DELETE /users/me/license ___________________________ 1. Test Case ID: 2sVjhG - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/me/license _________________________ DELETE /users/me/onboarding __________________________ 1. Test Case ID: p9qn0Z - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/me/onboarding _________________________ DELETE /users/profile-image __________________________ 1. Test Case ID: PJBlG0 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Can't delete a missing profile Image"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/profile-image 2. Test Case ID: 9NCpZV - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/profile-image ____________________________ DELETE /workflows/{id} ____________________________ 1. Test Case ID: zYAxRz - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no workflow.delete access"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/workflows/d60aee01-fadb-4210-8079-6c2181c892d0 _______________________________ GET /activities ________________________________ 1. Test Case ID: RFVERv - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"string","code":"invalid_type","path":["userId"],"message":"Invalid input: expected string, received array"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/activities?userId=null&userId=null&albumId=e878500b-2f49-466f-a94d-ba062e32c150' 2. Test Case ID: HnObNE - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X GET -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/activities?type=comment&albumId=b8b98b19-9645-4878-a0c3-ef5d409a1755&userId=251acf7c-d04e-42eb-a646-6a8925fb2ff9' 3. Test Case ID: zrqQ58 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no album.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/activities?albumId=41e26489-d8b2-42c1-b86d-a2907f82f1a6' __________________________ GET /activities/statistics __________________________ 1. Test Case ID: mX6heu - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"string","code":"invalid_type","path":["albumId"],"message":"Invalid input: expected string, received array"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/activities/statistics?albumId=null&albumId=null' 2. Test Case ID: JM8Jpj - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/activities/statistics?albumId=b8b98b19-9645-4878-a0c3-ef5d409a1755' 3. Test Case ID: WfbmAb - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no album.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/activities/statistics?assetId=6ae3a778-f8fe-4ac9-a29d-cd529cd56c89&albumId=c26ac71b-8e70-4d5a-8139-967938eb4144' ______________________________ GET /admin/config _______________________________ 1. Test Case ID: P2BZP1 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' http://0.0.0.0:36907/api/admin/config __________________________ GET /admin/config/defaults __________________________ 1. Test Case ID: NlYNqn - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/config/defaults _________________________ GET /admin/database-backups __________________________ 1. Test Case ID: pEhbxR - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/database-backups ____________________ GET /admin/database-backups/{filename} ____________________ 1. Test Case ID: 1QwLBk - Undocumented Content-Type Received: application/gzip Documented: application/octet-stream [200] OK: Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/database-backups/immich-db-backup-20261010T190159-v3.3.0-pg14.19.sql.gz 2. Test Case ID: lon0TL - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"regex","pattern":"/^[a-zA-Z0-9_\\-.]+$/","path":["filename"],"message":"Filename contains invalid characters"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/database-backups/null%2Cnull 3. Test Case ID: oq2sLU - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/database-backups/immich-db-backup-20261010T190144-v3.3.0-pg14.19.sql.gz 4. Test Case ID: 7jWCI9 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"message":"Not Found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/database-backups/0 _________________________ GET /admin/integrity/report __________________________ 1. Test Case ID: OLG2Ik - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to get integrity report"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/admin/integrity/report?type=untracked_file&cursor=&limit=500' 2. Test Case ID: Rv13Iz - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"number","code":"too_small","minimum":0,"inclusive":false,"path":["limit"],"message":"Too small: expected number to be >0"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/admin/integrity/report?limit=0&type=missing_file' 3. Test Case ID: 2gOuAu - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/admin/integrity/report?cursor=%C2%A2&limit=50943679322410&type=untracked_file' ____________________ GET /admin/integrity/report/{id}/file _____________________ 1. Test Case ID: 5ZRLrh - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"message":"Not Found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/integrity/report/00000000-0000-7000-8000-000000000000/file 2. Test Case ID: ft9j44 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/integrity/report/null%2Cnull/file ____________________ GET /admin/integrity/report/{type}/csv ____________________ 1. Test Case ID: VwirMs - Undocumented Content-Type Received: text/csv; charset=utf-8 Documented: application/octet-stream [200] OK: `id,type,assetId,fileAssetId,path` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/integrity/report/untracked_file/csv 2. Test Case ID: MIznWT - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"invalid_value","values":["untracked_file","missing_file","checksum_mismatch"],"path":["type"],"message":"Invalid option: expected one of \"untracked_file\"|\"missing_file\"|\"checksum_mismatch\""}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/integrity/report/AAA/csv 3. Test Case ID: IPfO0z - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/integrity/report/missing_file/csv _________________________ GET /admin/integrity/summary _________________________ 1. Test Case ID: bZN0tz - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/integrity/summary ____________________ GET /admin/maintenance/detect-install _____________________ 1. Test Case ID: BSOUiz - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/maintenance/detect-install _______________________________ GET /admin/users _______________________________ 1. Test Case ID: dFVlcs - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"string","code":"invalid_type","path":["withDeleted"],"message":"Invalid input: expected string, received array"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/admin/users?withDeleted=null&withDeleted=null' 2. Test Case ID: 3iJOxy - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:36907/api/admin/users?id=127e5cc0-ad6d-4471-bc0c-6d15fc8bba91' ____________________________ GET /admin/users/{id} _____________________________ 1. Test Case ID: cF39IP - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/users/null%2Cnull 2. Test Case ID: YnzwL8 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"User not found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/users/21636369-8b52-4b4a-97b7-50923ceb3ffd 3. Test Case ID: HF4uR1 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/users/e3e739e8-aaa8-408d-a82e-8b4603e32eba ____________________ GET /admin/users/{id}/calendar-heatmap ____________________ 1. Test Case ID: tePRYF - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"User not found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/admin/users/3fdca0b0-f0ad-486b-8cc6-630e5c4065db/calendar-heatmap?from=2024-01-01&to=2024-01-01&type=Taken' 2. Test Case ID: ZtCo7n - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/admin/users/ba023dd6-57ec-4c12-98e7-fa06eae57545/calendar-heatmap?type=Upload' ______________________ GET /admin/users/{id}/preferences _______________________ 1. Test Case ID: r2jRMs - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/users/null%2Cnull/preferences 2. Test Case ID: 6V8DtY - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/admin/users/251acf7c-d04e-42eb-a646-6a8925fb2ff9/preferences 3. Test Case ID: 0DMAmW - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"User not found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/users/33f2f400-b665-4545-810f-1dd409f501a1/preferences ________________________ GET /admin/users/{id}/sessions ________________________ 1. Test Case ID: BpT0w8 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/users/null%2Cnull/sessions 2. Test Case ID: novtxL - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/users/127e5cc0-ad6d-4471-bc0c-6d15fc8bba91/sessions _______________________ GET /admin/users/{id}/statistics _______________________ 1. Test Case ID: FtJ2DV - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"invalid_value","values":["archive","timeline","hidden","locked"],"path":["visibility"],"message":"Invalid option: expected one of \"archive\"|\"timeline\"|\"hidden\"|\"locked\""}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/admin/users/251acf7c-d04e-42eb-a646-6a8925fb2ff9/statistics?visibility=AAA' 2. Test Case ID: FZ6NKb - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/users/2355a867-00f5-4d13-98dd-56c99ebfe1f3/statistics _________________________________ GET /albums __________________________________ 1. Test Case ID: 0U2wFl - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"string","code":"invalid_type","path":["isShared"],"message":"Invalid input: expected string, received array"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/albums?isShared=null&isShared=null' 2. Test Case ID: v64CjF - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/albums?id=b8b98b19-9645-4878-a0c3-ef5d409a1755' ____________________________ GET /albums/statistics ____________________________ 1. Test Case ID: m9ODNQ - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/albums/statistics _______________________________ GET /albums/{id} _______________________________ 1. Test Case ID: cBVPph - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/albums/null%2Cnull?key=%5BFiltered%5D&slug=' 2. Test Case ID: RKNPTE - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no album.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/albums/e9d4bceb-2e7c-4aea-850e-820c2ca77fae 3. Test Case ID: alVfFH - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid share key"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/albums/81b6cc98-6fd6-4d1a-a025-683ffa280979?key=%5BFiltered%5D' _________________________ GET /albums/{id}/map-markers _________________________ 1. Test Case ID: yaOLqH - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/albums/null%2Cnull/map-markers?key=%5BFiltered%5D&slug=' 2. Test Case ID: wBJyaL - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid share key"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/albums/a7910d87-3367-41b8-a7b3-30a608936bbe/map-markers?slug=%C3%AE&key=%5BFiltered%5D' 3. Test Case ID: 10dveq - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no album.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/albums/0ff3d1f9-032f-479f-9b48-88d638df7e44/map-markers ________________________________ GET /api-keys _________________________________ 1. Test Case ID: ndal6H - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/api-keys _______________________________ GET /api-keys/me _______________________________ 1. Test Case ID: 99EBl8 - Undocumented HTTP status code Received: 403 Documented: 200 [403] Forbidden: `{"message":"Not authenticated with an API Key"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/api-keys/me 2. Test Case ID: VHnHBm - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/api-keys/me ______________________________ GET /api-keys/{id} ______________________________ 1. Test Case ID: JP45TR - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/api-keys/null%2Cnull 2. Test Case ID: EP5XM6 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"API Key not found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/api-keys/b188efe5-7c10-47fd-bb52-f4a39efaaca2 3. Test Case ID: sXHHX2 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/api-keys/dcb78bc6-4046-4759-9146-ce36160909d8 _______________________________ GET /asset-files _______________________________ 1. Test Case ID: cMoEnC - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no asset.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/asset-files?assetId=00000000-0000-4000-8000-000000000000&type=fullsize&isEdited=true&isProgressive=true&isTransparent=true' 2. Test Case ID: AJrN2q - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:36907/api/asset-files?assetId=795b929e-9a9a-40fd-aa7b-5bf55eb561a4' ____________________________ GET /asset-files/{id} _____________________________ 1. Test Case ID: 75r4wD - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no assetFile.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/asset-files/00000000-0000-4000-8000-000000000000 2. Test Case ID: 4sRwDO - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X GET -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/asset-files/05e1cb99-9ae9-45c1-bdc8-d774cab3b8c3 ________________________ GET /asset-files/{id}/download ________________________ 1. Test Case ID: 3CoHNf - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"message":"Not Found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/asset-files/00000000-0000-4000-8000-000000000000/download 2. Test Case ID: JVRli6 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/asset-files/null%2Cnull/download 3. Test Case ID: NDNpq8 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/asset-files/a21bc611-4d5d-41db-937e-ceb265392729/download ____________________________ GET /assets/statistics ____________________________ 1. Test Case ID: IWvRzW - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"invalid_value","values":["archive","timeline","hidden","locked"],"path":["visibility"],"message":"Invalid option: expected one of \"archive\"|\"timeline\"|\"hidden\"|\"locked\""}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/statistics?visibility=AAA' 2. Test Case ID: XYrgE8 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Elevated permission is required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/statistics?visibility=locked' _______________________________ GET /assets/{id} _______________________________ 1. Test Case ID: Girwxe - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no asset.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000?key=%5BFiltered%5D&slug=' 2. Test Case ID: J3p21Q - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid share key"}` Reproduce with: curl -X GET -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/2c175ab4-1e9f-46f0-955f-1bb98c21c77c?slug=%C2%A6Z+X&key=%5BFiltered%5D' ____________________________ GET /assets/{id}/edits ____________________________ 1. Test Case ID: EXEZNu - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no asset.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/edits 2. Test Case ID: pdIYOz - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/assets/204b88f8-3bab-43e9-9a2f-07402ea2bacd/edits __________________________ GET /assets/{id}/metadata ___________________________ 1. Test Case ID: jWdBkk - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no asset.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/metadata 2. Test Case ID: osvvw6 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/assets/ae43f87c-57ba-4b92-90ac-ac1dca109c23/metadata _______________________ GET /assets/{id}/metadata/{key} ________________________ 1. Test Case ID: uXwY71 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no asset.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/metadata/0 2. Test Case ID: eRmGYd - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/assets/fc32f72e-8760-4580-8474-0aaba992f7ea/metadata/0 _____________________________ GET /assets/{id}/ocr _____________________________ 1. Test Case ID: 4Kdw93 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no asset.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/ocr 2. Test Case ID: nOtZrP - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/assets/7b91f419-b61e-4f56-8087-3fe674dc58b0/ocr __________________________ GET /assets/{id}/original ___________________________ 1. Test Case ID: ur2JwO - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"message":"Not Found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/original?edited=true&key=%5BFiltered%5D&slug=' 2. Test Case ID: alvLT1 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"string","code":"invalid_type","path":["edited"],"message":"Invalid input: expected string, received array"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/original?edited=null&edited=null' 3. Test Case ID: UnFDk1 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/39149267-cc88-4c42-9378-60ad474634d3/original?edited=false' __________________________ GET /assets/{id}/thumbnail __________________________ 1. Test Case ID: kK7XNs - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"message":"Not Found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/thumbnail?size=original&edited=true&key=%5BFiltered%5D&slug=' 2. Test Case ID: tHQWHo - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no asset.view access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/thumbnail?edited=true&key=%5BFiltered%5D' 3. Test Case ID: c7g9Fs - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid share key"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/036947c6-31d1-4c65-bcf4-973e96ae98ab/thumbnail?size=thumbnail&key=%5BFiltered%5D' 4. Test Case ID: sTuvTZ - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Internal server error"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/%C2%A0/thumbnail?slug=%F2%92%95%84%00%C2%AC4w%C3%88&edited=false&size=%C3%BB%C2%81%5D' _______________________ GET /assets/{id}/video/playback ________________________ 1. Test Case ID: VQtkwS - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"message":"Not Found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/video/playback?key=%5BFiltered%5D&slug=' 2. Test Case ID: THSaqa - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/null%2Cnull/video/playback?key=%5BFiltered%5D&slug=' 3. Test Case ID: hDIGR6 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid share key"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/21636369-8b52-4b4a-97b7-50923ceb3ffd/video/playback?key=%5BFiltered%5D' ___________________ GET /assets/{id}/video/stream/main.m3u8 ____________________ 1. Test Case ID: SXVyOn - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no asset.view access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/video/stream/main.m3u8?key=%5BFiltered%5D&slug=' 2. Test Case ID: NTO4F3 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid share key"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/%C3%9F/video/stream/main.m3u8?key=%5BFiltered%5D' 3. Test Case ID: GGgVWw - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Internal server error"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/L%5D/video/stream/main.m3u8?slug=%5B%F0%92%B8%ACO%C2%AE%C3%B0%2F%3E%00U%C3%BE' ____ GET /assets/{id}/video/stream/{sessionId}/{variantIndex}/playlist.m3u8 ____ 1. Test Case ID: DnKqfg - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no asset.view access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/video/stream/d6b2cce9-d060-4deb-99a6-20486470686a/0/playlist.m3u8?key=%5BFiltered%5D&slug=' 2. Test Case ID: Sqlaon - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid share key"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/2cf4810f-f725-4c01-9bb6-dc6356956e20/video/stream/acee5431-ccc5-47fe-aa38-8d69e8dbac9e/136/playlist.m3u8?key=%5BFiltered%5D&slug=l' _____ GET /assets/{id}/video/stream/{sessionId}/{variantIndex}/{filename} ______ 1. Test Case ID: MeuNgH - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"message":"Not Found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/video/stream/df6ac163-c49d-468c-8d2a-07660bf22f64/0/init.mp4?key=%5BFiltered%5D&slug=' 2. Test Case ID: KogGd1 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"number","code":"invalid_type","received":"NaN","path":["x-immich-hls-msn"],"message":"Invalid input: expected number, received NaN"}]}` Reproduce with: curl -X GET -H 'x-immich-hls-msn: {}' -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/video/stream/df6ac163-c49d-468c-8d2a-07660bf22f64/0/init.mp4?key=%5BFiltered%5D&slug=' 3. Test Case ID: 8eZJqj - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid share key"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/055eebb6-6fbb-4a9a-bd31-9fda2cab3819/video/stream/b681ab2c-21b0-432e-a04b-57a9df692d30/32497687/init.mp4?key=%5BFiltered%5D&slug=%06%F4%8B%B7%83%C3%AC' _______________________________ GET /auth/status _______________________________ 1. Test Case ID: PfJke1 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/auth/status _________________________ GET /cluster-groups/requests _________________________ 1. Test Case ID: fe3079 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/cluster-groups/requests ______________________ GET /cluster-groups/{id}/requests _______________________ 1. Test Case ID: bCbOvw - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no clusterGroup.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/cluster-groups/00000000-0000-4000-8000-000000000000/requests 2. Test Case ID: F56Hf3 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/cluster-groups/fe342a0c-c2ae-4f65-bfd8-19c030033c09/requests ________________________ GET /cluster-groups/{id}/users ________________________ 1. Test Case ID: oXQzW3 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no clusterGroup.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/cluster-groups/00000000-0000-4000-8000-000000000000/users 2. Test Case ID: BFCoSy - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/cluster-groups/12c706db-4141-4b23-ab17-b4dec6db5023/users _________________________________ GET /config __________________________________ 1. Test Case ID: uB8oZd - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/config _____________________________ GET /config/defaults _____________________________ 1. Test Case ID: QovChq - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/config/defaults _______________________________ GET /duplicates ________________________________ 1. Test Case ID: QwrRzd - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/duplicates __________________________________ GET /faces __________________________________ 1. Test Case ID: Qb1bCq - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no asset.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/faces?id=00000000-0000-4000-8000-000000000000' 2. Test Case ID: ej5rBU - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/faces?id=5c6e4337-15ba-4bdd-9772-19d30e7a269f' __________________________________ GET /jobs ___________________________________ 1. Test Case ID: YPVIUg - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/jobs ________________________________ GET /libraries ________________________________ 1. Test Case ID: BPQSjf - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/libraries _____________________________ GET /libraries/{id} ______________________________ 1. Test Case ID: 4goUPI - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Library not found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/libraries/00000000-0000-4000-8000-000000000000 2. Test Case ID: zeSvyy - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/libraries/ad38835e-ddd6-4f55-afa7-3207237751aa ________________________ GET /libraries/{id}/statistics ________________________ 1. Test Case ID: 8XdAyN - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Library 00000000-0000-4000-8000-000000000000 not found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/libraries/00000000-0000-4000-8000-000000000000/statistics 2. Test Case ID: 8Vzngi - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/libraries/a3597161-460c-4c3d-b6a8-d5cf7b685e0f/statistics _______________________________ GET /map/markers _______________________________ 1. Test Case ID: 51xSUF - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"string","code":"invalid_type","path":["withSharedAlbums"],"message":"Invalid input: expected string, received array"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/map/markers?withSharedAlbums=null&withSharedAlbums=null' 2. Test Case ID: ubjaBZ - API accepted schema-violating request Invalid data should have been rejected Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx Invalid component: parameter `fileCreatedBefore` in query - fileCreatedBefore: Value not matching the 'date-time' format [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/map/markers?fileCreatedBefore=0020-02-29T00%3A00Z' 3. Test Case ID: w7vuHj - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/map/markers ___________________________ GET /map/reverse-geocode ___________________________ 1. Test Case ID: 3aQAiK - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"number","code":"invalid_type","received":"NaN","path":["lon"],"message":"Invalid input: expected number, received NaN"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/map/reverse-geocode?lat=0' 2. Test Case ID: 4duMpy - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/map/reverse-geocode?lat=0.44362016480473404&lon=0.0' 3. Test Case ID: N9witd - API accepted schema-violating request Invalid data should have been rejected Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx Invalid component: parameter `lat` in query - violates `type` at /properties/lat (was number, became object) [200] OK: `[{"country":null,"state":null,"city":null}]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/map/reverse-geocode?lon=-2.2250738585072014e-308&lat=' 4. Test Case ID: 9XJibV - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to reverse geocode"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/map/reverse-geocode?lat=4.013667165220422e-68&lon=-5e-324' 5. Test Case ID: 5rMVxJ - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"number","code":"too_small","minimum":-180,"inclusive":true,"path":["lon"],"message":"Too small: expected number to be >=-180"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/map/reverse-geocode?lon=-2.4090018444761984e%2B16&lat=-2.718757799035032e-107' ________________________________ GET /memories _________________________________ 1. Test Case ID: Mrmbym - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"invalid_value","values":["on_this_day","birthday"],"path":["type"],"message":"Invalid option: expected one of \"on_this_day\"|\"birthday\""}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/memories?type=AAA' 2. Test Case ID: j3ioSR - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/memories?id=106df5e3-710a-4237-8eed-f7963758da9f' ___________________________ GET /memories/statistics ___________________________ 1. Test Case ID: 0igICB - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"invalid_value","values":["on_this_day","birthday"],"path":["type"],"message":"Invalid option: expected one of \"on_this_day\"|\"birthday\""}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/memories/statistics?type=AAA' 2. Test Case ID: Pm5esT - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:36907/api/memories/statistics?for=2024-01-01' ______________________________ GET /memories/{id} ______________________________ 1. Test Case ID: doQx6p - Response violates schema null is not of type "string" Validated against the response schema for status code 200. Schema at /components/schemas/MemoryResponseDto/properties/showAt: { "type": "string", "description": "Date when memory should be shown", "example": "2024-01-01T00:00:00.000Z", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468... } Value: null [200] OK: `{"id":"7692d48f-2959-46a7-bbb6-6406d7fd1e5b","createdAt":"2026-10-10T19:02:27.196Z","updatedAt":"2026-10-10T19:02:27.196Z","memoryAt":"2024-01-01T00:00:00.000Z","seenAt":"2024-01-01T00:00:00.000Z","showAt":null,"hideAt":"2024-01-01T00:00:00.000Z","ownerId":"127e5cc0-ad6d-4471-bc0c-6d15fc8bba91","type":"on_this_day","data":{"year":1000,"personId":"00000000-0000-4000-8000-000000000000","personName":""},"isSaved":false,"assets":[]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/memories/7692d48f-2959-46a7-bbb6-6406d7fd1e5b 2. Test Case ID: OOql4D - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/memories/null%2Cnull 3. Test Case ID: qIWE1z - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X GET -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/memories/d4669aa4-850f-48cc-90f0-48172f6cda0e 4. Test Case ID: 0a8RBX - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no memory.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/memories/466832e2-c2be-4fbb-8f65-b9a16137681a ______________________________ GET /notifications ______________________________ 1. Test Case ID: rjkSZ3 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"string","code":"invalid_type","path":["unread"],"message":"Invalid input: expected string, received array"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/notifications?unread=null&unread=null' 2. Test Case ID: 71B4az - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/notifications?type=BackupFailed' ___________________________ GET /notifications/{id} ____________________________ 1. Test Case ID: hChSng - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no notification.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/notifications/00000000-0000-4000-8000-000000000000 2. Test Case ID: KqesaV - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/notifications/5ac3e903-5c1e-47dd-a6db-d685de1a0c52 __________________________ GET /oauth/mobile-redirect __________________________ 1. Test Case ID: bqMMqO - Undocumented HTTP status code Received: 307 Documented: 200 [307] Temporary Redirect: `Temporary Redirect. Redirecting to app.immich:///oauth-callback?` Reproduce with: curl -X GET http://0.0.0.0:36907/api/oauth/mobile-redirect ________________________________ GET /partners _________________________________ 1. Test Case ID: E4mDuP - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"invalid_value","values":["shared-by","shared-with"],"path":["direction"],"message":"Invalid option: expected one of \"shared-by\"|\"shared-with\""}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/partners 2. Test Case ID: WIUFf6 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/partners?direction=shared-by' _________________________________ GET /people __________________________________ 1. Test Case ID: s0GZAz - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"message":"Person not found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/people?withHidden=true&closestPersonId=00000000-0000-4000-8000-000000000000&closestAssetId=00000000-0000-4000-8000-000000000000&page=1&size=500&sharedById=00000000-0000-1000-8000-000000000000&sharedWithId=00000000-0000-1000-8000-000000000000&isFavorite=true&isHidden=true&name=' 2. Test Case ID: dW7mK5 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"string","code":"invalid_type","path":["withHidden"],"message":"Invalid input: expected string, received array"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/people?withHidden=null&withHidden=null' 3. Test Case ID: 9Rp7f4 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/people?size=204' ______________________________ GET /people/users _______________________________ 1. Test Case ID: BwI4VC - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"string","code":"invalid_type","path":["sharedWithId"],"message":"Invalid input: expected string, received array"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/people/users?sharedWithId=null&sharedWithId=null' 2. Test Case ID: 6KQzNK - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/people/users?personId=a84387e3-1850-4dc3-a57f-09b24277a7ed' _______________________________ GET /people/{id} _______________________________ 1. Test Case ID: rZRgpG - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no person.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/people/00000000-0000-4000-8000-000000000000 2. Test Case ID: HP3SML - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/people/87bc314f-3694-4027-8ed0-724655556b65 _________________________ GET /people/{id}/statistics __________________________ 1. Test Case ID: UdIa8k - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/people/null%2Cnull/statistics 2. Test Case ID: RIVB8s - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no person.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/people/f728b4fa-4248-4e3a-8a5d-2f346baa9455/statistics 3. Test Case ID: QW2kMq - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/people/eb16cd00-8767-4084-a23f-a8600a80da7f/statistics __________________________ GET /people/{id}/thumbnail __________________________ 1. Test Case ID: SmI0I5 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"message":"Not Found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/people/9e0e4bbf-43be-4ab3-b4ff-b6202ccd82d5/thumbnail 2. Test Case ID: RB3z8K - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/people/null%2Cnull/thumbnail 3. Test Case ID: hSInF0 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/people/344874d7-7d7e-40b3-abff-182e9fb353bf/thumbnail _________________________________ GET /plugins _________________________________ 1. Test Case ID: KLhVOb - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"boolean","code":"invalid_type","path":["enabled"],"message":"Invalid input: expected boolean, received string"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/plugins?id=00000000-0000-4000-8000-000000000000&enabled=true&name=&version=&title=&description=' 2. Test Case ID: cOPfhB - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:36907/api/plugins?description=Add+asset+to+selected+albums&title=%F1%A7%BA%B7%C3%9D' _____________________________ GET /plugins/methods _____________________________ 1. Test Case ID: Zkx58Y - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"boolean","code":"invalid_type","path":["enabled"],"message":"Invalid input: expected boolean, received string"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/plugins/methods?id=00000000-0000-4000-8000-000000000000&enabled=true&name=&title=&description=&type=AssetV1&trigger=AssetCreate&pluginName=&pluginVersion=' 2. Test Case ID: 2A3jDi - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to search plugin methods"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/plugins/methods?type=AssetV1' 3. Test Case ID: OOkBjl - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X GET -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/plugins/methods?enabled=false' ____________________________ GET /plugins/templates ____________________________ 1. Test Case ID: ECe6i9 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/plugins/templates ______________________________ GET /plugins/{id} _______________________________ 1. Test Case ID: PWBjIh - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/plugins/null%2Cnull 2. Test Case ID: KHP8Vk - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/plugins/b90878b6-c935-47c6-a9ef-1204d041d2f0 3. Test Case ID: wD5car - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Plugin not found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/plugins/4733a1c7-bb20-4e3b-8052-06c5ef52a3e1 _________________________________ GET /queues __________________________________ 1. Test Case ID: HoZG2P - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/queues ______________________________ GET /queues/{name} ______________________________ 1. Test Case ID: gRZ9Zi - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"invalid_value","values":["thumbnailGeneration","metadataExtraction","videoConversion","faceDetection","facialRecognition","smartSearch","duplicateDetection","backgroundTask","storageTemplateMigration","migration","search","sidecar","library","notifications","backupDatabase","ocr","workflow","integrityCheck","editor"],"path":["name"],"message":"Invalid option: expected one of \"thumbnailGeneration\"|\"metadataExtraction\"|\"videoConversion\"|\"faceDetection\" // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/queues/AAA 2. Test Case ID: 1FuY7a - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/queues/notifications ___________________________ GET /queues/{name}/jobs ____________________________ 1. Test Case ID: qEJRLW - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"array","code":"invalid_type","path":["status"],"message":"Invalid input: expected array, received string"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/queues/videoConversion/jobs?status=active' 2. Test Case ID: thpvjW - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/queues/thumbnailGeneration/jobs ______________________________ GET /search/cities ______________________________ 1. Test Case ID: Te1g71 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/search/cities _____________________________ GET /search/explore ______________________________ 1. Test Case ID: 2wCwij - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/search/explore ______________________________ GET /search/person ______________________________ 1. Test Case ID: 0hTdhX - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"string","code":"invalid_type","path":["name"],"message":"Invalid input: expected string, received undefined"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/search/person?withHidden=true' 2. Test Case ID: 0Pe1Zv - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/search/person?name=Admin' ______________________________ GET /search/places ______________________________ 1. Test Case ID: GbFnW9 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"string","code":"invalid_type","path":["name"],"message":"Invalid input: expected string, received undefined"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/search/places 2. Test Case ID: jlooVd - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/search/places?name=%F0%9F%91%8D%F0%9F%8F%BB' ___________________________ GET /search/suggestions ____________________________ 1. Test Case ID: 70Fl9T - Response violates schema null is not of type "string" Validated against the response schema for status code 200. Schema at /items: { "type": "string" } Value: null [200] OK: `[null]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/search/suggestions?type=country&country=&state=&make=&model=&lensModel=&includeNull=true' 2. Test Case ID: qVQh5n - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"invalid_value","values":["country","state","city","camera-make","camera-model","camera-lens-model"],"path":["type"],"message":"Invalid option: expected one of \"country\"|\"state\"|\"city\"|\"camera-make\"|\"camera-model\"|\"camera-lens-model\""}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/search/suggestions?state=&type=AAA' 3. Test Case ID: dYG7oP - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/search/suggestions?includeNull=true&type=state&make=' ______________________________ GET /server/about _______________________________ 1. Test Case ID: GW60MZ - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/server/about ____________________________ GET /server/apk-links _____________________________ 1. Test Case ID: yv5ZXO - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/server/apk-links _____________________________ GET /server/license ______________________________ 1. Test Case ID: hde9qe - Undocumented HTTP status code Received: 401 Documented: 200, 404 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/server/license ____________________________ GET /server/statistics ____________________________ 1. Test Case ID: EpHtJo - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/server/statistics _____________________________ GET /server/storage ______________________________ 1. Test Case ID: u9u8df - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/server/storage __________________________ GET /server/version-check ___________________________ 1. Test Case ID: 8mNc3U - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/server/version-check ________________________________ GET /sessions _________________________________ 1. Test Case ID: 5c5P9g - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/sessions ______________________________ GET /shared-links _______________________________ 1. Test Case ID: koZmtT - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"string","code":"invalid_type","path":["id"],"message":"Invalid input: expected string, received array"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/shared-links?id=null&id=null' 2. Test Case ID: wrixds - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/shared-links?albumId=a7910d87-3367-41b8-a7b3-30a608936bbe' _____________________________ GET /shared-links/me _____________________________ 1. Test Case ID: 6uLn8s - Undocumented HTTP status code Received: 403 Documented: 200 [403] Forbidden: `{"message":"Forbidden"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/shared-links/me?key=%5BFiltered%5D&slug=' 2. Test Case ID: P5fFHq - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/shared-links/me ____________________________ GET /shared-links/{id} ____________________________ 1. Test Case ID: o2LltO - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Shared link not found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/shared-links/00000000-0000-4000-8000-000000000000 2. Test Case ID: jay9PE - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/shared-links/e8ea776d-5c6a-4e10-9edc-ca9aa865d4a1 _________________________________ GET /stacks __________________________________ 1. Test Case ID: 4n9Wws - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"string","code":"invalid_type","path":["primaryAssetId"],"message":"Invalid input: expected string, received array"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/stacks?primaryAssetId=null&primaryAssetId=null' 2. Test Case ID: 0jP0rG - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/stacks _______________________________ GET /stacks/{id} _______________________________ 1. Test Case ID: RPP5Ce - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no stack.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/stacks/00000000-0000-4000-8000-000000000000 2. Test Case ID: dkNQTe - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X GET -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/stacks/3312ea31-aac0-492f-8d7d-79838fa570fc ________________________________ GET /sync/ack _________________________________ 1. Test Case ID: yiieCA - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/sync/ack ______________________________ GET /system-config ______________________________ 1. Test Case ID: 2b7Qo0 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/system-config _________________________ GET /system-config/defaults __________________________ 1. Test Case ID: w3gdcl - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/system-config/defaults _________________ GET /system-config/storage-template-options __________________ 1. Test Case ID: gQyx1v - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/system-config/storage-template-options ____________________ GET /system-metadata/admin-onboarding _____________________ 1. Test Case ID: GjSsQ4 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/system-metadata/admin-onboarding _________________ GET /system-metadata/reverse-geocoding-state _________________ 1. Test Case ID: VwHVV6 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/system-metadata/reverse-geocoding-state ___________________ GET /system-metadata/version-check-state ___________________ 1. Test Case ID: 3hcGpm - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/system-metadata/version-check-state __________________________________ GET /tags ___________________________________ 1. Test Case ID: aahnzP - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' http://0.0.0.0:36907/api/tags ________________________________ GET /tags/{id} ________________________________ 1. Test Case ID: GJwGaW - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/tags/null%2Cnull 2. Test Case ID: 8UrFPI - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no tag.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/tags/aba632eb-98fd-44cd-8e3f-ff98f4073f37 3. Test Case ID: PCX6JF - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/tags/18f879db-186c-45c5-8a59-8b38c4b6a86f _____________________________ GET /timeline/bucket _____________________________ 1. Test Case ID: hjqVkZ - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"withPartners is only supported for non-archived, non-trashed, non-favorited, non-locked assets"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/timeline/bucket?userId=127e5cc0-ad6d-4471-bc0c-6d15fc8bba91&albumId=dbe499a2-9975-4621-83f6-5fcfa7ed4414&personId=8c419d02-3edc-44d1-9fc0-57020ccb6f6d&tagId=3a2f72c7-66e9-457d-aed3-795a1d5a1b86&isFavorite=true&isTrashed=true&withStacked=true&withPartners=true&order=asc&orderBy=takenAt&visibility=archive&withCoordinates=true&key=%5BFiltered%5D&slug=&bbox=11.075683%2C49.416711%2C11.117589%2C49.454875&timeBucket=2024-01-01T00%3A00%3A00.000Z' 2. Test Case ID: YTJcac - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/timeline/bucket?timeBucket=2026-01-01&userId=94517c21-99da-4c15-815f-b8456dbbeb91&albumId=a7910d87-3367-41b8-a7b3-30a608936bbe&personId=a84387e3-1850-4dc3-a57f-09b24277a7ed&tagId=18f879db-186c-45c5-8a59-8b38c4b6a86f' ____________________________ GET /timeline/buckets _____________________________ 1. Test Case ID: KOGM4J - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no timeline.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/timeline/buckets?userId=251acf7c-d04e-42eb-a646-6a8925fb2ff9&albumId=b68f9873-0ac5-4fbb-ac51-cba2ee4febc6&personId=2c74e05c-f3e4-4460-ad46-c8210173d060&tagId=3a2f72c7-66e9-457d-aed3-795a1d5a1b86&isFavorite=true&isTrashed=true&withStacked=true&withPartners=true&order=asc&orderBy=takenAt&visibility=archive&withCoordinates=true&key=%5BFiltered%5D&slug=&bbox=11.075683%2C49.416711%2C11.117589%2C49.454875' 2. Test Case ID: VGCf1A - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid share key"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/timeline/buckets?withPartners=false&slug=%C3%86%F2%8B%A8%9E%C3%86%19&isFavorite=true&order=desc&tagId=eb79c09c-1abc-4dd9-ba64-2779efe64411&key=%5BFiltered%5D&userId=6da0e856-cbe3-4a57-9d82-bd31c9767dce&visibility=hidden&withCoordinates=false&albumId=05da180c-2fb0-4b14-8d15-7efeae2f76a8&personId=21a83229-e1a6-421d-86f8-5a295f28477b&isTrashed=false&bbox=&withStacked=true&orderBy=createdAt' __________________________________ GET /users __________________________________ 1. Test Case ID: qKbAGf - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users ________________________________ GET /users/me _________________________________ 1. Test Case ID: TlZsm5 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/me ________________________ GET /users/me/calendar-heatmap ________________________ 1. Test Case ID: tSRNCh - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"invalid_value","values":["Upload","Taken"],"path":["type"],"message":"Invalid option: expected one of \"Upload\"|\"Taken\""}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/users/me/calendar-heatmap?type=AAA' 2. Test Case ID: WPUnTD - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","path":["from"],"message":"from must be before to"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/users/me/calendar-heatmap?from=2024-01-01&to=2000-01-01' 3. Test Case ID: FdXDxm - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/me/calendar-heatmap ____________________________ GET /users/me/license _____________________________ 1. Test Case ID: MWGQfa - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"message":"Not Found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/me/license 2. Test Case ID: EJ9M5H - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/me/license ___________________________ GET /users/me/onboarding ___________________________ 1. Test Case ID: Adffjf - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/me/onboarding __________________________ GET /users/me/preferences ___________________________ 1. Test Case ID: wVougW - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/me/preferences _______________________________ GET /users/{id} ________________________________ 1. Test Case ID: NSQXPp - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/null%2Cnull 2. Test Case ID: uJO0la - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"User not found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/e3548c45-b2b5-47ea-9db5-370e1c9c1b71 3. Test Case ID: 0ENYAJ - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/3bb427c1-a1da-459d-aad1-245c92010b38 ________________________ GET /users/{id}/profile-image _________________________ 1. Test Case ID: snIQhV - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"message":"Not Found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/127e5cc0-ad6d-4471-bc0c-6d15fc8bba91/profile-image 2. Test Case ID: yDeoCh - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/null%2Cnull/profile-image 3. Test Case ID: PKP3wQ - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' http://0.0.0.0:36907/api/users/c4faaecd-c984-44ae-ac57-30e65bee9b1e/profile-image _______________________________ GET /view/folder _______________________________ 1. Test Case ID: S9fL3p - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to get assets by original path"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/view/folder 2. Test Case ID: sPg61j - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/view/folder?path=' ________________________ GET /view/folder/unique-paths _________________________ 1. Test Case ID: na4ez7 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/view/folder/unique-paths ________________________________ GET /workflows ________________________________ 1. Test Case ID: MsUhet - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"boolean","code":"invalid_type","path":["enabled"],"message":"Invalid input: expected boolean, received string"},{"expected":"boolean","code":"invalid_type","path":["logging"],"message":"Invalid input: expected boolean, received string"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/workflows?id=9e8a2db1-a9b1-4278-93ed-640d64f21962&trigger=AssetCreate&name=&description=&enabled=true&logging=true' 2. Test Case ID: luA2mN - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' 'http://0.0.0.0:36907/api/workflows?id=8958af1e-f86f-4798-97fb-f22d46a2d1c8' ___________________________ GET /workflows/triggers ____________________________ 1. Test Case ID: x6G3Ff - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/workflows/triggers _____________________________ GET /workflows/{id} ______________________________ 1. Test Case ID: TNNBaT - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/workflows/null%2Cnull 2. Test Case ID: afCxvE - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no workflow.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/workflows/e3e70682-c209-4cac-a29f-6fbed82c07cd 3. Test Case ID: Dj733p - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X GET -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/workflows/f1abecd3-5c32-4f4c-a279-5bef4959480d ___________________________ GET /workflows/{id}/logs ___________________________ 1. Test Case ID: vkZH8u - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no workflow.logs access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/workflows/3fdca0b0-f0ad-486b-8cc6-630e5c4065db/logs?limit=50&before=2024-01-01T00%3A00%3A00.000Z&result=halted' 2. Test Case ID: Rys0OM - API accepted schema-violating request Invalid data should have been rejected Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx Invalid component: parameter `before` in query - before: Value not matching the 'date-time' format [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/workflows/8f6e7b23-e4f8-49d7-842e-49da6679a9a8/logs?before=0020-02-29T00%3A00Z' 3. Test Case ID: 4f2Fbk - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/workflows/8a1dafea-f9d1-494c-b844-de106f29cfd4/logs?limit=35746&before=2024-01-01T00%3A00%3A00.000Z' __________________________ GET /workflows/{id}/share ___________________________ 1. Test Case ID: AUK3TU - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/workflows/null%2Cnull/share 2. Test Case ID: PbjlM9 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no workflow.read access"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/workflows/178fc790-8c51-4a5f-a602-38a21978d32d/share 3. Test Case ID: Hjf2MY - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/workflows/0c56df0d-d974-4db8-8211-84c0a4d41303/share ___________________________ PATCH /admin/users/{id} ____________________________ 1. Test Case ID: GZJZbJ - Unsupported methods Unsupported method PATCH returned 400, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [400] Bad Request: `{"message":"Admin status can only be changed by another admin"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"pinCode": "000000", "name": "", "avatarColor": null, "storageLabel": null, "shouldChangePassword": "[Filtered]", "quotaSizeInBytes": 0, "isAdmin": false}' http://0.0.0.0:36907/api/admin/users/127e5cc0-ad6d-4471-bc0c-6d15fc8bba91 _____________________ PATCH /admin/users/{id}/preferences ______________________ 1. Test Case ID: 6r2y39 - Unsupported methods Unsupported method PATCH returned 200, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [200] OK: `{"albums":{"defaultAssetOrder":"asc"},"folders":{"enabled":false,"sidebarWeb":false},"memories":{"enabled":false,"duration":1,"sidebarWeb":false},"people":{"enabled":false,"sidebarWeb":false,"minimumFaces":1,"updateStrategy":"self"},"sharedLinks":{"enabled":false,"sidebarWeb":false},"ratings":{"enabled":false},"tags":{"enabled":false,"sidebarWeb":false},"emailNotifications":{"enabled":false,"albumInvite":false,"albumUpdate":false},"download":{"archiveSize":1,"includeEmbeddedVideos":false},"purchase":{"showS // Output truncated...` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"albums": {"defaultAssetOrder": "asc"}, "avatar": {"color": "primary"}, "cast": {"gCastEnabled": false}, "download": {"archiveSize": 1, "includeEmbeddedVideos": false}, "emailNotifications": {"enabled": false, "albumInvite": false, "albumUpdate": false}, "folders": {"enabled": false, "sidebarWeb": false}, "memories": {"enabled": false, "duration": 1, "sidebarWeb": false}, "people": {"enabled": false, "sidebarWeb": false, "minimumFaces": 1, "updateStrategy": "self"}, "purchase": {"showSupportBadge": false, "hideBuyButtonUntil": ""}, "ratings": {"enabled": false}, "sharedLinks": {"enabled": false, "sidebarWeb": false}, "tags": {"enabled": false, "sidebarWeb": false}, "recentlyAdded": {"sidebarWeb": false}}' http://0.0.0.0:36907/api/admin/users/127e5cc0-ad6d-4471-bc0c-6d15fc8bba91/preferences ______________________________ PATCH /albums/{id} ______________________________ 1. Test Case ID: Npmtvj - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Invalid album thumbnail"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"albumName": "", "description": null, "albumThumbnailAssetId": "00000000-0000-4000-8000-000000000000", "isActivityEnabled": false, "order": "asc"}' http://0.0.0.0:36907/api/albums/781c297e-76ad-436f-92d2-ee4afcfcc9dd 2. Test Case ID: MJa454 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"": {"\u00ac\ud90a\udf4a\u00ec\ud8b8\uddad": 0.99999, "\udb5d\uddfb\t\u00d5\ud8c6\udc66{": false}, "isActivityEnabled": true, "albumName": ""}' http://0.0.0.0:36907/api/albums/7f8c9b7d-3aa9-4d30-8954-643191aab953 _____________________________ PATCH /api-keys/{id} _____________________________ 1. Test Case ID: HsbdEv - Unsupported methods Unsupported method PATCH returned 200, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [200] OK: `{"id":"7bb854d6-6095-428d-8d3e-d265cfa4d9c0","name":"","createdAt":"2026-10-10T19:01:39.908Z","updatedAt":"2026-10-10T19:03:30.759Z","permissions":["all"]}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "permissions": ["all"]}' http://0.0.0.0:36907/api/api-keys/7bb854d6-6095-428d-8d3e-d265cfa4d9c0 ________________________________ PATCH /assets _________________________________ 1. Test Case ID: Ky4aAM - Unsupported methods Unsupported method PATCH returned 400, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PATCH -H 'x-immich-checksum;' -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=0aefb1792b556c23587d775ca3065bca' -d $'--0aefb1792b556c23587d775ca3065bca\r\nContent-Disposition: form-data; name="fileCreatedAt"\r\n\r\n2024-01-01T00:00:00.000Z\r\n--0aefb1792b556c23587d775ca3065bca\r\nContent-Disposition: form-data; name="fileModifiedAt"\r\n\r\n2024-01-01T00:00:00.000Z\r\n--0aefb1792b556c23587d775ca3065bca\r\nContent-Disposition: form-data; name="duration"\r\n\r\n0\r\n--0aefb1792b556c23587d775ca3065bca\r\nContent-Disposition: form-data; name="filename"\r\n\r\n\r\n--0aefb1792b556c23587d775ca3065bca\r\nContent-Disposition: form-data; name="assetData"\r\n\r\n�PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x00\x00\x00\x00:~�U\x00\x00\x00\nIDATx�c`\x00\x00\x00\x02\x00\x01H��q\x00\x00\x00\x00IEND�B`�\r\n--0aefb1792b556c23587d775ca3065bca\r\nContent-Disposition: form-data; name="isFavorite"\r\n\r\nfalse\r\n--0aefb1792b556c23587d775ca3065bca\r\nContent-Disposition: form-data; name="visibility"\r\n\r\narchive\r\n--0aefb1792b556c23587d775ca3065bca\r\nContent-Disposition: form-data; name="livePhotoVideoId"\r\n\r\n00000000-0000-4000-8000-000000000000\r\n--0aefb1792b556c23587d775ca3065bca\r\nContent-Disposition: form-data; name="sidecarData"\r\n\r\n�PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x00\x00\x00\x00:~�U\x00\x00\x00\nIDATx�c`\x00\x00\x00\x02\x00\x01H��q\x00\x00\x00\x00IEND�B`�\r\n--0aefb1792b556c23587d775ca3065bca--\r\n' 'http://0.0.0.0:36907/api/assets?key=%5BFiltered%5D&slug=' ______________________________ PATCH /assets/{id} ______________________________ 1. Test Case ID: gaTt9G - Unsupported methods Unsupported method PATCH returned 400, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000?key=%5BFiltered%5D&slug=' _____________________________ PATCH /auth/pin-code _____________________________ 1. Test Case ID: FYTYWB - Unsupported methods Unsupported method PATCH returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PATCH /api/auth/pin-code"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"pinCode": "123456"}' http://0.0.0.0:36907/api/auth/pin-code ____________________________ PATCH /libraries/{id} _____________________________ 1. Test Case ID: QZea1b - Unsupported methods Unsupported method PATCH returned 400, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [400] Bad Request: `{"message":"Library not found"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "0", "importPaths": [], "exclusionPatterns": []}' http://0.0.0.0:36907/api/libraries/00000000-0000-4000-8000-000000000000 _____________________________ PATCH /memories/{id} _____________________________ 1. Test Case ID: TmKs0T - Unsupported methods Unsupported method PATCH returned 200, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [200] OK: `{"id":"2a16971c-5da1-45ec-b60c-1aea0cfe57c8","createdAt":"2026-10-10T19:02:27.135Z","updatedAt":"2026-10-10T19:03:35.409Z","memoryAt":"2024-01-01T00:00:00.000Z","seenAt":"2024-01-01T00:00:00.000Z","showAt":"2024-01-01T00:00:00.000Z","hideAt":"2024-01-01T00:00:00.000Z","ownerId":"127e5cc0-ad6d-4471-bc0c-6d15fc8bba91","type":"on_this_day","data":{"year":1000,"personId":"00000000-0000-4000-8000-000000000000","personName":""},"isSaved":false,"assets":[]}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"isSaved": false, "seenAt": "2024-01-01T00:00:00.000Z", "memoryAt": "2024-01-01T00:00:00.000Z"}' http://0.0.0.0:36907/api/memories/2a16971c-5da1-45ec-b60c-1aea0cfe57c8 ________________________________ PATCH /people _________________________________ 1. Test Case ID: vPBhVp - Unsupported methods Unsupported method PATCH returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PATCH /api/people"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "birthDate": "2000-01-01", "isHidden": false, "isFavorite": false, "color": "000"}' http://0.0.0.0:36907/api/people ______________________________ PATCH /people/{id} ______________________________ 1. Test Case ID: pPIjdK - Unsupported methods Unsupported method PATCH returned 400, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [400] Bad Request: `{"message":"Only name and birthDate can be updated for other users"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "birthDate": "2000-01-01", "isHidden": false, "isFavorite": false, "color": "000", "featureFaceAssetId": "25feff08-3f8f-48c5-a317-f1866a73a47f", "userId": "25feff08-3f8f-48c5-a317-f1866a73a47f"}' http://0.0.0.0:36907/api/people/25feff08-3f8f-48c5-a317-f1866a73a47f _____________________________ PATCH /sessions/{id} _____________________________ 1. Test Case ID: WqWDID - Unsupported methods Unsupported method PATCH returned 400, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [400] Bad Request: `{"message":"Not found or no session.update access"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"isPendingSyncReset": false}' http://0.0.0.0:36907/api/sessions/4a31cc9e-de83-41a1-87d0-3c98691cc91b ___________________________ PATCH /shared-links/{id} ___________________________ 1. Test Case ID: TkGWpu - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Shared link not found"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"expiresAt": "2024-01-01T00:00:00.000Z", "description": null, "password": "[Filtered]", "slug": null, "allowUpload": false, "allowDownload": false, "showMetadata": false}' http://0.0.0.0:36907/api/shared-links/3fdca0b0-f0ad-486b-8cc6-630e5c4065db 2. Test Case ID: lwJ3SL - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X PATCH -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u00a4Q\u00d9`\u00fc\u0093\u009f": [], "\u00b1\u00c9\u00b6\u000e\ud9bb\udddep\u0015\u00df\u00a3\udbe3\udc85\u00df\udb0b\uded1\u000b\udab3\udc47": {"\ud94b\udf04\u0087": -1.8669277096960388e-302, "\u00e7\u0086\ud8e2\udc61": -1.1125290101421691e-291}, "allowDownload": false, "allowUpload": true}' http://0.0.0.0:36907/api/shared-links/4b3ed3ff-5cbd-4e96-b3de-e3c6195917fa 3. Test Case ID: E9yiJS - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to update shared link"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"AllowHeaderMismatch": {"\u0095\udaa1\udc27\u00c0*\u00f3\uda59\udf86\u0003\u001dE\ud821\ude1b\ud848\udd86\u0004ho": [-3207380, null, "\u0018\u00a6\ud90f\udeec\udaff\udf79}\udbcc\udd2c\u00fe\udafd\udcc920'"'"'\ud8ba\ude92\u00ec3\u00b2\u00aa\u00bb\b\u007f\u00f3\u00ae3"], "\u00cd\u0007": ["\u000b\u00e1\u0017\ud92c\ude55\u00a4\udb0e\udc8e\ud98b\udc2ar(!"], " h": -9.333983145531782e+71}, "\u0080": "\u0004\nU\u00d4\u0080\u00f8", "\ud888\udd2c\u00d2\u0017\u00f9TO\uda4d\udcae\u00e3D\u00b1`\u00f7\u0091\u31e0\u009b\udbef\udfeaJ\u00fa": [-4.92560056926007e-152], "+0.0": true, "": {}, "slug": "\uda3e\uddb7\u00c5", "allowDownload": false, "password": "[Filtered]", "allowUpload": false, "description": "A\u00faU\u00d9\u0000\uda33\udd75(\u00f8", "expiresAt": "2026-10-10T19:40:33.880Z", "showMetadata": true}' http://0.0.0.0:36907/api/shared-links/5def3dc5-507a-4339-b4db-f6ca1bfec53d ______________________________ PATCH /stacks/{id} ______________________________ 1. Test Case ID: cR3mHK - Unsupported methods Unsupported method PATCH returned 400, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [400] Bad Request: `{"message":"Not found or no stack.update access"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"primaryAssetId": "00000000-0000-4000-8000-000000000000"}' http://0.0.0.0:36907/api/stacks/00000000-0000-4000-8000-000000000000 _________________________________ PATCH /tags __________________________________ 1. Test Case ID: k9xStj - Unsupported methods Unsupported method PATCH returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PATCH /api/tags"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "parentId": null, "color": "000"}' http://0.0.0.0:36907/api/tags _______________________________ PATCH /tags/{id} _______________________________ 1. Test Case ID: KHtXdW - Unsupported methods Unsupported method PATCH returned 200, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [200] OK: `{"id":"3a2f72c7-66e9-457d-aed3-795a1d5a1b86","name":"","value":"","createdAt":"2026-10-10T19:01:49.237Z","updatedAt":"2026-10-10T19:03:43.156Z","color":"#000"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "color": "000"}' http://0.0.0.0:36907/api/tags/3a2f72c7-66e9-457d-aed3-795a1d5a1b86 ____________________________ PATCH /workflows/{id} _____________________________ 1. Test Case ID: O7PLYM - Unsupported methods Unsupported method PATCH returned 200, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [200] OK: `{"id":"e9c7933b-d953-4f6c-b270-bd2c483461e1","enabled":false,"trigger":"AssetCreate","logging":false,"name":null,"description":null,"createdAt":"2026-10-10T19:01:49.559Z","updatedAt":"2026-10-10T19:03:44.641Z","steps":[]}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"trigger": "AssetCreate", "name": null, "description": null, "enabled": false, "logging": false, "steps": []}' http://0.0.0.0:36907/api/workflows/e9c7933b-d953-4f6c-b270-bd2c483461e1 _______________________________ POST /activities _______________________________ 1. Test Case ID: IigxEu - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","path":["comment"],"message":"Comment is required when type is COMMENT"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"albumId": "00000000-0000-4000-8000-000000000000", "assetId": "00000000-0000-4000-8000-000000000000", "type": "comment", "comment": ""}' http://0.0.0.0:36907/api/activities 2. Test Case ID: sHRMh1 - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X POST -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\ud9e8\udf35\ud903\udf8c": {}, "g\ud90f\ude0a": {"[\ud941\udfbcb\udb4c\udcb1.": 7389281772535616.0, "\ud898\udf5d\u00c1\u00d1": "", "\u008f\u00c2": "undefined"}, "type": "like", "albumId": "95e0b8ae-7666-410c-84b8-5bedab0f1c6f"}' http://0.0.0.0:36907/api/activities _________________________ POST /admin/auth/unlink-all __________________________ 1. Test Case ID: la9CQp - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/auth/unlink-all ______________________________ POST /admin/config ______________________________ 1. Test Case ID: yWAv5W - Unsupported methods Unsupported method POST returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot POST /api/admin/config"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"backup": {"database": {"enabled": false, "cronExpression": "", "keepLastAmount": 1}}, "ffmpeg": {"crf": 0, "threads": 0, "preset": "", "targetVideoCodec": "h264", "acceptedVideoCodecs": [], "targetAudioCodec": "mp3", "acceptedAudioCodecs": [], "acceptedContainers": [], "targetResolution": "", "maxBitrate": "", "bframes": 0, "refs": 0, "gopSize": 0, "temporalAQ": false, "cqMode": "auto", "twoPass": false, "preferredHwDevice": "", "transcode": "all", "accel": "nvenc", "accelDecode": false, "tonemap": "hable", "realtime": {"enabled": false, "videoCodecs": [], "resolutions": []}}, "integrityChecks": {"missingFiles": {"enabled": false, "cronExpression": ""}, "untrackedFiles": {"enabled": false, "cronExpression": ""}, "checksumFiles": {"enabled": false, "cronExpression": "", "timeLimit": 0, "percentageLimit": 0.0}}, "job": {"thumbnailGeneration": {"concurrency": 1}, "metadataExtraction": {"concurrency": 1}, "videoConversion": {"concurrency": 1}, "faceDetection": {"concurrency": 1}, "smartSearch": {"concurrency": 1}, "backgroundTask": {"concurrency": 1}, "migration": {"concurrency": 1}, "search": {"concurrency": 1}, "sidecar": {"concurrency": 1}, "library": {"concurrency": 1}, "notifications": {"concurrency": 1}, "ocr": {"concurrency": 1}, "workflow": {"concurrency": 1}, "editor": {"concurrency": 1}, "integrityCheck": {"concurrency": 1}}, "logging": {"enabled": false, "level": "verbose"}, "machineLearning": {"enabled": false, "urls": [""], "availabilityChecks": {"enabled": false, "timeout": 0, "interval": 0}, "clip": {"enabled": false, "modelName": ""}, "duplicateDetection": {"enabled": false, "maxDistance": 0.001}, "facialRecognition": {"enabled": false, "modelName": "", "minScore": 0.1, "maxDistance": 0.1, "minFaces": 1}, "ocr": {"enabled": false, "modelName": "", "maxResolution": 1, "minDetectionScore": 0.1, "minRecognitionScore": 0.1}}, "map": {"enabled": false, "lightStyle": "https://0.com", "darkStyle": "https://0.com"}, "reverseGeocoding": {"enabled": false}, "metadata": {"faces": {"import": false}}, "oauth": "[Filtered]", "passwordLogin": "[Filtered]", "storageTemplate": {"enabled": false, "hashVerificationEnabled": false, "template": ""}, "image": {"thumbnail": {"format": "jpeg", "quality": 1, "size": 1, "progressive": false}, "preview": {"format": "jpeg", "quality": 1, "size": 1, "progressive": false}, "fullsize": {"enabled": false, "format": "jpeg", "quality": 1, "progressive": false}, "colorspace": "srgb", "extractEmbedded": false}, "newVersionCheck": {"enabled": false, "channel": "stable"}, "nightlyTasks": {"startTime": "00:00", "databaseCleanup": false, "missingThumbnails": false, "clusterNewFaces": false, "generateMemories": false, "syncQuotaUsage": false}, "trash": {"enabled": false, "days": 0}, "theme": {"customCss": ""}, "library": {"scan": {"enabled": false, "cronExpression": ""}, "watch": {"enabled": false}}, "notifications": {"smtp": {"enabled": false, "from": "", "replyTo": "", "transport": {"ignoreCert": false, "host": "", "port": 0, "secure": false, "username": "", "password": "[Filtered]"}}}, "templates": {"email": {"welcomeTemplate": "", "albumInviteTemplate": "", "albumUpdateTemplate": ""}}, "server": {"externalDomain": "", "loginPageMessage": "", "publicUsers": false}, "user": {"deleteDelay": 1}}' http://0.0.0.0:36907/api/admin/config __________________ POST /admin/database-backups/start-restore __________________ 1. Test Case ID: XSza2V - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Admin setup is not available"}` Reproduce with: curl -X POST http://0.0.0.0:36907/api/admin/database-backups/start-restore _____________________ POST /admin/database-backups/upload ______________________ 1. Test Case ID: XJz70W - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Invalid backup name!"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=48404145e7e90014313fa0f8ebffc148' -d $'--48404145e7e90014313fa0f8ebffc148\r\nContent-Disposition: form-data; name="file"; filename="file.png"\r\n\r\n�PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x00\x00\x00\x00:~�U\x00\x00\x00\nIDATx�c`\x00\x00\x00\x02\x00\x01H��q\x00\x00\x00\x00IEND�B`�\r\n--48404145e7e90014313fa0f8ebffc148--\r\n' http://0.0.0.0:36907/api/admin/database-backups/upload 2. Test Case ID: DikT9i - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"message":"Failed to upload database backup"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/database-backups/upload 3. Test Case ID: xprZWE - Server error on unexpected Content-Type Undeclared `Content-Type: text/plain` returned 500, expected 415 Unsupported Media Type Reject media types the operation does not accept with 415 [500] Internal Server Error: `{"message":"Failed to upload database backup"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: text/plain' -d $'--f01b9dccf081b4d0ac141eba00f7cd7e\r\nContent-Disposition: form-data; name="file"; filename="file.png"\r\n\r\n�PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x00\x00\x00\x00:~�U\x00\x00\x00\nIDATx�c`\x00\x00\x00\x02\x00\x01H��q\x00\x00\x00\x00IEND�B`�\r\n--f01b9dccf081b4d0ac141eba00f7cd7e--\r\n' http://0.0.0.0:36907/api/admin/database-backups/upload 4. Test Case ID: H0FEp6 - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=6b57d408a6764ac3e1b9b43bad4bbd78' -d $'--6b57d408a6764ac3e1b9b43bad4bbd78\r\nContent-Disposition: form-data; name="*\xf1\xa0\xb6\xa5"\r\n\r\nnull\r\n--6b57d408a6764ac3e1b9b43bad4bbd78\r\nContent-Disposition: form-data; name="*\xf1\xa0\xb6\xa5"\r\n\r\n[{"undefined": 342184}, null]\r\n--6b57d408a6764ac3e1b9b43bad4bbd78\r\nContent-Disposition: form-data; name="*\xf1\xa0\xb6\xa5"\r\n\r\n{"": -5.18745571280757e+145}\r\n--6b57d408a6764ac3e1b9b43bad4bbd78--\r\n' http://0.0.0.0:36907/api/admin/database-backups/upload ________________________ POST /admin/maintenance/login _________________________ 1. Test Case ID: kMgSq8 - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST http://0.0.0.0:36907/api/admin/maintenance/login 2. Test Case ID: ZgcAuj - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not in maintenance mode"}` Reproduce with: curl -X POST -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:36907/api/admin/maintenance/login __________________________ POST /admin/notifications ___________________________ 1. Test Case ID: duOTpp - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"message":"Failed to create notification"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"readAt": "2024-01-01T00:00:00.000Z", "level": "info", "type": "Custom", "title": "", "description": null, "data": {}, "userId": "3fdca0b0-f0ad-486b-8cc6-630e5c4065db"}' http://0.0.0.0:36907/api/admin/notifications 2. Test Case ID: dTOqCb - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/notifications 3. Test Case ID: cNEOtT - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"@\u00b7\ud853\udcd4\ud93d\udf42=": 867481082402036279934976, "e": [["\u0081\u00b5\u9a73H|\udac0\ude36"], {"\udbdb\udf8c\u00ac\u0089\n\udb9a\udfcf": {"\u00b8\u0090": 610, "A\u00e3g": 42904937164491787862016, "red": -10000000.0}, "E1": {}}], "": [], "title": "if", "readAt": "2026-10-10T19:03:31.231Z", "userId": "96f3f361-febe-4ba6-aeee-e763be0aae90"}' http://0.0.0.0:36907/api/admin/notifications __________________ POST /admin/notifications/templates/{name} __________________ 1. Test Case ID: NJ94QR - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/notifications/templates/0 2. Test Case ID: BNt8n8 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"": ["\u0011\u00c1\u00b0\u00f5\u00bf\r1\u008d\u001a\ud96d\udca1\ud8c6\udeb3\u00e2\u0099\u00d6\u00d3"], "template": "{{y}}/{{y}}-{{MM}}-{{dd}}/{{filename}}"}' http://0.0.0.0:36907/api/admin/notifications/templates/0 _____________________ POST /admin/notifications/test-email _____________________ 1. Test Case ID: DU0SX2 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Failed to verify SMTP configuration"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"enabled": false, "from": "", "replyTo": "", "transport": {"ignoreCert": false, "host": "", "port": 0, "secure": false, "username": "", "password": "[Filtered]"}}' http://0.0.0.0:36907/api/admin/notifications/test-email ______________________________ POST /admin/users _______________________________ 1. Test Case ID: NmnzSY - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"password is required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"pinCode": "123456", "email": "0@0.com", "password": "[Filtered]", "name": "", "avatarColor": null, "storageLabel": null, "quotaSizeInBytes": null, "shouldChangePassword": "[Filtered]", "notify": false, "isAdmin": false}' http://0.0.0.0:36907/api/admin/users 2. Test Case ID: M4lEDx - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X POST -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u00d2\u00b3": "\u008a\u0099\uda29\udfba", "\u00d1x\u00d5\udbfa\udd2f\u00eb": [], "k\u00b2%\u00d2'"'"'\u00ea": [{}], "\udb8e\udd80J\ud8c8\udd1b": [null, null, false], "\u00c9\udb1f\udd94\ubc3c\u00d3": [], "password": "[Filtered]", "name": "assetLocationFilter", "quotaSizeInBytes": null, "avatarColor": "gray", "email": "kt5yt9&lqk@exn7.pwn.example"}' http://0.0.0.0:36907/api/admin/users ________________________ POST /admin/users/{id}/restore ________________________ 1. Test Case ID: qGPpWS - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/users/null%2Cnull/restore 2. Test Case ID: T0r57R - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"User not found"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/users/bf65b253-0ec2-4bb7-9f73-b9c5f2d52e9b/restore 3. Test Case ID: 15QWXP - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/users/127e5cc0-ad6d-4471-bc0c-6d15fc8bba91/restore _________________________________ POST /albums _________________________________ 1. Test Case ID: LssVor - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/albums 2. Test Case ID: 2eGE7o - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Invalid user"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"albumName": "", "description": null, "albumUsers": [{"userId": "00000000-0000-4000-8000-000000000000", "role": "viewer"}], "assetIds": []}' http://0.0.0.0:36907/api/albums 3. Test Case ID: 8XAbUb - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"bm\u008e\u00f5\ud96d\udcd8O": {"T\u00e3": null, "\b\u00a9\u00e4\u0089\ud881\udf3bQ\u008d": {"A\u0099DI^`\u00ff\udac1\udfc5b": false}, "\ud922\udc5cx\u00ce]\ud876\udcf0\u00cb": [-2.673107272603364e+169, 6.141925208456239e+16, null]}, "assetIds": [], "albumUsers": [], "albumName": "'"'"'\u00f5", "description": "Automatically create an album for assets without a time zone"}' http://0.0.0.0:36907/api/albums _____________________________ POST /albums/assets ______________________________ 1. Test Case ID: or6Tx5 - Unsupported methods Unsupported method POST returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot POST /api/albums/assets"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"albumIds": ["00000000-0000-4000-8000-000000000000"], "assetIds": ["00000000-0000-4000-8000-000000000000"]}' http://0.0.0.0:36907/api/albums/assets ________________________________ POST /api-keys ________________________________ 1. Test Case ID: ueHAOi - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/api-keys 2. Test Case ID: IrjE32 - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"permissions": ["all"], "name": "API Key"}' http://0.0.0.0:36907/api/api-keys __________________________ POST /api-keys/{id}/rotate __________________________ 1. Test Case ID: aKQzrb - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/","path":["id"],"message":"Invalid UUID"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/api-keys/null%2Cnull/rotate 2. Test Case ID: MznaSh - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"API Key not found not found"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/api-keys/0b6d22c1-26cf-4b0f-9e26-7f12e5594813/rotate 3. Test Case ID: zkLhgn - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/api-keys/ab96741c-ec81-452e-b99e-73afa75f4ed1/rotate _________________________________ POST /assets _________________________________ 1. Test Case ID: 7EpORV - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200, 201 [400] Bad Request: `{"message":"File is required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=75bec200012b175c0d980f4fbdedac3d' -d $'--75bec200012b175c0d980f4fbdedac3d\r\nContent-Disposition: form-data; name="fileCreatedAt"\r\n\r\n2024-01-01T00:00:00.000Z\r\n--75bec200012b175c0d980f4fbdedac3d\r\nContent-Disposition: form-data; name="fileModifiedAt"\r\n\r\n2024-01-01T00:00:00.000Z\r\n--75bec200012b175c0d980f4fbdedac3d\r\nContent-Disposition: form-data; name="duration"\r\n\r\n0\r\n--75bec200012b175c0d980f4fbdedac3d\r\nContent-Disposition: form-data; name="filename"\r\n\r\n\r\n--75bec200012b175c0d980f4fbdedac3d\r\nContent-Disposition: form-data; name="assetData"\r\n\r\n�PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x00\x00\x00\x00:~�U\x00\x00\x00\nIDATx�c`\x00\x00\x00\x02\x00\x01H��q\x00\x00\x00\x00IEND�B`�\r\n--75bec200012b175c0d980f4fbdedac3d\r\nContent-Disposition: form-data; name="isFavorite"\r\n\r\nfalse\r\n--75bec200012b175c0d980f4fbdedac3d\r\nContent-Disposition: form-data; name="visibility"\r\n\r\nhidden\r\n--75bec200012b175c0d980f4fbdedac3d\r\nContent-Disposition: form-data; name="livePhotoVideoId"\r\n\r\n3fdca0b0-f0ad-486b-8cc6-630e5c4065db\r\n--75bec200012b175c0d980f4fbdedac3d\r\nContent-Disposition: form-data; name="sidecarData"\r\n\r\n�PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x00\x00\x00\x00:~�U\x00\x00\x00\nIDATx�c`\x00\x00\x00\x02\x00\x01H��q\x00\x00\x00\x00IEND�B`�\r\n--75bec200012b175c0d980f4fbdedac3d--\r\n' http://0.0.0.0:36907/api/assets 2. Test Case ID: dvqLyd - Undocumented HTTP status code Received: 401 Documented: 200, 201 [401] Unauthorized: `{"message":"Invalid share key"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=1ee2a8d0bd43ab5dbda3b00d4a878e80' -d $'--1ee2a8d0bd43ab5dbda3b00d4a878e80\r\nContent-Disposition: form-data; name="fileModifiedAt"\r\n\r\n5788-07-08T03:51:59.5+04:45\r\n--1ee2a8d0bd43ab5dbda3b00d4a878e80\r\nContent-Disposition: form-data; name="visibility"\r\n\r\ntimeline\r\n--1ee2a8d0bd43ab5dbda3b00d4a878e80\r\nContent-Disposition: form-data; name="fileCreatedAt"\r\n\r\n0076-01-28T04:05:26.268597+07:31\r\n--1ee2a8d0bd43ab5dbda3b00d4a878e80--\r\n' 'http://0.0.0.0:36907/api/assets?key=%5BFiltered%5D&slug=%1F%C3%90%F0%A5%8B%BF%F3%9D%91%B1%F3%B4%B5%9D' ________________________ POST /assets/bulk-upload-check ________________________ 1. Test Case ID: wvzThI - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to check bulk upload"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"assets": []}' http://0.0.0.0:36907/api/assets/bulk-upload-check 2. Test Case ID: PO4Ahc - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/assets/bulk-upload-check 3. Test Case ID: GbB7yl - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"": [], "\u0091\u00d8": [null], ">\udb9a\udd52\u009d\u0016\u00c8": {"]\u00ceK": [-281220]}, "\ud910\uddc5\u00877\u00a2\n": {}, "\ud9dc\udf2a\u00ed\ud9d8\udf0b8": {"": [], "rx\u00aa=V\u00e9": {}}, "assets": []}' http://0.0.0.0:36907/api/assets/bulk-upload-check ______________________________ POST /assets/copy _______________________________ 1. Test Case ID: eRBKUg - Unsupported methods Unsupported method POST returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot POST /api/assets/copy"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"sourceId": "00000000-0000-4000-8000-000000000000", "targetId": "00000000-0000-4000-8000-000000000000", "sharedLinks": true, "albums": true, "sidecar": true, "stack": true, "favorite": true}' http://0.0.0.0:36907/api/assets/copy ______________________________ POST /assets/jobs _______________________________ 1. Test Case ID: n1st09 - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/assets/jobs 2. Test Case ID: yxOTel - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no asset.update access"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"assetIds": ["00000000-0000-4000-8000-000000000000"], "name": "refresh-faces"}' http://0.0.0.0:36907/api/assets/jobs 3. Test Case ID: Coayeg - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"]\udbde\udcbb": {}, "B\u0006\u001c\u00e7=\u001b": {}, "\u00e7\u00b6": [[false, true, -1715]], "": [[], [-1.7976931348623155e+308], -229995], "\u00c77(\u00a3\u0017h\u00e7\u00a2\uda13\ude0cK": [[3865435543531675526017056768, -680492363549173786255294464, null], false], "assetIds": [], "name": "regenerate-thumbnail"}' http://0.0.0.0:36907/api/assets/jobs ____________________________ POST /assets/metadata _____________________________ 1. Test Case ID: 5ActQg - Unsupported methods Unsupported method POST returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot POST /api/assets/metadata"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": []}' http://0.0.0.0:36907/api/assets/metadata ___________________________ POST /auth/admin-sign-up ___________________________ 1. Test Case ID: m6u0v9 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Admin setup is not available"}` Reproduce with: curl -X POST -H 'Content-Type: application/json' -d '{"email": "testuser@email.com", "password": "[Filtered]", "name": "Admin"}' http://0.0.0.0:36907/api/auth/admin-sign-up _______________________________ POST /auth/login _______________________________ 1. Test Case ID: Ldc25I - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Incorrect email or password"}` Reproduce with: curl -X POST -H 'Content-Type: application/json' -d '{"email": "testuser@email.com", "password": "[Filtered]"}' http://0.0.0.0:36907/api/auth/login 2. Test Case ID: 02G5mP - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST http://0.0.0.0:36907/api/auth/login ______________________________ POST /auth/logout _______________________________ 1. Test Case ID: eylTgw - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/auth/logout _____________________________ POST /auth/pin-code ______________________________ 1. Test Case ID: vdugIb - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"User already has a PIN code"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"pinCode": "123456"}' http://0.0.0.0:36907/api/auth/pin-code 2. Test Case ID: DV6bDN - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u008f\u00b71\u00f3:\ud8cc\ude1b\udae1\udf38\u00cb": "\u00ad\u00ebQ\u00dd\u9d82\u00f1\u00b7O\u00c2\u00fe5\udaec\udf34\ud84d\udea7", "\udad6\udedc\u00ac\u00d9": [-2.2250738585072014e-308], "pinCode": "417946"}' http://0.0.0.0:36907/api/auth/pin-code ___________________________ POST /auth/session/lock ____________________________ 1. Test Case ID: kWpzIR - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/auth/session/lock __________________________ POST /auth/session/unlock ___________________________ 1. Test Case ID: LIoFdT - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/auth/session/unlock 2. Test Case ID: h49IfJ - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Either password or pinCode is required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:36907/api/auth/session/unlock 3. Test Case ID: 7y60qs - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": null}' http://0.0.0.0:36907/api/auth/session/unlock ___________________________ POST /auth/validateToken ___________________________ 1. Test Case ID: kDgCwl - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/auth/validateToken __________________ POST /cluster-groups/requests/{id}/accept ___________________ 1. Test Case ID: XOQSQx - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no clusterGroupRequest.read access"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/cluster-groups/requests/00000000-0000-4000-8000-000000000000/accept 2. Test Case ID: doi22f - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/cluster-groups/requests/21636369-8b52-4b4a-97b7-50923ceb3ffd/accept _______________________ POST /cluster-groups/{id}/leave ________________________ 1. Test Case ID: 51CnJ1 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no clusterGroup.leave access"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/cluster-groups/00000000-0000-4000-8000-000000000000/leave 2. Test Case ID: TAEy8T - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/cluster-groups/21636369-8b52-4b4a-97b7-50923ceb3ffd/leave _________________ POST /cluster-groups/{id}/regenerate-people __________________ 1. Test Case ID: eCziVT - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no clusterGroup.read access"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/cluster-groups/00000000-0000-4000-8000-000000000000/regenerate-people 2. Test Case ID: TfH4GG - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/cluster-groups/36b60365-39a1-498c-98e0-849ed34c9b68/regenerate-people ____________________________ POST /download/archive ____________________________ 1. Test Case ID: Bxts4k - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to download archive"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"assetIds": [], "edited": false, "archiveName": ""}' 'http://0.0.0.0:36907/api/download/archive?key=%5BFiltered%5D&slug=' 2. Test Case ID: Fv4vEk - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/download/archive?key=%5BFiltered%5D&slug=' 3. Test Case ID: 0D2wee - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no asset.download access"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"assetIds": ["00000000-0000-4000-8000-000000000000"], "edited": false, "archiveName": ""}' 'http://0.0.0.0:36907/api/download/archive?key=%5BFiltered%5D&slug=' 4. Test Case ID: TOnUSz - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"assetIds": [], "archiveName": ""}' http://0.0.0.0:36907/api/download/archive _____________________________ POST /download/info ______________________________ 1. Test Case ID: R96vVZ - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/download/info?key=%5BFiltered%5D&slug=' 2. Test Case ID: m40nkr - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no asset.download access"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"assetIds": ["00000000-0000-4000-8000-000000000000"], "albumId": "a7910d87-3367-41b8-a7b3-30a608936bbe", "userId": "00000000-0000-4000-8000-000000000000", "archiveSize": 1}' 'http://0.0.0.0:36907/api/download/info?key=%5BFiltered%5D&slug=' 3. Test Case ID: dqg6m5 - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid share key"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": true}' 'http://0.0.0.0:36907/api/download/info?key=%5BFiltered%5D' ___________________________ POST /duplicates/resolve ___________________________ 1. Test Case ID: 35zozP - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no duplicate.delete access"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"groups": [{"8\t\u00fe{\u00d7\u00e6": [{"\u00df": -1.401298464324817e-45, "\u00c7\u00ee\u008e\udb8c\uddc1": null}, ["IgnoredAuth"]], "\u009c\ud8d4\ude5e": [], "\u00c6": [[17860681800757755529875375517597696], [null, "", null], []], "\u00d2\u0091\udab4\uddf8\u00f2d": [null, [true, 2.4081366216632605e+55, true], []], "\udb07\ude72\t\u00a9\udac4\ude54": {}, "keepAssetIds": [], "trashAssetIds": ["7af6a3ff-70b5-4630-9247-c4ce523436df"], "duplicateId": "59478993-b582-4cc3-b700-2699595587d5"}]}' http://0.0.0.0:36907/api/duplicates/resolve _________________________________ POST /faces __________________________________ 1. Test Case ID: 86FZFr - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Not found or no asset.update access"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"personId": "00000000-0000-4000-8000-000000000000", "assetId": "00000000-0000-4000-8000-000000000000", "userId": "00000000-0000-4000-8000-000000000000", "imageWidth": 0, "imageHeight": 0, "x": 0, "y": 0, "width": 0, "height": 0}' http://0.0.0.0:36907/api/faces 2. Test Case ID: qrlWX2 - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\uda83\udf89\ud877\ude13": [], "\u00e1\udb43\udc2e\u001fK": [{"": false, "\u0096C9\u00f5": 568, "\u000f\uda0b\udde0\u0092\u0011\u00dc\ud9e0\udcc2\u0004\u001d": ""}, [1.401298464324817e-45], {}], "": 544535, "\ud83b\udc39\u00f3\u0002\ud91f\uded2\u000e\u00f7": [{}], "assetId": "986b0190-b0b8-4fb4-bce5-3a29b4c6a3cb", "width": -1099511627777, "personId": "56e4a117-409e-4d88-831a-4195626db3f4", "height": 16, "imageHeight": -618, "x": -30412, "y": -1110607, "imageWidth": 1933371}' http://0.0.0.0:36907/api/faces __________________________________ POST /jobs __________________________________ 1. Test Case ID: swFwxy - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/jobs 2. Test Case ID: DX4YTR - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "tag-cleanup"}' http://0.0.0.0:36907/api/jobs _______________________________ POST /libraries ________________________________ 1. Test Case ID: E6I5LR - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"message":"Failed to create library"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ownerId": "00000000-0000-4000-8000-000000000000", "name": "0", "importPaths": [], "exclusionPatterns": []}' http://0.0.0.0:36907/api/libraries 2. Test Case ID: zVrTZR - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/libraries 3. Test Case ID: x8DCT9 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","path":["exclusionPatterns"],"message":"Array items must not be empty"},{"code":"custom","path":["exclusionPatterns"],"message":"Array must have unique items"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ownerId": "00000000-0000-4000-8000-000000000000", "name": "0", "importPaths": [], "exclusionPatterns": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]}' http://0.0.0.0:36907/api/libraries 4. Test Case ID: dIBaSy - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{" X\udbeb\ude9fh\u00d0": [{}, [], []], "s\udbd8\udf5c": [null, null, -52787], "\u008c\t\u001fZ)": {"": {"\ud92c\udf94\u00dc\u001e$": 5706, " ": [], "vD\u0006\udba6\udec9[\u0013\udb7a\udd5d": [3.8157780017161224e+16]}, "\u0004": "\u0013"}, "e\u00ed3|v\u00f6B\ud98b\udc2d": {"A\ud8bd\udc61\ud9b7\udee9 \u0082\ud91b\udd4dJ": {}, "\u00104": [false], "\u008e": "]\udb2a\ude168\u00e1\u009a\u0081\u00bc\u0013\u00f9"}, "\u0011\u001e\u00b8vM": [{}, null], "importPaths": ["r>"], "exclusionPatterns": ["\u00a57\u00801\u00daR\u00c7\uda3b\udce8{", "2", "", "\u00bd\ud9b1\ude16\u00ba\u00e1\u0083\u009e\udbe1\ude80\u00bf\u00ad\u0004\u0098\u009d\ud809\udc29\uda3b\udde2\u00ca\u000f", "\u0098M\ud8ad\udebe\ud842\ude50\ud80c\ude9fU\u001d\uda5c\udf34", "\u007f", "1\udb52\udfb5\u00f2"], "ownerId": "1c4dff14-6da8-49aa-93e6-2348d3d3e244", "name": "\udaad\udeb5\u00ff"}' http://0.0.0.0:36907/api/libraries __________________________ POST /libraries/{id}/scan ___________________________ 1. Test Case ID: 5Bu4Jg - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Library not found"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/libraries/00000000-0000-4000-8000-000000000000/scan 2. Test Case ID: YgeJTW - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/libraries/00000000-0000-4000-8000-000000000000/scan ________________________ POST /libraries/{id}/validate _________________________ 1. Test Case ID: a2cdJG - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/libraries/00000000-0000-4000-8000-000000000000/validate 2. Test Case ID: YbtcRQ - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","path":["exclusionPatterns"],"message":"Array items must not be empty"},{"code":"custom","path":["exclusionPatterns"],"message":"Array must have unique items"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"importPaths": [], "exclusionPatterns": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]}' http://0.0.0.0:36907/api/libraries/00000000-0000-4000-8000-000000000000/validate 3. Test Case ID: RJTxI1 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:36907/api/libraries/00000000-0000-4000-8000-000000000000/validate ________________________________ POST /memories ________________________________ 1. Test Case ID: 0bXjuU - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","path":["data","personId"],"message":"Required for birthday memories"},{"code":"custom","path":["data","personName"],"message":"Required for birthday memories"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"memoryAt": "2024-01-01T00:00:00.000Z", "seenAt": "2024-01-01T00:00:00.000Z", "showAt": "2024-01-01T00:00:00.000Z", "hideAt": "2024-01-01T00:00:00.000Z", "type": "birthday", "data": {"year": 1000}, "assetIds": [], "isSaved": false}' http://0.0.0.0:36907/api/memories 2. Test Case ID: M0V9Fy - Response violates schema null is not of type "string" Validated against the response schema for status code 201. Schema at /components/schemas/MemoryResponseDto/properties/hideAt: { "type": "string", "description": "Date when memory should be hidden", "example": "2024-01-01T00:00:00.000Z", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468... } Value: null - API accepted schema-violating request Invalid data should have been rejected Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx Invalid component: in body - hideAt: Value not matching the 'date-time' format [201] Created: `{"id":"5645db60-4a46-42dd-94ef-1bcbdadd5e77","createdAt":"2026-10-10T19:02:27.179Z","updatedAt":"2026-10-10T19:02:27.179Z","memoryAt":"2024-01-01T00:00:00.000Z","seenAt":"2024-01-01T00:00:00.000Z","showAt":"2024-01-01T00:00:00.000Z","hideAt":null,"ownerId":"127e5cc0-ad6d-4471-bc0c-6d15fc8bba91","type":"on_this_day","data":{"year":1000,"personId":"00000000-0000-4000-8000-000000000000","personName":""},"isSaved":false,"assets":[]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"type": "on_this_day", "data": {"year": 1000, "personId": "00000000-0000-4000-8000-000000000000", "personName": ""}, "memoryAt": "2024-01-01T00:00:00.000Z", "assetIds": [], "isSaved": false, "seenAt": "2024-01-01T00:00:00.000Z", "showAt": "2024-01-01T00:00:00.000Z", "hideAt": "0020-02-29T00:00Z"}' http://0.0.0.0:36907/api/memories 3. Test Case ID: W6c8HR - Response violates schema null is not of type "string" Validated against the response schema for status code 201. Schema at /components/schemas/MemoryResponseDto/properties/showAt: { "type": "string", "description": "Date when memory should be shown", "example": "2024-01-01T00:00:00.000Z", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468... } Value: null [201] Created: `{"id":"7692d48f-2959-46a7-bbb6-6406d7fd1e5b","createdAt":"2026-10-10T19:02:27.196Z","updatedAt":"2026-10-10T19:02:27.196Z","memoryAt":"2024-01-01T00:00:00.000Z","seenAt":"2024-01-01T00:00:00.000Z","showAt":null,"hideAt":"2024-01-01T00:00:00.000Z","ownerId":"127e5cc0-ad6d-4471-bc0c-6d15fc8bba91","type":"on_this_day","data":{"year":1000,"personId":"00000000-0000-4000-8000-000000000000","personName":""},"isSaved":false,"assets":[]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"type": "on_this_day", "data": {"year": 1000, "personId": "00000000-0000-4000-8000-000000000000", "personName": ""}, "memoryAt": "2024-01-01T00:00:00.000Z", "assetIds": [], "isSaved": false, "seenAt": "2024-01-01T00:00:00.000Z", "showAt": "0020-02-29T00:00Z", "hideAt": "2024-01-01T00:00:00.000Z"}' http://0.0.0.0:36907/api/memories 4. Test Case ID: CMOP2S - Response violates schema null is not of type "string" Validated against the response schema for status code 201. Schema at /components/schemas/MemoryResponseDto/properties/seenAt: { "type": "string", "description": "Date when memory was seen", "example": "2024-01-01T00:00:00.000Z", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468... } Value: null [201] Created: `{"id":"fe1c5049-3c24-4979-91b4-6412fb8dd3f4","createdAt":"2026-10-10T19:02:27.213Z","updatedAt":"2026-10-10T19:02:27.213Z","memoryAt":"2024-01-01T00:00:00.000Z","seenAt":null,"showAt":"2024-01-01T00:00:00.000Z","hideAt":"2024-01-01T00:00:00.000Z","ownerId":"127e5cc0-ad6d-4471-bc0c-6d15fc8bba91","type":"on_this_day","data":{"year":1000,"personId":"00000000-0000-4000-8000-000000000000","personName":""},"isSaved":false,"assets":[]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"type": "on_this_day", "data": {"year": 1000, "personId": "00000000-0000-4000-8000-000000000000", "personName": ""}, "memoryAt": "2024-01-01T00:00:00.000Z", "assetIds": [], "isSaved": false, "seenAt": "0020-02-29T00:00Z", "showAt": "2024-01-01T00:00:00.000Z", "hideAt": "2024-01-01T00:00:00.000Z"}' http://0.0.0.0:36907/api/memories 5. Test Case ID: snaxfj - Response violates schema null is not of type "string" Validated against the response schema for status code 201. Schema at /components/schemas/MemoryResponseDto/properties/memoryAt: { "type": "string", "example": "2024-01-01T00:00:00.000Z", "description": "Memory date", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468... } Value: null [201] Created: `{"id":"55a63285-07f5-49b6-bad1-73c5698e9636","createdAt":"2026-10-10T19:02:27.265Z","updatedAt":"2026-10-10T19:02:27.265Z","memoryAt":null,"seenAt":"2024-01-01T00:00:00.000Z","showAt":"2024-01-01T00:00:00.000Z","hideAt":"2024-01-01T00:00:00.000Z","ownerId":"127e5cc0-ad6d-4471-bc0c-6d15fc8bba91","type":"on_this_day","data":{"year":1000,"personId":"00000000-0000-4000-8000-000000000000","personName":""},"isSaved":false,"assets":[]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"type": "on_this_day", "data": {"year": 1000, "personId": "00000000-0000-4000-8000-000000000000", "personName": ""}, "memoryAt": "0020-02-29T00:00Z", "assetIds": [], "isSaved": false, "seenAt": "2024-01-01T00:00:00.000Z", "showAt": "2024-01-01T00:00:00.000Z", "hideAt": "2024-01-01T00:00:00.000Z"}' http://0.0.0.0:36907/api/memories 6. Test Case ID: TNeoSD - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\u0083\uda5a\ude6b": {"if": {}}, "isSaved": true, "type": "birthday", "memoryAt": "2026-10-10T19:05:09.018Z", "data": {"year": 1000, "personName": "", "personId": "02001b19-b25c-4e74-84b8-878786d3f7d9"}, "hideAt": "2026-10-10T19:06:42.853Z"}' http://0.0.0.0:36907/api/memories _____________________________ POST /notifications ______________________________ 1. Test Case ID: 1iaw0f - Unsupported methods Unsupported method POST returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot POST /api/notifications"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": ["befc8b63-7c1d-43e7-9cb0-6ea6251be12b"], "readAt": "2000-01-01T00:00:00Z"}' http://0.0.0.0:36907/api/notifications ____________________________ POST /oauth/authorize _____________________________ 1. Test Case ID: ahKfJF - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST http://0.0.0.0:36907/api/oauth/authorize 2. Test Case ID: Te0ulr - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"OAuth is not enabled"}` Reproduce with: curl -X POST -H 'Content-Type: application/json' -d '{"redirectUri": ""}' http://0.0.0.0:36907/api/oauth/authorize 3. Test Case ID: 6wa5Pn - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"message":"Error in OAuth discovery: TypeError: Invalid URL"}` Reproduce with: curl -X POST -H 'Content-Type: application/json' -d '{"\u00eb*\ud89a\udff6;\f\u00a8\u008fB\u00d5\u00a7X\uda6c\udf1fT\u0003": [{"\u0011i\u00f1\ud96a\udfd4\u0000,\u0014": {}, "\ud8f5\uddcc": false, "\uda90\udf9a>/\u00c9\u00ef": null}], "redirectUri": "/auth/login?autoLaunch=0", "codeChallenge": "\u0090\u00c8G\u0089", "state": "T\u001e\u00c8&\u0019\u00c4\u00f3\ud8f4\udc65J\u00d4"}' http://0.0.0.0:36907/api/oauth/authorize ________________________ POST /oauth/backchannel-logout ________________________ 1. Test Case ID: q62sTp - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST http://0.0.0.0:36907/api/oauth/backchannel-logout 2. Test Case ID: pFEkzV - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Received backchannel logout request but OAuth is not enabled"}` Reproduce with: curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -d logout_token= http://0.0.0.0:36907/api/oauth/backchannel-logout _____________________________ POST /oauth/callback _____________________________ 1. Test Case ID: HsSWEu - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST http://0.0.0.0:36907/api/oauth/callback 2. Test Case ID: i07z5q - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"OAuth is not enabled"}` Reproduce with: curl -X POST -H 'Content-Type: application/json' -d '{"url": "00", "state": "", "codeVerifier": ""}' http://0.0.0.0:36907/api/oauth/callback 3. Test Case ID: vbp1o9 - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"message":"Error in OAuth discovery: TypeError: Invalid URL"}` Reproduce with: curl -X POST -H 'Content-Type: application/json' -d '{"\\H\u00e1${": {"\u0011": "\udaaf\udfec\u0081\u009a\u21e02\ud958\udf73\u0006\u00f3@\u0004{", "\u00ca\ud8bf\udce7": "\u0099a\u00e3\u00d5"}, "j\u00ce\u000bHy\u00af\u0093\u00f3\u00a8\uda7a\udd0f\u00ca": -5406329929, "codeVerifier": "g", "url": "(\u757a", "state": "\u00d0\u0001\ubd07\udb75\udc76\u0097\u00aa\u00b5\u00c0"}' http://0.0.0.0:36907/api/oauth/callback _______________________________ POST /oauth/link _______________________________ 1. Test Case ID: NzE4KI - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"OAuth state is missing"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"url": "0", "state": "", "codeVerifier": ""}' http://0.0.0.0:36907/api/oauth/link 2. Test Case ID: 2su3Jw - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Error in OAuth discovery: TypeError: Invalid URL"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"@[\ud9be\udcc0\ud803\udf66\u00e3\udb93\udf70a\u0096\udbf3\udee5": {}, "\u0015\u00d5\u009b": [], "\u00a2\u00df\u00b3\uda81\ude8e9\udb2c\udccd?": [], "\u00ab\t\udb66\udf95c*": {"\u00bcf\u0012\u00b9": [1015, -6.039836653830422e-128]}, "codeVerifier": "-\u00c27\u00a7\u008e\ud94b\udc38\u0004\u00aa", "state": "\udb4f\udfff\u0006\uda83\udc18\udb1b\udc1d", "url": "http://immich-machine-learning:3003"}' http://0.0.0.0:36907/api/oauth/link 3. Test Case ID: 4K7op2 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"": [1.7976931348623157e+308, [[]], ["\u00c9L\u00dd]\u00a7\udae1\udf8f\ud853\udfa7", "\udad7\udd1b\u00dd"]], "\u00b4\\": [], "url": "\udabc\udfe2", "codeVerifier": "\u00e3\u00c1\u001c\u008eX\u00c6"}' http://0.0.0.0:36907/api/oauth/link ______________________________ POST /oauth/unlink ______________________________ 1. Test Case ID: xcIXnK - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/oauth/unlink ________________________________ POST /partners ________________________________ 1. Test Case ID: azonWu - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Invalid user"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"sharedWithId": "00000000-0000-4000-8000-000000000000"}' http://0.0.0.0:36907/api/partners 2. Test Case ID: r6opuh - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"": [], "\u00ad|\udb1e\udd20C \t": null, "\u00f4\udbe2\ude6fNwN": [], "\u00df\u00dc+\u00b0": [[], [true], []], "None": {"P\u00a2": null, "\udb80\udf68O\udab9\udcfc\u0085\t\u00b7\ud895\udc8eg\u00a4k": -346995}, "sharedWithId": "93281fc6-b6c8-401a-a5f7-3bececc8ff32"}' http://0.0.0.0:36907/api/partners _____________________________ POST /partners/{id} ______________________________ 1. Test Case ID: Nbx6QE - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Invalid user"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/partners/00000000-0000-4000-8000-000000000000 2. Test Case ID: OTZLC9 - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/partners/899a4bff-7167-497e-b27d-eac045e14821 _________________________________ POST /people _________________________________ 1. Test Case ID: nThORE - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/people 2. Test Case ID: 7BCM9k - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"message":"Failed to create person"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "birthDate": "", "isHidden": false, "isFavorite": false, "color": "000"}' http://0.0.0.0:36907/api/people 3. Test Case ID: 4Lmuyh - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": null}' http://0.0.0.0:36907/api/people ______________________________ POST /people/merge ______________________________ 1. Test Case ID: 5xd6tV - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"At least two people are required for merging"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": []}' http://0.0.0.0:36907/api/people/merge 2. Test Case ID: jbQ0yO - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": []}' http://0.0.0.0:36907/api/people/merge ______________________________ POST /people/users ______________________________ 1. Test Case ID: SzxTwX - Unsupported methods Unsupported method POST returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot POST /api/people/users"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"personIds": [], "type": "everyone", "sharedWithIds": [], "role": "read"}' http://0.0.0.0:36907/api/people/users ___________________________ POST /people/{id}/merge ____________________________ 1. Test Case ID: nKsVZn - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"At least two people are required for merging"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": []}' http://0.0.0.0:36907/api/people/25feff08-3f8f-48c5-a317-f1866a73a47f/merge 2. Test Case ID: 36ap80 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": ["00000000-0000-4000-8000-000000000000"]}' http://0.0.0.0:36907/api/people/61f0e610-21a6-4e58-b0ae-1ee0df7b0353/merge __________________________ POST /search/large-assets ___________________________ 1. Test Case ID: 4Z96XL - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"boolean","code":"invalid_type","path":["isEncoded"],"message":"Invalid input: expected boolean, received string"},{"expected":"boolean","code":"invalid_type","path":["isFavorite"],"message":"Invalid input: expected boolean, received string"},{"expected":"boolean","code":"invalid_type","path":["isMotion"],"message":"Invalid input: expected boolean, received string"},{"expected":"boolean","code":"invalid_type","path":["isOffline"],"message":"Invalid input: // Output truncated...` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/search/large-assets?libraryId=00000000-0000-4000-8000-000000000000&type=IMAGE&isEncoded=true&isFavorite=true&isMotion=true&isOffline=true&visibility=archive&createdBefore=2024-01-01T00%3A00%3A00.000Z&createdAfter=2024-01-01T00%3A00%3A00.000Z&updatedBefore=2024-01-01T00%3A00%3A00.000Z&updatedAfter=2024-01-01T00%3A00%3A00.000Z&trashedBefore=2024-01-01T00%3A00%3A00.000Z&trashedAfter=2024-01-01T00%3A00%3A00.000Z&takenBefore=2024-01-01T00%3A00%3A00.000Z&takenAfter=2024-01-01T00%3A00%3A00.000Z&city=&state=&country=&make=&model=&lensModel=&isNotInAlbum=true&personIds=00000000-0000-4000-8000-000000000000&rating=1&ocr=&withDeleted=true&withExif=true&size=250&minFileSize=0' 2. Test Case ID: iYVa5n - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/search/large-assets ____________________________ POST /search/metadata _____________________________ 1. Test Case ID: sOYTnD - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","path":["filter","id"],"message":"At least one of the following fields is required: eq, ne"},{"code":"custom","path":["filter","libraryId"],"message":"At least one of the following fields is required: eq, ne"},{"code":"custom","path":["filter","type"],"message":"At least one of the following fields is required: eq, ne, in, notIn"},{"code":"custom","path":["filter","visibility"],"message":"At least one of the following fields is required: eq, ne, in, // Output truncated...` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"createdBefore": "2024-01-01T00:00:00.000Z", "createdAfter": "2024-01-01T00:00:00.000Z", "updatedBefore": "2024-01-01T00:00:00.000Z", "updatedAfter": "2024-01-01T00:00:00.000Z", "trashedBefore": "2024-01-01T00:00:00.000Z", "trashedAfter": "2024-01-01T00:00:00.000Z", "takenBefore": "2024-01-01T00:00:00.000Z", "takenAfter": "2024-01-01T00:00:00.000Z", "filter": {"takenAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "createdAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "updatedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "trashedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "or": [{"takenAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "createdAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "updatedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "trashedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "id": {}, "libraryId": {}, "type": {}, "visibility": {}, "isFavorite": {"eq": false}, "isMotion": {"eq": false}, "isOffline": {"eq": false}, "isEncoded": {"eq": false}, "hasAlbums": {"eq": false}, "hasPeople": {"eq": false}, "hasTags": {"eq": false}, "city": {}, "state": {}, "country": {}, "make": {}, "model": {}, "lensModel": {}, "description": {}, "originalFileName": {}, "originalPath": {}, "ocr": {"matches": "0"}, "rating": {}, "fileSizeInBytes": {}, "personIds": {}, "tagIds": {}, "albumIds": {}, "checksum": {}, "encodedVideoPath": {}}], "id": {}, "libraryId": {}, "type": {}, "visibility": {}, "isFavorite": {"eq": false}, "isMotion": {"eq": false}, "isOffline": {"eq": false}, "isEncoded": {"eq": false}, "hasAlbums": {"eq": false}, "hasPeople": {"eq": false}, "hasTags": {"eq": false}, "city": {}, "state": {}, "country": {}, "make": {}, "model": {}, "lensModel": {}, "description": {}, "originalFileName": {}, "originalPath": {}, "ocr": {"matches": "0"}, "rating": {}, "fileSizeInBytes": {}, "personIds": {}, "tagIds": {}, "albumIds": {}, "checksum": {}, "encodedVideoPath": {}}, "size": 250, "libraryId": null, "type": "AUDIO", "isEncoded": false, "isFavorite": false, "isMotion": false, "isOffline": false, "visibility": "hidden", "city": null, "state": null, "country": null, "make": null, "model": null, "lensModel": null, "isNotInAlbum": false, "personIds": [], "tagIds": null, "albumIds": [], "rating": null, "ocr": "", "withDeleted": false, "withExif": false, "withStacked": false, "withPeople": false, "id": "3fdca0b0-f0ad-486b-8cc6-630e5c4065db", "description": "", "checksum": "", "originalFileName": "", "originalPath": "", "previewPath": "", "thumbnailPath": "", "encodedVideoPath": "", "order": "asc", "page": 1, "orderBy": {}, "cursor": "0"}' http://0.0.0.0:36907/api/search/metadata 2. Test Case ID: 1ltvAh - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid share key"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u0085\u00e9\ud96f\udc5a": [412827, null, -1.5685005695810384e+16], "\ud88a\uddb0": {}, "\u0083:": []}' 'http://0.0.0.0:36907/api/search/metadata?key=%5BFiltered%5D' 3. Test Case ID: wWWZ2I - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Internal server error"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": [], "\u00ff": [{"{\u00ff\ud99e\uddd3\u00cb": true, "\u0084\udbce\udfe7;": "\u001d\u00ac\u00e2\u0014\ud82b\udcd3\u00e3\u00c7"}, [3.9289958033700894e-212], {}], "\u0083\u00a7\udbc9\udef1\u0088L\u00d4va": {"null": {"": -137438953473, "\u00e0": 268435457}, "+\ud8a6\udef5\u00f6D\u00aa\udb80\udc68\u00f7\u00fc\u0015\udb4d\udefc\r": {"": true, "s\u0086\u007f\b\u00b2!c\u00c8\ud8a9\udcf3Ok\u00938\ud8a0\udd9b]\u00e0\u0093": null, "\u001f": 1.0246289637856421e+70}}, "\ud934\udcf7": [{}], "description": "null", "isNotInAlbum": true, "originalPath": "/data/upload/127e5cc0-ad6d-4471-bc0c-6d15fc8bba91/6c/48/6c4844a8-b67d-4405-a5ec-cb5193d95753.jpg", "isEncoded": false, "withStacked": true, "thumbnailPath": "", "state": "\u00e9G", "libraryId": null, "createdBefore": "2026-10-10T19:18:14.567Z", "withExif": true, "cursor": "\u00cc\u0093<\u00bb\u00b3", "encodedVideoPath": "", "updatedAfter": "2026-10-10T19:18:14.796Z", "city": "Etoumbi"}' 'http://0.0.0.0:36907/api/search/metadata?slug=%C2%81%C3%92%11q%00Q%C3%89' _____________________________ POST /search/random ______________________________ 1. Test Case ID: 90l8a7 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","path":["filter","id"],"message":"At least one of the following fields is required: eq, ne"},{"code":"custom","path":["filter","libraryId"],"message":"At least one of the following fields is required: eq, ne"},{"code":"custom","path":["filter","type"],"message":"At least one of the following fields is required: eq, ne, in, notIn"},{"code":"custom","path":["filter","visibility"],"message":"At least one of the following fields is required: eq, ne, in, // Output truncated...` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"createdBefore": "2024-01-01T00:00:00.000Z", "createdAfter": "2024-01-01T00:00:00.000Z", "updatedBefore": "2024-01-01T00:00:00.000Z", "updatedAfter": "2024-01-01T00:00:00.000Z", "trashedBefore": "2024-01-01T00:00:00.000Z", "trashedAfter": "2024-01-01T00:00:00.000Z", "takenBefore": "2024-01-01T00:00:00.000Z", "takenAfter": "2024-01-01T00:00:00.000Z", "filter": {"takenAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "createdAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "updatedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "trashedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "or": [{"takenAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "createdAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "updatedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "trashedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "id": {}, "libraryId": {}, "type": {}, "visibility": {}, "isFavorite": {"eq": false}, "isMotion": {"eq": false}, "isOffline": {"eq": false}, "isEncoded": {"eq": false}, "hasAlbums": {"eq": false}, "hasPeople": {"eq": false}, "hasTags": {"eq": false}, "city": {}, "state": {}, "country": {}, "make": {}, "model": {}, "lensModel": {}, "description": {}, "originalFileName": {}, "originalPath": {}, "ocr": {"matches": "0"}, "rating": {}, "fileSizeInBytes": {}, "personIds": {}, "tagIds": {}, "albumIds": {}, "checksum": {}, "encodedVideoPath": {}}], "id": {}, "libraryId": {}, "type": {}, "visibility": {}, "isFavorite": {"eq": false}, "isMotion": {"eq": false}, "isOffline": {"eq": false}, "isEncoded": {"eq": false}, "hasAlbums": {"eq": false}, "hasPeople": {"eq": false}, "hasTags": {"eq": false}, "city": {}, "state": {}, "country": {}, "make": {}, "model": {}, "lensModel": {}, "description": {}, "originalFileName": {}, "originalPath": {}, "ocr": {"matches": "0"}, "rating": {}, "fileSizeInBytes": {}, "personIds": {}, "tagIds": {}, "albumIds": {}, "checksum": {}, "encodedVideoPath": {}}, "size": 250, "libraryId": null, "type": "AUDIO", "isEncoded": false, "isFavorite": false, "isMotion": false, "isOffline": false, "visibility": "hidden", "city": null, "state": null, "country": null, "make": null, "model": null, "lensModel": null, "isNotInAlbum": false, "personIds": [], "tagIds": null, "albumIds": [], "rating": null, "ocr": "", "withDeleted": false, "withExif": false, "withStacked": false, "withPeople": false}' http://0.0.0.0:36907/api/search/random 2. Test Case ID: TIHHLh - API accepted schema-violating request Invalid data should have been rejected Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx Invalid component: in body - takenAfter: Value not matching the 'date-time' format [200] OK: `[]` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"libraryId": null, "type": "IMAGE", "isEncoded": false, "isFavorite": false, "isMotion": false, "isOffline": false, "visibility": "archive", "createdBefore": "2024-01-01T00:00:00.000Z", "createdAfter": "2024-01-01T00:00:00.000Z", "updatedBefore": "2024-01-01T00:00:00.000Z", "updatedAfter": "2024-01-01T00:00:00.000Z", "trashedBefore": "2024-01-01T00:00:00.000Z", "trashedAfter": "2024-01-01T00:00:00.000Z", "takenBefore": "2024-01-01T00:00:00.000Z", "takenAfter": "0020-02-29T00:00Z", "city": null, "state": null, "country": null, "make": null, "model": null, "lensModel": null, "isNotInAlbum": false, "personIds": [], "tagIds": [], "albumIds": [], "rating": 1, "ocr": "", "withDeleted": false, "withExif": false, "size": 250, "withStacked": false, "withPeople": false}' http://0.0.0.0:36907/api/search/random 3. Test Case ID: cnKQ4Y - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:36907/api/search/random 4. Test Case ID: pKPPkE - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to search random"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\udb40\udf30j)\ud886\ude8d\ud907\udf70.\u009d\u0099\u0006o#": 778235347, "": {}, "MissingHeaders": {}, "\u00fa\u0011": [[]], "t7\u0011&\udb08\udd3a": [[true, null, 7.464250095041768e+235], [null, 1.1], []], "make": "\u0000", "personIds": [], "city": "\u0094|\u00b7\u0090\udb3e\udd57q\ud81b\ude63D@\u007f{\u0015", "takenBefore": "4313-11-08T09:38:42+16:55", "albumIds": ["03a41ee6-8029-4220-8893-6f196f333b8a"], "model": null, "trashedBefore": "0310-08-25T09:47:03.8+15:44"}' http://0.0.0.0:36907/api/search/random ______________________________ POST /search/smart ______________________________ 1. Test Case ID: 5MFvOO - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","path":["filter","id"],"message":"At least one of the following fields is required: eq, ne"},{"code":"custom","path":["filter","libraryId"],"message":"At least one of the following fields is required: eq, ne"},{"code":"custom","path":["filter","type"],"message":"At least one of the following fields is required: eq, ne, in, notIn"},{"code":"custom","path":["filter","visibility"],"message":"At least one of the following fields is required: eq, ne, in, // Output truncated...` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"createdBefore": "2024-01-01T00:00:00.000Z", "createdAfter": "2024-01-01T00:00:00.000Z", "updatedBefore": "2024-01-01T00:00:00.000Z", "updatedAfter": "2024-01-01T00:00:00.000Z", "trashedBefore": "2024-01-01T00:00:00.000Z", "trashedAfter": "2024-01-01T00:00:00.000Z", "takenBefore": "2024-01-01T00:00:00.000Z", "takenAfter": "2024-01-01T00:00:00.000Z", "filter": {"takenAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "createdAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "updatedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "trashedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "or": [{"takenAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "createdAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "updatedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "trashedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "id": {}, "libraryId": {}, "type": {}, "visibility": {}, "isFavorite": {"eq": false}, "isMotion": {"eq": false}, "isOffline": {"eq": false}, "isEncoded": {"eq": false}, "hasAlbums": {"eq": false}, "hasPeople": {"eq": false}, "hasTags": {"eq": false}, "city": {}, "state": {}, "country": {}, "make": {}, "model": {}, "lensModel": {}, "description": {}, "originalFileName": {}, "originalPath": {}, "ocr": {"matches": "0"}, "rating": {}, "fileSizeInBytes": {}, "personIds": {}, "tagIds": {}, "albumIds": {}, "checksum": {}, "encodedVideoPath": {}}], "id": {}, "libraryId": {}, "type": {}, "visibility": {}, "isFavorite": {"eq": false}, "isMotion": {"eq": false}, "isOffline": {"eq": false}, "isEncoded": {"eq": false}, "hasAlbums": {"eq": false}, "hasPeople": {"eq": false}, "hasTags": {"eq": false}, "city": {}, "state": {}, "country": {}, "make": {}, "model": {}, "lensModel": {}, "description": {}, "originalFileName": {}, "originalPath": {}, "ocr": {"matches": "0"}, "rating": {}, "fileSizeInBytes": {}, "personIds": {}, "tagIds": {}, "albumIds": {}, "checksum": {}, "encodedVideoPath": {}}, "size": 100, "libraryId": null, "type": "AUDIO", "isEncoded": false, "isFavorite": false, "isMotion": false, "isOffline": false, "visibility": "hidden", "city": null, "state": null, "country": null, "make": null, "model": null, "lensModel": null, "isNotInAlbum": false, "personIds": [], "tagIds": null, "albumIds": [], "rating": null, "ocr": "", "withDeleted": false, "withExif": false, "query": "", "queryAssetId": "3fdca0b0-f0ad-486b-8cc6-630e5c4065db", "language": "", "page": 1}' http://0.0.0.0:36907/api/search/smart 2. Test Case ID: uQ2FxF - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\ud835\udd4b\ud835\udd59\ud835\udd56 \ud835\udd62\ud835\udd66\ud835\udd5a\ud835\udd54\ud835\udd5c \ud835\udd53\ud835\udd63\ud835\udd60\ud835\udd68\ud835\udd5f \ud835\udd57\ud835\udd60\ud835\udd69 \ud835\udd5b\ud835\udd66\ud835\udd5e\ud835\udd61\ud835\udd64 \ud835\udd60\ud835\udd67\ud835\udd56\ud835\udd63 \ud835\udd65\ud835\udd59\ud835\udd56 \ud835\udd5d\ud835\udd52\ud835\udd6b\ud835\udd6a \ud835\udd55\ud835\udd60\ud835\udd58": {}, "\ud99d\udc3d\ud8bb\udc13": -84, "": [3.9879441454354616e+16, "\u0014", 5989104888009725.0], "\u00c8\u0014": -3.2889764455492535e-42, "8\u0096\u0084a\ud8b5\udcbe\u0092": [], "albumIds": ["a33f3fea-214c-4afb-a284-ba1561161e82", "d40461a9-d2a9-4432-b7a1-3c74f525cc47", "059ff8ea-4eb6-4c84-b9bb-701850aa7146"], "updatedAfter": "0209-11-22T10:08:23-21:55", "trashedBefore": "0621-07-21T14:00:04.083-06:42", "isEncoded": true, "ocr": "", "city": "Kango", "trashedAfter": "2026-10-10T19:07:37.415Z"}' http://0.0.0.0:36907/api/search/smart ___________________________ POST /search/statistics ____________________________ 1. Test Case ID: wC3k1O - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","path":["filter","id"],"message":"At least one of the following fields is required: eq, ne"},{"code":"custom","path":["filter","libraryId"],"message":"At least one of the following fields is required: eq, ne"},{"code":"custom","path":["filter","type"],"message":"At least one of the following fields is required: eq, ne, in, notIn"},{"code":"custom","path":["filter","visibility"],"message":"At least one of the following fields is required: eq, ne, in, // Output truncated...` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"createdBefore": "2024-01-01T00:00:00.000Z", "createdAfter": "2024-01-01T00:00:00.000Z", "updatedBefore": "2024-01-01T00:00:00.000Z", "updatedAfter": "2024-01-01T00:00:00.000Z", "trashedBefore": "2024-01-01T00:00:00.000Z", "trashedAfter": "2024-01-01T00:00:00.000Z", "takenBefore": "2024-01-01T00:00:00.000Z", "takenAfter": "2024-01-01T00:00:00.000Z", "filter": {"takenAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "createdAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "updatedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "trashedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "or": [{"takenAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "createdAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "updatedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "trashedAt": {"eq": "2024-01-01T00:00:00.000Z", "ne": "2024-01-01T00:00:00.000Z", "gt": "2024-01-01T00:00:00.000Z", "gte": "2024-01-01T00:00:00.000Z", "lt": "2024-01-01T00:00:00.000Z", "lte": "2024-01-01T00:00:00.000Z"}, "id": {}, "libraryId": {}, "type": {}, "visibility": {}, "isFavorite": {"eq": false}, "isMotion": {"eq": false}, "isOffline": {"eq": false}, "isEncoded": {"eq": false}, "hasAlbums": {"eq": false}, "hasPeople": {"eq": false}, "hasTags": {"eq": false}, "city": {}, "state": {}, "country": {}, "make": {}, "model": {}, "lensModel": {}, "description": {}, "originalFileName": {}, "originalPath": {}, "ocr": {"matches": "0"}, "rating": {}, "fileSizeInBytes": {}, "personIds": {}, "tagIds": {}, "albumIds": {}, "checksum": {}, "encodedVideoPath": {}}], "id": {}, "libraryId": {}, "type": {}, "visibility": {}, "isFavorite": {"eq": false}, "isMotion": {"eq": false}, "isOffline": {"eq": false}, "isEncoded": {"eq": false}, "hasAlbums": {"eq": false}, "hasPeople": {"eq": false}, "hasTags": {"eq": false}, "city": {}, "state": {}, "country": {}, "make": {}, "model": {}, "lensModel": {}, "description": {}, "originalFileName": {}, "originalPath": {}, "ocr": {"matches": "0"}, "rating": {}, "fileSizeInBytes": {}, "personIds": {}, "tagIds": {}, "albumIds": {}, "checksum": {}, "encodedVideoPath": {}}, "libraryId": null, "type": "AUDIO", "isEncoded": false, "isFavorite": false, "isMotion": false, "isOffline": false, "visibility": "hidden", "city": null, "state": null, "country": null, "make": null, "model": null, "lensModel": null, "isNotInAlbum": false, "personIds": [], "tagIds": null, "albumIds": [], "rating": null, "ocr": "", "description": ""}' http://0.0.0.0:36907/api/search/statistics 2. Test Case ID: cxJT8E - API accepted schema-violating request Invalid data should have been rejected Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx Invalid component: in body - takenAfter: Value not matching the 'date-time' format [200] OK: `{"total":0}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"libraryId": null, "type": "IMAGE", "isEncoded": false, "isFavorite": false, "isMotion": false, "isOffline": false, "visibility": "archive", "createdBefore": "2024-01-01T00:00:00.000Z", "createdAfter": "2024-01-01T00:00:00.000Z", "updatedBefore": "2024-01-01T00:00:00.000Z", "updatedAfter": "2024-01-01T00:00:00.000Z", "trashedBefore": "2024-01-01T00:00:00.000Z", "trashedAfter": "2024-01-01T00:00:00.000Z", "takenBefore": "2024-01-01T00:00:00.000Z", "takenAfter": "0020-02-29T00:00Z", "city": null, "state": null, "country": null, "make": null, "model": null, "lensModel": null, "isNotInAlbum": false, "personIds": [], "tagIds": [], "albumIds": [], "rating": 1, "ocr": "", "description": ""}' http://0.0.0.0:36907/api/search/statistics 3. Test Case ID: SY8OJ2 - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to search asset statistics"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u00c0\u00e8\udb41\ude9e\ud8bb\ude48": [], "isEncoded": true, "isNotInAlbum": false, "description": "", "lensModel": "\u008a\u0000\u00e0\u00f5", "takenBefore": "2026-10-10T19:07:43.333Z", "personIds": [], "isMotion": false, "trashedAfter": "2026-10-10T19:07:42.628Z", "updatedAfter": "1663-11-06T03:11:03.995593-15:41"}' http://0.0.0.0:36907/api/search/statistics 4. Test Case ID: WX9ct2 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\u00c9M>\ud8e1\uddddV\u008f\u00d2\u00bb\u009a\u007f]\ud96c\udc5af": [[], {"\ud8ac\uddd5/5\u00db\u009c-\ud9b6\udd5d\u0004qZ": -6.723341733241127e-178, "\u00ce\u001d\udb87\udebe\u0011J\u00d0*\ud948\uddea\ud93a\udf21": 2684, "\udafa\udd7d\u00e0": -0.5}, ["\ud8d1\udcad\u0097\u008aK\u0080\u00f0>x*\u00fa", "unique"]], "\u00cd": true, "\udb82\udd2b\u00ae\u0018": {"": -6.085968642803688e+16}}' http://0.0.0.0:36907/api/search/statistics _____________________________ POST /server/license _____________________________ 1. Test Case ID: 7LeN3J - Unsupported methods Unsupported method POST returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot POST /api/server/license"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"licenseKey": "[Filtered]", "activationKey": "[Filtered]"}' http://0.0.0.0:36907/api/server/license ________________________________ POST /sessions ________________________________ 1. Test Case ID: zcBFpx - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/sessions 2. Test Case ID: 7bIqaV - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"message":"Failed to create session"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"duration": 9007199254740990, "deviceType": "", "deviceOS": ""}' http://0.0.0.0:36907/api/sessions 3. Test Case ID: 4SJywA - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"deviceOS": "\u0081", "duration": 2}' http://0.0.0.0:36907/api/sessions ___________________________ POST /sessions/{id}/lock ___________________________ 1. Test Case ID: k5HlLH - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no session.lock access"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/sessions/acee5431-ccc5-47fe-aa38-8d69e8dbac9e/lock 2. Test Case ID: 7seu9Z - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' http://0.0.0.0:36907/api/sessions/32a0caa0-822d-41dd-8650-b2f42bdd6c80/lock ______________________________ POST /shared-links ______________________________ 1. Test Case ID: WZKRAc - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Not found or no album.share access"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"expiresAt": "2024-01-01T00:00:00.000Z", "allowDownload": true, "showMetadata": true, "type": "ALBUM", "assetIds": [], "albumId": "3fdca0b0-f0ad-486b-8cc6-630e5c4065db", "description": null, "password": "[Filtered]", "slug": null, "allowUpload": false}' http://0.0.0.0:36907/api/shared-links 2. Test Case ID: FhGtZm - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"type": "ALBUM"}' http://0.0.0.0:36907/api/shared-links ___________________________ POST /shared-links/login ___________________________ 1. Test Case ID: 5HfddM - Undocumented HTTP status code Received: 403 Documented: 201 [403] Forbidden: `{"message":"Forbidden"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"password": "[Filtered]"}' http://0.0.0.0:36907/api/shared-links/login 2. Test Case ID: nS159x - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/shared-links/login?key=%5BFiltered%5D&slug=' 3. Test Case ID: UNSbmg - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid share key"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u00c0": {}, "f\u00c7": [12305716693], "]\u00f5\u0091": [2.220446049250313e-16, "\u0014>", -99999999999999], "password": "[Filtered]"}' 'http://0.0.0.0:36907/api/shared-links/login?key=%5BFiltered%5D' _________________________________ POST /stacks _________________________________ 1. Test Case ID: ac0ZwO - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Not found or no asset.update access"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"assetIds": ["e878500b-2f49-466f-a94d-ba062e32c150", "11194afc-869e-4cc1-b11d-01c96c1fe5d2"]}' http://0.0.0.0:36907/api/stacks 2. Test Case ID: AAFDRs - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -d '{"assetIds": ["a654ecca-ea07-4855-861b-e58d12b9250b", "a3865685-25f1-477e-9da4-542a4493d732", "6067ef1b-e7f6-495c-b639-4eb8a33ede55"]}' http://0.0.0.0:36907/api/stacks ________________________________ POST /sync/ack ________________________________ 1. Test Case ID: Q4wHxM - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"message":"Failed to send sync ack"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"acks": []}' http://0.0.0.0:36907/api/sync/ack 2. Test Case ID: iGNmeM - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/sync/ack 3. Test Case ID: I6N307 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Invalid ack type: "}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"acks": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]}' http://0.0.0.0:36907/api/sync/ack 4. Test Case ID: dCzGPa - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\u00e7\u00bf\u0005": [["\udbb5\udd59\u00ef\u00b2\u00b6\u00d13\u0088"], {"": null}], "acks": ["79", "", "\uda83\udd06\u00e5|\u00fe\u00f0\u00b2\u00df\u00a9\u0094", "\udb84\udf1e", "{}", "\ud8ec\ude7a\u00ed/\u00d6w"]}' http://0.0.0.0:36907/api/sync/ack ______________________________ POST /sync/stream _______________________________ 1. Test Case ID: o3FJ4y - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/sync/stream 2. Test Case ID: MzX57z - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"SyncRequestType.AssetFacesV1 is deprecated, use SyncRequestType.AssetFacesV2 instead"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"types": ["AssetFacesV1"], "reset": false}' http://0.0.0.0:36907/api/sync/stream _____________________________ POST /system-config ______________________________ 1. Test Case ID: DSrvit - Unsupported methods Unsupported method POST returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot POST /api/system-config"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"backup": {"database": {"enabled": false, "cronExpression": "", "keepLastAmount": 1}}, "ffmpeg": {"crf": 0, "threads": 0, "preset": "", "targetVideoCodec": "h264", "acceptedVideoCodecs": [], "targetAudioCodec": "mp3", "acceptedAudioCodecs": [], "acceptedContainers": [], "targetResolution": "", "maxBitrate": "", "bframes": 0, "refs": 0, "gopSize": 0, "temporalAQ": false, "cqMode": "auto", "twoPass": false, "preferredHwDevice": "", "transcode": "all", "accel": "nvenc", "accelDecode": false, "tonemap": "hable", "realtime": {"enabled": false, "videoCodecs": [], "resolutions": []}}, "integrityChecks": {"missingFiles": {"enabled": false, "cronExpression": ""}, "untrackedFiles": {"enabled": false, "cronExpression": ""}, "checksumFiles": {"enabled": false, "cronExpression": "", "timeLimit": 0, "percentageLimit": 0.0}}, "job": {"thumbnailGeneration": {"concurrency": 1}, "metadataExtraction": {"concurrency": 1}, "videoConversion": {"concurrency": 1}, "faceDetection": {"concurrency": 1}, "smartSearch": {"concurrency": 1}, "backgroundTask": {"concurrency": 1}, "migration": {"concurrency": 1}, "search": {"concurrency": 1}, "sidecar": {"concurrency": 1}, "library": {"concurrency": 1}, "notifications": {"concurrency": 1}, "ocr": {"concurrency": 1}, "workflow": {"concurrency": 1}, "editor": {"concurrency": 1}, "integrityCheck": {"concurrency": 1}}, "logging": {"enabled": false, "level": "verbose"}, "machineLearning": {"enabled": false, "urls": [""], "availabilityChecks": {"enabled": false, "timeout": 0, "interval": 0}, "clip": {"enabled": false, "modelName": ""}, "duplicateDetection": {"enabled": false, "maxDistance": 0.001}, "facialRecognition": {"enabled": false, "modelName": "", "minScore": 0.1, "maxDistance": 0.1, "minFaces": 1}, "ocr": {"enabled": false, "modelName": "", "maxResolution": 1, "minDetectionScore": 0.1, "minRecognitionScore": 0.1}}, "map": {"enabled": false, "lightStyle": "https://0.com", "darkStyle": "https://0.com"}, "reverseGeocoding": {"enabled": false}, "metadata": {"faces": {"import": false}}, "oauth": "[Filtered]", "passwordLogin": "[Filtered]", "storageTemplate": {"enabled": false, "hashVerificationEnabled": false, "template": ""}, "image": {"thumbnail": {"format": "jpeg", "quality": 1, "size": 1, "progressive": false}, "preview": {"format": "jpeg", "quality": 1, "size": 1, "progressive": false}, "fullsize": {"enabled": false, "format": "jpeg", "quality": 1, "progressive": false}, "colorspace": "srgb", "extractEmbedded": false}, "newVersionCheck": {"enabled": false, "channel": "stable"}, "nightlyTasks": {"startTime": "00:00", "databaseCleanup": false, "missingThumbnails": false, "clusterNewFaces": false, "generateMemories": false, "syncQuotaUsage": false}, "trash": {"enabled": false, "days": 0}, "theme": {"customCss": ""}, "library": {"scan": {"enabled": false, "cronExpression": ""}, "watch": {"enabled": false}}, "notifications": {"smtp": {"enabled": false, "from": "", "replyTo": "", "transport": {"ignoreCert": false, "host": "", "port": 0, "secure": false, "username": "", "password": "[Filtered]"}}}, "templates": {"email": {"welcomeTemplate": "", "albumInviteTemplate": "", "albumUpdateTemplate": ""}}, "server": {"externalDomain": "", "loginPageMessage": "", "publicUsers": false}, "user": {"deleteDelay": 1}}' http://0.0.0.0:36907/api/system-config ____________________ POST /system-metadata/admin-onboarding ____________________ 1. Test Case ID: ObokEn - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/system-metadata/admin-onboarding 2. Test Case ID: FlRQXA - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\u00c9[\u00bd\u0085\u00a9\u009c\u00ec": null, "5\ud950\udeaa\u0087\u00f0": {"\u008b\u00a5\uda3d\ude6b2": 49, " D\u0096\u00b1\u001dA\u00e3pe\ud9ee\ude40\u009d\u0001\u00f9": {"": -3.73525091966913e+16, "\u00b8\uda50\ude0b\u00c2#B\ud840\udf88%": -220}}, "\u00d3\ud863\ude75": [], "\u00ff\u0005\ud81c\udf97\u0090": [], "\u00a2\u00fd\u0089?S\u00f0": {}, "isOnboarded": true}' http://0.0.0.0:36907/api/system-metadata/admin-onboarding __________________________________ POST /tags __________________________________ 1. Test Case ID: PRn8nt - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"A tag with that name already exists"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "parentId": null, "color": "000"}' http://0.0.0.0:36907/api/tags 2. Test Case ID: cHkcgT - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -d '{"\u009b\udb5e\udf3e": {"\u00040P\u0097\u00b36M\u00a8J\u00ee": {"\u00ef": -32352, "\uda06\ude82": 6.006560081502814e+16, "\u0092\uda00\udc99\ud842\uddc7\udb93\udd41": "\u00f2\u00c3-:\u00f6R7"}}, "color": "#Dcb4AB", "name": "assetMissingTimeZoneFilter"}' http://0.0.0.0:36907/api/tags 3. Test Case ID: 0KRmRl - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"message":"Failed to create tag"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u0084\fP\udb2f\udcac\u00f6\ud92a\udc95.l\u00fbv\u00cb\u00db\f\udb5f\udc4e": {"\ud93c\udf22\udb5f\udfddP\udaed\udc19:\ud82c\udd9a\ud980\ude02": ""}, "\u0007A\u00e1\ud86d\udccb\uda2c\ude59\u001d\u00a7%\u00b2]0\udab9\uddb4Jj\u0093\u000b": {"\ud970\udcf7\u00e7\u00a6\u008c": null}, "\u0003": {"": "\u00cb", "\ud9fc\udc20\ud934\udcf1": 6.983541481790858e+64}, "\ud835\udd7f\ud835\udd8d\ud835\udd8a \ud835\udd96\ud835\udd9a\ud835\udd8e\ud835\udd88\ud835\udd90 \ud835\udd87\ud835\udd97\ud835\udd94\ud835\udd9c\ud835\udd93 \ud835\udd8b\ud835\udd94\ud835\udd9d \ud835\udd8f\ud835\udd9a\ud835\udd92\ud835\udd95\ud835\udd98 \ud835\udd94\ud835\udd9b\ud835\udd8a\ud835\udd97 \ud835\udd99\ud835\udd8d\ud835\udd8a \ud835\udd91\ud835\udd86\ud835\udd9f\ud835\udd9e \ud835\udd89\ud835\udd94\ud835\udd8c": [3.907015592574914e+236], "": [], "color": "#E625", "parentId": null, "name": "\u95a8\u00de\u0000\ud892\udc8e\u00b7:\u00b1\udade\ude54r\u000f"}' http://0.0.0.0:36907/api/tags ______________________________ POST /tags/assets _______________________________ 1. Test Case ID: MZbOW1 - Unsupported methods Unsupported method POST returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot POST /api/tags/assets"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"tagIds": [], "assetIds": ["00000000-0000-4000-8000-000000000000"]}' http://0.0.0.0:36907/api/tags/assets ______________________________ POST /trash/empty _______________________________ 1. Test Case ID: CPJycC - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/trash/empty _____________________________ POST /trash/restore ______________________________ 1. Test Case ID: qu0LhW - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/trash/restore __________________________ POST /trash/restore/assets __________________________ 1. Test Case ID: xmicmf - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/trash/restore/assets 2. Test Case ID: Zbx3No - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no asset.delete access"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": ["00000000-0000-4000-8000-000000000000"]}' http://0.0.0.0:36907/api/trash/restore/assets 3. Test Case ID: HeCk5f - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\u00af/$\ud9ca\ude85\u0013\u00f0\udbe5\udc8d\u0094\ud8df\udcbd": {"\u008e\u009c\u00e2": null, "\u00b7\u0089\uda48\udd352\"": null}, "\u00deCzGs\u008e\ud934\udd46\u0083": {}, "\u001a\\\udbde\udfb3\u00b6T\u00ee\u008e-\udb0a\udf57": ["none", null, "\ud867\udd7e`"], " ": {"\ud908\ude1d\u009a6": -3.9830947257200776e+16, "": null, "\u00e0a\ud8a6\udc94\ud8e3\uddca\u00b4{": null}, "\u00f4\r\u00dd\udbe1\udd67": [], "ids": ["00000000-0000-4000-8000-000000000000"]}' http://0.0.0.0:36907/api/trash/restore/assets ________________________________ POST /users/me ________________________________ 1. Test Case ID: pCLzT6 - Unsupported methods Unsupported method POST returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot POST /api/users/me"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"email": "0@0", "password": "[Filtered]", "name": "", "avatarColor": null}' http://0.0.0.0:36907/api/users/me ____________________________ POST /users/me/license ____________________________ 1. Test Case ID: v8mem1 - Unsupported methods Unsupported method POST returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot POST /api/users/me/license"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"licenseKey": "[Filtered]", "activationKey": "[Filtered]"}' http://0.0.0.0:36907/api/users/me/license __________________________ POST /users/me/onboarding ___________________________ 1. Test Case ID: 6nYey9 - Unsupported methods Unsupported method POST returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot POST /api/users/me/onboarding"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"isOnboarded": false}' http://0.0.0.0:36907/api/users/me/onboarding __________________________ POST /users/me/preferences __________________________ 1. Test Case ID: CSs09A - Unsupported methods Unsupported method POST returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot POST /api/users/me/preferences"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"albums": {"defaultAssetOrder": "asc"}, "avatar": {"color": "primary"}, "cast": {"gCastEnabled": false}, "download": {"archiveSize": 1, "includeEmbeddedVideos": false}, "emailNotifications": {"enabled": false, "albumInvite": false, "albumUpdate": false}, "folders": {"enabled": false, "sidebarWeb": false}, "memories": {"enabled": false, "duration": 1, "sidebarWeb": false}, "people": {"enabled": false, "sidebarWeb": false, "minimumFaces": 1, "updateStrategy": "self"}, "purchase": {"showSupportBadge": false, "hideBuyButtonUntil": ""}, "ratings": {"enabled": false}, "sharedLinks": {"enabled": false, "sidebarWeb": false}, "tags": {"enabled": false, "sidebarWeb": false}, "recentlyAdded": {"sidebarWeb": false}}' http://0.0.0.0:36907/api/users/me/preferences __________________________ POST /users/profile-image ___________________________ 1. Test Case ID: 3YO9Q9 - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"message":"Failed to create profile image"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users/profile-image 2. Test Case ID: kg0DMG - Server error on unexpected Content-Type Undeclared `Content-Type: text/plain` returned 500, expected 415 Unsupported Media Type Reject media types the operation does not accept with 415 [500] Internal Server Error: `{"message":"Failed to create profile image"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: text/plain' -d $'--5dff0ad41c475280175df943a954c5df\r\nContent-Disposition: form-data; name="file"; filename="file.png"\r\n\r\n�PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x00\x00\x00\x00:~�U\x00\x00\x00\nIDATx�c`\x00\x00\x00\x02\x00\x01H��q\x00\x00\x00\x00IEND�B`�\r\n--5dff0ad41c475280175df943a954c5df--\r\n' http://0.0.0.0:36907/api/users/profile-image 3. Test Case ID: SRdg25 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Unsupported file type file"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=1a82ec1458f1e28f7462bb3ad1443a3f' -d $'--1a82ec1458f1e28f7462bb3ad1443a3f\r\nContent-Disposition: form-data; name="file"; filename="file"\r\n\r\n"\x1c\r\n--1a82ec1458f1e28f7462bb3ad1443a3f--\r\n' http://0.0.0.0:36907/api/users/profile-image 4. Test Case ID: V3db2y - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=e0968ac861812c8a32b93c80e4fba63e' -d $'--e0968ac861812c8a32b93c80e4fba63e\r\nContent-Disposition: form-data; name=""\r\n\r\nnull\r\n--e0968ac861812c8a32b93c80e4fba63e\r\nContent-Disposition: form-data; name="file"; filename="file.png"\r\n\r\n�PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x00\x00\x00\x00:~�U\x00\x00\x00\nIDATx�c`\x00\x00\x00\x02\x00\x01H��q\x00\x00\x00\x00IEND�B`�\r\n--e0968ac861812c8a32b93c80e4fba63e--\r\n' http://0.0.0.0:36907/api/users/profile-image _______________________________ POST /workflows ________________________________ 1. Test Case ID: ROORRe - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/workflows 2. Test Case ID: Qy2Ynd - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Unknown method "}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"trigger": "AssetCreate", "name": null, "description": null, "enabled": false, "logging": false, "steps": [{"method": "", "config": null, "enabled": true}]}' http://0.0.0.0:36907/api/workflows 3. Test Case ID: CjxKZ9 - Undocumented HTTP status code Received: 401 Documented: 201 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -d '{"Hd\udafe\udde4_\ud831\uddae\u00f3\u0089\ud924\udf367jq\ud84e\ude78": "\ud808\udeb9@\u008d", "X": {}, "\u00f0\udbe0\udc12": "!\u00b0\u00c5\u00c3\u0091", "": [{"\u00b6O\ud905\udf45\u008c3\u00e6\u00a1\u0086=\u00c2\u0004K": 5270420312538247.0, "\ud962\uded4\u008d:": null, "": 29242836}, "", []], "steps": [{"\u0006U\u00c5\ud99d\udcf5\u00d0\udb83\udf99/\u0083\u00bf\u0080\udbc9\udeeb\u0014I\u59e7;": [true], "": true, "d\u00fd2\u00dd\u0001B\r\u00e6\n\u0019S\ud9b5\udfec[\u00ec\ud8eb\uddc70iO\u000b\u008a\u00e8\f+c*": null, "\u00b5\u00cd\u00bc3\u00b1\ud8d4\udf1f\u0007\u00cb\ud8c7\ude3e\u0096\n\udb9b\udd5a\u00fd": [{"": 2.306041414273612e-99}], "\u00ec": {}, "config": {"-\udbae\udc3c\u00cb\u0016]\u00d8E\udaef\udd2c\u0080\u0013B": {}, "\u0003": {"\u00bd\ua032\udaa9\udc2b\uda85\udc3b\uda48\udc89\u0002": [], "!w\u00dd\u0016\udae4\udc99\u00bd": null, "!": [-2.0436034465535364e+16, null]}, "\u00d8\u00a2": [], "\udac8\udda8": {"Q\u00e0l\udbbd\udc95p*q\u00b6N\u00aaf\ud8ed\udc3f": {"": ["0y\u00cc\ud847\udf53s\u00d7N\ud815\udd43\"n\u009fo", 1467373444, 2.225073858507203e-309], "\uda8f\udcde\u0004": {}}, "MissingContentType": [[]], "Performance": [[], "D\udb21\udfc7", -243]}, "\u00c8_\u00a7\ud819\udd15\u0081\u00da\u00aa\udb56\udf18\u0086x\u00c6\u0010\u00b4\u00a1\u000f\b\u0094\ud9b8\uddb6u\udb73\udf24": false}, "method": "\udaed\ude9c\ud9b3\uddab\u009f\u000e"}, {"config": null, "method": "\u00a7", "enabled": true}, {"": {}, "AcceptedNegativeData": {}, "\u0091\uda2d\uddd5": {}, "\u00d7K\u0085F\u00c2t!\u0004\u00can\u0097+Vj\u000b\u009f": ["", 62139, [32991876, null, false]], "config": null, "enabled": true, "method": "\ud8e4\udf11\u0092\u00d8\u0096\ud8a5\udf1c\u0097\udb94\udfee\u0004\u00f26S"}, {"\ud87e\udebbV-b": {"": true, "\u000b\u00ed\u008a\u00b8": "", "\u00b5Z\u00910\u00cdKJ\u0091\ud9a3\udc88": -48955}, "method": "^}", "config": null, "enabled": true}, {"\uda48\udc4e": {"\u00f2\u0019Ry\ud83a\udc3bS\u009b\udab0\udc340\u0018\udaee\udca9\u000f\u00fa\u00f2\u0088": ["b\u00f4\u009a\udbe8\udc86"], "0\u00f0\ud854\udd8f)\u00bf9\u00a7\u00f9\u00ea": 3.1286848546337076e+300, "\u00fc": {}}, "method": "\u008bY\udb64\ude65}\udaf2\udcdeO", "config": null, "enabled": false}, {"\u1ada\u00b1Oy\u00ba\u001cu+\u00f5\n\u00c7\u00e6\u0018\u00e9\u00ec\uda43\ude36\u009d\u00d6\u00db\u0084}\ud88d\udf6f\udbad\udc6c`#.\u00f1\ud9aa\uddb9H\u0095\u00d1p": [], "\udb74\udc3f": [null], "": {"\u0089": "\ud876\udc42", "\u00bdv\u00e3\u00d8T\u0019": -668104, "z": 1.865544072766216e+16}, "\u00b4": {"999999999999999999999999999999": null}, "yF\udb4e\udd4fw\u00f1u": [null], "enabled": true, "config": null, "method": "\u00a1"}, {"\u00f8": [[], ["\u009e\u00d3\u0012\u00cbUD\u00f9", null, 49830], {"J": true}], "\u00de\u00e3V": {"\udb56\udf8e\u000bu": [{"\ud913\udf03\udab2\udd30\udbc0\udf55(\u00a7=\uda7c\udfbb\udaf0\ude65\u9d1f\u001d": -3912311592}, 2.055037628202397e-100, -881], "\ud97c\udf2a>\u00e3\u00c1)\udbdb\udfb0": {}, "": [null]}, "\u00caU;\udb3b\ude18\udb22\udcc9": {}, "$": {"\u00cc\u00d2": [-29642, 11213054981765198]}, "config": {"": false, "\u0096\u008b": [[88648545, null, -22213121455381]], "j\udaee\udfc4o\ud8c4\udd17\udaee\udd89\t\u0006": [], "\u0003\ud8ec\udfe6\udb99\uded8B\u00f7": {"NIL": null}, "\udacc\udc9e>N": [], "9": {"\udaf0\udcc9S\u00d0k\u00ea\u00efo": 5.694394493801884e+16, "\u00ee\u00a3": true, "\u0012\u009f\u00e9]\u3740\u00f2\u00b2\ud83e\udf4b\uda2a\udc46\u00a1^\udb34\udc7c\udb3d\udf79\u00e0=\u00b3": false}, "C": true, "\n\u0014\u00909": [-846, 3049796], "\udb02\udc69\u00cbm\u00d1\u00d2\u0093q\ud92c\udda9a\udb39\udf06\u00b9g\u007fa\u00a7\ud96a\udcf0<\ud91b\udf1e": "\u00f69V\u0013\u001c\u00be", "\u0002\uda8f\udf38\ud882\udf9e\udbaa\udda0\u00ef": {"": [38381, [null, -1.1125369292536007e-308], [284264680]]}}, "method": "\u00e1\u001d"}, {"\u00833\ud8f0\udc1c\u00aa": null, "\u00e4\udba2\udc44\udbd1\udce3\ud947\udd65": false, "": [[], [[]], {"": "C", "\u00e7\uda48\udc4a\ud892\udda5\ud85f\ude6d&|u\u00a3\u00e4)}\u0080\ud852\udf5c": true, "\u0018a\u00d2\uda2e\udeefp\u0000t": {}}], "\u00fc\u0080\u00adc5v": [{"\u009a\udb3c\uddc1": -1.7178316895300984e+16, "\u00dfL": "=\ud94b\uddd7"}, null, "\u00a2\u0003\u0091\u008a\u00f5\u00ff\u00a2\u0019"], "\udb18\udf6d": {"": 2583, "\u00d9\u008c": 5187, "{\"": "'"'"'\u008a\u0001\u00a6\u007f:\udbd5\ude23\u00fc'"'"'Z"}, "method": "\ud83d\udc4d\ud83c\udffb", "enabled": false, "config": null}, {"i\u001b\u00b2L\ud980\ude77V\u0088\u0019\u00ef\u008b\udabf\udd7a": -1.9, "enabled": true, "method": "\udbe6\udc41\udac0\udfec\u00ce\u00e2", "config": {}}], "description": null, "enabled": false, "trigger": "AssetMetadataExtraction"}' http://0.0.0.0:36907/api/workflows _______________________________ PUT /activities ________________________________ 1. Test Case ID: wI3YTO - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/activities"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"albumId": "00000000-0000-4000-8000-000000000000", "assetId": "00000000-0000-4000-8000-000000000000", "type": "comment", "comment": ""}' http://0.0.0.0:36907/api/activities __________________________ PUT /activities/statistics __________________________ 1. Test Case ID: PrCHrf - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/activities/statistics?albumId=4961d4a9-1a18-4ea3-bafc-1999bf9fe4e1&assetId=00000000-0000-4000-8000-000000000000"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/activities/statistics?albumId=4961d4a9-1a18-4ea3-bafc-1999bf9fe4e1&assetId=00000000-0000-4000-8000-000000000000' __________________________ PUT /admin/auth/unlink-all __________________________ 1. Test Case ID: euttWJ - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/admin/auth/unlink-all"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/auth/unlink-all ______________________________ PUT /admin/config _______________________________ 1. Test Case ID: Lo7AL6 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","message":"Invalid cron expression. Too few fields","path":["backup","database","cronExpression"]},{"code":"custom","message":"Invalid cron expression. Too few fields","path":["integrityChecks","missingFiles","cronExpression"]},{"code":"custom","message":"Invalid cron expression. Too few fields","path":["integrityChecks","untrackedFiles","cronExpression"]},{"code":"custom","message":"Invalid cron expression. Too few fields","path":["integrityChecks", // Output truncated...` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"backup": {"database": {"enabled": false, "cronExpression": "", "keepLastAmount": 1}}, "ffmpeg": {"crf": 0, "threads": 0, "preset": "", "targetVideoCodec": "h264", "acceptedVideoCodecs": [], "targetAudioCodec": "mp3", "acceptedAudioCodecs": [], "acceptedContainers": [], "targetResolution": "", "maxBitrate": "", "bframes": 0, "refs": 0, "gopSize": 0, "temporalAQ": false, "cqMode": "auto", "twoPass": false, "preferredHwDevice": "", "transcode": "all", "accel": "nvenc", "accelDecode": false, "tonemap": "hable", "realtime": {"enabled": false, "videoCodecs": [], "resolutions": []}}, "integrityChecks": {"missingFiles": {"enabled": false, "cronExpression": ""}, "untrackedFiles": {"enabled": false, "cronExpression": ""}, "checksumFiles": {"enabled": false, "cronExpression": "", "timeLimit": 0, "percentageLimit": 0.0}}, "job": {"thumbnailGeneration": {"concurrency": 1}, "metadataExtraction": {"concurrency": 1}, "videoConversion": {"concurrency": 1}, "faceDetection": {"concurrency": 1}, "smartSearch": {"concurrency": 1}, "backgroundTask": {"concurrency": 1}, "migration": {"concurrency": 1}, "search": {"concurrency": 1}, "sidecar": {"concurrency": 1}, "library": {"concurrency": 1}, "notifications": {"concurrency": 1}, "ocr": {"concurrency": 1}, "workflow": {"concurrency": 1}, "editor": {"concurrency": 1}, "integrityCheck": {"concurrency": 1}}, "logging": {"enabled": false, "level": "verbose"}, "machineLearning": {"enabled": false, "urls": [""], "availabilityChecks": {"enabled": false, "timeout": 0, "interval": 0}, "clip": {"enabled": false, "modelName": ""}, "duplicateDetection": {"enabled": false, "maxDistance": 0.001}, "facialRecognition": {"enabled": false, "modelName": "", "minScore": 0.1, "maxDistance": 0.1, "minFaces": 1}, "ocr": {"enabled": false, "modelName": "", "maxResolution": 1, "minDetectionScore": 0.1, "minRecognitionScore": 0.1}}, "map": {"enabled": false, "lightStyle": "https://0.com", "darkStyle": "https://0.com"}, "reverseGeocoding": {"enabled": false}, "metadata": {"faces": {"import": false}}, "oauth": "[Filtered]", "passwordLogin": "[Filtered]", "storageTemplate": {"enabled": false, "hashVerificationEnabled": false, "template": ""}, "image": {"thumbnail": {"format": "jpeg", "quality": 1, "size": 1, "progressive": false}, "preview": {"format": "jpeg", "quality": 1, "size": 1, "progressive": false}, "fullsize": {"enabled": false, "format": "jpeg", "quality": 1, "progressive": false}, "colorspace": "srgb", "extractEmbedded": false}, "newVersionCheck": {"enabled": false, "channel": "stable"}, "nightlyTasks": {"startTime": "00:00", "databaseCleanup": false, "missingThumbnails": false, "clusterNewFaces": false, "generateMemories": false, "syncQuotaUsage": false}, "trash": {"enabled": false, "days": 0}, "theme": {"customCss": ""}, "library": {"scan": {"enabled": false, "cronExpression": ""}, "watch": {"enabled": false}}, "notifications": {"smtp": {"enabled": false, "from": "", "replyTo": "", "transport": {"ignoreCert": false, "host": "", "port": 0, "secure": false, "username": "", "password": "[Filtered]"}}}, "templates": {"email": {"welcomeTemplate": "", "albumInviteTemplate": "", "albumUpdateTemplate": ""}}, "server": {"externalDomain": "", "loginPageMessage": "", "publicUsers": false}, "user": {"deleteDelay": 1}}' http://0.0.0.0:36907/api/admin/config 2. Test Case ID: iGpcR8 - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to update admin config"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": null, "passwordLogin": "[Filtered]", "oauth": "[Filtered]", "image": {"v\u001f": {"\u00a0\u009a": "\ud8a3\udf7e4\u000b\u008c\ud9b2\udd69\ud9dc\udea2", "": {"\u00e0H": -1.1490587906670546e+16}, "C\udb27\ude1de": -2.912279422347565e+16}, "_\uda09\udc35": {"\u0004\ud952\udc1e": null, "\udba0\udc34": {"": 1.737286547044537e+127, "\u00a5\udaf5\ude33\u00bdw\u00ab\u008c\u008d\u0092\u008b\u00c7\u00de": 1.4098963148313494e+54, "\u00ec\ud822\udd02\u0006\u0005\uda35\uddb6b\u00b0\u00a9\ud842\udcb4\ud810\udf90t\uda72\udf28\udaaa\ude3a\u00bb\u0082\uda60\udf41&\u0099": 1077045}, "FALSE": -17079691418626331802337280}, "extractEmbedded": true, "thumbnail": {"\udb12\udf32\u00bf\u00bd\u0081\ud845\udec5": [[], {}, "\u00bf\u00af\ud8b7\udd6b#8d\ud9b3\udedc.\udbad\udce92"], "\ud9a5\udd4b\u00eb\u00cf": {}, "": {"\u00b4\u0095\u00b3": {"\u00b0=": -1.401298464324817e-45, "\u0083r\udaad\udfb6+\uda7f\udde7\b\ud8ab\udf2c\u0090\u00ec\u00a4\ud860\ude7aa": false, "": ""}}, "\u00b8P": {"P@\u008d": "\u0010\u009a\u00ba", "\u009b\ud848\udff1": {"N\u00bd\"^O\u000b\udac8\udc12\ud9b8\ude25\u00ca\u00f0\ud94f\udd0e\ud86c\udef0{zX\u00f5\u00a7\u00db\u001f": false}, "\u00b3\udaee\ude6fF\u0086S": {}}, "quality": 80, "progressive": false, "size": 250, "format": "jpeg"}, "fullsize": {"quality": 80, "enabled": false, "format": "jpeg", "progressive": false}, "colorspace": "p3", "preview": {"\ud9f5\udfdc\u00bb\u00ddU\u00cd\u0093\u008c\ud982\udcf6*\ud9ab\udf56a\u0000\u00c3\f\udb7a\udf9a\ud8b2\udf51\u00d9K\u00b0\ud86e\udd0c\u0013\u001a\u00a6\ud8ba\uddc7\ud836\udf4b\ud969\udcd3\u0017\u00a1g\u00ec\u00cdL\u00f5\uda7e\ude67|": {}, "\uda20\udf1e\u001d\u00b5\u00de)\u0089": "!\u00c3", "\u00c13": [-6415934210, null, -819], "\ud912\udfc8[": -3.0368824816013303e-50, "format": "jpeg", "size": 250, "quality": 80}}, "integrityChecks": {"\u00b9\udbcd\udd6a\u00f2\u000f\u00fd\u00af": {"\u00a4\u0095\u00e7C\u00e3": [1487]}, "": null, "checksumFiles": {"\u00a0k\uda0a\udd8b\u0006;\u00d9vwj": [{"\u0006": false, "": null, "\uda6c\uddc8": -2.4637556777891385e-253}, {}, [-2.2250738585e-313]], "wU\u000f": [[6.392719142443033e+16, null]], "\u00b6\u0000\\\r\u008d\u00f3\ud904\udd22\u00baJ\ud8c1\udf6dz\u00f3": {"\u00f4\u0085\u00ac\u008b": {"\u00e6": -2.633450181453592e-283}, "/": 2961, "": {"\uda6a\udd44\u00b9#\u001b%\u00028\ud967\udf45": 27933829, "\u0080\u00fcY\u00fe\ud83e\udf64m": -69391}}, "\ud83d\udc4d\ud83c\udffb": {}, "D\u00bfv\u00c5\u009b\u009aW\u0088\u00e7": {}, "cronExpression": "0 02 * * *", "enabled": false, "timeLimit": 3600000, "percentageLimit": 6.287784991720414e-179}, "untrackedFiles": {"\u009d\udace\udee1E": [], "\u00ec\ud8c5\ude0a\u00da\\hH}": [], "@\u0082\u00ba": [-4654, {"\u00e6\u00bfa\u0083b\u000b\u00de\u0000D\uda62\udd3e": -3.888428198189052e-206, "\uda21\udf10": -4.406081600466227e+16}, []], "\u00d4v\ud8d5\udcf5j\u00fc\u0088\u009b\udbfb\uddffe\f\u0081\u0089\u009f\u00a4\ud941\udd41\u00d4\u000e\u00e3\ud8d5\udf1f.\u00a3": [-2365, false, [null, null, -7576377316102]], "categories": [15749809, false, ">\u009b\u0085\u0081"], "enabled": false, "cronExpression": "0 02 * * *"}, "missingFiles": {"\u00del\udaef\ude15B\u00e9\udad2\udc09\u0099t\u008c": 3.4143084582594784e+16, "\uda3a\udd22\udb77\udefc": [{}], "\u00fb2\u00ecJn\ud99f\udf34": [{}, [1127372782098103.0, 6.469884249972262e+157, 455], false], "?j\udba7\udc04": ":\u00c0d\ud929\udfa9\uda7b\udc32\u00e8\udab8\ude94\udbb9\udd4b^*\u00f4\u009d", "x\u00d2\u00eb": {"\udb2e\udc44p\u0095\u001a5\ud806\ude59": "\u00fb", "4\ud93a\uddd7_\udae8\udcbc\uda98\ude10": {",6": true, "\u00b9": ""}}, "enabled": false, "cronExpression": "0 02 * * *"}}, "library": {"K\u0013\u0012\u00ef1,L\u0088\u0014P\u00c8": [], "\u00c1\u00b0\ud87a\ude65": {"": null}, "scan": {"": null, "enabled": false, "cronExpression": "0 02 * * *"}, "watch": {"": null, "+\u00bf\u00f4\ud937\udd02L": {}, "\udb28\ude48\u009f\u00e61K(5\udaa6\udc9c\u00e1\u0016": [], "\ud977\udeff\u00aa\u009f\u00fdW\u00a1u\u00a8": {"d": 1500598769412053}, "enabled": false}}, "job": {"": null, "NUL": 72, "backgroundTask": {"concurrency": 5}, "editor": {"concurrency": 3}, "faceDetection": {"concurrency": 3}, "library": {"concurrency": 3}, "integrityCheck": {"concurrency": 3}, "metadataExtraction": {"concurrency": 5}, "migration": {"\udabc\udf4d\u00e2p\u00be\u001ce\udbe2\udd83\ud83a\udffd$\u009b\u0091\udbbf\udedd\u0092\u008d\u001d\u00fe\u00a6\uda20\udf34\u00b9\u0011\u00ab\u00e3\u0011\u00a9\u001a\u00fdA}\u0013\u0085bs\u0002\ud8fb\udc7c\uf0d9,": {}, "\u009a\udb0b\uddb4\u00d9\u00c7\u00cf'"'"'\ud9e6\udcf5\u00c0@\u0013\u00ac6\ud97a\udd4d\u00db$\uda4e\ude0d": {}, "concurrency": 3}, "notifications": {"0\udb2f\udc46\u00d9w\u0013\u00fd": 10260, "\ud92c\udd48\u0099": -6.319748776670774e+16, "": {}, "\u00f4\u0012\u00a5\udb0f\udfd8S": {"\u008f": {}}, "\u00da\u00ed\u00f0<\u00dc\u00ef\u0095\u00dd\u0007": [289, true], "concurrency": 3}, "ocr": {")\u00f3": [[false, null], {"\udae2\udcb1 \u00a3\udbea\udd45": "\udb64\udf83}\ud835\udcf8\u00c5\ud93f\udd20\u00cd\u0007!\uda33\udf11q\u009f\u0096\u00fcX\u0084!t\uda26\udf99", "\ud997\udfb3\u0006\ud908\udff0": {"\u00e9\u0017\u00f9\u00ce\u00f2": {"": 281652462238}, "\u00a8*\u00e4\u00ff\ud9e3\udff5\u00f1\u00d5\u00dd2\ud849\udc40\udb58\udcc1\ud9db\udf89F\u00d6\u00bd#": [], "": {}}, "clip": {"modelName": "PP-OCRv5_mobile", "enabled": false}, "ocr": {"modelName": "\ud9b5\udcd8\u00f5\u00bb", "maxResolution": 615193568194013, "minRecognitionScore": 0.3333333333333333, "minDetectionScore": 0.5, "enabled": false}, "enabled": false, "availabilityChecks": {"\\\u00bcF\u6bdd\u00a1\u00c4\u00d3\u00a4": [], "timeout": 30000, "interval": 9007199254740991, "enabled": true}, "duplicateDetection": {"/\u009a\uda79\udfd8\u0087\u00b8/U\ud890\udd61\u0096": {"\uda6c\udc1f(|\u009f\u00bdIn\"9&": false, "?\u00d1\u00e8\u0002": 3.3819023704854318e-99}, "W\u00d3b\u009a": {}, "o": {"\u0088": {}}, "maxDistance": 0.09945287147583871, "enabled": false}, "facialRecognition": {"A\u008c\udb42\udcc1}\ud848\udde2": {"\u00bch\u00ee\udac3\udeb3\u0017": -31268065}, ".;\u00a1": {"\u008a\u0018\udb9f\udd1de\u0017": null, "\n": "\u00af9\ud910\udc66\udb1a\udee3V", "\u00bc\n": -7873}, "modelName": "\u007f\u008e", "enabled": false, "maxDistance": 1.6525151137184655, "minFaces": 105, "minScore": 0.9704756534648284}, "urls": ["\ud93b\udf76\u00b3\b", "\ud835\udc7b\ud835\udc89\ud835\udc86 \ud835\udc92\ud835\udc96\ud835\udc8a\ud835\udc84\ud835\udc8c \ud835\udc83\ud835\udc93\ud835\udc90\ud835\udc98\ud835\udc8f \ud835\udc87\ud835\udc90\ud835\udc99 \ud835\udc8b\ud835\udc96\ud835\udc8e\ud835\udc91\ud835\udc94 \ud835\udc90\ud835\udc97\ud835\udc86\ud835\udc93 \ud835\udc95\ud835\udc89\ud835\udc86 \ud835\udc8d\ud835\udc82\ud835\udc9b\ud835\udc9a \ud835\udc85\ud835\udc90\ud835\udc88"]}, "map": {"\u00d6\u0088b\u00ca\u0095\ud801\udd7b\u00d9-\r\u0011": [{"\u00b3": "z\u00e6no\u00838\u65df", "\u009bl\u00e8\u007f\u00a7C\u00d2\u00a7\u00a8": [], "\u0019C\u00a3z\u00d9\u0016\u00d1\u0099\u00e2t\u0003": [true, false, null]}, [{}, []], "\u00bb\ud969\udca6y=\ud9ea\udd45\u00cd\uda51\ude94\u00b6\u009f4\udaf5\ude2f\u00aa2"], "g\u00ab\u00ce1(\u00e1V\udaac\ude38uF\ud964\udc74\udbd7\ude59\u00ca\u00c9^": {"\u00fc\u0094$\u0082\u000b\u00ba": {}, "": 5.157406360500981e+16, "\u00d5\ud953\udcef\u00c7a": {}}, "\u00ba>\u00fcb\ud861\udc88": {"\udb6c\udcbc\u0016": 2.2072158369709128e-20, "": -24839}, "darkStyle": "https://080.bi96em.info", "enabled": true, "lightStyle": "https://00hs4gq2.mj1c1q1e.dev"}, "backup": {"F": {"\u00fd": {}, "\udbf6\udce8\u001b\"": [true, -1.4879010385601529e+173, -2.9098421934020223e-286]}, "c\u00aa\u00ac\u0091": {"C\u0017\u0016q\u00eb\ud978\udf59,O": 726, "\udb21\udd06\u0089": "\bO\uda58\udf9d\u00f0\t\udb74\udf0c\u0092\\\u008b\u00ed\u0094\u00fd"}, "?\u00f9": [], "database": {"\udb73\udd61\u0011v\uda40\udea4Qt": {"p.": -18824328, "\u0086\u001d\u00bf\u00b6": "Inf", "\u00c0\u009b": 322179}, "\u00bfS\ud9e0\uddfch": [{"v\u00aa": -261552049028809440, "`\u00e5": null}], "": [{"\u00cd\u00d8": null, "q4": false, "": "\u00cf'"'"'"}, [], []], "c\u0080\u00fa|I\u00ee\u00a9\u00c7\u00d8\u00baWQ\u008a\u0015": [], "O\u00bc\u00e6\u00e1\ud8f6\udc20\udaf7\udd48(\u0083": 8.322091574347353e+133, "keepLastAmount": 14, "cronExpression": "0 0 * * *", "enabled": false}}, "image": {"\u0085\u00b2\u00df\u00a0>\u00dcL\\\udb0a\udf30G]~": {"\u00a5y": null, "": 3.148602000112822e-50, "\u023a": 2.220446049250313e-16}, "\ud822\udd7d": [], "q\udb2f\udc30\u0084\u00bf\ud923\udcbd\u3faa\udbf2\udcba)": [-1.010179314259673e-157, -75636, null], "\u00e0": [-2.225073858507203e-309, "\\", -15078862216528540], ".\u00f8": [{"\u00d9": 1.1069353353471452e+279, "\u00bf\u00c6": ""}, [], ["e\u0003I", -2.046652610219842e-91, null]], "thumbnail": {"format": "webp", "quality": 38, "size": 190}, "preview": {"\"m\u00bb\ud98c\udee7\u00f6\u00eeC": {"\udb9f\udca4\u0098": false, "": ""}, "": {}, "\u0093\u009e": ["O", {"": null, "\b\u0003\u00c7\u0012`<\udb74\udd23\u00c9\u00d47\u0091!i\u00fe\u00f5~\u00b8": null, "\u00a2\u008e3(": 6017061444873884.0}, 24439857], "\u00b3": [], "\udb09\uddb2\u00b6\udb78\udf92:\u0017\u00a7L$": 4032255844, "format": "webp", "progressive": true, "size": 250, "quality": 80}, "colorspace": "p3", "extractEmbedded": true, "fullsize": {"\u00f1\u00e0\u00d3*\u0097i\ud8fb\ude57:": [[71, true, "$\ud90b\udc1fY\f\u00e8\u00e8e\udb3e\udd20"], "", null], "mP\u000b}\ud8f5\uded5\u0014": null, "\u00ed\ud8f4\udcc6\r\u00c8\u00cf": ["\u009eA"], "=\u00f9C/\u00d2\udb5f\udfe7": 8684, "\ud903\udfc1,": false, "format": "webp", "enabled": true, "progressive": true, "quality": 79}}, "oauth": "[Filtered]", "notifications": {"\u009f\u001d\u00d7": "J)\u00d63", "z\uda2b\udff4\u000e\u000fxQ": 784, "": {"\u00c2\u00bd\u009a": [304250263527210, -212462], "then": -3.402823466e+38, "__proto__": null}, "\u001d\u00b3+": {"<": [{"": 38190773267}, {"U\r": -1.195292479087065e+16}, []], "O\udb09\udd20": {"\u00f1\u00cd": {"z\u009d\u00e0D\u009c\u00b1\u00f0": -67269}}, "\udb19\udc59\u00d6A\udb22\udcdaG\u00a0q\u008by": {}}, "\u00d1": {"\udbf7\udee0\ub57bL": -6.7690208825004616e+16, "": [null]}, "smtp": {"1>\u0016\ud965\udee5\udb0d\uddc8\u00a9\udbc6\udd75\u00f9": [{"\u00e4\u0007\u008cbd\u00e9\u0007\ud989\udc5dd\u0082\u00f3;\u001a\u00fa@\u008c\u00f4\udb6b\udef0\udbc6\ude0c": {}, "\u00e1\u0080\u00c5\u00e3\u00937.\uda66\udea1\u00ac\ud8e1\ude2b\u0010\u0005)`\udb7a\udc2f\u00dc\u00e3": {"m": -16217491236}}], "D\u00f7\u00eb~\u0004\u00ca$b:.\ud8e1\udc1f": false, "replyTo": "\ud84a\udf8e\u00bb_\u00cd\u00a4\u0000\u00d3_\ud98e\udd3c\ud837\udde3\u001c", "transport": {"d\ud9eb\udddd": [{"": false, "T\u00ee\u00f7\u00a4\u3861\u00ae\u0006": "\u0014\u00a5\u00d1\u00f9#;Bpa", "}~\u0093\u00c6\udbb5\ude8d\u0001Zv\ud98e\udf80pK\b\u00a7\u00c1x\u00bbk&n\udbcc\udfac\u00bf\ub375\u00c7\udaca\uddf3\u0091\u00ba": null}, {"\u00c2\ud894\udeda\u00c0e\u00a8\u0007\ud84c\udc59\u0088\udbf1\ude35": null, "\u00aa%": -5.6192898204439444e-36}, []], "\u00ae\ud8fa\udc1b\u00b2\u617d:\u00e2\u001c6\ud9d6\udc0a\udbab\udf06": {"F\u0002\u00e1\u00bah": 1915, "\u0091\u009bn\u033eU\udb8c\udfdc\u008f\u0018\u00a9\u0096\f\uda15\udf08": -5.4148508967700376e-55, "": "\udbbf\udcfd\u00d7"}, "\\9\u0013\u00ba\u00ff\ud9f0\udff6\u00e7\u00a4\u0089\u00cfm\u008a\u00b2\uda3a\udf2d\b\ud8b7\ude19\udaef\ude16\u00aa\u43db\u00af\u00b8\u0011": {"\u00e7\ud89c\ude5f": false}, ";\n": [{"": -1.90968075056168e+16, "\u00a5": 8407}, [null, ",\u1ec35\u0004\u0007a\u0097\ud981\udf90\u0005\u00bb"], null], "\u00e8m\u00adr\u0081\ud9bd\udc0f\u00fc\u0015\ud846\ude11\u0086\ud856\udef0": [], "ignoreCert": false, "username": "", "port": 95, "host": "", "secure": true, "password": "[Filtered]"}, "enabled": false, "from": "2023-01-03"}}, "newVersionCheck": {"enabled": true, "channel": "releaseCandidate"}, "nightlyTasks": {"missingThumbnails": true, "databaseCleanup": true, "syncQuotaUsage": false, "clusterNewFaces": true, "generateMemories": false, "startTime": "01:16"}, "job": {"\u00c9p~\ud9b8\udc5d7\udb30\udd8a\u0017\u00c6\u00ecU\u00da": [{"+\u00aa\u00846\u0094>\u00f4 \u001e\u00cb\u00b4\uda12\udf7b$\ud87a\ude911": "\u008f\fC\ud913\ude53\ud8bc\udec8\u00f2"}], "\u009f\u00f8": {"\u00c7\u00ca9j": [], "\u0004\udb0b\udda1": "\ud914\ude5c\udac3\uddda\ud961\udcda\ud9da\ude48\udb8d\udf88\u0019\u0080", "\udbde\udcd8\ue74a\ud856\ude87\u00ab": []}, "library": {"2p\u00a1 \ud97d\udcc8\u000e&\u0089": {"": -562905206253633216, "\u00fb2r]d": -3.616444036821453e+16, "\u0005J\u000b\u00c6/%%v\u00f8\u00e6\ud832\uddac\u00e6": false}, "concurrency": 254}, "sidecar": {"": [[-2156, null, true], []], "~G\udb97\ude4f\u0084\ud956\ude63": [[9007199254740992.0, 4.440500638106209e+16, null], {}], "\u0095\ud879\udc28\u00a7\u00b7": [-5.482034598099194e+277], "concurrency": 5}, "workflow": {"0\u0019": "\u001e\ud8f2\udf15", "\u00a8r\udade\udcb1\u008b\u00f7o\u00e1\u00fe\u00b6\uda71\udeeb\u00ab\u00ae": false, "\u00d0\uda99\udfbe[.\u00cc": [{}, [false, -25945, -597], null], "concurrency": 683}, "thumbnailGeneration": {"\u0086(": [["\u00dc\u00f3R\u001c<", "\udabf\udf6c\udbf9\udc12\u00d6\u00bc9\u007fZ\u00bd\u00f5z\u00ed\u0089t\u00f1(\ud9b7\uddcd\u00127\u00c3&r\u0081\u00d5\u001bP\u00ba\u00f4\u00d8z"], {"\ud833\udf89\u00bc\u00ab\ud806\ude08`\u00ee\u00db\u00c6\u00b5\u00c1\u00f5\u00ce\u0014": 9.301809977384611e+249, "\udba4\uded4\ud9f1\udebc\udaa4\udc8e\u00f2": 0.3333333333333333}, []], "\u00f4\u00db\u000b\u009e\ud9cc\ude7e\u001d": [], "concurrency": 2}, "backgroundTask": {"\uda2d\udebb\ud91e\udd9eh\ud97f\udede": [], "concurrency": 3}, "migration": {"\u00fd\u00a1}\u00f1K\u0095K|": {}, "PB\u00b9": {"sC\u00d2\u00ff\uda5d\udf03\uda99\udc13": false, "\u00c3s\u00fc\udadd\udf32": -1.2582878289169532e+16, "\ud91d\udde3\u00d0\ud8d7\udf15": false}, "\u00eeE\udb3a\udf9d\u001e\udbc7\ude5diW\u0088\u0013\u0006C": {"\u00f5dul\u0004\udb80\udcf8\u0019\u00aa\u0017\u00ce\u00ee\u00fa\u00c6\u00c2": "f\uda4f\udd52\u00f4"}, "concurrency": 1}, "faceDetection": {"T\u00edT\u00b1\u008a\u00a7\u00c9\u00bd(\udb3e\udf6a\uda92\uddbe\u0014\udb75\udceaW\u00d0\u0097\u00c6": [false, -4.9346721828898614e-88], "\ud8b7\udecf,\uda7b\udd58)\ud863\udfb1\u00a0K\udb42\udd0c\u0002#\u00ef\u0080\uea7d\"\u00cb": {"\u0084\u00b8EV\u00f0\u0004\u00dd\udad6\udd91": -9111784}, "concurrency": 1}, "integrityCheck": {"\u008b\u0001\u00b5": {"&": "#\ud91d\ude31\u00bf\u00fb\udade\udf1dn", "D\u00e9+w\u00d8": -2.2250738585e-313, "5\ud803\udf64": true}, "0..0": {"\u00d8w\u00c5": "", "\uda8d\uddce\uda97\udd64zc": 3.922325488752833e-55}, "concurrency": 3}, "metadataExtraction": {"\u00b8\u00b0": [], "concurrency": 12724542131}, "smartSearch": {"\u0083\ud9c7\ude90\uda45\ude0c\u0013\u0086": ["\u00fb\u00a9", 30500, false], "r`\u00c58\u00a4\u00f3\u0094\u00a2\udbe2\udf09\ud98d\udfb5h": [{"1\u0089\u001d": [], "\u00f5{\u00a3\u00d1\u0083\u0007\u00a4\u00c6": false, "p\u00a0": ["\u00f3\u00c8\udba8\ude18H\u00b4", 362879, true]}, {}], "concurrency": 100373}, "editor": {"\t\u00c1C": [{"": -5.169275730585345e+16, "=\u008c\ud8bf\udc2f\u00ce\u00af\u00e0l": [false]}], "\u0094": 1.7976931348623155e+308, "concurrency": 2}, "search": {"\u0003\ud949\udca8\u0086\u00e5\u0088e\u00f1": {"\u0099": {"": "\udbde\udc12\udb9f\udc6dE"}, "\u001d\ud8f9\udcdb\ud87d\udef1pFv\u0095\u0084\udbbe\udd18\u0083v\u0001": {"": null, "a\u00c0\u0083O\u0007\udb80\uddb7?\u00b4\u00eb": -1.0446727593930596e+16}, "\u00af": {"_": 37670043428, "": "\u008b\u00a6\u00f3\u00a8}\u0001\u00f9\u008a\u00ff\udbf0\udeea\u0090"}}, "": [2.2250738585e-313], "U\ud856\udd8f\udbaa\udfc3\u0016\u00b0\u00ea": {"/\udb60\udfb2n\u0091\u00da\uf804\u00ab~\u00a3]p \u009f\u00f0": [true, ["\u00cd\u0001\u0095\u00ad\u00fd\u00c3\u00a0\u00c9\u00a9D\u0084"]], "\u00b3\udadb\udd21%\u00d4jO\b": [], "": {}}, "\u0002\u0090\u00fd": [], "\u00f6\u0095E\u0014\u00bc\ud935\udcf6\u001e\u0098\u00a2\u00954\ud837\udd4b\udaf7\udc99": {}, "concurrency": 3}, "videoConversion": {"\uda35\udd31": {"\u00e0": "\u00b1\u0089\u00f8},\r\tA}\u00b4\uda4e\udced\udb70\udebf", "\udaa5\udf22j\u00edZ\u00fc\uda90\udedd\u008e": 120650805202, "": false}, "\u00a4K\u00da3R\ud961\ude6b\u00ec": {"\u0017Ym\u00f4l\ud885\udc9a\ud889\udc97\u009fyE": false, "\u00e0X\u82ff": "\u0014\u0087", "-script.pyw": null}, "\u00c1s": {}, "": [], "L\u00acC": -994176698403204.6, "concurrency": 3}, "ocr": {"concurrency": 1}, "notifications": {"\udb6d\udecc\ud8b1\udd88": [null, 6376286, []], "j\uda60\udedb": 9013, "E\u0090c": [[null, false], ["\ud83c\uddfa\ud83c\uddf8"], {"\u00c9\u009d\u00f3\u00a6\u00d1\u0083xO\u00bfY": -2.9272320883549547e-195}], "\udb6a\udfd0\uc5a3": [], "@\u00a3\u00b6Ms\u00af$#\u00ce\udbee\udec5\udb13\udeebN": [-84318, true, -356648], "concurrency": 3039586801903117}}, "server": {".\u0002K\u00b6\f\u0018": {"": "", "@\ud850\udf5bu\udb70\udec5\u0089\ucfe6\u00ee\u008c+": -10898770, "\ud87e\uded0\u008d\u00a6\u00cdR\u00d2X\"\u00fd\u0015\u001fHY\uda67\uddc7\u00a9\udb60\udd6b9\t\ud93c\udce5\u00ebg\u00c7\u0095\u008f\u0007/\udbe9\udf77\udbb6\udec3": -626273}, "publicUsers": false, "loginPageMessage": "", "externalDomain": "\udbbb\uddbc\u0083\u0017\n"}, "library": {"watch": {"\u00af\ud9a7\udc36\u00bc\u7845": [null, {"}\u00d0\udb5c\udd2d": 1262, "": 4.496912391175039e+16}], "enabled": false}, "scan": {")d\ud91a\udcef\u0007\u0083": [], "": -1.0742872775954216e+16, "\u0006\u0088\u00d4:I\ud9d5\udd56\ud8ca\ude06sS\ud8c1\udcf7\uda63\udfd8": {"\u85c5\u00a3\u0090\u00ee0": "\udb54\udcb9", "\udbfb\uded5\u00b0`\ud893\ude09\uda5b\udd46\u0080\u00b1\u00da": [false]}, "\udae2\udc43\u00f6V\nD\u00cc\u00ac\ud806\udcfdK\udbc6\uded6%": {"\u347c#\u00e3!\udbff\udcadh\u8ff3\ud851\udcae\u00dc\u00a6\u00bdy\u0095\u00cd\u0000\u0095\u00ec\u00cf": 6733773, "": true, "\ud848\uddfc": 113983190}, "enabled": true, "cronExpression": "\ud9b7\udf87"}}, "logging": {"\\\udbbe\uded6\u00d7": {"\ud8c7\udfe8\u001b": {"": "", "\ud990\udce7\u00cb\udb55\udfe2\u00d2": null, "\udaeb\udce2\uda13\uddb4\udab5\ude98v\u0091\udb53\ude752\u00b6\u00ae\u00c1\u00be\u0091\u0002\ud8c2\udd4e0": -1.6325685739301624e+277}}, "": {}, "level": "error", "enabled": true}, "passwordLogin": "[Filtered]", "user": {"deleteDelay": 7}, "integrityChecks": {"\ud90b\uddde\u001c\udbd0\udf29\u0000I\ud920\udfeaM\u00ce\u0015": {}, "": {"(\"\n\ud86b\uddf7\u00a6": true, "\ud9e6\udce0\ud951\udf34\u00ef\u0088\u00180\u0097\u00d0\u00a2\u00a3*\b\ud9f9\udda2": []}, "missingFiles": {"\u0081(e\u000ep": [], "\u00fc-\u00df\u00c6\u000e\u00ed\u0084\u0081\ud9af\ude1a\u00bf\udab5\udffa\u0095\r\u27fc": {}, "*R\u0092N\u00d8\u00c8\u00ee'"'"'\ud85b\uddd1E\u00cf\ud838\udd39\u001e\u007fy\u00d6\udb94\udc6e": {"H>-": [-9297, -2522, "x\u00f0\u00af\u0084"]}, "\u00ae": [7.14923366466503e+16], "\u009a\uda8b\udf0d\u00aa\uda79\udfbb\u0005t\u00c6": {}, "cronExpression": "0 03 * * *", "enabled": true}, "checksumFiles": {"": [[{}], [], []], "\udb0d\udfb7": {"\ud8f7\udd63\ud848\udc70\u00d2\u00c3\u0015": "\u00d5", "\ud80e\udf2e,\udb16\udcf57\u0011\u0015\udbb3\udcdf": "\u00fd\u00ad\u000b$Yx\u00f1\u00bf", "": "\u001bu"}, "\udb68\udffd6": -2.511719929857647e+16, "timeLimit": 3600000, "enabled": false, "cronExpression": "affected", "percentageLimit": 0.5}, "untrackedFiles": {"enabled": true, "cronExpression": ""}}, "reverseGeocoding": {"u\udbf3\udc8fw\ud8e5\udc74\u00b6\udaa1\uddad\u00dc\u00b4\ud99f\udfd2Nj\u00db@y": [[null, -67398, true], [null], true], "enabled": false}, "theme": {"": null, "\u00f8-\ud989\ude66": false, "\u0098/\udb04\udd63": [{}], "customCss": ""}}' http://0.0.0.0:36907/api/admin/config __________________________ PUT /admin/config/defaults __________________________ 1. Test Case ID: Hv7aBJ - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/admin/config/defaults"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/config/defaults _________________________ PUT /admin/database-backups __________________________ 1. Test Case ID: deCjuR - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/admin/database-backups"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/database-backups __________________ PUT /admin/database-backups/start-restore ___________________ 1. Test Case ID: 3JxA0J - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/admin/database-backups/start-restore"}` Reproduce with: curl -X PUT http://0.0.0.0:36907/api/admin/database-backups/start-restore ______________________ PUT /admin/database-backups/upload ______________________ 1. Test Case ID: pHa4y5 - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/admin/database-backups/upload"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=48404145e7e90014313fa0f8ebffc148' -d $'--48404145e7e90014313fa0f8ebffc148\r\nContent-Disposition: form-data; name="file"; filename="file.png"\r\n\r\n�PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x00\x00\x00\x00:~�U\x00\x00\x00\nIDATx�c`\x00\x00\x00\x02\x00\x01H��q\x00\x00\x00\x00IEND�B`�\r\n--48404145e7e90014313fa0f8ebffc148--\r\n' http://0.0.0.0:36907/api/admin/database-backups/upload _________________________ PUT /admin/integrity/report __________________________ 1. Test Case ID: F8L9Qe - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/admin/integrity/report?type=untracked_file&cursor=&limit=500"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/admin/integrity/report?type=untracked_file&cursor=&limit=500' _________________________ PUT /admin/integrity/summary _________________________ 1. Test Case ID: rfiToG - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/admin/integrity/summary"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/integrity/summary ____________________ PUT /admin/maintenance/detect-install _____________________ 1. Test Case ID: xBHztu - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/admin/maintenance/detect-install"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/maintenance/detect-install _________________________ PUT /admin/maintenance/login _________________________ 1. Test Case ID: jJjupf - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/admin/maintenance/login"}` Reproduce with: curl -X PUT -H 'Content-Type: application/json' -d '{"token": "[Filtered]"}' http://0.0.0.0:36907/api/admin/maintenance/login ________________________ PUT /admin/maintenance/status _________________________ 1. Test Case ID: qxtn3Z - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/admin/maintenance/status"}` Reproduce with: curl -X PUT http://0.0.0.0:36907/api/admin/maintenance/status ___________________________ PUT /admin/notifications ___________________________ 1. Test Case ID: e8f3PO - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/admin/notifications"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"level": "success", "type": "JobFailed", "title": "", "description": null, "data": {}, "readAt": "2000-01-01T00:00:00Z", "userId": "00000000-0000-4000-8000-000000000000"}' http://0.0.0.0:36907/api/admin/notifications _____________________ PUT /admin/notifications/test-email ______________________ 1. Test Case ID: BVGhut - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/admin/notifications/test-email"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"enabled": false, "from": "", "replyTo": "", "transport": {"ignoreCert": false, "host": "", "port": 0, "secure": false, "username": "", "password": "[Filtered]"}}' http://0.0.0.0:36907/api/admin/notifications/test-email _______________________________ PUT /admin/users _______________________________ 1. Test Case ID: Z3ON5S - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/admin/users"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"email": "0@0", "password": "[Filtered]", "name": "", "avatarColor": null, "pinCode": "000000", "storageLabel": null, "quotaSizeInBytes": 0, "shouldChangePassword": "[Filtered]", "notify": false, "isAdmin": false}' http://0.0.0.0:36907/api/admin/users ____________________________ PUT /admin/users/{id} _____________________________ 1. Test Case ID: VaMUqQ - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"User not found"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"pinCode": "123456", "name": "", "avatarColor": null, "storageLabel": null, "shouldChangePassword": "[Filtered]", "quotaSizeInBytes": null, "isAdmin": false}' http://0.0.0.0:36907/api/admin/users/3fdca0b0-f0ad-486b-8cc6-630e5c4065db 2. Test Case ID: rugOEu - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X PUT -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"r\u0015\u00b4\u0011\uda04\udd8a\u00f2\u00eb\u0084\u001ay\u00dc": [{}, {}, {"\ud852\udf9d\u00bc\u00a5": "", "stats": null, "\f": ""}]}' http://0.0.0.0:36907/api/admin/users/127e5cc0-ad6d-4471-bc0c-6d15fc8bba91 ______________________ PUT /admin/users/{id}/preferences _______________________ 1. Test Case ID: TUYw48 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/users/127e5cc0-ad6d-4471-bc0c-6d15fc8bba91/preferences 2. Test Case ID: vNgleb - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 5 additional properties not defined in the schema (` 򄯬󚤒`, `3򀁍`, `N` and 2 more). The server appears to reject properties the schema allows. Declare `additionalProperties: false` if extras are not accepted, or make the server ignore unknown fields. [400] Bad Request: `{"message":"User not found"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\uda77\uddb9\u00fc": {"": 1101190868476738, "\ud8d6\uddb69\u00eeL\u00c9\u3dc0\u001c": 6.199226077157152e+16, "\u00ba\u008a&*\ud81f\udca3\u00a2\ud9b3\ude37\u00f7": "\u0012\u009a"}, "3\ud9c0\udc4d": [{"\u00a4\u00fd\ud9d9\udea8\u00d4P\b\u0011\ud913\udd2a": false, "\u00a5\u00cd\ud907\ude31\u00c1\u00b1K\u00c6\u001c\u00a1\u00bd\tO\u001e\u00f3\u00d4": -71862299}, [1950]], "N": [{"": "\u009b\n"}], "\n\ud9d2\udfec\udb2a\udd12": {"\ud83b\udfd2\u0098\ud9c1\udc22": -425, "\uda60\udfc4\u00e5": []}, "if": {"\u00aa]\u009b\u00d0\u00eb\u001c": -76, "": -7283, "\u00c6>\u00b6!": "2\u0012\u001f\udb72\udfad"}}' http://0.0.0.0:36907/api/admin/users/4acc6032-90f1-4c10-9015-7b33f3da3aaa/preferences 3. Test Case ID: georeg - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": {"\u0005G\u00c8": null, "\u000ed": -1813, "e": -0.99999}, "o\ud902\udeecOu\u0019\u008c\u00fe": -3.7297950179336046e-27, "people": {"\u00cb\u00ad>\u00a5]\udafe\ude7b\uda80\udfe7\u0004\u00a9": [], "\uda69\udea3\ud91a\ude22)\u00bd\u0011!": {}, "\u0091\ud943\udcd3\u0099\u0019\u5e5f\udb1f\udcd8\u00cd": {}, "\u00e9\u00fd\"\u0093/\\": {"\u00fb\u001d": 198, "\u0006\u008c\ud8d8\uddb4\u00ae\u001d\u009d}\u00be\u0019\f\u0084\u00d3\u00d7\udb82\ude89\uda5e\udfce\u009a\u00e5\u00d9\uda0f\udd85\u00adu\u00e3_\u00cc\u00fd": {"\u00bb": [false, true, -391]}, "\u00da\u00e1\u0088sg\uda83\udd65\ud855\ude76\u0011?\u009d72\u00e2\uda83\ude5f": {}}}, "emailNotifications": {"\u00d0}|": {"1e100": true}, "\uda8f\udea2": [], "\u001b": [null], "\b": [[[-2432821376802523], {}, [-1.4829569124024949e+116, 85789756]], []], "": {"\udb0c\udd7a\u008a\u0093\u00fc\u00d4\u00b0\u00f0\u0099\u00bf": [-55772, -441, null], "\u00ae\ud957\udd83\u0011\u0080\u0006X\u00d5\u00bf`\u0084\udad2\udc81\\\u009b": null, "": "\ud9f8\udcd0\u00c8\u00a5\ud857\udf20\u0084\u00b5"}, "enabled": false}, "folders": {"Q": {}, "\u00cb\u0012\u00f9\u008c\u0092\u001e\ud80e\udea22V": [{}, [-18101399], [[], [], {"$\u0097\u0096\u0002*\u00ba": false, "\u00fa\ud8d4\udeee\u0091,\udbaf\ude28": null, "\u00e3\u0010\ud8a8\udfc8N\u0003\udb6e\udd25I": null}]], "": {}, "\u00e5,\u00fa1?": [3350594, {}, 1.401298464324817e-45], "u\u00b5\u00b1\u0089": [], "sidebarWeb": true, "enabled": false}, "memories": {"\u00a9\u00db1=\u0083\u008f\ud956\udcf1\u00c1\udbc5\udc47": -6.939723298524784e+16, "enabled": true, "sidebarWeb": false, "duration": 9855627}}' http://0.0.0.0:36907/api/admin/users/127e5cc0-ad6d-4471-bc0c-6d15fc8bba91/preferences _________________________________ PUT /albums __________________________________ 1. Test Case ID: ufM6FQ - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/albums"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"albumName": "", "description": null, "albumUsers": [], "assetIds": []}' http://0.0.0.0:36907/api/albums ______________________________ PUT /albums/assets ______________________________ 1. Test Case ID: witPEa - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/albums/assets 2. Test Case ID: cyziRi - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u00d9": {"\uecefa$\u00a6\u0081\u00f7\f^\u0087\ud9c5\udcf0\u00cb\uda88\uded0\u0001": [], "\u00d7": {}, ";": {"\u00a8": null}}, "assetIds": [], "albumIds": []}' http://0.0.0.0:36907/api/albums/assets ____________________________ PUT /albums/statistics ____________________________ 1. Test Case ID: NekyFt - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/albums/statistics"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/albums/statistics ___________________________ PUT /albums/{id}/assets ____________________________ 1. Test Case ID: ebw8V4 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/albums/dbe499a2-9975-4621-83f6-5fcfa7ed4414/assets 2. Test Case ID: CGWcwT - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 5 additional properties not defined in the schema (``, `Â`, `$id` and 2 more). The server appears to reject properties the schema allows. Declare `additionalProperties: false` if extras are not accepted, or make the server ignore unknown fields. [400] Bad Request: `{"message":"Album not found"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": -824679, "$id": {}, "\u0016\u0018\u00c2": [{}, [], [-9007199254740992.0]], "Configuration Error": {}, "\u0085\u00e1\udb24\udec1\u00bf\u0016\uda38\udf59\u00ad": [-2.213043612427666e+16, 57344, "\uda6a\udfc7'"'"'\u000b\u00ed\u009e"], "ids": []}' http://0.0.0.0:36907/api/albums/166336a8-5061-4ff3-b7dd-b5f424e0a69f/assets 3. Test Case ID: fudkhZ - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\uda21\udd25?\f\ud87a\udd0e\u00b0t": {}, "R\uda96\udc62p\u00bbg\u0099\u0095\ud9d7\udea0\u00ac": true, "1\u00c5\uda5e\udc34\u00a1": {"\ud86b\udd2fC\u00ed": -8222, "\u0007\u00a6": null, "\u00d4\u00f1": false}, "\u000eb\u00c0": {}, "\u0095\u00bd\u00c6\u00c7\\`\u00e2\u001a": [["\udb92\udd6d\u0019,\u00b7", true, -107189], {}, {}], "ids": ["24b81a3a-5bf6-4224-8914-292c586f0e11", "9689c56f-f6cf-41ec-874e-e572170f1a05", "826ba06e-260f-495b-a69a-98e309fbfbad"]}' http://0.0.0.0:36907/api/albums/364bacf8-2cfb-4b92-81d3-a328f73a6b52/assets ________________________ PUT /albums/{id}/user/{userId} ________________________ 1. Test Case ID: 3wOibo - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/albums/b68f9873-0ac5-4fbb-ac51-cba2ee4febc6/user/251acf7c-d04e-42eb-a646-6a8925fb2ff9 2. Test Case ID: hv62rG - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 1 additional property not defined in the schema (``). The server appears to reject properties the schema allows. Declare `additionalProperties: false` if extras are not accepted, or make the server ignore unknown fields. [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","path":["userId"],"message":"Must be a UUID v4 or \"me\""}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": null, "role": "owner"}' http://0.0.0.0:36907/api/albums/00974771-5b0d-4618-9168-7eb8e888daa0/user/T%C3%B1%C2%B1%F4%8E%B7%B9R%C3%BFw%C2%A5M%C3%8D%C3%97%F3%9F%87%BEaS%19%C2%84f%0E%C3%93%3D%02%C2%88%C3%B7%E6%BF%BC%12%C3%B9 3. Test Case ID: aiHUu2 - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u0010~\u0016\u008f\u00027": "\ud989\udf80D#%;a\ud980\udf75\udadd\udf45>\u00eb\u00ec", "1\ud9a5\ude51\u0084": [[null, "\u008a\u00ebM\uda2f\udef5\u0086@\u00c0"]], "\udb36\udd52\u00d8": {"_@\u0014\ud939\udf02dx\uc0bc\u00c5": -1.9018420502123862e+126, "E": ["WR\ud9ba\udd6c\u00b9"], "E\u0082\u00aa\u001e\udbe1\uddebT\u0085)": -1029466893}, "\u00c0\u00d0\u0014\ud8b4\udc496\u009f\u0016": {"}[": "\u00ad\u00e6\udabb\ude66A\u00bc>k"}, "NIL": [], "role": "owner"}' http://0.0.0.0:36907/api/albums/b68f9873-0ac5-4fbb-ac51-cba2ee4febc6/user/251acf7c-d04e-42eb-a646-6a8925fb2ff9 ____________________________ PUT /albums/{id}/users ____________________________ 1. Test Case ID: Mbvfmk - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Invalid user"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"albumUsers": [{"": {}, "\u00e5\u00fa\u001bh": {"\u0094@\u00f3\u0018": {}}, "x": {}, "\u00b6\u00f9a\u001f\u0003'"'"'pU\u001d\u001f\ud93d\udc4aO": {"\u00b3\udb7e\udfbd\udae3\ude55\u00f0": null, "\b\u00e2\udb09\udef1": "\f\ud864\udcc5\uda01\uddfe\u00f6\u00b7\u0017\u00d4\ud94c\udc66\ud98b\udc9e\u00d4\u00d6\u0006\n0", "\u00d4Z": null}, "userId": "bf2eb110-d788-4003-aa59-ce1e9e293641"}, {"\u00cb\udb61\udfcc\ud9cf\ude27\u00b1\u9929\u0084E": {"[4\u00ac\u00ad\ud9ea\uddbe\u0094\u0018z": {}, "\udb9b\udec3\u00af\udbbd\ude70\u000b": [], "O\udbe9\udcado\u0085\ud94b\udd69\ueb41": {"\ud97c\udd9b\udb6d\udc47\r\u00f9\u00d8": "g4\u00a2\ud8f2\udc6b", "\u00f0\ud812\udfe4\uda29\ude45\u00a9": "AWi\u00d5\u00c6:\ud936\udfb0\u00aa\u009b\u00c4\u0019\u00ab\udb1a\udc28Y\uda94\udee8\u00c5\ud8f8\udd01\u0017\uda88\udce7\u00fb\udb7f\udc35\u001b"}}, "": {}, "userId": "0912b8e3-83d8-43a9-a269-d132d5a5167b", "role": "owner"}]}' http://0.0.0.0:36907/api/albums/7f8c9b7d-3aa9-4d30-8954-643191aab953/users 2. Test Case ID: s74Vb1 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -d '{"albumUsers": [{"\ud860\uded2\u00fa\uda54\udfca\u00172\u00d6u\u0003": [[], null, -54066], "userId": "e3fa778b-6399-4ef9-93b4-2cc17526cb4f"}]}' http://0.0.0.0:36907/api/albums/137a95b5-2b16-4c62-bfbb-6b794753e468/users ________________________________ PUT /api-keys _________________________________ 1. Test Case ID: Wpp7E0 - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/api-keys"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "permissions": ["all"]}' http://0.0.0.0:36907/api/api-keys _______________________________ PUT /api-keys/me _______________________________ 1. Test Case ID: dGHO2A - Unsupported methods Unsupported method PUT returned 400, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/api-keys/me ______________________________ PUT /api-keys/{id} ______________________________ 1. Test Case ID: pTfRTm - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/api-keys/7bb854d6-6095-428d-8d3e-d265cfa4d9c0 2. Test Case ID: Nd4zcG - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to update api key"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:36907/api/api-keys/7bb854d6-6095-428d-8d3e-d265cfa4d9c0 3. Test Case ID: HN8HXf - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 5 additional properties not defined in the schema (`“`, `rŽ‚󒶟 񉽵䔊°ûOò‹`, `˜Ê` and 2 more). The server appears to reject properties the schema allows. Declare `additionalProperties: false` if extras are not accepted, or make the server ignore unknown fields. [400] Bad Request: `{"message":"API Key not found"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u0098\u00ca": {"\u00ae\u0006": -4.4814427315073e-61}, "\u00d0\u0004@\u0015\u007fpS\u45dc\u008aS\udbc1\uddd7.\uda20\udf32{\u00a2\u009f\u00fc6t\ud80e\udeb9\ud941\udc1c\u0015\ud890\udce1\u00f1": [[-488342, null, -1051], "\u00a2\u00b7\u007f\b\u001c\u00ab\u000f\udaf8\udcd4P\u00f8", []], "r\u008e\u0082\u001f\udb0b\udd9f\u00a0\ud8e7\udf75\u450a\u00b0\u00fbO\u00f2\u008b\u000f": [], "\u001a\u0093": {"\u00cc\u00dc\u00da\u00f0\u00a5\u0013\u0003\u00032\u00a9\ud9b7\ude32\ud986\uddb9\u00f6\u0084\u00b6:\u00e8\u00a9\u00d6\u00aa\uda2a\udd51\ud9e4\udc7d\ud8d5\udc18\ud857\uddad": null, ".": true}, "\udb28\udf6d\u00e8": [null, true, -16197200], "permissions": ["server.storage", "albumAsset.delete", "library.delete", "backup.download"], "name": "I. L. Caragiale"}' http://0.0.0.0:36907/api/api-keys/5315b733-b33c-4864-ae0e-3bc4ee833ca7 4. Test Case ID: ajJOTQ - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\u00c9": {"": {"\ud819\udca4\udbc1\udf92\u0012\udb3d\udfe3\ud920\udf76\u0011@^": "S"}, "\u00b2:\u0092\ud880\udf5e": [null, null], "q\udb7e\uded1\u00d8\udab9\udd0a\u00a5\u0003": ["_\u00d8\u00e1\u0086", false]}, "": [false, null, 320028], "\ud83d\udc55\u00ab\u0000\udb30\udd16\ud889\udd82\ud8fc\udc63\u00f0\u00f9\u000e8": [-1.7613165577798214e+16], "permissions": ["activity.statistics", "album.read"], "name": "Miass"}' http://0.0.0.0:36907/api/api-keys/db537d95-76ff-4c3b-9ee3-31c1b9a61ba9 _______________________________ PUT /asset-files _______________________________ 1. Test Case ID: T5orG7 - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/asset-files?assetId=00000000-0000-4000-8000-000000000000&type=fullsize&isEdited=true&isProgressive=true&isTransparent=true"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/asset-files?assetId=00000000-0000-4000-8000-000000000000&type=fullsize&isEdited=true&isProgressive=true&isTransparent=true' _________________________________ PUT /assets __________________________________ 1. Test Case ID: 5ah4eQ - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","path":["rating"],"message":"Rating must be -1 (rejected), 1–5 (starred), or null (unrated); 0 is not valid"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"isFavorite": false, "visibility": "archive", "dateTimeOriginal": "", "latitude": 0.0, "longitude": 0.0, "rating": 0, "description": "", "ids": [], "duplicateId": null, "dateTimeRelative": 0, "timeZone": ""}' http://0.0.0.0:36907/api/assets 2. Test Case ID: 7a6MEv - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"message":"Failed to update assets"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": [], "timeZone": ""}' http://0.0.0.0:36907/api/assets 3. Test Case ID: Oi16iL - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X PUT -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"": {"": [], "\u00cc\ud87b\uddb1\ud81a\ude3d\udb6e\udd6a": [1.1731761690768238e+16, {"\u00e6\u009d\u00afI\u0017\u00c1": "$", "0/0": ""}], "action": "rotate", "parameters": {"then": [], "\u00ec\u000e\u91de\u00a8p_\b\u00adB\u0014\u008b\u00f0\u00a8\ud91a\udd93\u00c7\u00fd\u001e\u00e5\u00c0\u00d8\u00b3\u009c\u248c\u00c2M\u00f9": {"": [], "\u00b0\u009a\u0082\u00a19\u0018pK\u00c3w\u001d\udafd\udc6e": [], "5\u00a5\b\uda58\udc38@m\u0095;\udb52\udd77": {"\u00bb\u00bc\uda1c\udefcY\u001c\ud946\ude2e\ud898\udc70\u00c9": null, "\u00f2\u0004\\\u009b\u0084\u00f3R\u00d5\u00ecW": 4928}}, "\u00e3\u00e9\u00c2A\ud882\ude69A\u009d\u00a7\u00cc\u00a2\u00c9\u00c8L(\u00d2\u00c5\r\u00a4\u00aa": {}, "": [], "\u00ca\u00bf\u0019": [[26676, "\u0098J\u001d\u00e1]k\u00e3\t", -0.0002156982305871494]], "y": 3580631748, "width": 652519, "x": 1393, "height": 12012473070}}, {"\udab3\udee1\u009b\udbc9\udd7c\ud850\udfff": {"\u0093d": null}, "": [], "\u00d3\u00eb\uda58\udcaf\u00b7\ud907\udd5c": {"\u00fb\u00b4": null, "\u00c9p\u0096": null, "\u00c8)": 4395}, "action": "mirror", "parameters": {"\u0082<%\ud891\udfeeP": [], "": [], "\u00deu\u009e\u00ebk\u00be": [], "\u0099": [false], "\u00aav\ud935\ude61": -37454661696637, "y": 296, "width": 101660682612, "x": 185925, "height": 2418154}}, {"": {"U\u00be\u0016\ud9fc\udfcc#\tQ\u00ca": -1784, "L\u0095\u0011&\ud900\udd16\u009ae\u0097\u009c\u00e6\uda85\udd57P": [-4.42612791237373e+16], "\u00cc\udaa7\udccf=\udb96\udf7a[*": false}, "\u00c1\u00ed\udaa4\udcec\u00b69": {"]\u0016,\u0089\u008bq7\u011c\u0089=\u00815\u00c2\uda2d\udf79\u00d8\u00f3": ["\u008f", "U\u00a6L\u00dd\u0089\u0002", -2.3574565601412384e+16]}, "\u000b\u00d4?\u0080\u00d4\u001c\u00be\u00fc\ud9b0\udcdb": {"": {"\u0087x+\u00c1": false}, "\u00f2RG46\u2fa3&2\ud887\uded7": []}, "\u000f\u00aa": {"\u0018V": -242824194561}, "%\u00cf": {"\udba3\udd1b\u009f:\u00ca": 3.04898591456784e+16, "specification": -562949953421311, "/\u00e5\u00d0": {}}, "parameters": {"width": 1991, "height": 1047, "y": 1735, "x": 0}, "action": "crop"}, {"parameters": {"axis": "horizontal"}, "action": "crop"}, {"G'"'"''"'"'\u00e1\udb14\ude78": {"\ud997\udc3b": -8.220040085139309e+71, "": false}, "\udad0\ude59": null, "parameters": {"": [], "H\u00eb": {"\u00c1\u0019\u00c8\u00d1\u00ca\u0087\u00db\u008e\u00b8\u00c1\u008bO": 0.3333333333333333}, "9": false, "angle": 14}, "action": "mirror"}]}' http://0.0.0.0:36907/api/assets/daab4c19-bdad-4e18-8b6c-cc39ae08f5f2/edits __________________________ PUT /assets/{id}/metadata ___________________________ 1. Test Case ID: o3yjbd - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no asset.update access"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": []}' http://0.0.0.0:36907/api/assets/00000000-0000-4000-8000-000000000000/metadata 2. Test Case ID: 05OtaO - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": [{"\udba5\udce0\u0018\u00d5\u00f6\u00cf\u00c4\u000b\ud9a8\ude25[": {}, "XB": [{}, {}, {"\f": null, "\u00fe\udb31\udd46\u0005<\udb02\uded2\uda6a\udc45\u00902\ud9a3\ude51": false}], "\u00d7\\FC\u0018FE\u00ffX\u00b9\u0080\u00cd\u0080\u00e6": false, "C": {}, "\u001a\u0005": {}, "value": {}, "key": "[Filtered]"}, {"X": {"\u0d60\ud862\ude11": {"": "\u001c]\u001e", "\u00acu\uda32\udcc1": -4.568143304219475e+16, "\u00aa\u00c8\u00ed\udae3\udf11\u00e4\u00f4": false}, "m7": {}, "k`\ud962\ude8dCG%I3\u00a5\u0012\ud835\udca6\udb20\udd52": []}, "_P\u00e7Y\ud9ec\udf91\ud920\udef1_\u00ab\u0086\u0014": "", "\u009a\u00e2a}\uda0f\udeb2\udbca\ude50": {"\u0080\u00f1\u00a6\u0082\u009d\ud92a\uddfc\uda94\udf4a\u00f3": {}, "\uda1c\ude68\u00a7\u0010\u00e7\u0082": {}}, "value": {"kF\u00f6\udaaa\ude50\udbde\udf10\u00d5\u00ff\u0088": [{"MalformedMediaType": {"-)\u00a3\u00f2\ud86f\udf2e": true, "": 2321}}, [132153252709, null, []], []], "\u00fdF\u0005\u00e4\u00c0N": {}, "False": [[], {"\ud806\udd3c\u000b\u00c35Z": true, "\ud90f\udc06\u00ec\u00f3\u00ae\u00c5\ud8f1\udc19\udbe8\udccc\u00dbu\u00d6\u00dc\u00a1\u00ed\u0083`\ud9e7\udc29\u0094\ud932\udd80h": []}, {"&": {}, "\u00f1": {"l\u00d7\"\u00ad\u000eA\u00f7\u0005$\u000ec\u00faS": -59, "\u00db\ud842\udff8": true}}], "\u00adz:\u00c3\u00e2\u00c5;": {"\u092a\u0928\u094d\u0939 \u092a\u0928\u094d\u0939 \u0924\u094d\u0930 \u0930\u094d\u091a \u0915\u0943\u0915\u0943 \u0921\u094d\u0921 \u0928\u094d\u0939\u0943\u0947 \u0625\u0644\u0627 \u0628\u0633\u0645 \u0627\u0644\u0644\u0647": true}, "ServerErrors": {}, "\u00c8\udb7f\udd16\u00a8": [], "": -1024, "R\u00bd": {}, "\u0096\u008aj\ud94b\udc20\u001a\u00a2": []}, "key": "[Filtered]"}, {"\ud992\udf1f\u00e1\u00c9": [], "": [], "I\u00c8J\u0092\u001f\u00a3\u00de": 318667983491049173842657280, "\u00b2D\udb63\udd5e\udb81\ude25\ud8a6\ude45\u0080": {}, "\u00fd\u0007\u0089;\u7565\ud9f4\udd75\ud908\udf00\udb4a\uddc9\udb70\udda8": {}, "key": "[Filtered]", "value": {}}]}' http://0.0.0.0:36907/api/assets/0587212a-56b7-4cfe-8d9d-ff9714f60b7a/metadata ___________________________ PUT /auth/admin-sign-up ____________________________ 1. Test Case ID: tqs2yA - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/auth/admin-sign-up"}` Reproduce with: curl -X PUT -H 'Content-Type: application/json' -d '{"email": "testuser@email.com", "password": "[Filtered]", "name": "Admin"}' http://0.0.0.0:36907/api/auth/admin-sign-up _______________________________ PUT /auth/login ________________________________ 1. Test Case ID: GfdbX0 - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/auth/login"}` Reproduce with: curl -X PUT -H 'Content-Type: application/json' -d '{"email": "testuser@email.com", "password": "[Filtered]"}' http://0.0.0.0:36907/api/auth/login _______________________________ PUT /auth/logout _______________________________ 1. Test Case ID: oqw9ek - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/auth/logout"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/auth/logout ______________________________ PUT /auth/pin-code ______________________________ 1. Test Case ID: TLMPVT - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Wrong password"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"pinCode": "123456", "password": "[Filtered]", "newPinCode": "000000"}' http://0.0.0.0:36907/api/auth/pin-code 2. Test Case ID: gsWT44 - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X PUT -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\u00d2M": {"b\udb7f\ude9e\udad6\ude72\u009c~\u00cf\ud83b\udcef": -362879, "\u00a0": 20336, "\u00b0\u0087g\udb30\ude876\u0091\ud95f\udf0bu\u00f8\uda7b\udfaa": -2765577871.0278597}, "password": "[Filtered]", "pinCode": "001503", "newPinCode": "280202"}' http://0.0.0.0:36907/api/auth/pin-code ____________________________ PUT /auth/session/lock ____________________________ 1. Test Case ID: VEMkqs - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/auth/session/lock"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/auth/session/lock ___________________________ PUT /auth/session/unlock ___________________________ 1. Test Case ID: rsjDXC - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/auth/session/unlock"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"pinCode": "123456", "password": "[Filtered]"}' http://0.0.0.0:36907/api/auth/session/unlock _______________________________ PUT /auth/status _______________________________ 1. Test Case ID: riquFR - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/auth/status"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/auth/status ___________________________ PUT /auth/validateToken ____________________________ 1. Test Case ID: yX1Zqa - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/auth/validateToken"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/auth/validateToken _________________________ PUT /cluster-groups/requests _________________________ 1. Test Case ID: EHm3Dm - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/cluster-groups/requests"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/cluster-groups/requests ______________________ PUT /cluster-groups/{id}/requests _______________________ 1. Test Case ID: sTQ9eN - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no clusterGroupRequest.create access"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"userId": "00000000-0000-4000-8000-000000000000"}' http://0.0.0.0:36907/api/cluster-groups/00000000-0000-4000-8000-000000000000/requests 2. Test Case ID: k50atz - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\ud8b9\udf7350[\u00f0\ud83f\udf54\u00c1\u00c2\u001fP\u00f6\u00a8": {"": "%", "\u00ff\u00c4\u008eQJ\ud907\udcec\u0098": null, "<\u00d2Lp&)t;": null}, "\u00fb\u00db&\u00e1\u00f1OG\ud980\ude96\u00b2\u009cf\ud8b1\udeb9": {"": "l\u0098\u0013\u00cd\u0087\u00bf\u00f3\u0086\u00a1"}, "\u008c": {"\u00f6\udbf0\udd0d\u00bc\u43c8\u00d9": {}}, "\ud9d9\udcf6\u0019\uba04\uda3f\udc68\u008b\u00db\ud82d\udfb6\u008b\u00ffy": {"\u00b5#\ud807\ude22\ud837\ude1e\u0085\u00adZ\uc22c": {"\u008b\u00b9l\u00a1wm\u00e1\u00a8\u00fa5\uda84\udff3\u00b4": -1467}}, "\u00a5|C\ud932\udc63\udabb\udd97": false, "userId": "00000000-0000-4000-8000-000000000000"}' http://0.0.0.0:36907/api/cluster-groups/bbbfe459-5221-43a5-a9f8-218c0643f5a4/requests _________________________________ PUT /config __________________________________ 1. Test Case ID: MoYVtW - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/config"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/config _____________________________ PUT /config/defaults _____________________________ 1. Test Case ID: a2D8yX - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/config/defaults"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/config/defaults ____________________________ PUT /download/archive _____________________________ 1. Test Case ID: jfOoUo - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/download/archive?key=&slug="}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"assetIds": [], "edited": false, "archiveName": ""}' 'http://0.0.0.0:36907/api/download/archive?key=%5BFiltered%5D&slug=' ______________________________ PUT /download/info ______________________________ 1. Test Case ID: LlYEh1 - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/download/info?key=&slug="}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"assetIds": [], "albumId": "a7910d87-3367-41b8-a7b3-30a608936bbe", "userId": "00000000-0000-4000-8000-000000000000", "archiveSize": 1}' 'http://0.0.0.0:36907/api/download/info?key=%5BFiltered%5D&slug=' _______________________________ PUT /duplicates ________________________________ 1. Test Case ID: 5Q6QsL - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/duplicates"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/duplicates ___________________________ PUT /duplicates/resolve ____________________________ 1. Test Case ID: bQaaHh - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/duplicates/resolve"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"groups": [{"8\t\u00fe{\u00d7\u00e6": [{"\u00df": -1.401298464324817e-45, "\u00c7\u00ee\u008e\udb8c\uddc1": null}, ["IgnoredAuth"]], "\u009c\ud8d4\ude5e": [], "\u00c6": [[17860681800757755529875375517597696], [null, "", null], []], "\u00d2\u0091\udab4\uddf8\u00f2d": [null, [true, 2.4081366216632605e+55, true], []], "\udb07\ude72\t\u00a9\udac4\ude54": {}, "keepAssetIds": [], "trashAssetIds": ["7af6a3ff-70b5-4630-9247-c4ce523436df"], "duplicateId": "59478993-b582-4cc3-b700-2699595587d5"}]}' http://0.0.0.0:36907/api/duplicates/resolve __________________________________ PUT /faces __________________________________ 1. Test Case ID: M9Aq55 - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/faces?id=00000000-0000-4000-8000-000000000000"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/faces?id=00000000-0000-4000-8000-000000000000' _______________________________ PUT /faces/{id} ________________________________ 1. Test Case ID: t91HiL - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no person.update access"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "00000000-0000-4000-8000-000000000000"}' http://0.0.0.0:36907/api/faces/00000000-0000-4000-8000-000000000000 2. Test Case ID: 1vdhq9 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "2e7aab93-4e9f-4bc5-a048-dadd945be7a8"}' http://0.0.0.0:36907/api/faces/25fa738a-76e6-42b1-b8aa-e55ba4203445 __________________________________ PUT /jobs ___________________________________ 1. Test Case ID: uz3hdL - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/jobs"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "person-cleanup"}' http://0.0.0.0:36907/api/jobs _______________________________ PUT /jobs/{name} _______________________________ 1. Test Case ID: 5UnoIt - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/jobs/thumbnailGeneration 2. Test Case ID: qBo6aX - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Invalid job name: editor"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"command": "start", "force": false}' http://0.0.0.0:36907/api/jobs/editor 3. Test Case ID: AmcM7N - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"command": "clear-failed", "force": false}' http://0.0.0.0:36907/api/jobs/ocr ________________________________ PUT /libraries ________________________________ 1. Test Case ID: 7VCd67 - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/libraries"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ownerId": "00000000-0000-4000-8000-000000000000", "name": "0", "importPaths": [], "exclusionPatterns": []}' http://0.0.0.0:36907/api/libraries _____________________________ PUT /libraries/{id} ______________________________ 1. Test Case ID: uXZGPa - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Library not found"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "0", "importPaths": [], "exclusionPatterns": []}' http://0.0.0.0:36907/api/libraries/00000000-0000-4000-8000-000000000000 2. Test Case ID: HHpZ3N - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X PUT -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": {"\u00fc\udb3b\ude79": false, "": [true, -2.790687104519512e+16], "\u2f72\ud83d\udca2l\u00df\u00aa\u00c8": -2.2250738585e-313}, "name": "^t\u008a", "importPaths": ["\u000bj", "\u00adHh", "\u00ef/'"'"'\u00dd\"\u009f"], "exclusionPatterns": ["'"'"'\u00c3\uda0e\udcff", "+0.0", "true", "\u00e8\u00ed\u0084\u00a4", "fC\udb8f\udebd\u00b1_", "\u00b05", "\u00e6\u0153\u00c6\u0152\ufb00\u02a4\u02a8\u00df", "", "Z\u0002", "\u00d0\u00ba\u00a5M\u00e0\u00a1\u00f0\ud88c\udcfb~\ud9f5\udedb\udb60\udcd9+\u00cb", ""]}' http://0.0.0.0:36907/api/libraries/00000000-0000-4000-8000-000000000000 _______________________________ PUT /map/markers _______________________________ 1. Test Case ID: VQzX4L - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/map/markers?isArchived=true&isFavorite=true&fileCreatedAfter=2024-01-01T00%3A00%3A00.000Z&fileCreatedBefore=2024-01-01T00%3A00%3A00.000Z&withPartners=true&withSharedAlbums=true"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/map/markers?isArchived=true&isFavorite=true&fileCreatedAfter=2024-01-01T00%3A00%3A00.000Z&fileCreatedBefore=2024-01-01T00%3A00%3A00.000Z&withPartners=true&withSharedAlbums=true' ___________________________ PUT /map/reverse-geocode ___________________________ 1. Test Case ID: a6stL1 - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/map/reverse-geocode?lat=0&lon=0"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/map/reverse-geocode?lat=0&lon=0' ________________________________ PUT /memories _________________________________ 1. Test Case ID: O69hbI - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/memories"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"type": "on_this_day", "data": {"year": 1000, "personId": "00000000-0000-4000-8000-000000000000", "personName": ""}, "memoryAt": "2024-01-01T00:00:00.000Z", "assetIds": [], "isSaved": false, "seenAt": "2024-01-01T00:00:00.000Z", "showAt": "2024-01-01T00:00:00.000Z", "hideAt": "2024-01-01T00:00:00.000Z"}' http://0.0.0.0:36907/api/memories ___________________________ PUT /memories/statistics ___________________________ 1. Test Case ID: Y1oEk9 - Unsupported methods Unsupported method PUT returned 400, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/memories/statistics?id=00000000-0000-4000-8000-000000000000&type=on_this_day&for=2024-01-01&isTrashed=true&isSaved=true&isUpcoming=true&size=1&page=1&order=asc' ______________________________ PUT /memories/{id} ______________________________ 1. Test Case ID: s5X8Sc - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no memory.update access"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"seenAt": "2024-01-01T00:00:00.000Z", "memoryAt": "2024-01-01T00:00:00.000Z", "isSaved": false}' http://0.0.0.0:36907/api/memories/3fdca0b0-f0ad-486b-8cc6-630e5c4065db 2. Test Case ID: MrO5hu - Response violates schema null is not of type "string" Validated against the response schema for status code 200. Schema at /components/schemas/MemoryResponseDto/properties/memoryAt: { "type": "string", "example": "2024-01-01T00:00:00.000Z", "description": "Memory date", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468... } Value: null - API accepted schema-violating request Invalid data should have been rejected Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx Invalid component: in body - memoryAt: Value not matching the 'date-time' format [200] OK: `{"id":"2a16971c-5da1-45ec-b60c-1aea0cfe57c8","createdAt":"2026-10-10T19:02:27.135Z","updatedAt":"2026-10-10T19:03:35.422Z","memoryAt":null,"seenAt":"2024-01-01T00:00:00.000Z","showAt":"2024-01-01T00:00:00.000Z","hideAt":"2024-01-01T00:00:00.000Z","ownerId":"127e5cc0-ad6d-4471-bc0c-6d15fc8bba91","type":"on_this_day","data":{"year":1000,"personId":"00000000-0000-4000-8000-000000000000","personName":""},"isSaved":false,"assets":[]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"isSaved": false, "seenAt": "2024-01-01T00:00:00.000Z", "memoryAt": "0020-02-29T00:00Z"}' http://0.0.0.0:36907/api/memories/2a16971c-5da1-45ec-b60c-1aea0cfe57c8 3. Test Case ID: odLLv2 - Response violates schema null is not of type "string" Validated against the response schema for status code 200. Schema at /components/schemas/MemoryResponseDto/properties/seenAt: { "type": "string", "description": "Date when memory was seen", "example": "2024-01-01T00:00:00.000Z", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468... } Value: null [200] OK: `{"id":"2a16971c-5da1-45ec-b60c-1aea0cfe57c8","createdAt":"2026-10-10T19:02:27.135Z","updatedAt":"2026-10-10T19:03:35.435Z","memoryAt":"2024-01-01T00:00:00.000Z","seenAt":null,"showAt":"2024-01-01T00:00:00.000Z","hideAt":"2024-01-01T00:00:00.000Z","ownerId":"127e5cc0-ad6d-4471-bc0c-6d15fc8bba91","type":"on_this_day","data":{"year":1000,"personId":"00000000-0000-4000-8000-000000000000","personName":""},"isSaved":false,"assets":[]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"isSaved": false, "seenAt": "0020-02-29T00:00Z", "memoryAt": "2024-01-01T00:00:00.000Z"}' http://0.0.0.0:36907/api/memories/2a16971c-5da1-45ec-b60c-1aea0cfe57c8 4. Test Case ID: 8KrIMc - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\u96fa": {"\u00bcN.4\u00be\u00a8": {"": "\u00bc\u00e5", "F\u0088": null}, "": {"\ud800\udddb(\u0011w\u0098\u00c3": 3.402823466e+38}, "generation": {}}, "seenAt": "2026-10-10T19:08:44.988Z"}' http://0.0.0.0:36907/api/memories/46e59218-bb56-4776-a61f-a00ad6e887b8 __________________________ PUT /memories/{id}/assets ___________________________ 1. Test Case ID: sNgQqC - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/memories/47f0e2d1-6bfb-49cf-9505-7a3105b465a8/assets 2. Test Case ID: uLnQlF - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X PUT -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": [true, null, "\u00dc\f\u00cb\u00a9\u001f\u001e\u009b\u00f8 \udb59\udc49\u00b1\uda86\udc79\ud96d\udf63\u00d0"], "2\ud84d\udc1b\u0011": [], "ids": ["0097ecaf-db7d-4f10-9d8a-76f5091b9b8b"]}' http://0.0.0.0:36907/api/memories/5645db60-4a46-42dd-94ef-1bcbdadd5e77/assets 3. Test Case ID: oFNXNE - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 3 additional properties not defined in the schema (`š8µû ÜØ4󔝯©v`, `XÖqE‚Ð`, `Ð<Ð]¡`). The server appears to reject properties the schema allows. Declare `additionalProperties: false` if extras are not accepted, or make the server ignore unknown fields. [400] Bad Request: `{"message":"Not found or no memory.read access"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u0014\u009a8\u00b5\u00fb\u00a0\u0011\u00dc\u00d84\udb11\udf6f\u00a9v": null, "\u00d0<\u00d0]\u00a1\u0015": ["", 5e-324], "X\u00d6qE\u0082\u00d0": [[], true], "ids": ["0097ecaf-db7d-4f10-9d8a-76f5091b9b8b"]}' http://0.0.0.0:36907/api/memories/39314a51-9996-43ad-915d-534fd9ff9f0f/assets ______________________________ PUT /notifications ______________________________ 1. Test Case ID: vsfL6p - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"message":"Not found or no notification.update access"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"readAt": "2024-01-01T00:00:00.000Z", "ids": ["befc8b63-7c1d-43e7-9cb0-6ea6251be12b"]}' http://0.0.0.0:36907/api/notifications 2. Test Case ID: uFu4yL - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X PUT -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"": {}, "2f\u00fcX\udaec\ude1a\u0016\u0086\u00c3\u0016\u00be\udb52\ude60\u00b3\udab5\uded9/e": {"\u0080\u00c2d\ud8dc\udc34L^\udae4\udcb4\u0099": -3.806740033156016e+16, "": true, "\u008a": -17930422}, "\u00d0\u00fa\u00a6\u00a4": [true], "\u00e6\u0093g\uda57\udeec\udacb\ude24cA": [], "\ud97a\udd06l\ud8d6\ude49": [], "ids": ["25adabbd-99b3-4362-97bb-c331a2fa25c8", "d2cadc21-d1e1-45b7-b117-44d83b136d35", "6a22e7cd-ef85-4582-845e-ede1d5330b5e"]}' http://0.0.0.0:36907/api/notifications ___________________________ PUT /notifications/{id} ____________________________ 1. Test Case ID: y62yLk - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no notification.update access"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"readAt": "2024-01-01T00:00:00.000Z"}' http://0.0.0.0:36907/api/notifications/3fdca0b0-f0ad-486b-8cc6-630e5c4065db 2. Test Case ID: 6l7qo9 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -d '{"": {}}' http://0.0.0.0:36907/api/notifications/2d47ee13-a93d-49b3-aa3f-2c5a8cc73e4f _____________________________ PUT /oauth/authorize _____________________________ 1. Test Case ID: i62iGy - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/oauth/authorize"}` Reproduce with: curl -X PUT -H 'Content-Type: application/json' -d '{"redirectUri": "", "state": "", "codeChallenge": ""}' http://0.0.0.0:36907/api/oauth/authorize ________________________ PUT /oauth/backchannel-logout _________________________ 1. Test Case ID: hygXBW - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/oauth/backchannel-logout"}` Reproduce with: curl -X PUT -H 'Content-Type: application/x-www-form-urlencoded' -d logout_token= http://0.0.0.0:36907/api/oauth/backchannel-logout _____________________________ PUT /oauth/callback ______________________________ 1. Test Case ID: TmUgcC - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/oauth/callback"}` Reproduce with: curl -X PUT -H 'Content-Type: application/json' -d '{"url": "0", "state": "", "codeVerifier": ""}' http://0.0.0.0:36907/api/oauth/callback _______________________________ PUT /oauth/link ________________________________ 1. Test Case ID: FXZrmS - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/oauth/link"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"url": "0", "state": "", "codeVerifier": ""}' http://0.0.0.0:36907/api/oauth/link __________________________ PUT /oauth/mobile-redirect __________________________ 1. Test Case ID: coB4H9 - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/oauth/mobile-redirect"}` Reproduce with: curl -X PUT http://0.0.0.0:36907/api/oauth/mobile-redirect ______________________________ PUT /oauth/unlink _______________________________ 1. Test Case ID: 3jw8tU - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/oauth/unlink"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/oauth/unlink ________________________________ PUT /partners _________________________________ 1. Test Case ID: QxbGsR - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/partners"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"sharedWithId": "00000000-0000-4000-8000-000000000000"}' http://0.0.0.0:36907/api/partners ______________________________ PUT /partners/{id} ______________________________ 1. Test Case ID: nbpt7b - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no partner.update access"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"inTimeline": false}' http://0.0.0.0:36907/api/partners/00000000-0000-4000-8000-000000000000 2. Test Case ID: Idvni7 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X PUT -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u008c\u009f\ud9c0\uddb4\u0082": {"\u009e\u00af\u0084": {}}, "": "\u000fTu", "inTimeline": false}' http://0.0.0.0:36907/api/partners/35568504-c88a-4064-9ab9-e5c81d8021b5 _________________________________ PUT /people __________________________________ 1. Test Case ID: NdosPR - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/people 2. Test Case ID: 17o653 - API accepted schema-violating request Invalid data should have been rejected Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx Invalid component: in body - people -> Array with invalid items: birthDate: Value not matching the 'date' format [200] OK: `[{"id":"00000000-0000-4000-8000-000000000000","success":false,"error":"unknown"}]` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"people": [{"name": "", "birthDate": "", "isHidden": false, "isFavorite": false, "color": "000", "featureFaceAssetId": "00000000-0000-4000-8000-000000000000", "userId": "00000000-0000-1000-8000-000000000000", "id": "00000000-0000-4000-8000-000000000000"}]}' http://0.0.0.0:36907/api/people 3. Test Case ID: NRQshH - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\ud8b8\ude56\ud90c\udc7f\ud9ad\udc0dB": {"\u00e2\u0085\ud946\udef1W": {"": "\u00d29"}, "\ud9f4\udc50\u001a\udbeb\udc1fup\ud9f3\udc4a{\u00c9\u00b3\u00d4": 23993296436, "": {}}, "\u0013\u00c6\u000f\ud8e6\uddd9\u00be*\u00e7": -2.629562465309134e+74, "\u0014\u001b\u00bd": [117821784, [], true], "people": []}' http://0.0.0.0:36907/api/people 4. Test Case ID: fyvHz3 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 1 additional property not defined in the schema (`򍏫򜳳򆰚򲉑񰖅`). The server appears to reject properties the schema allows. Declare `additionalProperties: false` if extras are not accepted, or make the server ignore unknown fields. [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","path":["people",0,"birthDate"],"message":"Birth date cannot be in the future"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\ud9f4\udfeb\uda33\udcf3\ud9db\udc1a\uda88\ude51\ud981\udd85": [{}], "people": [{"userId": "4a8b4232-80e3-4afb-91ed-31a02e2211f0", "isFavorite": false, "featureFaceAssetId": "154d52e5-5415-4ee9-ae34-9303096e5212", "name": "\u00eb", "birthDate": "4778-08-12", "id": "c9fad93f-1828-4346-a6c0-a35cc8f19b25", "isHidden": false}]}' http://0.0.0.0:36907/api/people ______________________________ PUT /people/merge _______________________________ 1. Test Case ID: UJlJeY - Unsupported methods Unsupported method PUT returned 400, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","path":[],"message":"At least one of the following fields is required: name, birthDate, isHidden, isFavorite, color, featureFaceAssetId"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": []}' http://0.0.0.0:36907/api/people/merge ______________________________ PUT /people/users _______________________________ 1. Test Case ID: FBWNXc - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/people/users 2. Test Case ID: tSU1o6 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"All users must be in the same cluster group"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"personIds": [], "type": "everyone", "sharedWithIds": ["00000000-0000-1000-8000-000000000000"], "role": "read"}' http://0.0.0.0:36907/api/people/users 3. Test Case ID: zw1rEB - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"role": "read", "sharedWithIds": ["eda12aa7-dc9b-5f44-9e74-656fdbf85ef6", "746fbf80-9409-4455-8fe7-8d61ea8d42d4", "8e107b30-aa21-5157-8c06-450c0a3ab198", "e8d8beec-c00e-5baa-82c0-179724547652", "cb2da95d-f4bb-3df8-a2c9-e5bb950a2109", "5d12b419-2920-168f-83bb-6a92f208cd4b"]}' http://0.0.0.0:36907/api/people/users _______________________________ PUT /people/{id} _______________________________ 1. Test Case ID: TUZxhZ - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Only name and birthDate can be updated for other users"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "birthDate": "2000-01-01", "isHidden": false, "isFavorite": false, "color": "000", "featureFaceAssetId": "25feff08-3f8f-48c5-a317-f1866a73a47f", "userId": "25feff08-3f8f-48c5-a317-f1866a73a47f"}' http://0.0.0.0:36907/api/people/25feff08-3f8f-48c5-a317-f1866a73a47f 2. Test Case ID: 62IqcC - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X PUT -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\ud8c2\udf37\u00c1\u00a5\\\u00f9": {"+J\ud9ef\uddf3\u00fa/\u0099m\u00ecK\u00ed\u00f1X\u0086": null, "": "\u00d3", "\u00a8\u0004\u00bd": false}, "\u0015": {"\uffff": false, ",\u0018\u00cek\u00fd": null, "\u00da\tH\u0018!\ud8d7\udea9{": true}, "\u0014\u00d0\ud977\udf1f\f\u00e3\u0011\u00ce\u008f": [], "\u0001\u0007\u00e7\u0013\uda65\udf9c\u00ec\u00e6\uda78\ude60a \u00fa": {}, "`\ud99d\ude1b\ud9dd\udddc\u000b": [], "isFavorite": false, "featureFaceAssetId": "3818d163-8659-45a7-9da2-9100dda209a0", "name": "\udb51\udc20'"'"'~\u00e1\uda47\udc89", "birthDate": null, "userId": "3818d163-8659-45a7-9da2-9100dda209a0"}' http://0.0.0.0:36907/api/people/8cba9042-4f14-43aa-a536-e032b4e02b6d __________________________ PUT /people/{id}/reassign ___________________________ 1. Test Case ID: WLCQNl - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/people/30407a74-96cc-4033-834a-68356727d960/reassign 2. Test Case ID: zXuW9o - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no person.update access"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"data": [{"personId": "00000000-0000-4000-8000-000000000000", "assetId": "00000000-0000-4000-8000-000000000000"}]}' http://0.0.0.0:36907/api/people/30407a74-96cc-4033-834a-68356727d960/reassign 3. Test Case ID: bK5PTl - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\ud8c2\ude61\u00f8\u00b9\u00f4\u0019d\u0080\u009d\ud874\udf53c": [1331412], "data": []}' http://0.0.0.0:36907/api/people/510473a9-f86e-44b5-945e-3f37dc1e7b10/reassign _________________________________ PUT /plugins _________________________________ 1. Test Case ID: 7k1o5U - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/plugins?id=00000000-0000-4000-8000-000000000000&enabled=true&name=&version=&title=&description="}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/plugins?id=00000000-0000-4000-8000-000000000000&enabled=true&name=&version=&title=&description=' _____________________________ PUT /plugins/methods _____________________________ 1. Test Case ID: IQPIoa - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/plugins/methods?id=00000000-0000-4000-8000-000000000000&enabled=true&name=&title=&description=&type=AssetV1&trigger=AssetCreate&pluginName=&pluginVersion="}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/plugins/methods?id=00000000-0000-4000-8000-000000000000&enabled=true&name=&title=&description=&type=AssetV1&trigger=AssetCreate&pluginName=&pluginVersion=' ____________________________ PUT /plugins/templates ____________________________ 1. Test Case ID: bGrvKd - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/plugins/templates"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/plugins/templates ______________________________ PUT /public/config ______________________________ 1. Test Case ID: jBYCeG - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/public/config"}` Reproduce with: curl -X PUT http://0.0.0.0:36907/api/public/config _________________________ PUT /public/config/defaults __________________________ 1. Test Case ID: EmKW4Y - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/public/config/defaults"}` Reproduce with: curl -X PUT http://0.0.0.0:36907/api/public/config/defaults _________________________________ PUT /queues __________________________________ 1. Test Case ID: ejRaF1 - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/queues"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/queues ______________________________ PUT /queues/{name} ______________________________ 1. Test Case ID: OgDMp8 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/queues/thumbnailGeneration 2. Test Case ID: QFjCsd - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X PUT -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:36907/api/queues/migration 3. Test Case ID: iGr59Q - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"The BackgroundTask queue cannot be paused"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"isPaused": true}' http://0.0.0.0:36907/api/queues/backgroundTask ______________________________ PUT /search/cities ______________________________ 1. Test Case ID: 6KpTW0 - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/search/cities"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/search/cities _____________________________ PUT /search/explore ______________________________ 1. Test Case ID: m6r5gq - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/search/explore"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/search/explore ___________________________ PUT /search/large-assets ___________________________ 1. Test Case ID: gSxCUf - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/search/large-assets?libraryId=00000000-0000-4000-8000-000000000000&type=IMAGE&isEncoded=true&isFavorite=true&isMotion=true&isOffline=true&visibility=archive&createdBefore=2024-01-01T00%3A00%3A00.000Z&createdAfter=2024-01-01T00%3A00%3A00.000Z&updatedBefore=2024-01-01T00%3A00%3A00.000Z&updatedAfter=2024-01-01T00%3A00%3A00.000Z&trashedBefore=2024-01-01T00%3A00%3A00.000Z&trashedAfter=2024-01-01T00%3A00%3A00.000Z&takenBefore=2024-01-01T00%3A00%3A00.000Z&takenAfter=2024-01-01T00%3A00%3 // Output truncated...` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/search/large-assets?libraryId=00000000-0000-4000-8000-000000000000&type=IMAGE&isEncoded=true&isFavorite=true&isMotion=true&isOffline=true&visibility=archive&createdBefore=2024-01-01T00%3A00%3A00.000Z&createdAfter=2024-01-01T00%3A00%3A00.000Z&updatedBefore=2024-01-01T00%3A00%3A00.000Z&updatedAfter=2024-01-01T00%3A00%3A00.000Z&trashedBefore=2024-01-01T00%3A00%3A00.000Z&trashedAfter=2024-01-01T00%3A00%3A00.000Z&takenBefore=2024-01-01T00%3A00%3A00.000Z&takenAfter=2024-01-01T00%3A00%3A00.000Z&city=&state=&country=&make=&model=&lensModel=&isNotInAlbum=true&personIds=00000000-0000-4000-8000-000000000000&rating=1&ocr=&withDeleted=true&withExif=true&size=250&minFileSize=0' _____________________________ PUT /search/metadata _____________________________ 1. Test Case ID: jAn2Wl - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/search/metadata?key=&slug="}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"libraryId": null, "type": "IMAGE", "isEncoded": false, "isFavorite": false, "isMotion": false, "isOffline": false, "visibility": "archive", "createdBefore": "2024-01-01T00:00:00.000Z", "createdAfter": "2024-01-01T00:00:00.000Z", "updatedBefore": "2024-01-01T00:00:00.000Z", "updatedAfter": "2024-01-01T00:00:00.000Z", "trashedBefore": "2024-01-01T00:00:00.000Z", "trashedAfter": "2024-01-01T00:00:00.000Z", "takenBefore": "2024-01-01T00:00:00.000Z", "takenAfter": "2024-01-01T00:00:00.000Z", "city": null, "state": null, "country": null, "make": null, "model": null, "lensModel": null, "isNotInAlbum": false, "personIds": [], "tagIds": [], "albumIds": [], "rating": 1, "ocr": "", "withDeleted": false, "withExif": false, "size": 250, "withStacked": false, "withPeople": false, "id": "00000000-0000-4000-8000-000000000000", "description": "", "checksum": "", "originalFileName": "", "originalPath": "", "previewPath": "", "thumbnailPath": "", "encodedVideoPath": "", "order": "asc", "page": 1, "orderBy": {"field": "fileCreatedAt", "direction": "asc"}, "cursor": "0"}' 'http://0.0.0.0:36907/api/search/metadata?key=%5BFiltered%5D&slug=' ______________________________ PUT /search/person ______________________________ 1. Test Case ID: MPik63 - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/search/person?name=&withHidden=true"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/search/person?name=&withHidden=true' ______________________________ PUT /search/places ______________________________ 1. Test Case ID: 4pjC8I - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/search/places?name="}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/search/places?name=' ______________________________ PUT /search/random ______________________________ 1. Test Case ID: 8YESce - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/search/random"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"libraryId": null, "type": "IMAGE", "isEncoded": false, "isFavorite": false, "isMotion": false, "isOffline": false, "visibility": "archive", "createdBefore": "2024-01-01T00:00:00.000Z", "createdAfter": "2024-01-01T00:00:00.000Z", "updatedBefore": "2024-01-01T00:00:00.000Z", "updatedAfter": "2024-01-01T00:00:00.000Z", "trashedBefore": "2024-01-01T00:00:00.000Z", "trashedAfter": "2024-01-01T00:00:00.000Z", "takenBefore": "2024-01-01T00:00:00.000Z", "takenAfter": "2024-01-01T00:00:00.000Z", "city": null, "state": null, "country": null, "make": null, "model": null, "lensModel": null, "isNotInAlbum": false, "personIds": [], "tagIds": [], "albumIds": [], "rating": 1, "ocr": "", "withDeleted": false, "withExif": false, "size": 250, "withStacked": false, "withPeople": false}' http://0.0.0.0:36907/api/search/random ______________________________ PUT /search/smart _______________________________ 1. Test Case ID: nPLqJM - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/search/smart"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"libraryId": null, "type": "IMAGE", "isEncoded": false, "isFavorite": false, "isMotion": false, "isOffline": false, "visibility": "archive", "createdBefore": "2024-01-01T00:00:00.000Z", "createdAfter": "2024-01-01T00:00:00.000Z", "updatedBefore": "2024-01-01T00:00:00.000Z", "updatedAfter": "2024-01-01T00:00:00.000Z", "trashedBefore": "2024-01-01T00:00:00.000Z", "trashedAfter": "2024-01-01T00:00:00.000Z", "takenBefore": "2024-01-01T00:00:00.000Z", "takenAfter": "2024-01-01T00:00:00.000Z", "city": null, "state": null, "country": null, "make": null, "model": null, "lensModel": null, "isNotInAlbum": false, "personIds": [], "tagIds": [], "albumIds": [], "rating": 1, "ocr": "", "withDeleted": false, "withExif": false, "size": 100, "query": "", "queryAssetId": "00000000-0000-4000-8000-000000000000", "language": "", "page": 1}' http://0.0.0.0:36907/api/search/smart ____________________________ PUT /search/statistics ____________________________ 1. Test Case ID: u7j6De - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/search/statistics"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"libraryId": null, "type": "IMAGE", "isEncoded": false, "isFavorite": false, "isMotion": false, "isOffline": false, "visibility": "archive", "createdBefore": "2024-01-01T00:00:00.000Z", "createdAfter": "2024-01-01T00:00:00.000Z", "updatedBefore": "2024-01-01T00:00:00.000Z", "updatedAfter": "2024-01-01T00:00:00.000Z", "trashedBefore": "2024-01-01T00:00:00.000Z", "trashedAfter": "2024-01-01T00:00:00.000Z", "takenBefore": "2024-01-01T00:00:00.000Z", "takenAfter": "2024-01-01T00:00:00.000Z", "city": null, "state": null, "country": null, "make": null, "model": null, "lensModel": null, "isNotInAlbum": false, "personIds": [], "tagIds": [], "albumIds": [], "rating": 1, "ocr": "", "description": ""}' http://0.0.0.0:36907/api/search/statistics ___________________________ PUT /search/suggestions ____________________________ 1. Test Case ID: iG7igD - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/search/suggestions?type=country&country=&state=&make=&model=&lensModel=&includeNull=true"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/search/suggestions?type=country&country=&state=&make=&model=&lensModel=&includeNull=true' ______________________________ PUT /server/about _______________________________ 1. Test Case ID: 4LJxHW - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/server/about"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/server/about ____________________________ PUT /server/apk-links _____________________________ 1. Test Case ID: FW4Hvs - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/server/apk-links"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/server/apk-links ______________________________ PUT /server/config ______________________________ 1. Test Case ID: No8nah - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/server/config"}` Reproduce with: curl -X PUT http://0.0.0.0:36907/api/server/config _____________________________ PUT /server/features _____________________________ 1. Test Case ID: C1xEzV - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/server/features"}` Reproduce with: curl -X PUT http://0.0.0.0:36907/api/server/features _____________________________ PUT /server/license ______________________________ 1. Test Case ID: kAx4BP - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Invalid license key"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"licenseKey": "[Filtered]", "activationKey": "[Filtered]"}' http://0.0.0.0:36907/api/server/license 2. Test Case ID: 6ZcDy3 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -d '{"activationKey": "[Filtered]", "licenseKey": "[Filtered]"}' http://0.0.0.0:36907/api/server/license ___________________________ PUT /server/media-types ____________________________ 1. Test Case ID: xzYgyk - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/server/media-types"}` Reproduce with: curl -X PUT http://0.0.0.0:36907/api/server/media-types _______________________________ PUT /server/ping _______________________________ 1. Test Case ID: 5AcMU7 - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/server/ping"}` Reproduce with: curl -X PUT http://0.0.0.0:36907/api/server/ping ____________________________ PUT /server/statistics ____________________________ 1. Test Case ID: tPaFVt - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/server/statistics"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/server/statistics _____________________________ PUT /server/storage ______________________________ 1. Test Case ID: R4QJIG - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/server/storage"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/server/storage _____________________________ PUT /server/version ______________________________ 1. Test Case ID: VZvjuS - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/server/version"}` Reproduce with: curl -X PUT http://0.0.0.0:36907/api/server/version __________________________ PUT /server/version-check ___________________________ 1. Test Case ID: hyy2NO - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/server/version-check"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/server/version-check _________________________ PUT /server/version-history __________________________ 1. Test Case ID: MSAvXD - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/server/version-history"}` Reproduce with: curl -X PUT http://0.0.0.0:36907/api/server/version-history ________________________________ PUT /sessions _________________________________ 1. Test Case ID: El0gIA - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/sessions"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"duration": 1, "deviceType": "", "deviceOS": ""}' http://0.0.0.0:36907/api/sessions ______________________________ PUT /sessions/{id} ______________________________ 1. Test Case ID: GRlwlW - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no session.update access"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"isPendingSyncReset": false}' http://0.0.0.0:36907/api/sessions/4a31cc9e-de83-41a1-87d0-3c98691cc91b 2. Test Case ID: Wgvnz3 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X PUT -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\udb58\udf91\u0096a_\u00de\ud981\udc17\ud9bd\udc27\u0005\u00ab*\u00ab\u0086d-\u00be": {"\u0092\n": {"\u00a1[": [true, null, 5.681257924469466e-236]}, "*\u00db\ud95c\udd7e'"'"'\ud8e4\udef1\u00d5\u00d2\udb38\ude65\u000b": "IgnoredAuth"}, "\ud951\uded5K": [null, -8.4118451865255e-136], "\u00fb\u0094": ["\udbb1\udcc0"]}' http://0.0.0.0:36907/api/sessions/32a0caa0-822d-41dd-8650-b2f42bdd6c80 ______________________________ PUT /shared-links _______________________________ 1. Test Case ID: uv7wYR - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/shared-links"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"type": "ALBUM", "assetIds": [], "albumId": "00000000-0000-4000-8000-000000000000", "description": null, "password": "[Filtered]", "slug": null, "expiresAt": "2000-01-01T00:00:00Z", "allowUpload": false, "allowDownload": true, "showMetadata": true}' http://0.0.0.0:36907/api/shared-links ___________________________ PUT /shared-links/login ____________________________ 1. Test Case ID: zQVfQ5 - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/shared-links/login?key=&slug="}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"password": "[Filtered]"}' 'http://0.0.0.0:36907/api/shared-links/login?key=%5BFiltered%5D&slug=' _____________________________ PUT /shared-links/me _____________________________ 1. Test Case ID: pVqpyK - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/shared-links/me?key=&slug="}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/shared-links/me?key=%5BFiltered%5D&slug=' ________________________ PUT /shared-links/{id}/assets _________________________ 1. Test Case ID: nVY8dP - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Shared link not found"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"assetIds": []}' http://0.0.0.0:36907/api/shared-links/00000000-0000-4000-8000-000000000000/assets 2. Test Case ID: PpypMG - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -d '{"\u0099\u00b8PO\u00bc\u00b5\u00ae!": "\ud94d\udce4", "\u00a2\u00d1\uda7c\udda4\u009e": [], "WB=\u008f\u00c3\\\u00a2": "\ud8aa\udf62\"\u00afD\u00f8\ud99a\uddc6C9%~", "\u007f\u00d0\ud8ff\udc04\u001a\u009b\u00ad\uda6d\udda6": "\uda26\udfcc\u009c", "\u0002\ud94b\udcb2\u0083;2*\u00d2\u00f1\u00e7\udb1e\udf55\u00e6X\u00e1": [], "assetIds": ["0097ecaf-db7d-4f10-9d8a-76f5091b9b8b"]}' http://0.0.0.0:36907/api/shared-links/32d00676-8620-49e1-974c-9803837f68e1/assets _________________________________ PUT /stacks __________________________________ 1. Test Case ID: S6T2QG - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/stacks?primaryAssetId=00000000-0000-4000-8000-000000000000"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/stacks?primaryAssetId=00000000-0000-4000-8000-000000000000' _______________________________ PUT /stacks/{id} _______________________________ 1. Test Case ID: ocfDW5 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Not found or no stack.update access"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"primaryAssetId": "00000000-0000-4000-8000-000000000000"}' http://0.0.0.0:36907/api/stacks/00000000-0000-4000-8000-000000000000 2. Test Case ID: a0Svqp - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X PUT -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u0082": {}, "\u00b3": -80589970, "S\u00e8\udb4b\udd3do": {"]GZ\u0014><\u00ba\ud9f0\udd52$P": "\u00f8\u00ad`M", "\ud828\uddc9\u00c7": -52136922277151, "": 4.5411689735431205e-278}, "\uda98\udd28\ud836\udded\u00ea\u00e8": {}, "\ud855\ude9b\u001e\u00cf\u00b3\uf48bM\\": {"\u008a\u00d4\u0015\u0083\udbc9\udc3a": "", "": null}}' http://0.0.0.0:36907/api/stacks/ddcc6a50-63f4-4b15-a1c3-d59c21679b9a ________________________________ PUT /sync/ack _________________________________ 1. Test Case ID: A27FCQ - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/sync/ack"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"acks": []}' http://0.0.0.0:36907/api/sync/ack _______________________________ PUT /sync/stream _______________________________ 1. Test Case ID: JlDPdW - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/sync/stream"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"types": [], "reset": false}' http://0.0.0.0:36907/api/sync/stream ______________________________ PUT /system-config ______________________________ 1. Test Case ID: pY4Mrk - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","message":"Invalid cron expression. Too few fields","path":["backup","database","cronExpression"]},{"code":"custom","message":"Invalid cron expression. Too few fields","path":["integrityChecks","missingFiles","cronExpression"]},{"code":"custom","message":"Invalid cron expression. Too few fields","path":["integrityChecks","untrackedFiles","cronExpression"]},{"code":"custom","message":"Invalid cron expression. Too few fields","path":["integrityChecks", // Output truncated...` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"backup": {"database": {"enabled": false, "cronExpression": "", "keepLastAmount": 1}}, "ffmpeg": {"crf": 0, "threads": 0, "preset": "", "targetVideoCodec": "h264", "acceptedVideoCodecs": [], "targetAudioCodec": "mp3", "acceptedAudioCodecs": [], "acceptedContainers": [], "targetResolution": "", "maxBitrate": "", "bframes": 0, "refs": 0, "gopSize": 0, "temporalAQ": false, "cqMode": "auto", "twoPass": false, "preferredHwDevice": "", "transcode": "all", "accel": "nvenc", "accelDecode": false, "tonemap": "hable", "realtime": {"enabled": false, "videoCodecs": [], "resolutions": []}}, "integrityChecks": {"missingFiles": {"enabled": false, "cronExpression": ""}, "untrackedFiles": {"enabled": false, "cronExpression": ""}, "checksumFiles": {"enabled": false, "cronExpression": "", "timeLimit": 0, "percentageLimit": 0.0}}, "job": {"thumbnailGeneration": {"concurrency": 1}, "metadataExtraction": {"concurrency": 1}, "videoConversion": {"concurrency": 1}, "faceDetection": {"concurrency": 1}, "smartSearch": {"concurrency": 1}, "backgroundTask": {"concurrency": 1}, "migration": {"concurrency": 1}, "search": {"concurrency": 1}, "sidecar": {"concurrency": 1}, "library": {"concurrency": 1}, "notifications": {"concurrency": 1}, "ocr": {"concurrency": 1}, "workflow": {"concurrency": 1}, "editor": {"concurrency": 1}, "integrityCheck": {"concurrency": 1}}, "logging": {"enabled": false, "level": "verbose"}, "machineLearning": {"enabled": false, "urls": [""], "availabilityChecks": {"enabled": false, "timeout": 0, "interval": 0}, "clip": {"enabled": false, "modelName": ""}, "duplicateDetection": {"enabled": false, "maxDistance": 0.001}, "facialRecognition": {"enabled": false, "modelName": "", "minScore": 0.1, "maxDistance": 0.1, "minFaces": 1}, "ocr": {"enabled": false, "modelName": "", "maxResolution": 1, "minDetectionScore": 0.1, "minRecognitionScore": 0.1}}, "map": {"enabled": false, "lightStyle": "https://0.com", "darkStyle": "https://0.com"}, "reverseGeocoding": {"enabled": false}, "metadata": {"faces": {"import": false}}, "oauth": "[Filtered]", "passwordLogin": "[Filtered]", "storageTemplate": {"enabled": false, "hashVerificationEnabled": false, "template": ""}, "image": {"thumbnail": {"format": "jpeg", "quality": 1, "size": 1, "progressive": false}, "preview": {"format": "jpeg", "quality": 1, "size": 1, "progressive": false}, "fullsize": {"enabled": false, "format": "jpeg", "quality": 1, "progressive": false}, "colorspace": "srgb", "extractEmbedded": false}, "newVersionCheck": {"enabled": false, "channel": "stable"}, "nightlyTasks": {"startTime": "00:00", "databaseCleanup": false, "missingThumbnails": false, "clusterNewFaces": false, "generateMemories": false, "syncQuotaUsage": false}, "trash": {"enabled": false, "days": 0}, "theme": {"customCss": ""}, "library": {"scan": {"enabled": false, "cronExpression": ""}, "watch": {"enabled": false}}, "notifications": {"smtp": {"enabled": false, "from": "", "replyTo": "", "transport": {"ignoreCert": false, "host": "", "port": 0, "secure": false, "username": "", "password": "[Filtered]"}}}, "templates": {"email": {"welcomeTemplate": "", "albumInviteTemplate": "", "albumUpdateTemplate": ""}}, "server": {"externalDomain": "", "loginPageMessage": "", "publicUsers": false}, "user": {"deleteDelay": 1}}' http://0.0.0.0:36907/api/system-config 2. Test Case ID: 1gpOQw - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\ud92e\udf6a2": {}, "\u009dWt\udb8b\udf78\u00ad": null, "s\u007f\ud890\udfb2\u00cc": [], "\u00ff\u009e\u00a6": [true], "\u00c4\u0082aD\u00dfY": {}, "notifications": {"\u00e6\u00ac": {}, "\u0007\u0018\ud93b\udd54\u00e2\udbdc\udf87\uda42\udcea\u00dd\u00f1\u00d5\ud956\udead\u00dd\ud8ff\udcc7": [], "smtp": {"from": "2025-10-12", "enabled": false, "replyTo": "", "transport": {"&#\u0097\u00ef\u0006\"\u00f8\u00edV\u0089T\u00cd": [{"\u007f\udaaf\udc82@\udb0f\udd53": false}, [], {"\u00ee\u009e\u00abJ\ud8b3\udf37d\u00cdy": null, "\u000e\u00cb\u00c2\u0080\u0099\u00fc\u00e7\ud829\uddfb\u0091E\u00ba": null, "i\u00b7\u00db\u00a7\u0011\u00f24\u009e\u00e0": 688}], "\u0097\u0017": [], "\ud851\udf7a": [], "(": false, "\u0097E\u00eaQ\uda7e\udd32\u00a0\u00d5To\u00b8": {}, "username": "\u00dc\u001d\u0093\ud814\udefc", "port": 17428, "secure": true, "host": "\ud816\udd70\udbf4\udef12\u00a1Gm\u00ca\udac8\udfae6\u0006\u00b7\u0082\u00c5\u009f\u009c\u00b5\u00d8j\u00ddu", "password": "[Filtered]", "ignoreCert": true}}}, "storageTemplate": {"hashVerificationEnabled": false, "enabled": false, "template": "{{y}}/{{y}}-{{MM}}-{{dd}}/{{filename}}"}, "reverseGeocoding": {"enabled": false}, "integrityChecks": {";o\u008e\u00bc\ud8a0\uddc0": {}, "\u0096\u0019": {"\u00cf": "\u00bc\u00bfP\u00a6\ud8cf\udc2d&\udb82\udfe8\udbd6\udeb5\u0086\udb66\ude6e"}, "\uda15\udeac\ud805\udfd9": {"\ud84b\uddfd\u0005-\ud94e\ude82\u00c09\u000b(\u00f3": true, "\ud913\udccbp": false, "": 15202}, "p?\u00c8": {"\u00bf\u00187n\u009e\udadd\udc23\u00be\u00a04Lr\ud812\udc65\u007f\u009fL\u001b": [], "": {"\u00d3\u00de": -6.386225875604026e+16, "": -16889714272525, "4\udb31\udc16. ": "\u00c7\u0019/j\u00f0"}}, "\u00a6\u00cb\u0092\u009e\u0091\u0098": {"\u00eb": true, "": 11857333378, "\ud93f\ude56lC\u0006\u00f9\u008f\f": 9908874976303444.0}, "checksumFiles": {"": -573, "cronExpression": "\u00a6\u0085", "timeLimit": 9007199254740990, "enabled": false, "percentageLimit": 0.199595127639475}, "untrackedFiles": {"enabled": true, "cronExpression": "h\u00dd\u008c\u009b6\u00124\u0088C\u640f\u0095'"'"'\ud1379"}, "missingFiles": {"\udbaf\udebd\u00d0\b\u0081.\u00ff\ud80f\ude96\uda07\uddaf\u00ab": {"": null}, "": {"\u000b\ud976\udcbb\u00ac\u001e\udada\udf26\udbdf\udc6ea\udb59\udf27": {}, "": {"": "[WD\u00e2", "\udbb2\udea11\u00f5\u00bb*\u009fJ\u00cf\b?": {}, "w": 1.175494351e-38}, "[ug\u00f8\u00d1\u00ba\u00c4\u0093\u009e\u00b9": -6.198663327533597e+16}, "cronExpression": "0 0 * * *", "enabled": true}}, "library": {"": [], "\ud83c\udffb": "\u009c", "g\u00d8": {"": ["\u00f1r;7\u00afw\u00c9\udbb9\udfcb\ud8d0\udfe3\ud9e9\uddedQ\u00b9"]}, "(": -6.0739996770229064e+16, "\uda34\udc41\nY": {"O*\u007f": [], "\ud928\udf6c\uda04\uddab\ud8a4\udd76": null, "\t": ["\u00c7\ud973\udda2\u00c7", "enabled": false, "cronExpression": ""}}, "user": {"\u001d\u0003\udaf3\ude17G3": [false, "\u001a=\u0005'"'"'\u001eo)\u0019\u0011"], "\udb2f\uddea\ud8ea\udd91\u00dd\u00a4K": [{"[\u00cf": true, "\uda3e\ude9b": -4.58116944199498e+16, "\u0088": false}, -407, "\u0088\ud859\udcff\u00e2\u00d6\uda19\udf27\u001e\u008d\ud944\udcf1\ud80d\udd68\uda6f\ude60\udb5d\udc38\u00a2\u00f6\udac2\udeea"], "deleteDelay": 7}, "templates": {"\u0085\u00d4": null, "email": {"\u00d1": {"\u0018Q\u0099-\uda3d\udcbc}": -1.9001315174610618e-159}, "\u00da\u0099\u0084\ud934\udef8\u00d7\ud9c4\udfb3\u00e7 \u00d8\u00e2\u00db": [[null, 7.000001270902973e+216], {}, [{"\uc9e3A\u00050\u0012\u0010\u001a\u008f\u00c8!\u00dcd": false, "\u00ca": false, "8\u0084\u00e8\u00dc\u00a1\f;\u4c21l\udbb9\ude89": null}, []]], "\u0095?\u00e8\u008bR": [], "": false, "\u00a8\u0017": [[]], "welcomeTemplate": "}\u0013g\u00c6\u001b", "albumUpdateTemplate": "", "albumInviteTemplate": "\u00be\ud9a8\ude73\r\u00eb)\ud9f2\ude674\u0080\udb9d\udc21\ud84a\udd2eQsQ\u00da\u00dc4\u000b\udac6\ude15\u00dc\ud9ee\ude9d\u2992"}}, "server": {"\u00a4)": [null, null], "\u00f5\u0094\u00d2\u00c0e\u0001": {"\u00aa\u0011\u009df\ud8c2\udd81\u00e4": [], "s\u0010^\udb70\udf82\u00f82\u000b": {}, "\ud81d\udf5f\ud8b7\udd27": -664452}, "\u00f0\u0087": {"\u00bc\ud8e0\ude28\u00ae\u009f\u001f\u00eeb(\u0096": {}, "^\u0000\ud858\udfab": {"\u00b2\u000b{\u00c7\u00bd\u0088\ud8f5\uddf4\u00f5\u00a0\u0002\udb8f\udd714\ud90f\udd86\u00c2\u009d\ud84e\udc19\u00e4": "\u00f6", "*": [], "\u00d3x\u001c\u0006": [null, "\u00a7"]}, "": []}, "\u0e01\u0e32": true, "\uda13\udcc8\u00e6*\u00e0.\u00a0\u0084a\ud8ec\udcac\u00bd\ud88d\udd1d\u008e\u00c1": {"X": 145739, "\u001d\ud8dc\udfef": "a)\udaff\udd39v\u00d6\u0003\u00aa"}, "loginPageMessage": "\u00e3\ud98e\udcb8\udb67\ude99a", "externalDomain": "", "publicUsers": true}, "backup": {"M\u00b6S\udace\uddcf]\u00cf\u009a\u00ef\udb12\ude01\u00fe\u00ee\ud8a9\udc0eS\ud824\udf02\u00f0": [], "database": {"": 5.269340665891307e-59, "d\u00fcL\u00cf3\u00b8\u00fe\u00ca\u000b\f\u0084z}\ud9f2\udcf1\u00de\u001b \u00fd\u00b99'"'"'\u00fd": {"(\ud8f0\udede\u00c5\u00ed\udb32\ude42\udac6\udd76Y\\\u0085o": true, "": false, "i\u009e\ud978\udc49\u00cex": false}, "\u008d": {}, "\u001f\udb1b\udfd7": [], "\ud9b8\udd6d": {"\u0099\ud945\uddb8\u000b": false}, "enabled": true, "keepLastAmount": 14, "cronExpression": "\ud9b9\udf14q\uda41\udc17s\u008a"}}, "newVersionCheck": {"channel": "releaseCandidate", "enabled": false}, "logging": {":\ua007\u00b7\u00f6g\u00beH\u00f5\u001d\u0095\udb1c\ude69\uda57\udcee\u00e5\u00aa\u00c2\u00b8\ud8f5\udec9": -5.646622061628022e+16, "Z\u0005\u00e0\u00952{\u0099\u00c7\uda5a\udc46\udab1\udea3\ucb2c\udaa5\udd01\u0097\u000ek\udaac\udfd0\u00dc\u00ff\u00b1": 1944575673696.7734, "\u00e6,V\ud928\udf7c": [], "\udb87\udf7d": [], "\u0093": {}, "enabled": true, "level": "verbose"}, "job": {"sidecar": {"9\u00b6": {"\ud939\udc98\udbcd\udffd\ud962\udcd0\u00c1\u00fb\u0090\uda16\ude3e\udb13\udf63\udb2f\udc86\u00d6\u0005\u00e3\u00f0": null, "\t\u0093\uaacf\u008e\udbe5\udfaf": null, ";\udb7e\udd2c": ""}, "\u00da\u00e3\u00ab\u00d9;U\uda90\udf7bX\u007f\f\u00da\u00e4\ud978\udfeb\udb89\ude21\u0011": [], "\ud823\udf8b\uda8f\udeecl\u0001\u00ef\u00bd\u0001\udb24\ude7e\u00b75\u00f9": [{"\u00cc\u00a1\r\u000b\udb63\udf38`%": "zl"}, [], true], "JsonSchemaError": {"U": ["\u00f2\udbc7\uddeag\u00f4u*,4:\u00e7\u008a\u0099K\u0085X\u00be"], "": [], "T\u0095": {"m\u00dd\u00e9cg\u0014\u0093\udb99\udfd3\u00df\u00ea\u00c5x\u0086\u00d5\ud85d\udc64": true, "": -28540826815505389303365632, "\u00e735\u00f9u\u00acy\\\u0096": -6.338514192653856e+16}}, "\u00af\u00da\u0019m": [[null, 99099, null]], "concurrency": 1122}, "ocr": {"concurrency": 346}, "editor": {"concurrency": 2}, "migration": {"\udb78\ude0a\udadf\ude18\u00c5'"'"'\u001ed\u00a7\"": {}, "concurrency": 5}, "integrityCheck": {"concurrency": 1}, "notifications": {"\u001al\u00be": {}, "": 2.0202871626498844e+69, "concurrency": 2}, "smartSearch": {"r\u00e77<": [], "": [], "\u0006\u0086hbv!\u00ba\u00ff\u00be\u00ac": {"e\ud9d6\udde2\uda8b\udf7c\u0080\u00d8kJ\u00ed\u00baq\u00f7\u00ea\u00b1v\u00e5/": -7.121654213943128e+16, "\u0098": -2.9614641985177787e-248, "C\ud806\udcd7": "8\u00be\u008b\udb91\udc4e\u00ae\n\u00f16\ud812\udf5a\ud8ae\udee0\ud85d\udebe8\ud815\udcb0>\udaef\uddefY\ud8b5\udf55\u00e8c"}, "if": {}, "\u00da\u001c\ud955\udc76\u00c2\ud87f\udc34\u00d1\t\f!\u0002\u009b\u00da.\u00b3": false, "concurrency": 3}, "library": {"\u000b\u00e5": [false, 3761, -2.0366898665900452e+276], "AL\n\u001f": {"+\u008a\u0010": null}, "concurrency": 79903595}, "metadataExtraction": {"\ud9db\udd5c": {}, "\udbe8\udc74\udb7a\udf7e\u00c9": null, "\ud955\udda8M:\uda91\udc30\u00d9\u008e": [2452], "&\u00f0": "\udb72\udc00\u00e9\u0019\u00f4\u00ec\u00a6F\u00f8\u00db", "concurrency": 1}, "backgroundTask": {"[]\u00aaf\ud9e1\udf74\u00f1\u008a\u009b \u0001\u009b\u00ces\ud97a\udffc \u00d4": [], "\u0097\u00a8\udb43\udd16\u00e2\udbaa\udf5d\u0097": [true, null, false], "(\u256f\u00b0\u25a1\u00b0\uff09\u256f\ufe35 \u253b\u2501\u253b)": null, "": {"timeline": [true], "\u00a5\u00f3x7\u00c8M\u00de\ud943\udec7\udb6f\udc7c`\u0188\u0092E\ud8d3\udf87": {"K\u00a7": -1.8304482649809212e+16}}, "NaN": [], "concurrency": 962873612712}, "videoConversion": {"UseAfterFree": [[234201688, {"G": null}], "\ud847\udf38\ud948\udd2a\u00edU", [null, -3.776349945435864e+16]], "_\u0087": 34359738368, "\u00a1": [-868920, null], "F7\ud91f\udff8i\u001c": null, "\udaf3\udd7e}.": {}, "concurrency": 2}, "search": {"": {}, "concurrency": 3}, "workflow": {"\u0095#\ud991\udc43\ud98c\udfbcc}": 570, "concurrency": 5}, "thumbnailGeneration": {"\u00f7K\u00cc\udbf5\udfd6": [{}, "\u2055", [-546424, -5110, 1098]], "\ud8b7\uddfb\udb4f\udcb7\u0091": [], "concurrency": 711}, "faceDetection": {"": -1.3456770170807487e-295, "\u0087r\u00d1]\u00b9\u00f0;\u00af\u00040\u00c2\ud981\ude51\u008dxn": -1488723916383497573085615226880, "concurrency": 160123}}, "theme": {"\u008eJ": [true, 2.543542777494079e-126], "\uda62\udcdbz\u00d5\ud945\udc5bqZ\u1356\u00b8\u00e3\u0098C\udaf9\udf82\ud93e\udcbb\u00ce\u00ad\ud9bc\ude6b": [-8243, {}, [{}, {"": null, "\u00cd\u00e6xe=\u00b1": -2.561844063044639e+16, "\u00aa\udb22\uddd9\u0001": null}, []]], "\u00cel": ["T\u00ac"], "=\u008c\u00db\u0084\udb88\udc18\u00a6": {"#": "\uda22\ude6b\ud82c\udef5\u00b0\udac0\ude7c\u00b0\u00e0\u8620\ud8b6\ude22\ud86f\uded7\u00d9\u0001n\ud8d5\udda9\u0018\u00c8\u00f4)", "|\u00db": -7.171496562763579e-47, "\u00d2": []}, "customCss": ""}, "nightlyTasks": {"": {"": [null, "\u00819_\u00e2\u00deQ\u00e8\u001d\u00d0", [-129545, "\uda21\udc19", -5898644]]}, "\udbc3\udeb4\uda55\udec1": {"red": [], "\ud908\udf6a\udaf9\udc87\u00c6\ud9e7\udde9\u008f\u00c7sK": {"M\u0080": [], "3\ud8d3\udd57\u0011": 13045161508646, "\udbe2\udd17\u0003\\\u0086\u001c\ud9a3\ude4bM\uda80\ude57\ud934\udfab\ud93f\ude2a": null}, "I": {"N\udad2\udc7a": [-467, false]}}, "generateMemories": true, "databaseCleanup": false, "missingThumbnails": false, "startTime": "23:08", "clusterNewFaces": false, "syncQuotaUsage": true}, "oauth": "[Filtered]", "machineLearning": {"\u0001\u0005": null, "\u0018\u00e7A\u0081\u00f6\u00e7\u008bS": 3220347765, "\ud9ba\udf51": {"Tp\u00f0\u0086~\u00e499f": {"\u00a4": false, "": -136725960, "un\u0006e\uda51\ude86e\u00ad\\\t\u2338\u00b6\u00bb\u00ef": false}, "\ud829\udff4\u00ce\u00af7\u001e\u00dd\u00ba&": [null], "": "\u001bV"}, "availabilityChecks": {"\u00f8\u0091\uda48\udeaf\u00e0\u00f8\ud964\udc08c\u00d5\ud91e\uded6\u00cb\u00a8$\u00bd": [[], [1.688091375461672e+87, false, "]"]], "\u00b9": [{"": null, "g": -6.103515625e-05, "\u0085\u00ff": -42813}, {"\u00e5\u00d4\ud90f\udfc9PZ\u00f3\u00e1": null}, []], "enabled": true, "timeout": 2000, "interval": 53721826384}, "facialRecognition": {"minFaces": 3, "minScore": 0.9325516386246135, "maxDistance": 0.3750795367621427, "enabled": true, "modelName": "buffalo_l"}, "urls": ["", "\u0012\u00f5`\u008f\ud8bb\udf4f?\u00f2", "\u00ee\u008c\udadc\udc54\u0001\u00c1%", "\udbf3\udf0f", "L\udb17\uddfc\u00db\n\u00d7\n\u00de\u0085", "H\u001bH\ud8fd\ude45u\u0014\ud89a\uddfb\udafb\uddb1\udad9\uddb3\fN\u00be\u008f\u00b6z\u0012o\udabe\uddf6", "c"], "duplicateDetection": {"\u00fbMN6\u00f9\udbca\ude74\u00e3": ["\u00d7pG\u0092\ud922\udedd\ud994\udeb9\u0001", "8\u0097c/\udb68\udccf@\u00ea\u00f4", 1.469395696472366e+74], "": [null, -718583965, {"\u0005\ud824\udc12x\u001a\ud8f0\udf90\udbef\udd04\u0098\ud84d\ude1bY>h\u008b\uda10\udfc75": [], "": {"\u00a4\udb67\udca7": "k\t", "\u0013(\u007f": -44133149}, "\u00ad;s": []}], "enabled": true, "maxDistance": 0.07388932972968276}, "ocr": {"Other": {"\ud9ae\udfeb\u00cc": 813, "\u0091\u001e^\udb9f\uddacw\ud81e\udfcb7": []}, "": [], "hFx\u0095\udaa9\ude05\u00bf\u0002\udb34\udc71\u00ceYCJ\u00dc\u009a\u0019\u00db,\u00a5n\udad3\udf2a\ud9bc\udca5\u0016S>9\u00fb\ud81a\udc24\u0081\ud8c1\udd3c\ud95d\udecf": [], "\u008e\ud998\udc5d\u001a\u00df\u00fd\u00ee\u0082\udbc7\udf1a;\u0084": {}, "I\u0003\u000e": {}, "enabled": false, "minRecognitionScore": 0.5139890562990602, "minDetectionScore": 0.9995470930464444, "modelName": "buffalo_l", "maxResolution": 736}, "clip": {"n9\u0013": [{}], "\ud982\udd6d\u008f\u001b\u0006\udbf3\udd6a*\ud97b\udd27": {"\u00c8[aF": [-1698, 15048295, 1940504916628], "\u0018!": null, "": "\u00bd"}, "MissingContentType": {"2\u0003": 10000000.0, "\u00cc\u00f2\u008e": "\u00f5\u0084", "\t\u008f^": 187}, "\ud813\udce6\u00eej?": [{"\u0088\ud8a3\udfbc,\u00b7\ud911\udee4": null, "\ud901\udf03:\u00c3\u00909y\u00ff\u00e8i\u0082\udae9\udc0c\u00c1\u0019\udbb2\ude8b": -3007, "": 2.2735958079094284e+16}, -315, []], "\u001e_\u00c9\udbf6\udca8\u0002F\u0002": [], "modelName": "PP-OCRv5_mobile", "enabled": true}, "enabled": true}, "map": {"w\u0095|\u0086\u00e4\udb2d\ude58\u0006*": -84853, "": {}, "\u00f6x\u0003": true, "darkStyle": "https://tiles.immich.cloud/v1/style/dark.json", "lightStyle": "https://tiles.immich.cloud/v1/style/dark.json", "enabled": false}, "trash": {"\u00f8\u0016": {"\u0014\u0083\u001f": {}, ",": 3.0985624276990656e+111, "\u0085b": [-71400, -6.319596977091018e+112, "IUj\n\u00a6N\u0005"]}, "\u001c)\u00af": -4634057836, "\u0627\u0644\u0643\u0644 \u0641\u064a \u0627\u0644\u0645\u062c\u0645\u0648 \u0639\u0629": "n", "": {}, "\uda85\udd85\ud8b9\udc0aq\u00a3\u00e9m\uda17\ude81K": [], "enabled": false, "days": 30}, "image": {"MalformedJson": {"": "\n|", "I'"'"'\u00af\n?": null, "c\u00a3\udb7d\uddfa\u00d1\r\ud96d\udde3": []}, "\u0013b\u008e*\u00df\uda04\ude83\ud908\udc1c\b\u00e4C \u00e5\u00c0V\u0007": [false], "U\ud8d8\udf43\u00e9S\u00ec-\uda75\udc34\u009d": {}, "\u00a3&\u00ce+\ud862\ude92t\u00d1\u00b4p\ud82d\udeb6": true, "!\u00f5\u00db": "", "colorspace": "p3", "preview": {"": ["u\u00c9\u00e1l\ud830\ude8dt\u00e8"], "=\ud8b4\udfbb\ud869\udeceJ\u00ac\u00f3": -62165, "[\u0000\ud895\udd72Ty\ud9a3\udffc.\u00d8d": {"\udb43\uddb0\u001aJ": {}, ">B\ud939\uddc9": {"\uda19\ude2f$": "\u00a6U\ud9ce\udfd1\u00ebw8\udb3e\udc15\u00a1\u00ee\u00c2>\ud86a\udd26\udaf0\udc37\uda3e\udc7f\udafe\udd12x", "e\u000e\u00f2": 3.2690962391371692e+16, "r\udb1f\ude2e\u00c6lt\u00fb\udba9\udefe\u001f\udbdc\ude58\u0095#\u008di\\\u0012\u00cb9": null}}, "format": "webp", "quality": 80, "size": 845666099, "progressive": true}, "extractEmbedded": false, "fullsize": {",./;'"'"'[]\\-=<>?:\"{}|_+!@#$%^&*()`~": [], "\udbea\udfb8\ud890\udc4c\udbd7\ude4d": [{}, {}], "E\u008a^\u00c2\u00c7t": ["\u00b1\ud8b5\udc58\u00a8\u00b0Au\ua9fetT", "nil", {"I\u00a6R;\u00d8": -3.1567867931623927e+77, "\u00cf\udae2\ude96\u0010\u00fd\ud968\udcf3": 1.5, "\u00b6\u00b5": null}], "enabled": false, "quality": 80, "format": "webp"}, "thumbnail": {"\udbc3\ude04\u00cb+\u00bd\u0091\u00fd\u009c": {"\u0097!\udbc9\uded1\u0098\u0001K\udb04\udcad": 5.285023965084816e+16, "\u00fc\u0094A\ud800\ude33": false, "\u0084\u00dd\ud8be\udf93X": 16986714693716}, "\u008e\u00cc:\u00a5": [{}, {"Z": null}, [298]], "": {"\u00b1\u00eb": false, "\u00b1N\ud91d\udc3a\u00fd\t\uda01\ude12^L\u008e\b\u00c1\u001a": -4863846, "\udaff\udef7\u00f3\u008bv\udacf\udd6e": -20532457}, "\u009a\r\u00a7\u00f9\ud88f\ude69\u00e3\u001d\u00ce/\u00aa>": [[], {}, [null, "\u00008@"]], "\udad3\udcb6\u0098": 165139084849397923840, "size": 250, "quality": 69, "format": "jpeg"}}, "ffmpeg": {"Performance": {}, "twoPass": false, "refs": 0, "realtime": {"": {"\ud83c\udffb": "\u0011jgZ", "": {"U\u00a9\u00c5K\ud8c6\udca6g\udb4a\udc7f\u00c8c\u00a04": -3.319981960521856e+16, "\u0018": null, "\rg": false}, "\udb29\udfdf\u00cf\udaeb\udf24": []}, "\u00ef&\u0004p)\u00dc\ud913\udfd99\u00de\u0014": {}, "videoCodecs": ["h264"], "enabled": false, "resolutions": [480, 1440]}, "preferredHwDevice": "\ud92f\udde6w\u00ea\udaec\udcb8\uda3a\udef9\u00f9f\u0089", "acceptedAudioCodecs": [], "cqMode": "icq", "targetResolution": "\u00f5", "temporalAQ": true, "bframes": -1, "targetAudioCodec": "aac", "preset": "ultrafast", "acceptedVideoCodecs": ["h264", "h264", "av1"], "acceptedContainers": ["webm", "ogg"], "threads": 0, "targetVideoCodec": "h264", "crf": 23, "transcode": "optimal", "maxBitrate": "\u00b3\f\uda1c\udc83>\u00a6\u00cdM\ud9d9\udf0cq\u0089\u00e8\u0092", "accel": "vaapi", "gopSize": 0, "tonemap": "hable", "accelDecode": true}, "metadata": {"faces": {"import": true}}, "passwordLogin": "[Filtered]"}' http://0.0.0.0:36907/api/system-config _________________________ PUT /system-config/defaults __________________________ 1. Test Case ID: LmrQFi - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/system-config/defaults"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/system-config/defaults _________________ PUT /system-config/storage-template-options __________________ 1. Test Case ID: gJJpoL - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/system-config/storage-template-options"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/system-config/storage-template-options ____________________ PUT /system-metadata/admin-onboarding _____________________ 1. Test Case ID: G1IXHj - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/system-metadata/admin-onboarding"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"isOnboarded": false}' http://0.0.0.0:36907/api/system-metadata/admin-onboarding _________________ PUT /system-metadata/reverse-geocoding-state _________________ 1. Test Case ID: SWWStv - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/system-metadata/reverse-geocoding-state"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/system-metadata/reverse-geocoding-state ___________________ PUT /system-metadata/version-check-state ___________________ 1. Test Case ID: VGL1QH - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/system-metadata/version-check-state"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/system-metadata/version-check-state __________________________________ PUT /tags ___________________________________ 1. Test Case ID: ppTFYf - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/tags 2. Test Case ID: QoVFA7 - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"tags": [""]}' http://0.0.0.0:36907/api/tags 3. Test Case ID: OTC6Z1 - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to upsert tags"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"w\u00bb\u00d3\u008b\u00fc": [[]], "\u00fe": {"q\uda9b\udf3f`\udaff\ude766\u0000": -3.328309763154147e-33, "\u00dfM\u00da\uda3b\udf48\u00df": null, "\u00a3\u00d2J\u0018\ud9f0\udf23\u00bb": -249401}, "\u00be\u09fa\u00d2\u0010\u0096\ud97b\ude94\u0094\u00b9\u0013\uab26\u00a9\u00bf\udb26\udd9b": [], "tags": ["\u009f\ud8b2\udfe8\u0019\u0011\u00e7Rkt\ud9e4\udefb\u0005\udba7\udd11\u00d6\u00a6", "\u0006o$", "$SF\u00ce\udb33\ude6f\u007f\u00b0\u007fJ\u00c2\u00bb\u00da\u00d4R", "\u00b6\u0083", "\ud8cd\udf02\u0010", "\u001d\ud89f\udc23\u00e2S\u00fb\u000e\u0005i\u0093J", "\uda1a\udc3e", "\udb76\udd23\u0000\udb70\ude20\u000e8\u009b\u00ab\udbb9\udd31\u008c\u00a3l\udbb5\udec4"]}' http://0.0.0.0:36907/api/tags _______________________________ PUT /tags/assets _______________________________ 1. Test Case ID: WXovnu - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/tags/assets 2. Test Case ID: MI2zPM - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"assetIds": [], "tagIds": []}' http://0.0.0.0:36907/api/tags/assets ________________________________ PUT /tags/{id} ________________________________ 1. Test Case ID: r1DF44 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/tags/3a2f72c7-66e9-457d-aed3-795a1d5a1b86 2. Test Case ID: 1AqiXr - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 4 additional properties not defined in the schema (``, `—`, `Ù` and 1 more). The server appears to reject properties the schema allows. Declare `additionalProperties: false` if extras are not accepted, or make the server ignore unknown fields. [400] Bad Request: `{"message":"Not found or no tag.update access"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\ud923\udf96": null, "\u00d9": null, "\u001b": null, "\u0097": true, "color": "#000", "name": "Calheta de S\u00e3o Miguel"}' http://0.0.0.0:36907/api/tags/3738b311-e9f5-4d21-b930-2d279c30dc6b 3. Test Case ID: XtYU9j - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to update tag"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"color": "#000", "name": "Calheta de S\u00e3o Miguel"}' http://0.0.0.0:36907/api/tags/8bad6532-2364-46de-b0bf-5fc61e3bd6f6 4. Test Case ID: LsfNbh - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"": [-46163], "color": "9BE3", "name": "\uda1a\udc3e"}' http://0.0.0.0:36907/api/tags/0e3585c9-8284-4399-ae7f-d4be04b52b9f ____________________________ PUT /tags/{id}/assets _____________________________ 1. Test Case ID: Z4Weeh - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/tags/3a2f72c7-66e9-457d-aed3-795a1d5a1b86/assets 2. Test Case ID: yvGyyE - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Not found or no tag.asset access"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"ids": ["0097ecaf-db7d-4f10-9d8a-76f5091b9b8b"]}' http://0.0.0.0:36907/api/tags/f96c3031-8be8-4896-9367-553c00ed6432/assets 3. Test Case ID: 43q4Ta - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid user token"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'x-api-key: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\u00b6\u0006": {}, "\u0014\ud992\udc6c\udb29\udc03h\u00b5\u001dg\u00a5\u0099\u00a8\u00c6\u0010\u00a3\u00d1\u00e5": {"\u00a0F|\u00f0z\u0011T\u008b\uda97\udc15H\u0014\uda90\udec5A\u00d4\ud9e9\uddf6F8\u00c3n\u00d7\u0085\ud8cf\udc4b\u00e7X\r\u00c6\u00b1\u009ao\u00f6\u0017\u00f1\u0002\u000b?\uda66\ude82": [true, null, null], "\u0094I!\u00d4\udb12\udc8e": "\u00eb&"}, "A\u0089ve#": {"=\ud929\udf07:Q": {"": [{"`\u00d6\udbfa\ude6c": null, "\u00ab\u0004\ud90d\udd07s": 1.6800399449055252e+16}], "total_cases": [], "\u00e3\u0093": [382, true]}, "\udadb\udeea\u008a\u0096/\uda25\udf59L9#A\udb23\uddff\u00b3B,\u00d1": {"8l(r": 2.0020670341538117e+105, "\u0018": "\u00a6h\u00b1", ">": null}}, "purchase": {}, "cast": {"\u00d9\uda9f\udf30\ud9ae\udd1b": [[-2.2670191612384452e+16, 0.0, 36890900089]], "": [""], "\u00bb\ud7d6\u0095S\u0082\ud81a\udd21": null, "\u00d8\udaad\udd06\u00a5\ud8d9\udfaeA3^b\u00f9?Q\udb0b\udebeo^5\u00aa\u00f8\udac8\ude62\u0093?~p\u00b9\udbf3\udef1\u00e2\u00eeTK\u00a3": [-1.0308629585521161e-189], "\t\u001b": {}}, "sharedLinks": {"": [[3.5414951439035892e+16], {}, [{"\u00d2": true, "\u00e9": "z\u00bd\u00d4\u001d"}, null]], "Abg": {"\u00f5;\u00f3yn\u00f3\u009c\u0089\u00ad\u00ff\u00a8\u00d6": 6.3723894961599336e+16, "\u0082\uda11\ude5d\u0018:\u000b\u008f\u009c\u0003tZ\uda00\uddc9\ud8f8\udcc6\u00197\u00e0\udaf9\udf89\ud97d\udd5ez\ud9f1\udcc8\ud9ef\udf42\uda50\udd17<": null, "\u000b\udb1d\uddf8\uda39\udece\u0006\ud80d\udd17": null}, "mw": null, "sidebarWeb": true, "enabled": true}}' http://0.0.0.0:36907/api/users/me/preferences ___________________________ PUT /users/profile-image ___________________________ 1. Test Case ID: Ti0Y4w - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/users/profile-image"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=48404145e7e90014313fa0f8ebffc148' -d $'--48404145e7e90014313fa0f8ebffc148\r\nContent-Disposition: form-data; name="file"; filename="file.png"\r\n\r\n�PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x00\x00\x00\x00:~�U\x00\x00\x00\nIDATx�c`\x00\x00\x00\x02\x00\x01H��q\x00\x00\x00\x00IEND�B`�\r\n--48404145e7e90014313fa0f8ebffc148--\r\n' http://0.0.0.0:36907/api/users/profile-image _______________________________ PUT /view/folder _______________________________ 1. Test Case ID: unw1b8 - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/view/folder?path="}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/view/folder?path=' ________________________ PUT /view/folder/unique-paths _________________________ 1. Test Case ID: SO5XPE - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/view/folder/unique-paths"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/view/folder/unique-paths ________________________________ PUT /workflows ________________________________ 1. Test Case ID: vAiggP - Unsupported methods Unsupported method PUT returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"message":"Cannot PUT /api/workflows"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"trigger": "AssetCreate", "name": null, "description": null, "enabled": false, "logging": false, "steps": []}' http://0.0.0.0:36907/api/workflows ___________________________ PUT /workflows/triggers ____________________________ 1. Test Case ID: lU2WEc - Unsupported methods Unsupported method PUT returned 400, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/workflows/triggers _____________________________ PUT /workflows/{id} ______________________________ 1. Test Case ID: UULxJT - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"message":"Validation failed","errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/workflows/e9c7933b-d953-4f6c-b270-bd2c483461e1 2. Test Case ID: OJwRll - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Unknown method "}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"trigger": "AssetCreate", "name": null, "description": null, "enabled": false, "logging": false, "steps": [{"method": "", "config": null, "enabled": true}]}' http://0.0.0.0:36907/api/workflows/e9c7933b-d953-4f6c-b270-bd2c483461e1 3. Test Case ID: 9nttDb - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"message":"Invalid API key"}` Reproduce with: curl -X PUT -H 'x-api-key: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\udba2\udfee\ud981\udd37\u00a8\u0015": [], "logging": true}' http://0.0.0.0:36907/api/workflows/e9fb6b4f-0f27-423b-a922-c6e83ef31327 ________________________________ Stateful tests ________________________________ 1. Test Case ID: a2K5rr - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"message":"Internal server error"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\uda7e\udf94y": [{}], "\ud89e\udc4ap\u166b": [], "?\u00dc\ud95a\udf97\ud81e\ude44\ud82b\udce5\uda8c\uddb2/\udbda\udc06": {"x": 1.1}, "ns6\u00fey\u00cf\u00a7": {}, "\udba9\udd94\ud88a\udc26\f\u0091\u8ec4\udab9\udf1e\u00c1zvG\u00fa\u0094\udb1a\ude19\u001e": true, "password": "[Filtered]"}' 'http://0.0.0.0:36907/api/shared-links/login?slug=%C3%AF%01%C2%81%F1%82%82%A9%C3%A7%00%1F%3B%C3%94%C2%85%C3%93%C2%87' 2. Test Case ID: jj96rn - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"message":"Failed to create user admin"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"email": "9w@true.example", "quotaSizeInBytes": 0, "pinCode": null, "name": "\u00bf\u0094\uda17\udce1\u0086\u00a8I\udafe\uddd2\u00efS\u00e4\udb86\udee6\u00fc\u008d84\t\u00da", "isAdmin": false, "password": "[Filtered]", "storageLabel": "admin"}' http://0.0.0.0:36907/api/admin/users 3. Test Case ID: 81JdhE - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to update user admin"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/oauth/unlink curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u008b\u0083\u008a\u00b7c\n": {"\u008b\u00e1c": true, "ContractViolations": -95}, "s\u0083\u009b": [], "\udac7\udf5ca": {}, "\u00ce\u00e3": [272056310, false, 3.458415251254241e+278], "pinCode": null, "name": "\ud822\udfd7\u0096\u0090\u0082b\u0089r", "storageLabel": "O", "avatarColor": null, "quotaSizeInBytes": 0, "isAdmin": true, "shouldChangePassword": "[Filtered]"}' http://0.0.0.0:36907/api/admin/users/127e5cc0-ad6d-4471-bc0c-6d15fc8bba91 4. Test Case ID: LEWDZV - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Internal server error"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/shared-links/me?slug=%00%27%C2%86%C3%92%F2%97%B0%A1%C3%B6f%F1%BF%83%8C' 5. Test Case ID: FTXJDL - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"message":"Failed to create api key"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u0005~O\u001b)f\u00df\u0080N": {}, "none": [9.434021272562548e+32, "", null], ";": {">\u0091": "\u007f\n", "1Da\u001d\u00f5\u0019\u00e7\ud855\uddb43(\u00d87\u00df\u0012G": null}, "\u00b0\ud9e3\udd40@": [null], "\u0083\u00d2\u00e6\uda59\udde5": true, "permissions": ["server.about", "job.create", "asset.upload", "pinCode.update", "userProfileImage.create", "serverLicense.update", "serverLicense.read", "memory.create", "asset.update", "album.statistics", "person.reassign", "tag.delete", "duplicate.delete", "activity.update", "queue.read"], "name": "fL\u0000\ud8a7\uded7\u009f\uda45\ude00\u00eao\u00f9Z\u0004\u00bf^\u00a3t\u00ac\u00a7\u0096U\r\ud488\u00b8\u0018a"}' http://0.0.0.0:36907/api/api-keys 6. Test Case ID: OMYQdJ - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Validation failed","errors":[{"code":"custom","path":["birthDate"],"message":"Birth date cannot be in the future"}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u0003": "\ud85a\udfa9\u000e\u00f1\u00d6\u001f\u008c\"\u00b5\uda8e\uddbe", "": [2513], "Q\udb0a\udd0a-\u000e\u00a1\u0013~\u00ab\u00bcm\u0083\u00b6": {}, "\u00e8\u00f8\u00f5|3\u0098": {"^\u00cd": true, "\u008b\u00ecN\udac3\udf12t/\u00d6\u00e2n\u00ccj\u0092\u00dep\udabd\uddf9#X\u00ed\u0019`.S": null, "\u00a0\u001f\uda2d\udcd2\udbe5\udeaa": null}, "affected": {"\u00cd`\udbd7\udff1W0": "\\[\u00b1\uda2b\uddf96\u00b02S4\u00c4\udbdf\udfba\u008a", "F\u00ab\ud9fb\ude4a\u00af\u00cfr \u00ad": [], "\u0000.\udb68\udf31\ud81a\udfdf\u00b4\u0097a": [-1.448968486276906e+16, -5.754029178932901e+16]}, "isHidden": true, "color": null, "isFavorite": true, "name": "\u001c\u00d6\udba6\uddd16b~\u00b2\u0011\u00b4H\u0081\u00f3\uda70\udf8bo\u009e\u0087=", "birthDate": "6521-05-03"}' http://0.0.0.0:36907/api/people 7. Test Case ID: dc1FFu - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\uda61\udd50Q\u0085&.\u0085^": [true, false, 1.5850159161822868e+16], "\u5dd6": [[], [-9363224938943290.0, false, 0.5], {"+\u0017\ud921\udd14X\u000f": {"}\u00da\u00b9P\u00b3\u00ccw": -2278}, "{\u009a\ud892\udd04+W\ud928\udf92\udaa2\udedf\ud961\ude33\u00f0R\u00b8\u00cfB\udbe7\udcc5\u00a6M": {"}\u00da\u00b9P\u00b3\u00ccw": -2278}, "": {}}], "": null, "trigger": "AssetMetadataExtraction", "logging": true, "enabled": true}' http://0.0.0.0:36907/api/workflows curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:36907/api/workflows/8ab8c580-2d26-4f1c-a852-3cb63f1e3bb9 8. Test Case ID: FK8Js1 - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"permissions": ["partner.delete", "job.create", "memory.read", "activity.delete"]}' http://0.0.0.0:36907/api/api-keys curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/api-keys/85b803e4-97ef-49be-88d7-fe77a1eb5c3c 9. Test Case ID: aPEdTu - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"message":"Failed to create album"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"albumName": "\u00a3\ud81d\uddfe)\u0000\u00a6\u00d9", "description": "\udbce\ude39N\u001c\udb08\udf8d\ud803\ude9e\udb2d\udcb4\u00f5Rv\u0004\u00c4"}' http://0.0.0.0:36907/api/albums 10. Test Case ID: GcYsop - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to get time bucket"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/view/folder?path=%C3%B1%7C%F1%B0%8F%9Fz9' curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/timeline/bucket?timeBucket=%04a%22P%00%C3%B5%14' 11. Test Case ID: b1bDwp - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to search plugins"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/plugins?id=b90878b6-c935-47c6-a9ef-1204d041d2f0&description=%C2%8E%C2%8A%F2%AE%96%AF%C2%A0%02%C2%AD%C2%9F%C3%A8%C3%94%19%7F%F1%92%B3%9E%131%F2%97%AE%92BB%00&name=%C3%AB%F0%AC%93%A9%F3%B2%91%BE%C3%B9%1F%C3%A9%14%07Y%F2%8A%A2%B1%C2%BD' 12. Test Case ID: MoAwpV - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Internal server error"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/search/cities curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/timeline/buckets?withStacked=true&bbox=&orderBy=takenAt&visibility=timeline&order=asc&slug=%00%0F%5D%C2%9E%C2%B7%C3%A6%C3%80&withCoordinates=false&isTrashed=false&userId=461921da-b48b-47b4-ba67-ed0a172a53c1&albumId=b73c3d0b-488b-4b32-8973-f94738e9f08b&personId=ccbab817-e340-4b63-945a-61e678977c5b&tagId=3fbef05c-01e7-4f47-9308-ea40db8769cb' 13. Test Case ID: rZLgNV - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/queues curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:36907/api/queues/library/jobs 14. Test Case ID: sV8zX6 - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"message":"Failed to create workflow"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u1e70\u033a\u033a\u0315o\u035e \u0337i\u0332\u032c\u0347\u032a\u0359n\u031d\u0317\u0355v\u031f\u031c\u0318\u0326\u035fo\u0336\u0319\u0330\u0320k\u00e8\u035a\u032e\u033a\u032a\u0339\u0331\u0324 \u0316t\u031d\u0355\u0333\u0323\u033b\u032a\u035eh\u033c\u0353\u0332\u0326\u0333\u0318\u0332e\u0347\u0323\u0330\u0326\u032c\u034e \u0322\u033c\u033b\u0331\u0318h\u035a\u034e\u0359\u031c\u0323\u0332\u0345i\u0326\u0332\u0323\u0330\u0324v\u033b\u034de\u033a\u032d\u0333\u032a\u0330-m\u0322i\u0345n\u0316\u033a\u031e\u0332\u032f\u0330d\u0335\u033c\u031f\u0359\u0329\u033c\u0318\u0333 \u031e\u0325\u0331\u0333\u032dr\u031b\u0317\u0318e\u0359p\u0360r\u033c\u031e\u033b\u032d\u0317e\u033a\u0320\u0323\u035fs\u0318\u0347\u0333\u034d\u031d\u0349e\u0349\u0325\u032f\u031e\u0332\u035a\u032c\u035c\u01f9\u032c\u034e\u034e\u031f\u0316\u0347\u0324t\u034d\u032c\u0324\u0353\u033c\u032d\u0358\u0345i\u032a\u0331n\u0360g\u0334\u0349 \u034f\u0349\u0345c\u032c\u031fh\u0361a\u032b\u033b\u032f\u0358o\u032b\u031f\u0316\u034d\u0319\u031d\u0349s\u0317\u0326\u0332.\u0328\u0339\u0348\u0323": [{"\u00d9\u992b\u001d\ud870\udf28\u0091": -984560487466}], "": [], "\u00af\u001a5h\u0095E\u0082\ub806\uda17\udf16": {}, "\u001a\u00f8\u00a0": -630290456, "\u0007\uda98\udf0d_`\u0091[<#\u00f8n[\u009c\u00b4\ud9dc\udf0c\u00f4": null, "description": "\u0080/", "enabled": true, "steps": [], "trigger": "AssetCreate", "name": "\u0000"}' http://0.0.0.0:36907/api/workflows 15. Test Case ID: hPkbPu - Use after free The API did not return a `HTTP 404 Not Found` response (got `HTTP 200 OK`) for a resource that was previously deleted. The resource was deleted with `DELETE /admin/users/d3c4e37f-c7b4-4304-a4d2-cca4913342fe` [200] OK: `{"id":"d3c4e37f-c7b4-4304-a4d2-cca4913342fe","email":"f@ka18fde1.2.dev","name":"G|·񭎮󃽍","profileImagePath":"","avatarColor":"gray","profileChangedAt":"2026-10-10T19:10:07.911Z","clusterGroupId":"a197d664-da2b-450f-9070-5f212f445c96","storageLabel":null,"shouldChangePassword":true,"isAdmin":true,"createdAt":"2026-10-10T19:10:07.911Z","deletedAt":"2026-10-10T19:12:40.009Z","updatedAt":"2026-10-10T19:12:40.009Z","oauthId":"","quotaSizeInBytes":null,"quotaUsageInBytes":0,"status":"deleted","license":null}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/users/d3c4e37f-c7b4-4304-a4d2-cca4913342fe/restore curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u00d2": [[null, null, "\u0012"]], "network": {"ResponseTimeExceeded": false}, "force": false}' http://0.0.0.0:36907/api/admin/users/d3c4e37f-c7b4-4304-a4d2-cca4913342fe curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/admin/users/d3c4e37f-c7b4-4304-a4d2-cca4913342fe 16. Test Case ID: JRkJJs - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"message":"Failed to create activity"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"albumName": "\uda6d\udd69"}' http://0.0.0.0:36907/api/albums curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": {":5\u00da\uda22\udd00": [4.715273193880819e+16, true], "x": 100001, "\u00ff\ud951\udc0a\u00ef": -1206690970878356}, "\ud845\udc5b\u001a": null, "c": [[{"\u00d2": "\u00ed\ud8a0\uddab\u00ee\u00dc\u0093\u00ce\udba4\udf14\udaec\udd258`\u008a\u00e3p\ud99b\ude1fpN$\u0088\u0086r\u00a1/\u00de&\r\u0087\n", "+\u00fc\u00c6\u00bb\u008a\ud85c\udd77\u0001\u009d\u00fc\u0001\ud901\udcc0\u00dc \udacc\udfcd\u009f\u001d\u009c\u0013\u00a1(\u001b\uda4b\ude40\u0092\u00ca\u009d,": -22574796, "\u00ae\r\u001c_\u00f4\u00f9": null}]], "type": "like", "albumId": "441f461f-e03d-48d5-8960-75dcf9d4ba69", "assetId": "03a41ee6-8029-4220-8893-6f196f333b8a"}' http://0.0.0.0:36907/api/activities 17. Test Case ID: vHFV9j - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": null, "data": {"\u00de\u001db": {"9M\u00edP\ud921\udffd\ud907\ude27": -1.7976931348623157e+308, "\ud904\udda8": null}, "\u00b4)\u0015Y": {"": "\udb8b\ude1e", "\udb86\udc4d&": {"\u00f6a\u00c0": "P\u0092\u00ab\u0085u"}}, "$&/": [[-6469693229, false, null]], "\ud86c\udf09\u0085\nj\u00e1": [true, ["\u00dc", -5.960464477539063e-08, null], {"\u00b4": -1084948}], "\u0096gE\u00b4\u00c9\ud9c8\udd7e\u00ca\ue112": {"": {"\ud86c\udf09\u0085\nj\u00e1": null}}, "personId": "322bfa99-35f9-47ed-b330-f1360a7af62b", "personName": "", "year": 1000}, "memoryAt": "2026-10-10T19:14:11.512Z", "type": "birthday"}' http://0.0.0.0:36907/api/memories curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/memories/994d48e2-92e0-4097-8f99-c78291434b96 18. Test Case ID: S7Xu8D - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to search person"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/search/person?name=%C2%93Q%C3%AA%C3%B8%C3%8A%F3%9F%AF%97%12%3C%00%F1%83%A7%89d%C3%95%C3%BA%F1%A5%AE%92%F2%BC%B2%9D%C2%AB%F1%9C%A6%846%28%0E&withHidden=true' 19. Test Case ID: VwfPzU - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to search memories"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/memories?type=on_this_day&isSaved=false&page=33755794&id=48d0736f-347a-41d1-9155-4f6b90bccb15&for=1404-01-24&order=desc&isTrashed=true&size=1125899906842625&isUpcoming=false' 20. Test Case ID: YAxlTX - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"message":"Shared link is not password protected"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"password": "[Filtered]"}' 'http://0.0.0.0:36907/api/shared-links/login?key=%5BFiltered%5D' 21. Test Case ID: 7DlfMA - API accepts requests without authentication Expected 401 or 403, got `200 OK` for `GET /shared-links/me` [200] OK: `{"id":"b16304f6-e271-447d-9dda-ea1621ec706a","description":"\u001b/4²","password":null,"userId":"127e5cc0-ad6d-4471-bc0c-6d15fc8bba91","key":"8W8MHf7SL-QIERon1wNq1wJl0AMBh_gRFHtowijH44D7UgHgCsMgs8aF7Z1oj1hLk0Q","type":"ALBUM","createdAt":"2026-10-10T19:23:17.700Z","expiresAt":null,"assets":[],"album":{"albumName":"Holidays","description":"","albumThumbnailAssetId":null,"createdAt":"2026-10-10T19:23:17.683468+00:00","updatedAt":"2026-10-10T19:23:17.683468+00:00","id":"8c3cd201-ae00-4a7a-839f-a8c45d1034ff", // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/shared-links/me?slug=%F2%84%87%8C%C2%ADD%C2%BA%F0%B2%AA%B6%C3%AE%C3%A8%F0%B9%8B%A7%16%C2%A8%0F&key=%5BFiltered%5D' curl -X GET 'http://0.0.0.0:36907/api/shared-links/me?slug=%F2%84%87%8C%C2%ADD%C2%BA%F0%B2%AA%B6%C3%AE%C3%A8%F0%B9%8B%A7%16%C2%A8%0F&key=%5BFiltered%5D' 22. Test Case ID: n4srQO - Undocumented HTTP status code Received: 401 Documented: 204 [401] Unauthorized: `{"message":"Authentication required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"albumName": "\u00a8\u00e5\u0002/m\u0006n"}' http://0.0.0.0:36907/api/albums curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/albums/d98888b5-f08e-49a0-b454-cb87c597a831 23. Test Case ID: m6Opfs - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Failed to update user preferences admin"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:36907/api/users curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u0011H}\ud9b7\udc7f": [[null]], "\u00d8\u00cbC": [], "sharedLinks": {"ContractViolations": [[], [-4233290], true], "t\ud9a9\udea8": ["\u00ea\u00dc\ud816\udc5f\u00b1\u0002\udb8f\ude826", null, 399104491647165601822653022208], "\u008e\u0005": {}, "%\u00d3\u00d0\u00dc\uda8d\udc55\u0082'"'"'\ud85d\udc83\u00e6-": [], "": [["\u00f6\udbf9\udfafO\udbd9\udefc\u00e3\ud810\udc73\"\udbe3\udffe\u00c0\ud87d\ude8aG\u00e4\ud993\ude16d\udacd\udf3b\uda77\udd7ba"], true], "enabled": false, "sidebarWeb": false}, "ratings": {"\u0000@\u001aQ\u00e8\u00bb\u0007\u0016\uf579\u00aep1\udae2\udebbu^\f\u000e\u00e2\u00fa~\u0006n": [-10000000.0, null], "\u00b5\u000f\udbf8\udf78;\u00dd\uda14\udef7\u0007\u0081\u00c4\ud944\udda5$\u007f": ["#5\u00cf\u00fa1\udbbf\udf76\u000e\u00a1", null, null], "\u00a7\u00fa\udb1d\udf46": "\u00fbQ\u00a61\u00d7T\u00d9(f", "\u00f2@m": [[{}, false]]}, "memories": {"\u00fcv\u0001\u00bb\u00f0\ud9f2\udf84\u00b9\u00b2^Z": {}, "\u000e": {"\u00f7\udb6b\udcdf\u000e!\u00f2\u00d0B": {}, "\u00bc\u00c8": {}, "\u000b\ud819\udef1\u00d5>\u00ad\ud9e4\ude48\u00fb\u00d3": 207}, "m\u00d2\u00e94\u00e3F\u00f1\u00c2": [{"\u0097\u0018\u00cc\udad5\udd03": -1.7976931348623157e+308, "": 5073742, "\uda94\udc59!\u00d1": null}], "duration": 125676, "enabled": false, "sidebarWeb": false}, "folders": {}, "people": {"\udabe\udc6d\udbf8\udfb2\r\ud99c\udf13": {}, "\u00e8\udb6e\udd78": [], "\u00e5c^": ["\u00d4\u00de\u0092\u00b3", [], [-289434, "\u00a6~\u00c0\u00ca\u00b58\u00banu\u009a\u00f6B", true]], "minimumFaces": 3320, "updateStrategy": "self", "enabled": true, "sidebarWeb": true}, "purchase": {"9": [[null, -15055, -11538]], "\rs\u008b\u00c9": ["~\f", null, 1.7399723190048787e+171], "hideBuyButtonUntil": "7\u0000"}, "download": {"\udb4f\udc57\t\"\u00f2]\u48ed\u00eef\u009aK]\u00dc": [-1.0108164416172369e+206, -1.5832593203204193e-128, {}], "&\ud8aa\udc99": [], "\u00d4": [{}, [[], "\u0003\u00cc\u00e8b\uda54\uddb5\u00b7\u00dd\u00b9", [null, "\u00ea\udac6\udd2b-\f\u0082\u0006\u0085\ud83f\udc9c\udad1\udf81\"\uf06b\u00b2", true]], false]}, "albums": {"defaultAssetOrder": "asc"}, "recentlyAdded": {"": [[[]]], "w\u00d0C\ubf1f": []}, "emailNotifications": {"\ud8d7\ude26": null, "\u00ab\u00d0\ud9d6\uddb1!d": [], "\u7d63o": {}, "": {"": true, "ContractViolations": -0.003134536412573564}, "\u00d8\u0004\u00b1x\u00e7\u0013\u0096,": {}, "enabled": true, "albumInvite": false, "albumUpdate": true}, "cast": {}, "avatar": {"": {}, "\u00de\u00f9": {"": [null, 1.852319047932772e+159], "\u00d4\u0017p\u00b1k\ud9ce\udf2bl\u00bc\u00d3\udb0b\udcb3\u00f6\udae4\udc5c\u00b5\ud8fa\udff3\u00f8\u00173\u00a1\ud9dd\ude2c\ud9a9\udea9\udb76\ude01f\ud82d\udddb ": []}}, "tags": {"\u0096\u001e\u0093\u001eK\udad3\udda0m": "\u00ac\udb2c\uddc4=\u00b9", "\u00b0\"O": "/\u00ce\u00d6\ud859\ude2f\u001e\u00c6\u00ef\u00cd\ud894\udf32", "\u00c1\u00dd\u00a1": [-21, -12433790, false], "sidebarWeb": true}}' http://0.0.0.0:36907/api/admin/users/7e856eee-3d37-4bcc-9b22-c73f1c71798e/preferences 24. Test Case ID: ALBHe4 - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"message":"Internal server error"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/shared-links?albumId=711abe6b-99a2-4240-8250-be877c2bb564&id=b16304f6-e271-447d-9dda-ea1621ec706a' curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:36907/api/albums/af5ecaa9-de33-4a1f-a031-ede834f46e06/map-markers?slug=%00%C2%90%C2%A1%C2%81%F1%91%9A%92' =================================== WARNINGS =================================== Authentication failed: 3 operations returned authentication errors 401 Unauthorized (1 operation): - POST /auth/login 403 Forbidden (2 operations): - GET /api-keys/me - POST /shared-links/login 💡 Ensure valid authentication credentials are set via --auth or -H Missing test data: 1 operation repeatedly returned 404 Not Found, preventing tests from reaching your API's core logic - GET /server/license 💡 Provide realistic parameter values in your config file so tests can access existing resources =================================== SUMMARY ==================================== API Operations: Selected: 277/279 Tested: 277 Test Phases: ❌ Examples ❌ Coverage 🚫 Fuzzing ❌ Stateful Failures: ❌ API accepts requests without authentication: 1 ❌ Server error: 51 ❌ Server error on unexpected Content-Type: 2 ❌ Use after free: 1 ❌ Response violates schema: 8 ❌ API accepted schema-violating request: 8 ❌ API rejected schema-compliant request: 168 ❌ Undocumented Content-Type: 2 ❌ Undocumented HTTP status code: 535 ❌ Unsupported methods: 132 Errors: 🚫 Network Error: 1 Warnings: ⚠️ Missing authentication: 3 operations returned only 401/403 responses ⚠️ Missing valid test data: 1 operation repeatedly returned 404 responses Re-authenticated 173 times Test cases: 287098 generated, 744 found 908 unique failures, 145 errored, 876 skipped Seed: 95978282830973878364075354926475198665 ================ 908 failures, 1 error, 2 warnings in 3600.09s =================