Schemathesis v4.29.4 ━━━━━━━━━━━━━━━━━━━━ ✅ Loaded specification from http://0.0.0.0:32895/openapi.json (in 0.13s) Base URL: http://0.0.0.0:32895 Specification: Open API 3.1.0 Operations: 238 selected / 247 total Configuration: /home/stranger6667/data/programming/workbench/target s/mealie/schemathesis.toml Dictionaries: 2 dictionaries / 2 entries ✅ API capabilities: Supports NULL byte in headers: ✘ Accepts backslash and control characters in URL paths: ✓ ❌ Examples (in 0.92s) ❌ 2 failed ⏭ 236 skipped ❌ Coverage (in 93.63s) ❌ 238 failed 🚫 Fuzzing (in 2753.03s) 🚫 238 errors 🚫 Stateful (in 732.97s) Scenarios: 6258 API Links: 560 covered / 2006 selected / 2006 total ✅ 5848 passed ❌ 410 failed ==================================== ERRORS ==================================== ____________________ DELETE /api/admin/backups/{file_name} _____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ DELETE /api/admin/groups/{item_id} ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________ DELETE /api/admin/households/{item_id} ____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ DELETE /api/comments/{item_id} ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ DELETE /api/foods/{item_id} __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ DELETE /api/groups/labels/{item_id} ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ DELETE /api/groups/reports/{item_id} _____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________ DELETE /api/households/cookbooks/{item_id} __________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________ DELETE /api/households/events/notifications/{item_id} _____________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________ DELETE /api/households/mealplans/rules/{item_id} _______________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________ DELETE /api/households/mealplans/{item_id} __________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________ DELETE /api/households/recipe-actions/{item_id} ________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________ DELETE /api/households/shopping/items _____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________ DELETE /api/households/shopping/items/{item_id} ________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________ DELETE /api/households/shopping/lists/{item_id} ________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________ DELETE /api/households/webhooks/{item_id} ___________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________ DELETE /api/organizers/categories/{item_id} __________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________ DELETE /api/organizers/tags/{item_id} _____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________ DELETE /api/organizers/tools/{item_id} ____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________ DELETE /api/recipes/bulk-actions/export/purge _________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________ DELETE /api/recipes/timeline/events/{item_id} _________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________________ DELETE /api/recipes/{slug} __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ DELETE /api/shared/recipes/{item_id} _____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ DELETE /api/units/{item_id} __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________ DELETE /api/users/api-tokens/{token_id} ____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________ DELETE /api/users/{id}/favorites/{slug} ____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________________ GET /api/admin/about _____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________________ GET /api/admin/about/check __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ GET /api/admin/about/statistics ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________________ GET /api/admin/backups ____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ GET /api/admin/backups/{file_name} ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________________ GET /api/admin/email _____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________________ GET /api/admin/groups _____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ GET /api/admin/groups/{item_id} ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________________ GET /api/admin/households ___________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ GET /api/admin/households/{item_id} ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________________ GET /api/admin/maintenance __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ GET /api/admin/maintenance/storage ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________________ GET /api/admin/users _____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ GET /api/admin/users/{item_id} ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________________ GET /api/app/about ______________________________ Network Error Read timed out after 1.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/app/about _______________________ GET /api/app/about/startup-info ________________________ Network Error Read timed out after 1.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/app/about/startup-info ___________________________ GET /api/app/about/theme ___________________________ Network Error Read timed out after 1.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/app/about/theme _____________________________ GET /api/auth/oauth ______________________________ Network Error Read timed out after 1.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/auth/oauth _________________________ GET /api/auth/oauth/callback _________________________ Network Error Read timed out after 1.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/auth/oauth/callback ____________________________ GET /api/auth/refresh _____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________________ GET /api/comments _______________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ GET /api/comments/{item_id} __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________ GET /api/explore/groups/{group_slug}/cookbooks ________________ Network Error Read timed out after 1.525284 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/explore/groups/home/cookbooks ___________ GET /api/explore/groups/{group_slug}/cookbooks/{item_id} ___________ Network Error Read timed out after 10.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/explore/groups/home/cookbooks/99f1af4c-b273-455a-bb30-2ee98501f62a __________________ GET /api/explore/groups/{group_slug}/foods __________________ Network Error Read timed out after 1.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/explore/groups/home/foods _____________ GET /api/explore/groups/{group_slug}/foods/{item_id} _____________ Network Error Read timed out after 10.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/explore/groups/home/foods/040b43d6-f764-418c-b885-4ff646fd5db9 _______________ GET /api/explore/groups/{group_slug}/households ________________ Network Error Read timed out after 1.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/explore/groups/home/households _______ GET /api/explore/groups/{group_slug}/households/{household_slug} _______ Network Error Read timed out after 10.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/explore/groups/home/households/family __________ GET /api/explore/groups/{group_slug}/organizers/categories __________ Network Error Read timed out after 1.619052 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/explore/groups/home/organizers/categories _____ GET /api/explore/groups/{group_slug}/organizers/categories/{item_id} _____ Network Error Read timed out after 10.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/explore/groups/home/organizers/categories/23ee9732-cffb-4cff-ba02-d17969f05099 _____________ GET /api/explore/groups/{group_slug}/organizers/tags _____________ Network Error Read timed out after 1.226136 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/explore/groups/home/organizers/tags ________ GET /api/explore/groups/{group_slug}/organizers/tags/{item_id} ________ Network Error Read timed out after 10.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/explore/groups/home/organizers/tags/f37e1db9-5ba8-4c0a-9564-6c7c7aa43fc0 ____________ GET /api/explore/groups/{group_slug}/organizers/tools _____________ Network Error Read timed out after 1.6418 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/explore/groups/home/organizers/tools _______ GET /api/explore/groups/{group_slug}/organizers/tools/{item_id} ________ Network Error Read timed out after 10.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/explore/groups/home/organizers/tools/b9d77fc1-87a0-4cef-964c-31358d91b248 _________________ GET /api/explore/groups/{group_slug}/recipes _________________ Network Error Read timed out after 1.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/explore/groups/home/recipes ___________ GET /api/explore/groups/{group_slug}/recipes/suggestions ___________ Network Error Read timed out after 1.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/explore/groups/home/recipes/suggestions __________ GET /api/explore/groups/{group_slug}/recipes/{recipe_slug} __________ Network Error Read timed out after 10.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/explore/groups/home/recipes/thy-2-1-1-1 ________________________________ GET /api/foods ________________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ GET /api/foods/{item_id} ___________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________________ GET /api/groups/households __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________ GET /api/groups/households/{household_slug} __________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________________ GET /api/groups/labels ____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ GET /api/groups/labels/{item_id} _______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ GET /api/groups/members ____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________ GET /api/groups/members/{username_or_id} ___________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ GET /api/groups/preferences __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ GET /api/groups/reports ____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ GET /api/groups/reports/{item_id} _______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________________ GET /api/groups/self _____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ GET /api/groups/storage ____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ GET /api/households/cookbooks _________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________ GET /api/households/cookbooks/{item_id} ____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________ GET /api/households/events/notifications ___________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________ GET /api/households/events/notifications/{item_id} ______________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ GET /api/households/invitations ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ GET /api/households/mealplans _________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ GET /api/households/mealplans/rules ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________ GET /api/households/mealplans/rules/{item_id} _________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ GET /api/households/mealplans/today ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________ GET /api/households/mealplans/{item_id} ____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ GET /api/households/members __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ GET /api/households/preferences ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ GET /api/households/recipe-actions ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________ GET /api/households/recipe-actions/{item_id} _________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ GET /api/households/self ___________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________ GET /api/households/self/recipes/{recipe_slug} ________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ GET /api/households/shopping/items ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________ GET /api/households/shopping/items/{item_id} _________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ GET /api/households/shopping/lists ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________ GET /api/households/shopping/lists/{item_id} _________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ GET /api/households/statistics ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ GET /api/households/webhooks _________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________ GET /api/households/webhooks/{item_id} ____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ GET /api/media/docker/validate.txt ______________________ Network Error Read timed out after 1.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/media/docker/validate.txt ____________ GET /api/media/recipes/{recipe_id}/assets/{file_name} _____________ Network Error Read timed out after 10.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/media/recipes/967909b4-989d-4855-acf3-215b64153d47/assets/tiny-original.webp GET /api/media/recipes/{recipe_id}/images/timeline/{timeline_event_id}/{file_name} Network Error Read timed out after 10.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/media/recipes/b8aabc46-0170-46b8-a96d-e706d2fcc49c/images/timeline/5493da54-b9bb-49b1-a64e-eae4888d2fda/original.webp ____________ GET /api/media/recipes/{recipe_id}/images/{file_name} _____________ Network Error Read timed out after 10.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/media/recipes/967909b4-989d-4855-acf3-215b64153d47/images/tiny-original.webp __________________ GET /api/media/users/{user_id}/{file_name} __________________ Network Error Read timed out after 10.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/media/users/e3e70682-c209-4cac-a29f-6fbed82c07cd/tiny-original.webp ________________________ GET /api/organizers/categories ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 20s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ GET /api/organizers/categories/empty _____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 20s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________ GET /api/organizers/categories/slug/{category_slug} ______________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________ GET /api/organizers/categories/{item_id} ___________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ GET /api/organizers/tags ___________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 20s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ GET /api/organizers/tags/empty ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 20s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________ GET /api/organizers/tags/slug/{tag_slug} ___________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ GET /api/organizers/tags/{item_id} ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________________ GET /api/organizers/tools ___________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 20s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________ GET /api/organizers/tools/slug/{tool_slug} __________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ GET /api/organizers/tools/{item_id} ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________________ GET /api/recipes _______________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 20s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ GET /api/recipes/bulk-actions/export _____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 20s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________ GET /api/recipes/bulk-actions/export/download _________________ Authentication Error Token fetch failed 3 times in a row; retrying in 20s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ GET /api/recipes/exports ___________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 20s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ GET /api/recipes/shared/{token_id} ______________________ Network Error Read timed out after 1.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/recipes/shared/e3e70682-c209-4cac-a29f-6fbed82c07cd _________________________ GET /api/recipes/suggestions _________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 10s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ GET /api/recipes/timeline/events _______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 10s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________ GET /api/recipes/timeline/events/{item_id} __________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ GET /api/recipes/{slug} ____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ GET /api/recipes/{slug}/comments _______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ GET /api/recipes/{slug}/exports ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ GET /api/recipes/{slug}/exports/zip ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ GET /api/shared/recipes ____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ GET /api/shared/recipes/{item_id} _______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________________ GET /api/units ________________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 10s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ GET /api/units/{item_id} ___________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________________ GET /api/users/self ______________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 10s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ GET /api/users/self/favorites _________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 10s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ GET /api/users/self/ratings __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 10s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________ GET /api/users/self/ratings/{recipe_id} ____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ GET /api/users/{id}/favorites _________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ GET /api/users/{id}/ratings __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ GET /api/utils/download ____________________________ Network Error Read timed out after 1.0 seconds Reproduce with: curl -X GET http://0.0.0.0:32895/api/utils/download ______________________________ PATCH /api/recipes ______________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________________ PATCH /api/recipes/{slug} ___________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ PATCH /api/recipes/{slug}/last-made ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ POST /api/admin/backups ____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ POST /api/admin/backups/upload ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ POST /api/admin/debug/openai _________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________________ POST /api/admin/email _____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________________ POST /api/admin/groups ____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________________ POST /api/admin/households __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________ POST /api/admin/maintenance/clean/images ___________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________ POST /api/admin/maintenance/clean/recipe-folders _______________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________ POST /api/admin/maintenance/clean/temp ____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________________ POST /api/admin/users _____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ POST /api/admin/users/unlock _________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________________ POST /api/comments ______________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________________ POST /api/foods ________________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ POST /api/groups/labels ____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ POST /api/groups/migrations __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ POST /api/groups/seeders/foods ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ POST /api/groups/seeders/labels ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ POST /api/groups/seeders/units ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ POST /api/households/cookbooks ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________ POST /api/households/events/notifications ___________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________ POST /api/households/events/notifications/{item_id}/test ___________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ POST /api/households/invitations _______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________ POST /api/households/invitations/email ____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ POST /api/households/mealplans ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________ POST /api/households/mealplans/random _____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ POST /api/households/mealplans/rules _____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ POST /api/households/recipe-actions ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____ POST /api/households/recipe-actions/{item_id}/trigger/{recipe_slug} ______ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ POST /api/households/shopping/items ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________ POST /api/households/shopping/items/create-bulk ________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ POST /api/households/shopping/lists ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________ POST /api/households/shopping/lists/{item_id}/recipe _____________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______ POST /api/households/shopping/lists/{item_id}/recipe/{recipe_id} _______ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___ POST /api/households/shopping/lists/{item_id}/recipe/{recipe_id}/delete ____ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ POST /api/households/webhooks _________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ POST /api/households/webhooks/rerun ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________ POST /api/households/webhooks/{item_id}/test _________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ POST /api/organizers/categories ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________________ POST /api/organizers/tags ___________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________________ POST /api/organizers/tools __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ POST /api/parser/ingredient __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ POST /api/parser/ingredients _________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________________ POST /api/recipes _______________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________ POST /api/recipes/bulk-actions/categorize ___________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________ POST /api/recipes/bulk-actions/delete _____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________ POST /api/recipes/bulk-actions/export _____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________ POST /api/recipes/bulk-actions/settings ____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ POST /api/recipes/bulk-actions/tag ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________ POST /api/recipes/create/html-or-json _____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ POST /api/recipes/create/image ________________________ Authentication Error Connection to auth endpoint failed: HTTPConnectionPool(host='0.0.0.0', port=32895): Read timed out. (read timeout=10.0) Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ POST /api/recipes/create/url _________________________ Authentication Error Connection to auth endpoint failed: HTTPConnectionPool(host='0.0.0.0', port=32895): Read timed out. (read timeout=10.0) Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ POST /api/recipes/create/url/bulk _______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ POST /api/recipes/create/zip _________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ POST /api/recipes/test-scrape-url _______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ POST /api/recipes/timeline/events _______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ POST /api/recipes/{slug}/assets ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ POST /api/recipes/{slug}/duplicate ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ POST /api/recipes/{slug}/exports _______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ POST /api/recipes/{slug}/image ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ POST /api/shared/recipes ___________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________________ POST /api/units ________________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________________ POST /api/users/api-tokens __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ POST /api/users/forgot-password ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ POST /api/users/register ___________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________ POST /api/users/{id}/favorites/{slug} _____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________________ POST /api/users/{id}/image __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ POST /api/users/{id}/ratings/{slug} ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ PUT /api/admin/groups/{item_id} ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ PUT /api/admin/households/{item_id} ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ PUT /api/comments/{item_id} __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________________ PUT /api/foods/merge _____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ PUT /api/foods/{item_id} ___________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ PUT /api/groups/labels/{item_id} _______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________________ PUT /api/groups/preferences __________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ PUT /api/households/cookbooks _________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________ PUT /api/households/cookbooks/{item_id} ____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________ PUT /api/households/events/notifications/{item_id} ______________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________ PUT /api/households/mealplans/rules/{item_id} _________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________ PUT /api/households/mealplans/{item_id} ____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ PUT /api/households/permissions ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________ PUT /api/households/preferences ________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________ PUT /api/households/recipe-actions/{item_id} _________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ PUT /api/households/shopping/items ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________ PUT /api/households/shopping/items/{item_id} _________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________________ PUT /api/households/shopping/lists/{item_id} _________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _________ PUT /api/households/shopping/lists/{item_id}/label-settings __________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ____________________ PUT /api/households/webhooks/{item_id} ____________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________ PUT /api/organizers/categories/{item_id} ___________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ______________________ PUT /api/organizers/tags/{item_id} ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________ PUT /api/organizers/tools/{item_id} ______________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________________________ PUT /api/recipes _______________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation __________________ PUT /api/recipes/timeline/events/{item_id} __________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _______________ PUT /api/recipes/timeline/events/{item_id}/image _______________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ PUT /api/recipes/{slug} ____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________ PUT /api/recipes/{slug}/image _________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation _____________________________ PUT /api/units/merge _____________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 30s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ___________________________ PUT /api/units/{item_id} ___________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation ________________________________ Stateful tests ________________________________ Authentication Error Token fetch failed 3 times in a row; retrying in 29s Common causes: - Auth endpoint returned an error response - Response format doesn't match expectations (text vs JSON) - Network or connection issues - Logic error in the authentication provider implementation Need more help? Join our Discord server: https://discord.gg/R9ASRAmHnA =================================== FAILURES =================================== ____________________ DELETE /api/admin/backups/{file_name} _____________________ 1. Test Case ID: D7jlQk - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"Bad Request"}` Reproduce with: curl -X DELETE -H 'accept-language: null,null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/backups/mealie_2026.10.07.02.04.22.zip 2. Test Case ID: Bg6XYV - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":"Bad Request"}` Reproduce with: curl -X DELETE -H 'accept-language: null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/backups/mealie_2026.10.07.02.04.22.zip ______________________ DELETE /api/admin/groups/{item_id} ______________________ 1. Test Case ID: i1PTyl - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"(sqlite3.IntegrityError) NOT NULL constraint failed: households.group_id\n[SQL: UPDATE households SET group_id=?, update_at=? WHERE households.id = ?]\n[parameters: (None, '2026-10-07 02:05:53.860877', 'bb42f629c8df4ca3b259f4db13a2b7ac')]\n(Background on this error at: https://sqlalche.me/e/20/gkpj)"}}` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/groups/a6ba0952-056a-43f8-96ec-94dce05ee1b3 2. Test Case ID: 6knvKw - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"(sqlite3.IntegrityError) NOT NULL constraint failed: households.group_id\n[SQL: UPDATE households SET group_id=?, update_at=? WHERE households.id = ?]\n[parameters: (None, '2026-10-07 02:05:53.928088', 'bb42f629c8df4ca3b259f4db13a2b7ac')]\n(Background on this error at: https://sqlalche.me/e/20/gkpj)"}}` Reproduce with: curl -X DELETE -H 'accept-language: null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/groups/a6ba0952-056a-43f8-96ec-94dce05ee1b3 3. Test Case ID: swAX1p - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/groups/605e09af-8b75-4858-8a29-5e48c382f952 ____________________ DELETE /api/admin/households/{item_id} ____________________ 1. Test Case ID: YGhAqv - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":{"message":"Cannot delete household with users","error":true,"exception":null}}` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/households/b5565c3b-eda9-4914-9c6c-7f51dc1668be 2. Test Case ID: 9LBnIi - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":{"message":"Cannot delete household with users","error":true,"exception":null}}` Reproduce with: curl -X DELETE -H 'accept-language: null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/households/b5565c3b-eda9-4914-9c6c-7f51dc1668be 3. Test Case ID: vksh4a - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/households/eb1167b3-67a9-4378-bc65-c1e582e2e662 ________________________ DELETE /api/comments/{item_id} ________________________ 1. Test Case ID: W55HMB - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/comments/4a1b64b1-1a50-4e13-b6fb-1b275adf92d5 _________________________ DELETE /api/foods/{item_id} __________________________ 1. Test Case ID: 6Rcwvf - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/foods/e3e70682-c209-4cac-a29f-6fbed82c07cd _____________________ DELETE /api/groups/labels/{item_id} ______________________ 1. Test Case ID: WzN2o1 - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X DELETE -H 'accept-language: null,null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/groups/labels/1d04af22-765d-44a7-8c47-a41c9db550fe _____________________ DELETE /api/groups/reports/{item_id} _____________________ 1. Test Case ID: PBiDLW - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `{"detail":{"message":"Failed to delete report","error":true,"exception":null}}` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/groups/reports/e3e70682-c209-4cac-a29f-6fbed82c07cd __________________ DELETE /api/households/cookbooks/{item_id} __________________ 1. Test Case ID: 3woy2G - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"(builtins.ValueError) badly formed hexadecimal UUID string\n[SQL: SELECT cookbooks.id, cookbooks.position, cookbooks.group_id, cookbooks.household_id, cookbooks.name, cookbooks.slug, cookbooks.description, cookbooks.public, cookbooks.query_filter_string, cookbooks.require_all_categories, cookbooks.require_all_tags, cookbooks.require_all_tools, cookbooks.created_at, cookbooks.update_at, households_1.id AS id_1, households_1.name AS // Output truncated...` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/cookbooks/0 2. Test Case ID: zYXuge - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"(builtins.ValueError) badly formed hexadecimal UUID string\n[SQL: SELECT cookbooks.id, cookbooks.position, cookbooks.group_id, cookbooks.household_id, cookbooks.name, cookbooks.slug, cookbooks.description, cookbooks.public, cookbooks.query_filter_string, cookbooks.require_all_categories, cookbooks.require_all_tags, cookbooks.require_all_tools, cookbooks.created_at, cookbooks.update_at, households_1.id AS id_1, households_1.name AS // Output truncated...` Reproduce with: curl -X DELETE -H 'accept-language: null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/cookbooks/0 ____________ DELETE /api/households/events/notifications/{item_id} _____________ 1. Test Case ID: bPcgZE - Undocumented HTTP status code Received: 404 Documented: 204, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/events/notifications/f0d120df-b35e-41c7-89fa-3dbc468c2591 _______________ DELETE /api/households/mealplans/rules/{item_id} _______________ 1. Test Case ID: b5QgK1 - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred.","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X DELETE -H 'accept-language: null,null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/mealplans/rules/d97c4766-c4fb-4c69-ba06-820cf4e7a714 __________________ DELETE /api/households/mealplans/{item_id} __________________ 1. Test Case ID: 1avXk9 - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/mealplans/0 2. Test Case ID: aMUvA4 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"Python int too large to convert to SQLite INTEGER"}}` Reproduce with: curl -X DELETE -H 'accept-language: null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/mealplans/136631184086259686893944832 _______________ DELETE /api/households/recipe-actions/{item_id} ________________ 1. Test Case ID: pSxZB2 - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred.","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X DELETE -H 'accept-language: null,null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/recipe-actions/9a829613-5848-4b95-b2a2-9b9793a967d4 ____________________ DELETE /api/households/shopping/items _____________________ 1. Test Case ID: 7CWFAC - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/households/shopping/items?ids=e3e70682-c209-4cac-a29f-6fbed82c07cd' _______________ DELETE /api/households/shopping/items/{item_id} ________________ 1. Test Case ID: dGKjo7 - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/shopping/items/e3e70682-c209-4cac-a29f-6fbed82c07cd _______________ DELETE /api/households/shopping/lists/{item_id} ________________ 1. Test Case ID: P8nCz9 - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X DELETE -H 'accept-language: null,null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/shopping/lists/06a2ce67-d355-4466-9d9a-f0731b9bcb06 __________________ DELETE /api/households/webhooks/{item_id} ___________________ 1. Test Case ID: 2KsILu - Response violates schema "00:00:00" is not a "time" Validated against the response schema for status code 200. Schema at /components/schemas/ReadWebhook/properties/scheduledTime: { "format": "time", "type": "string", "title": "Scheduledtime" } Value: "00:00:00" [200] OK: `{"enabled":true,"name":"","url":"","webhookType":"mealplan","scheduledTime":"00:00:00","groupId":"d5b9c48b-36c3-4b47-972f-d811103a0238","householdId":"b5565c3b-eda9-4914-9c6c-7f51dc1668be","id":"53cd2fb7-dc06-4dd5-911b-d0f681c1bb38"}` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/webhooks/53cd2fb7-dc06-4dd5-911b-d0f681c1bb38 2. Test Case ID: DT4GZE - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred.","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X DELETE -H 'accept-language: null,null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/webhooks/53cd2fb7-dc06-4dd5-911b-d0f681c1bb38 _________________ DELETE /api/organizers/categories/{item_id} __________________ 1. Test Case ID: jicXjO - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred.","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/organizers/categories/e3e70682-c209-4cac-a29f-6fbed82c07cd ____________________ DELETE /api/organizers/tags/{item_id} _____________________ 1. Test Case ID: nMXcVB - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"Bad Request"}` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/organizers/tags/e3e70682-c209-4cac-a29f-6fbed82c07cd 2. Test Case ID: gmEX1o - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":"Bad Request"}` Reproduce with: curl -X DELETE -H 'accept-language: null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/organizers/tags/e3e70682-c209-4cac-a29f-6fbed82c07cd ____________________ DELETE /api/organizers/tools/{item_id} ____________________ 1. Test Case ID: RHN25b - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred.","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X DELETE -H 'accept-language: null,null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/organizers/tools/6f40500f-a428-4d0f-ba2a-8a4ee8d6af40 _____________________________ DELETE /api/recipes ______________________________ 1. Test Case ID: MXJV88 - Unsupported methods DELETE returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X DELETE -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": ""}' http://0.0.0.0:32895/api/recipes ________________ DELETE /api/recipes/bulk-actions/export/purge _________________ 1. Test Case ID: AUiJpg - 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 `accept-language` in header - incorrect type [200] OK: `{"message":"0 exports deleted","error":false}` Reproduce with: curl -X DELETE -H 'accept-language: true' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/recipes/bulk-actions/export/purge ________________ DELETE /api/recipes/timeline/events/{item_id} _________________ 1. Test Case ID: 62PVBx - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/recipes/timeline/events/e3e70682-c209-4cac-a29f-6fbed82c07cd __________________________ DELETE /api/recipes/{slug} __________________________ 1. Test Case ID: Hkbmx8 - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"No Entry Found","error":true,"exception":null}}` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/recipes/0 _____________________ DELETE /api/shared/recipes/{item_id} _____________________ 1. Test Case ID: fqLNKk - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred.","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/shared/recipes/e3e70682-c209-4cac-a29f-6fbed82c07cd _________________________ DELETE /api/units/{item_id} __________________________ 1. Test Case ID: qJx9Qy - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X DELETE -H 'accept-language: null,null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/units/e192ba7b-ddce-4c96-b8bc-895a3d2ef19d ___________________ DELETE /api/users/api-tokens/{token_id} ____________________ 1. Test Case ID: VFLGQQ - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":"Could not locate token with id '1' in database"}` Reproduce with: curl -X DELETE -H 'accept-language: null,null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/users/api-tokens/1 ___________________ DELETE /api/users/{id}/favorites/{slug} ____________________ 1. Test Case ID: V5tZd6 - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"Not found.","error":true,"exception":null}}` Reproduce with: curl -X DELETE -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/users/e62ccfa8-19e0-4899-b130-3380c0d0e8ec/favorites/0 2. Test Case ID: B7ADUF - Undocumented HTTP status code Received: 403 Documented: 200, 422 [403] Forbidden: `{"detail":{"message":"Use the Admin API to update other users","error":true,"exception":null}}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/users/0c55786b-8a4f-45a3-9ddb-1db07e26ee62/favorites/i-acdo _____________________________ GET /api/admin/about _____________________________ 1. Test Case ID: zpX70p - 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 `accept-language` in header - incorrect type [200] OK: `{"production":true,"version":"v3.4.0","demoStatus":false,"allowSignup":true,"allowPasswordLogin":true,"defaultGroupSlug":null,"defaultHouseholdSlug":null,"enableOidc":false,"oidcRedirect":false,"oidcProviderName":"OAuth","enableOpenai":false,"enableOpenaiImageServices":false,"versionLatest":"v3.28.0","apiPort":9000,"apiDocs":true,"dbType":"sqlite","dbUrl":"sqlite:////app/data/mealie.db","defaultGroup":"Home","defaultHousehold":"Family","buildId":"6732fcd6969cca4f3289e791403c44f4576e64fe","recipeScraperVersi // Output truncated...` Reproduce with: curl -X GET -H 'accept-language: true' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/about __________________________ GET /api/admin/about/check __________________________ 1. Test Case ID: 44TXpD - 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 `accept-language` in header - incorrect type [200] OK: `{"emailReady":false,"ldapReady":false,"oidcReady":false,"enableOpenai":false,"baseUrlSet":true,"isUpToDate":false}` Reproduce with: curl -X GET -H 'accept-language: true' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/about/check _______________________ GET /api/admin/about/statistics ________________________ 1. Test Case ID: eW1Vmo - 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 `accept-language` in header - incorrect type [200] OK: `{"totalRecipes":0,"totalUsers":1,"totalHouseholds":17,"totalGroups":9,"uncategorizedRecipes":0,"untaggedRecipes":0}` Reproduce with: curl -X GET -H 'accept-language: true' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/about/statistics ____________________________ GET /api/admin/backups ____________________________ 1. Test Case ID: iqj6U4 - 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 `accept-language` in header - incorrect type [200] OK: `{"imports":[{"name":"mealie_2026.10.07.02.04.23.zip","date":"2026-10-07T02:04:23.498729Z","size":"31.37 KB"},{"name":"mealie_2026.10.07.02.04.22.zip","date":"2026-10-07T02:04:23.111390Z","size":"31.37 KB"}],"templates":[]}` Reproduce with: curl -X GET -H 'accept-language: true' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/backups ________________________ GET /api/admin/backups/upload _________________________ 1. Test Case ID: SbBbdJ - Unsupported methods Unsupported method GET returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: `{"detail":"Not Found"}` Reproduce with: curl -X GET -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=42345508c2c9cdec5a6e17517d582eec' -d $'--42345508c2c9cdec5a6e17517d582eec\r\nContent-Disposition: form-data; name="archive"; filename="archive.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--42345508c2c9cdec5a6e17517d582eec--\r\n' http://0.0.0.0:32895/api/admin/backups/upload ______________________ GET /api/admin/backups/{file_name} ______________________ 1. Test Case ID: aHAXVE - 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 `accept-language` in header - incorrect type [200] OK: `{"fileToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmaWxlIjoiL2FwcC9kYXRhL2JhY2t1cHMvbWVhbGllXzIwMjYuMTAuMDcuMDIuMDQuMjMuemlwIiwiZXhwIjoxNzkxMzQwNDk2fQ.kurP3uwu-d6cVDiKAJrjhD733SKPyplhSY7hs5_QT4w"}` Reproduce with: curl -X GET -H 'accept-language: true' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/backups/mealie_2026.10.07.02.04.23.zip 2. Test Case ID: PqN6Ep - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":"Not Found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/backups/6dfc9d25-a57e-480f-9f5d-0037a848b978.zip _________________________ GET /api/admin/debug/openai __________________________ 1. Test Case ID: mFgtDh - Unsupported methods Unsupported method GET returned 404, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [404] Not Found: ` Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • Mealie
  • ","input":"‰PNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\b\u0000\u0000\u0000\u0000:~›U\u0000\u0000\u0000\nIDATxœc`\u0000\u0000\u0000\u0002\u0000\u0001H¯¤q\u0000\u0000\u0000\u0000IEND®B`‚","ctx":{"error":{}}}]}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=180519655ca0d978ea83c14a9c0f4eaf' -d $'--180519655ca0d978ea83c14a9c0f4eaf\r\nContent-Disposition: form-data; name="image"\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--180519655ca0d978ea83c14a9c0f4eaf--\r\n' http://0.0.0.0:32895/api/admin/debug/openai 2. Test Case ID: XnJqrg - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=a222103b9b30b1f9e8be6882ecedb1d2' -d $'--a222103b9b30b1f9e8be6882ecedb1d2\r\n[]--a222103b9b30b1f9e8be6882ecedb1d2--\r\n' http://0.0.0.0:32895/api/admin/debug/openai ____________________________ POST /api/admin/email _____________________________ 1. Test Case ID: Mv19qB - 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 `accept-language` in header - incorrect type [200] OK: `{"success":false,"error":null}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"email": ""}' http://0.0.0.0:32895/api/admin/email 2. Test Case ID: qhScqt - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'s��\x077�Z' http://0.0.0.0:32895/api/admin/email ____________________________ POST /api/admin/groups ____________________________ 1. Test Case ID: tGKBSH - 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 `accept-language` in header - incorrect type [201] Created: `{"name":"0 (2)","id":"3fb3b8ee-73e9-46df-b51d-b5b4baf4a13e","slug":"0-2","categories":[],"webhooks":[],"households":[{"name":"Family","id":"79c55299-5401-4341-8cda-32325b33f222"}],"users":[],"preferences":{"privateGroup":true,"groupId":"3fb3b8ee-73e9-46df-b51d-b5b4baf4a13e","id":"c332b428-2222-4e7f-9de1-63c2583e125e"}}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "0"}' http://0.0.0.0:32895/api/admin/groups 2. Test Case ID: Zb2o1B - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "0"}' http://0.0.0.0:32895/api/admin/groups _______________________ POST /api/admin/groups/{item_id} _______________________ 1. Test Case ID: ggF6Kn - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "", "preferences": null}' http://0.0.0.0:32895/api/admin/groups/c0dc8916-2912-402b-a734-eb1f9f7b615b __________________________ POST /api/admin/households __________________________ 1. Test Case ID: 0yzKdm - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"groupId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "0"}' http://0.0.0.0:32895/api/admin/households 2. Test Case ID: 3AcHNo - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"uuid_version","loc":["body","groupId"],"msg":"UUID version 4 expected","input":"e3e70682-c209-1cac-a29f-6fbed82c07cd","ctx":{"expected_version":4}}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "0", "groupId": "e3e70682-c209-1cac-a29f-6fbed82c07cd"}' http://0.0.0.0:32895/api/admin/households 3. Test Case ID: dBbPWU - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '�' http://0.0.0.0:32895/api/admin/households _____________________ POST /api/admin/households/{item_id} _____________________ 1. Test Case ID: WDK9Bg - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"groupId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "0", "id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "preferences": null}' http://0.0.0.0:32895/api/admin/households/b5565c3b-eda9-4914-9c6c-7f51dc1668be ___________________ POST /api/admin/maintenance/clean/images ___________________ 1. Test Case ID: H4Yt0o - 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 `accept-language` in header - incorrect type [200] OK: `{"message":"0 Images cleaned","error":false}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/maintenance/clean/images _______________ POST /api/admin/maintenance/clean/recipe-folders _______________ 1. Test Case ID: EKBU0t - 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 `accept-language` in header - incorrect type [200] OK: `{"message":"0 Recipe folders removed","error":false}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/maintenance/clean/recipe-folders ____________________ POST /api/admin/maintenance/clean/temp ____________________ 1. Test Case ID: xZBq8o - 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 `accept-language` in header - incorrect type [200] OK: `{"message":"'.temp' directory cleaned","error":false}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/maintenance/clean/temp ____________________________ POST /api/admin/users _____________________________ 1. Test Case ID: 0kZA6t - Undocumented HTTP status code Received: 409 Documented: 201, 422 [409] Conflict: `{"detail":{"message":"This username is already taken"}}` Reproduce with: curl -X POST -H 'accept-language: null,null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "username": "", "fullName": "", "email": "", "authMethod": "Mealie", "admin": false, "group": null, "household": null, "advanced": false, "canInvite": false, "canManage": false, "canManageHousehold": false, "canOrganize": false, "password": ""}' http://0.0.0.0:32895/api/admin/users 2. Test Case ID: 5fQWaO - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 5 additional properties not defined in the schema (``, `?`, ` 𭈥` and 2 more). The server likely rejects unexpected fields. Add `additionalProperties: false` to your schema to prevent this. - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"Household \"Family\" does not exist on group \"Home\" (d5b9c48b-36c3-4b47-972f-d811103a0238); cannot create user"}}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": [], " \ud874\ude25": {"\u000e": [14715], "Y\u0084\u00c8": {"1\ud8a9\udf5f\u00d0": 296, "2\udb6f\uddb0": null, ",\u00b4O\u00a6\u0091\u0093\ud925\udc36\u008f[\u0084\u00f42": "\u00e3&\u00ea\ud9b8\udc84"}}, "\u0018?": {"": {"q\ud84c\udc39g|\u0088\u00aa?": "TRUE", "b": true, "": null}, "\u0019\u0098\u00fa\u00b8\udaf9\udc6f\u00a9|)\u00078\u00a4\u00d3\u0000\udb1f\udfc1\udabe\udf0c\ud866\ude16\u0082": []}, "\u00a2": [], "\u00e0\udbc3\udf3f\u00c6\u00eb\u00beo": [], "id": null, "password": "Y\udbe4\udf77", "canManage": false, "advanced": false, "canInvite": false, "username": "\u0001H\u00ea\ud827\udd16\u00ce", "email": "\u00e8.\u00e4\udb73\udda8\u00adA<\udbe0\udc6b1", "admin": true, "canOrganize": false, "canManageHousehold": true, "authMethod": "LDAP", "group": null, "fullName": "\u00f8xg\ud84b\udf2a\u00ca\u00bf\u0016w\u008e:\u00ee\u00a9\u00cb\r\u00e4I\u00a4\u00ef\ud80e\udeac\udaf3\udcac,", "household": null}' http://0.0.0.0:32895/api/admin/users _________________________ POST /api/admin/users/unlock _________________________ 1. Test Case ID: HRHzvK - 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 `accept-language` in header - incorrect type [200] OK: `{"unlocked":0}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/admin/users/unlock?force=true' _______________________ POST /api/admin/users/{item_id} ________________________ 1. Test Case ID: qHIShR - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/users/e3e70682-c209-4cac-a29f-6fbed82c07cd ______________________________ POST /api/comments ______________________________ 1. Test Case ID: 0YNB0s - 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 `accept-language` in header - incorrect type [201] Created: `{"recipeId":"e3e70682-c209-4cac-a29f-6fbed82c07cd","text":"","id":"4a1b64b1-1a50-4e13-b6fb-1b275adf92d5","createdAt":"2026-10-07T02:05:02.862710Z","updatedAt":"2026-10-07T02:05:02.862712Z","userId":"e62ccfa8-19e0-4899-b130-3380c0d0e8ec","user":{"id":"e62ccfa8-19e0-4899-b130-3380c0d0e8ec","username":"admin","admin":true,"fullName":"Change Me"}}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipeId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "text": ""}' http://0.0.0.0:32895/api/comments 2. Test Case ID: c6dVux - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '�' http://0.0.0.0:32895/api/comments _________________________ POST /api/comments/{item_id} _________________________ 1. Test Case ID: OUYkCq - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "47029026-b845-44d1-a263-b5a0fed3f063", "text": ""}' http://0.0.0.0:32895/api/comments/47029026-b845-44d1-a263-b5a0fed3f063 _______________________________ POST /api/foods ________________________________ 1. Test Case ID: KuglPe - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"(sqlite3.IntegrityError) UNIQUE constraint failed: ingredient_foods.name, ingredient_foods.group_id\n[SQL: INSERT INTO ingredient_foods (id, group_id, name, plural_name, description, label_id, name_normalized, plural_name_normalized, on_hand, created_at, update_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]\n[parameters: ('e3e70682c2094caca29f6fbed82c07cd', 'd5b9c48b36c34b47972fd811103a0238', '', None, '', 'e3e70682c2094caca29f6fbe // Output truncated...` Reproduce with: curl -X POST -H 'accept-language: null,null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "", "pluralName": null, "description": "", "extras": {}, "labelId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "aliases": [], "householdsWithIngredientFood": []}' http://0.0.0.0:32895/api/foods 2. Test Case ID: r0BHhc - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"(sqlite3.IntegrityError) UNIQUE constraint failed: ingredient_foods.name, ingredient_foods.group_id\n[SQL: INSERT INTO ingredient_foods (id, group_id, name, plural_name, description, label_id, name_normalized, plural_name_normalized, on_hand, created_at, update_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]\n[parameters: ('e3e70682c2094caca29f6fbed82c07cd', 'd5b9c48b36c34b47972fd811103a0238', '', None, '', 'e3e70682c2094caca29f6fbe // Output truncated...` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "", "pluralName": null, "description": "", "extras": {}, "labelId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "aliases": [], "householdsWithIngredientFood": []}' http://0.0.0.0:32895/api/foods 3. Test Case ID: Sm2Nxi - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "", "pluralName": null, "description": "", "extras": [null, null], "labelId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "aliases": [], "householdsWithIngredientFood": []}' http://0.0.0.0:32895/api/foods 4. Test Case ID: jhUKBk - 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 - violates `type` at /properties/extras/anyOf/1 (was null, became boolean) [201] Created: `{"id":"f99e9cf0-dae6-4fc9-959c-6321534e4912","name":"𜡎򨁁­\u0005螹ç… 4񺊖Ð","pluralName":"Ò´󪚫","description":"XT\u0001","extras":{},"labelId":"73c873f2-0f21-48e2-88a0-d57a4be4b184","aliases":[],"householdsWithIngredientFood":[],"label":null,"createdAt":"2026-10-07T02:18:33.638510Z","updatedAt":"2026-10-07T02:18:33.638512Z"}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"a,\u00ed\u0091+\ud9d0\udf5du": [true, [2.3517389313704565e+297, 7.894403496709245e-179]], "\udb7b\udce6\u0081\udb56\ude24\ud99d\udf8d": [], "id": null, "description": "XT\u0001\u008d", "name": "\ud832\udc4e\uda60\udc41\u00ad\u0005\u87b9\u00e7\u00854\ud9a8\ude96\u00d0", "extras": false, "labelId": "73c873f2-0f21-48e2-88a0-d57a4be4b184", "householdsWithIngredientFood": ["\u00c4\u00c5\u00e7", "i8\ud8e7\udc835_\udbc2\udce4\u00a6\u00ab"], "pluralName": "\u00d2\u00b4\udb69\udeab"}' http://0.0.0.0:32895/api/foods ____________________________ POST /api/foods/merge _____________________________ 1. Test Case ID: HKHBaw - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"fromFood": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "toFood": "e3e70682-c209-4cac-a29f-6fbed82c07cd"}' http://0.0.0.0:32895/api/foods/merge __________________________ POST /api/foods/{item_id} ___________________________ 1. Test Case ID: kbWAzr - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "", "pluralName": null, "description": "", "extras": {}, "labelId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "aliases": [], "householdsWithIngredientFood": []}' http://0.0.0.0:32895/api/foods/e3e70682-c209-4cac-a29f-6fbed82c07cd ___________________________ POST /api/groups/labels ____________________________ 1. Test Case ID: TMa1T9 - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language: null,null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "color": "#959595"}' http://0.0.0.0:32895/api/groups/labels 2. Test Case ID: ScoRra - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language: {' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'�\x06\\�"Y8' http://0.0.0.0:32895/api/groups/labels ______________________ POST /api/groups/labels/{item_id} _______________________ 1. Test Case ID: vYPkDm - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "color": "#959595", "groupId": "d5b9c48b-36c3-4b47-972f-d811103a0238", "id": "1d04af22-765d-44a7-8c47-a41c9db550fe"}' http://0.0.0.0:32895/api/groups/labels/1d04af22-765d-44a7-8c47-a41c9db550fe _________________________ POST /api/groups/migrations __________________________ 1. Test Case ID: egmLpH - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"value_error","loc":["body","archive"],"msg":"Value error, Expected UploadFile, received: ","input":"‰PNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\b\u0000\u0000\u0000\u0000:~›U\u0000\u0000\u0000\nIDATxœc`\u0000\u0000\u0000\u0002\u0000\u0001H¯¤q\u0000\u0000\u0000\u0000IEND®B`‚","ctx":{"error":{}}}]}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=cf7d1f732906d84cf48cf4c1be287a73' -d $'--cf7d1f732906d84cf48cf4c1be287a73\r\nContent-Disposition: form-data; name="add_migration_tag"\r\n\r\nfalse\r\n--cf7d1f732906d84cf48cf4c1be287a73\r\nContent-Disposition: form-data; name="migration_type"\r\n\r\nnextcloud\r\n--cf7d1f732906d84cf48cf4c1be287a73\r\nContent-Disposition: form-data; name="archive"\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--cf7d1f732906d84cf48cf4c1be287a73--\r\n' http://0.0.0.0:32895/api/groups/migrations 2. Test Case ID: TXVoF8 - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=03aa9a3311fd616c8d2d9a899ad9b0de' -d $'--03aa9a3311fd616c8d2d9a899ad9b0de\r\n-6.178785866533263e+16--03aa9a3311fd616c8d2d9a899ad9b0de--\r\n' http://0.0.0.0:32895/api/groups/migrations _________________________ POST /api/groups/preferences _________________________ 1. Test Case ID: 4CBHZz - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"privateGroup": true}' http://0.0.0.0:32895/api/groups/preferences ________________________ POST /api/groups/seeders/foods ________________________ 1. Test Case ID: 2P5GZg - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"value_error","loc":["body","locale"],"msg":"Value error, invalid locale","input":"","ctx":{"error":{}}}]}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"locale": ""}' http://0.0.0.0:32895/api/groups/seeders/foods 2. Test Case ID: wPJpMn - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '��S7�ЉB+�v' http://0.0.0.0:32895/api/groups/seeders/foods _______________________ POST /api/groups/seeders/labels ________________________ 1. Test Case ID: VvBu6e - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"value_error","loc":["body","locale"],"msg":"Value error, invalid locale","input":"","ctx":{"error":{}}}]}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"locale": ""}' http://0.0.0.0:32895/api/groups/seeders/labels 2. Test Case ID: yGF8wg - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language: R' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x0e� ' http://0.0.0.0:32895/api/groups/seeders/labels ________________________ POST /api/groups/seeders/units ________________________ 1. Test Case ID: oNR4G0 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"value_error","loc":["body","locale"],"msg":"Value error, invalid locale","input":"","ctx":{"error":{}}}]}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"locale": ""}' http://0.0.0.0:32895/api/groups/seeders/units 2. Test Case ID: 6ATEv7 - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x01�.�' http://0.0.0.0:32895/api/groups/seeders/units ________________________ POST /api/households/cookbooks ________________________ 1. Test Case ID: DvSsw7 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"value_error","loc":["body","name"],"msg":"Value error, Name cannot be empty","input":"","ctx":{"error":{}}}]}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "description": "", "slug": null, "position": 1, "public": false, "queryFilterString": ""}' http://0.0.0.0:32895/api/households/cookbooks 2. Test Case ID: WzjXZ0 - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '&���=��2�6' http://0.0.0.0:32895/api/households/cookbooks 3. Test Case ID: fMzeWG - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"No active exception to reraise"}}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "0"}' http://0.0.0.0:32895/api/households/cookbooks ___________________ POST /api/households/cookbooks/{item_id} ___________________ 1. Test Case ID: DxiPcB - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "description": "", "slug": null, "position": 1, "public": false, "queryFilterString": ""}' http://0.0.0.0:32895/api/households/cookbooks/0 __________________ POST /api/households/events/notifications ___________________ 1. Test Case ID: Bn22kC - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"(sqlite3.IntegrityError) NOT NULL constraint failed: group_events_notifiers.apprise_url\n[SQL: INSERT INTO group_events_notifiers (id, name, enabled, apprise_url, group_id, household_id, created_at, update_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?)]\n[parameters: ('8abd3a13596f4892ab9cf916ef5a36dd', '', 1, None, 'd5b9c48b36c34b47972fd811103a0238', 'b5565c3beda949149c6c7f51dc1668be', '2026-10-07 02:04:25.706226', '2026-10-07 02:04:25.7062 // Output truncated...` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "appriseUrl": null}' http://0.0.0.0:32895/api/households/events/notifications 2. Test Case ID: EmBSmh - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"(sqlite3.IntegrityError) NOT NULL constraint failed: group_events_notifiers.apprise_url\n[SQL: INSERT INTO group_events_notifiers (id, name, enabled, apprise_url, group_id, household_id, created_at, update_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?)]\n[parameters: ('3194ee1660444a349b0e0224d0838835', '', 1, None, 'd5b9c48b36c34b47972fd811103a0238', 'b5565c3beda949149c6c7f51dc1668be', '2026-10-07 02:04:25.731558', '2026-10-07 02:04:25.7315 // Output truncated...` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "appriseUrl": null}' http://0.0.0.0:32895/api/households/events/notifications _____________ POST /api/households/events/notifications/{item_id} ______________ 1. Test Case ID: 7OHOI8 - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "appriseUrl": null, "enabled": true, "groupId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "householdId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "options": {"testMessage": false, "webhookTask": false, "recipeCreated": false, "recipeUpdated": false, "recipeDeleted": false, "userSignup": false, "dataMigrations": false, "dataExport": false, "dataImport": false, "mealplanEntryCreated": false, "shoppingListCreated": false, "shoppingListUpdated": false, "shoppingListDeleted": false, "cookbookCreated": false, "cookbookUpdated": false, "cookbookDeleted": false, "tagCreated": false, "tagUpdated": false, "tagDeleted": false, "categoryCreated": false, "categoryUpdated": false, "categoryDeleted": false, "labelCreated": false, "labelUpdated": false, "labelDeleted": false}, "id": "e3e70682-c209-4cac-a29f-6fbed82c07cd"}' http://0.0.0.0:32895/api/households/events/notifications/f0d120df-b35e-41c7-89fa-3dbc468c2591 ___________ POST /api/households/events/notifications/{item_id}/test ___________ 1. Test Case ID: bssb06 - Server error - Undocumented HTTP status code Received: 500 Documented: 204, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/events/notifications/e3e70682-c209-4cac-a29f-6fbed82c07cd/test _______________________ POST /api/households/invitations _______________________ 1. Test Case ID: 1A6XtJ - 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 `accept-language` in header - incorrect type [201] Created: `{"token":"BX1d4kzz4NvSoxjwJDvLcjOi3853QtBU","usesLeft":0,"groupId":"e3e70682-c209-1cac-a29f-6fbed82c07cd","householdId":"e3e70682-c209-1cac-a29f-6fbed82c07cd"}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"uses": 0, "groupId": "e3e70682-c209-1cac-a29f-6fbed82c07cd", "householdId": "e3e70682-c209-1cac-a29f-6fbed82c07cd"}' http://0.0.0.0:32895/api/households/invitations 2. Test Case ID: QtB8Nb - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d 'ޤ�' http://0.0.0.0:32895/api/households/invitations ____________________ POST /api/households/invitations/email ____________________ 1. Test Case ID: TJvM0z - 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 `accept-language` in header - incorrect type [200] OK: `{"success":false,"error":null}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"email": "", "token": ""}' http://0.0.0.0:32895/api/households/invitations/email 2. Test Case ID: 6pjsTk - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'vwl��:\t' http://0.0.0.0:32895/api/households/invitations/email ________________________ POST /api/households/mealplans ________________________ 1. Test Case ID: y9U9Yh - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"date": "2000-01-01", "entryType": "breakfast", "title": "", "text": "", "recipeId": "e3e70682-c209-1cac-a29f-6fbed82c07cd"}' http://0.0.0.0:32895/api/households/mealplans 2. Test Case ID: OJrJul - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"value_error","loc":["body","recipeId"],"msg":"Value error, `recipe_id=None` or `title=` must be provided","input":null,"ctx":{"error":{}}}]}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"date": "2000-01-01", "entryType": "breakfast", "title": "", "text": "", "recipeId": null}' http://0.0.0.0:32895/api/households/mealplans 3. Test Case ID: ovy7dh - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '�' http://0.0.0.0:32895/api/households/mealplans ____________________ POST /api/households/mealplans/random _____________________ 1. Test Case ID: nBjAlr - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"No recipes match your rules","error":true,"exception":null}}` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"date": "2000-01-01", "entryType": "dinner"}' http://0.0.0.0:32895/api/households/mealplans/random 2. Test Case ID: 8lSpn4 - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '��u' http://0.0.0.0:32895/api/households/mealplans/random _____________________ POST /api/households/mealplans/rules _____________________ 1. Test Case ID: Sqr20O - 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 `accept-language` in header - incorrect type [201] Created: `{"day":"unset","entryType":"unset","queryFilterString":"","groupId":"d5b9c48b-36c3-4b47-972f-d811103a0238","householdId":"b5565c3b-eda9-4914-9c6c-7f51dc1668be","id":"68476eff-5287-4766-991c-c54cd0cdc3e8","queryFilter":{"parts":[]}}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"day": "unset", "entryType": "unset", "queryFilterString": ""}' http://0.0.0.0:32895/api/households/mealplans/rules 2. Test Case ID: HxG1Vu - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'�G"P��je\x18�' http://0.0.0.0:32895/api/households/mealplans/rules ________________ POST /api/households/mealplans/rules/{item_id} ________________ 1. Test Case ID: ZZTMCE - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"day": "unset", "entryType": "unset", "queryFilterString": ""}' http://0.0.0.0:32895/api/households/mealplans/rules/ff0aee26-30ed-42f0-adc0-abe87cde957c _____________________ POST /api/households/mealplans/today _____________________ 1. Test Case ID: 6svyXx - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/mealplans/today ___________________ POST /api/households/mealplans/{item_id} ___________________ 1. Test Case ID: bW5IuW - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"date": "2000-01-01", "entryType": "breakfast", "title": "", "text": "", "recipeId": "e3e70682-c209-1cac-a29f-6fbed82c07cd", "id": 0, "groupId": "e3e70682-c209-1cac-a29f-6fbed82c07cd", "userId": "e3e70682-c209-1cac-a29f-6fbed82c07cd"}' http://0.0.0.0:32895/api/households/mealplans/0 _______________________ POST /api/households/permissions _______________________ 1. Test Case ID: 3EP8yn - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"userId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "canManageHousehold": false, "canManage": false, "canInvite": false, "canOrganize": false}' http://0.0.0.0:32895/api/households/permissions _______________________ POST /api/households/preferences _______________________ 1. Test Case ID: y0OFfO - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"privateHousehold": true, "lockRecipeEditsFromOtherHouseholds": true, "firstDayOfWeek": 0, "recipePublic": true, "recipeShowNutrition": false, "recipeShowAssets": false, "recipeLandscapeView": false, "recipeDisableComments": false}' http://0.0.0.0:32895/api/households/preferences _____________________ POST /api/households/recipe-actions ______________________ 1. Test Case ID: YlKVJK - 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 `accept-language` in header - incorrect type [201] Created: `{"actionType":"link","title":"","url":"","groupId":"d5b9c48b-36c3-4b47-972f-d811103a0238","householdId":"b5565c3b-eda9-4914-9c6c-7f51dc1668be","id":"f087fdde-1ac8-481c-980d-948b2fc5a5a1"}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"actionType": "link", "title": "", "url": ""}' http://0.0.0.0:32895/api/households/recipe-actions 2. Test Case ID: 4IGDVU - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H $'accept-language: X\'Uj\tW' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '�' http://0.0.0.0:32895/api/households/recipe-actions ________________ POST /api/households/recipe-actions/{item_id} _________________ 1. Test Case ID: jIeSKo - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"actionType": "link", "title": "", "url": "", "groupId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "householdId": "e3e70682-c209-4cac-a29f-6fbed82c07cd"}' http://0.0.0.0:32895/api/households/recipe-actions/c1253794-90d2-47b6-baf5-aa6e058a32b3 _____ POST /api/households/recipe-actions/{item_id}/trigger/{recipe_slug} ______ 1. Test Case ID: rSLOGR - Undocumented HTTP status code Received: 400 Documented: 202, 422 [400] Bad Request: `{"detail":{"message":"Cannot trigger action type \"link\".","error":true,"exception":null}}` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipe_scale": 1}' http://0.0.0.0:32895/api/households/recipe-actions/18b95c84-72dc-4417-8406-c09c320a4700/trigger/0 2. Test Case ID: 97LcUB - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":{"message":"Cannot trigger action type \"link\".","error":true,"exception":null}}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipe_scale": 1}' http://0.0.0.0:32895/api/households/recipe-actions/18b95c84-72dc-4417-8406-c09c320a4700/trigger/0 3. Test Case ID: KLtSdn - Undocumented HTTP status code Received: 404 Documented: 202, 422 [404] Not Found: `{"detail":{"message":"Not found.","error":true,"exception":null}}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:32895/api/households/recipe-actions/e3e70682-c209-4cac-a29f-6fbed82c07cd/trigger/0 _____________________ POST /api/households/shopping/items ______________________ 1. Test Case ID: YzTBBW - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"quantity": 1, "unit": null, "food": null, "note": "", "display": "", "shoppingListId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "checked": false, "position": 0, "foodId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "labelId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "unitId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "extras": {}, "id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "recipeReferences": []}' http://0.0.0.0:32895/api/households/shopping/items 2. Test Case ID: ksKT1j - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'�\x10' http://0.0.0.0:32895/api/households/shopping/items _______________ POST /api/households/shopping/items/create-bulk ________________ 1. Test Case ID: crgLDL - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '[{"quantity": 1, "unit": null, "food": null, "note": "", "display": "", "shoppingListId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "checked": false, "position": 0, "foodId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "labelId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "unitId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "extras": {}, "id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "recipeReferences": []}]' http://0.0.0.0:32895/api/households/shopping/items/create-bulk 2. Test Case ID: zMCQCz - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language: .' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x02\x16��' http://0.0.0.0:32895/api/households/shopping/items/create-bulk ________________ POST /api/households/shopping/items/{item_id} _________________ 1. Test Case ID: JT8NII - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"quantity": 1, "unit": null, "food": null, "note": "", "display": "", "shoppingListId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "checked": false, "position": 0, "foodId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "labelId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "unitId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "extras": {}, "recipeReferences": []}' http://0.0.0.0:32895/api/households/shopping/items/e3e70682-c209-4cac-a29f-6fbed82c07cd _____________________ POST /api/households/shopping/lists ______________________ 1. Test Case ID: aGyde8 - 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 `accept-language` in header - incorrect type [201] Created: `{"name":null,"extras":{},"createdAt":"2000-01-01T00:00:00Z","updatedAt":"2026-10-07T02:04:29.443990Z","groupId":"d5b9c48b-36c3-4b47-972f-d811103a0238","userId":"e62ccfa8-19e0-4899-b130-3380c0d0e8ec","id":"768e2403-7464-4b59-8e1a-0276384d2607","listItems":[],"householdId":"b5565c3b-eda9-4914-9c6c-7f51dc1668be","recipeReferences":[],"labelSettings":[{"shoppingListId":"768e2403-7464-4b59-8e1a-0276384d2607","labelId":"1d04af22-765d-44a7-8c47-a41c9db550fe","position":0,"id":"d16a6fab-19e0-4a4c-91ae-15d2e45a74cc" // Output truncated...` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": null, "extras": {}, "createdAt": "2000-01-01T00:00:00Z", "update_at": "2000-01-01T00:00:00Z"}' http://0.0.0.0:32895/api/households/shopping/lists 2. Test Case ID: 7tbYvc - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": null, "extras": [null, null], "createdAt": "2000-01-01T00:00:00Z", "update_at": "2000-01-01T00:00:00Z"}' http://0.0.0.0:32895/api/households/shopping/lists 3. Test Case ID: AFUbSr - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d 'cj�b�' http://0.0.0.0:32895/api/households/shopping/lists ________________ POST /api/households/shopping/lists/{item_id} _________________ 1. Test Case ID: gOSsur - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": null, "extras": {}, "createdAt": "2000-01-01T00:00:00Z", "update_at": "2000-01-01T00:00:00Z", "groupId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "userId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "listItems": []}' http://0.0.0.0:32895/api/households/shopping/lists/efbc958e-40cb-4573-b17a-c6834bdd1fd4 _________ POST /api/households/shopping/lists/{item_id}/label-settings _________ 1. Test Case ID: 9M0qkl - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '[{"shoppingListId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "labelId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "position": 0, "id": "e3e70682-c209-4cac-a29f-6fbed82c07cd"}]' http://0.0.0.0:32895/api/households/shopping/lists/167a2b49-4b6f-41dc-8042-140c1dd9c912/label-settings _____________ POST /api/households/shopping/lists/{item_id}/recipe _____________ 1. Test Case ID: Eeebex - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '[{"recipeIncrementQuantity": 1, "recipeIngredients": [], "recipeId": "e3e70682-c209-4cac-a29f-6fbed82c07cd"}]' http://0.0.0.0:32895/api/households/shopping/lists/6d54e367-6590-4b4b-b7e1-60764eea12d4/recipe 2. Test Case ID: I9555Y - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language: 3x^0GLR$C4BnX' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'O~\x1c���' http://0.0.0.0:32895/api/households/shopping/lists/20a79b11-ba5d-45d9-8ed0-b27cf1b517a6/recipe _______ POST /api/households/shopping/lists/{item_id}/recipe/{recipe_id} _______ 1. Test Case ID: NJARL4 - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipeIncrementQuantity": 1, "recipeIngredients": []}' http://0.0.0.0:32895/api/households/shopping/lists/768e2403-7464-4b59-8e1a-0276384d2607/recipe/e3e70682-c209-4cac-a29f-6fbed82c07cd ___ POST /api/households/shopping/lists/{item_id}/recipe/{recipe_id}/delete ____ 1. Test Case ID: dawBBC - 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 `accept-language` in header - incorrect type [200] OK: `{"name":null,"extras":{},"createdAt":"2000-01-01T00:00:00Z","updatedAt":"2026-10-07T02:04:29.470605Z","groupId":"d5b9c48b-36c3-4b47-972f-d811103a0238","userId":"e62ccfa8-19e0-4899-b130-3380c0d0e8ec","id":"3e592696-67a1-4035-ae95-6e04303be833","listItems":[],"householdId":"b5565c3b-eda9-4914-9c6c-7f51dc1668be","recipeReferences":[],"labelSettings":[{"shoppingListId":"3e592696-67a1-4035-ae95-6e04303be833","labelId":"1d04af22-765d-44a7-8c47-a41c9db550fe","position":0,"id":"29c76ae9-8ebd-4519-b8a4-ad8aa3b53ec9" // Output truncated...` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipeDecrementQuantity": 1}' http://0.0.0.0:32895/api/households/shopping/lists/3e592696-67a1-4035-ae95-6e04303be833/recipe/e3e70682-c209-4cac-a29f-6fbed82c07cd/delete 2. Test Case ID: oD0ccC - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d null http://0.0.0.0:32895/api/households/shopping/lists/7a205010-ec94-47c2-b493-9d871e95a6e0/recipe/c049ae23-5790-4d06-a5b5-62954d9e835a/delete ________________________ POST /api/households/webhooks _________________________ 1. Test Case ID: 3OFauF - Response violates schema "00:00:00" is not a "time" Validated against the response schema for status code 201. Schema at /components/schemas/ReadWebhook/properties/scheduledTime: { "format": "time", "type": "string", "title": "Scheduledtime" } Value: "00:00:00" [201] Created: `{"enabled":true,"name":"","url":"","webhookType":"mealplan","scheduledTime":"00:00:00","groupId":"d5b9c48b-36c3-4b47-972f-d811103a0238","householdId":"b5565c3b-eda9-4914-9c6c-7f51dc1668be","id":"f5cf5936-7ea7-46f2-94ea-57a706fedaa3"}` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"enabled": true, "name": "", "url": "", "webhookType": "mealplan", "scheduledTime": "00:00:00Z"}' http://0.0.0.0:32895/api/households/webhooks 2. Test Case ID: FTtv6z - 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 `accept-language` in header - incorrect type [201] Created: `{"enabled":true,"name":"","url":"","webhookType":"mealplan","scheduledTime":"00:00:00","groupId":"d5b9c48b-36c3-4b47-972f-d811103a0238","householdId":"b5565c3b-eda9-4914-9c6c-7f51dc1668be","id":"65a5ade0-2ccc-42d2-bd75-394006700e20"}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"enabled": true, "name": "", "url": "", "webhookType": "mealplan", "scheduledTime": "00:00:00Z"}' http://0.0.0.0:32895/api/households/webhooks 3. Test Case ID: k2Yl2p - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"enabled": true, "name": "", "url": "", "webhookType": "mealplan", "scheduledTime": {}}' http://0.0.0.0:32895/api/households/webhooks _____________________ POST /api/households/webhooks/rerun ______________________ 1. Test Case ID: vPLSbB - 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 `accept-language` in header - incorrect type [200] OK: `null` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/webhooks/rerun 2. Test Case ID: OCs8Ul - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/webhooks/rerun ___________________ POST /api/households/webhooks/{item_id} ____________________ 1. Test Case ID: s74nC0 - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"enabled": true, "name": "", "url": "", "webhookType": "mealplan", "scheduledTime": "00:00:00Z"}' http://0.0.0.0:32895/api/households/webhooks/3405e693-f4e9-4c38-be86-fbf8646d096a _________________ POST /api/households/webhooks/{item_id}/test _________________ 1. Test Case ID: cum9c1 - 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 `accept-language` in header - incorrect type [200] OK: `null` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/webhooks/f5cf5936-7ea7-46f2-94ea-57a706fedaa3/test 2. Test Case ID: kDS4Zc - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"Not found.","error":true,"exception":null}}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/webhooks/32833106-536e-45df-80b2-d002cc92d33d/test _______________________ POST /api/organizers/categories ________________________ 1. Test Case ID: SQSrMw - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":{"message":"An unexpected error occurred.","error":true,"exception":""}}` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": ""}' http://0.0.0.0:32895/api/organizers/categories 2. Test Case ID: HY9Xtl - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":{"message":"An unexpected error occurred.","error":true,"exception":""}}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": ""}' http://0.0.0.0:32895/api/organizers/categories ____________________ POST /api/organizers/categories/empty _____________________ 1. Test Case ID: 1cIsgg - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/organizers/categories/empty __________________ POST /api/organizers/categories/{item_id} ___________________ 1. Test Case ID: FFooDJ - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": ""}' http://0.0.0.0:32895/api/organizers/categories/e3e70682-c209-4cac-a29f-6fbed82c07cd __________________________ POST /api/organizers/tags ___________________________ 1. Test Case ID: BUz27j - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": ""}' http://0.0.0.0:32895/api/organizers/tags 2. Test Case ID: 3ZtNAp - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'�\x11h�' http://0.0.0.0:32895/api/organizers/tags _______________________ POST /api/organizers/tags/empty ________________________ 1. Test Case ID: RqDnPW - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/organizers/tags/empty _____________________ POST /api/organizers/tags/{item_id} ______________________ 1. Test Case ID: M5GSpf - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": ""}' http://0.0.0.0:32895/api/organizers/tags/e3e70682-c209-4cac-a29f-6fbed82c07cd __________________________ POST /api/organizers/tools __________________________ 1. Test Case ID: Wivb9N - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":{"message":"An unexpected error occurred.","error":true,"exception":"(sqlite3.IntegrityError) UNIQUE constraint failed: tools.slug, tools.group_id\n[SQL: INSERT INTO tools (id, group_id, name, slug, on_hand, created_at, update_at) VALUES (?, ?, ?, ?, ?, ?, ?)]\n[parameters: ('a2078642c74d4ffd97f44c7312972818', 'd5b9c48b36c34b47972fd811103a0238', '', '', 0, '2026-10-07 02:04:30.296335', '2026-10-07 02:04:30.296337')]\n(Background on this error at: https://sqlalche.me/e/20/gkpj)"}}` Reproduce with: curl -X POST -H 'accept-language: null,null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "householdsWithTool": []}' http://0.0.0.0:32895/api/organizers/tools 2. Test Case ID: JTbcbC - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":{"message":"An unexpected error occurred.","error":true,"exception":"(sqlite3.IntegrityError) UNIQUE constraint failed: tools.slug, tools.group_id\n[SQL: INSERT INTO tools (id, group_id, name, slug, on_hand, created_at, update_at) VALUES (?, ?, ?, ?, ?, ?, ?)]\n[parameters: ('2623abd33eba40e6a82c4a0864b70d28', 'd5b9c48b36c34b47972fd811103a0238', '', '', 0, '2026-10-07 02:04:30.313751', '2026-10-07 02:04:30.313753')]\n(Background on this error at: https://sqlalche.me/e/20/gkpj)"}}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "householdsWithTool": []}' http://0.0.0.0:32895/api/organizers/tools _____________________ POST /api/organizers/tools/{item_id} _____________________ 1. Test Case ID: 22OTui - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "householdsWithTool": []}' http://0.0.0.0:32895/api/organizers/tools/6f40500f-a428-4d0f-ba2a-8a4ee8d6af40 _________________________ POST /api/parser/ingredient __________________________ 1. Test Case ID: 7Dhj0t - 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 `accept-language` in header - incorrect type [200] OK: `{"input":"","confidence":{"average":0.0,"comment":0.0,"name":null,"unit":0.0,"quantity":0.0,"food":0.0},"ingredient":{"quantity":0.0,"unit":null,"food":null,"note":"","display":"","title":"","originalText":null,"referenceId":"c236a007-e0a2-465b-90fb-dc6f7b162f6b"}}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"parser": "nlp", "ingredient": ""}' http://0.0.0.0:32895/api/parser/ingredient 2. Test Case ID: tyGHHR - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"parser": "openai", "ingredient": ""}' http://0.0.0.0:32895/api/parser/ingredient 3. Test Case ID: Rjr3Xr - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'�PNG\r\n\x1a\n' http://0.0.0.0:32895/api/parser/ingredient _________________________ POST /api/parser/ingredients _________________________ 1. Test Case ID: wXXsoc - 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 `accept-language` in header - incorrect type [200] OK: `[]` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"parser": "nlp", "ingredients": []}' http://0.0.0.0:32895/api/parser/ingredients 2. Test Case ID: B7lRCe - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"parser": "openai", "ingredients": []}' http://0.0.0.0:32895/api/parser/ingredients ______________________________ POST /api/recipes _______________________________ 1. Test Case ID: o6Ba8E - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `{"detail":{"message":"Unknown Error","error":true,"exception":"AssertionError"}}` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": ""}' http://0.0.0.0:32895/api/recipes 2. Test Case ID: OXHiNM - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\r���\x08,s��uʟDS��h�vb�˅�V�w' http://0.0.0.0:32895/api/recipes 3. Test Case ID: g4ANf9 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 2 additional properties not defined in the schema (``, `µc/À񖲓󌢔𑝩Ž`). The server likely rejects unexpected fields. Add `additionalProperties: false` to your schema to prevent this. [400] Bad Request: `{"detail":{"message":"Unable to generate recipe slug","error":true,"exception":null}}` Reproduce with: curl -X POST -H 'accept-language: ik_x' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u00b5c/\u00c0\ud91b\udc93\u0016\udaf2\udc94\ud805\udf69\u008e": {"}\nZo\u00f2\u001cI": -1.835122742521748e+16}, "": [[null], 5.3982645505681336e+16, null], "name": "\u0096"}' http://0.0.0.0:32895/api/recipes __________________ POST /api/recipes/bulk-actions/categorize ___________________ 1. Test Case ID: 1720Hb - 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 `accept-language` in header - incorrect type [200] OK: `null` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipes": [], "categories": []}' http://0.0.0.0:32895/api/recipes/bulk-actions/categorize 2. Test Case ID: z9AcpR - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipes": [""], "categories": []}' http://0.0.0.0:32895/api/recipes/bulk-actions/categorize 3. Test Case ID: yvfym2 - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'��\x14����$@&7XG�Ǥ�t' http://0.0.0.0:32895/api/recipes/bulk-actions/categorize ____________________ POST /api/recipes/bulk-actions/delete _____________________ 1. Test Case ID: rs8TzY - 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 `accept-language` in header - incorrect type [200] OK: `null` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipes": []}' http://0.0.0.0:32895/api/recipes/bulk-actions/delete 2. Test Case ID: Mvugzd - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'���\x18' http://0.0.0.0:32895/api/recipes/bulk-actions/delete ____________________ POST /api/recipes/bulk-actions/export _____________________ 1. Test Case ID: 3NDTqu - 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 `accept-language` in header - incorrect type [202] Accepted: `null` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipes": [], "exportType": "json"}' http://0.0.0.0:32895/api/recipes/bulk-actions/export 2. Test Case ID: yzBo0G - Server error - Undocumented HTTP status code Received: 500 Documented: 202, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipes": [""], "exportType": "json"}' http://0.0.0.0:32895/api/recipes/bulk-actions/export ___________________ POST /api/recipes/bulk-actions/settings ____________________ 1. Test Case ID: 3NC1Gp - 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 `accept-language` in header - incorrect type [200] OK: `null` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipes": [], "settings": {"public": false, "showNutrition": false, "showAssets": false, "landscapeView": false, "disableComments": true, "locked": false}}' http://0.0.0.0:32895/api/recipes/bulk-actions/settings 2. Test Case ID: d5mO8s - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipes": [""], "settings": {"public": false, "showNutrition": false, "showAssets": false, "landscapeView": false, "disableComments": true, "locked": false}}' http://0.0.0.0:32895/api/recipes/bulk-actions/settings 3. Test Case ID: LPKg27 - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'�\x05�z^�\x1e�>2�2�z�>' http://0.0.0.0:32895/api/recipes/bulk-actions/settings ______________________ POST /api/recipes/bulk-actions/tag ______________________ 1. Test Case ID: HaL3Z9 - 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 `accept-language` in header - incorrect type [200] OK: `null` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipes": [], "tags": []}' http://0.0.0.0:32895/api/recipes/bulk-actions/tag 2. Test Case ID: xWJrNP - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipes": [""], "tags": []}' http://0.0.0.0:32895/api/recipes/bulk-actions/tag 3. Test Case ID: Oab8lu - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'�tA\x0cp�KȠGs9\x1e�\x01\'' http://0.0.0.0:32895/api/recipes/bulk-actions/tag ____________________ POST /api/recipes/create/html-or-json _____________________ 1. Test Case ID: w7SCWF - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":{"details":"BAD_RECIPE_DATA"}}` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"includeTags": false, "data": ""}' http://0.0.0.0:32895/api/recipes/create/html-or-json 2. Test Case ID: RwWZtB - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":{"details":"BAD_RECIPE_DATA"}}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"includeTags": false, "data": ""}' http://0.0.0.0:32895/api/recipes/create/html-or-json ________________________ POST /api/recipes/create/image ________________________ 1. Test Case ID: pB0kF2 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"missing","loc":["body","images"],"msg":"Field required","input":null}]}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=c637e12e2b1a998d80d1b087531af51c' -d $'--c637e12e2b1a998d80d1b087531af51c--\r\n' http://0.0.0.0:32895/api/recipes/create/image 2. Test Case ID: pJURZ4 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":{"message":"OpenAI image services are not enabled","error":true,"exception":null}}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=738edbc769b394dc22dadcdad7ccc277' -d $'--738edbc769b394dc22dadcdad7ccc277\r\nContent-Disposition: form-data; name="images"; filename="images.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--738edbc769b394dc22dadcdad7ccc277--\r\n' 'http://0.0.0.0:32895/api/recipes/create/image?translateLanguage=' _________________________ POST /api/recipes/create/url _________________________ 1. Test Case ID: zJQ1p5 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":{"details":"BAD_RECIPE_DATA"}}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"includeTags": true, "url": "https://myfavoriterecipes.com/recipes"}' http://0.0.0.0:32895/api/recipes/create/url ______________________ POST /api/recipes/create/url/bulk _______________________ 1. Test Case ID: tyXcLW - 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 `accept-language` in header - incorrect type [202] Accepted: `{"reportId":"fb796f85-e286-4ab3-9726-8d7cd66bd107"}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"imports": []}' http://0.0.0.0:32895/api/recipes/create/url/bulk 2. Test Case ID: etkVxg - Undocumented HTTP status code Received: 400 Documented: 202, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '�)' http://0.0.0.0:32895/api/recipes/create/url/bulk _________________________ POST /api/recipes/create/zip _________________________ 1. Test Case ID: cBNjgy - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=42345508c2c9cdec5a6e17517d582eec' -d $'--42345508c2c9cdec5a6e17517d582eec\r\nContent-Disposition: form-data; name="archive"; filename="archive.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--42345508c2c9cdec5a6e17517d582eec--\r\n' http://0.0.0.0:32895/api/recipes/create/zip 2. Test Case ID: vanuw6 - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=2ee3695e9e85506dacd2816619affe44' -d $'--2ee3695e9e85506dacd2816619affe44\r\nÍÁ½É±!\xf1\xb2\xb6\xa4--2ee3695e9e85506dacd2816619affe44--\r\n' http://0.0.0.0:32895/api/recipes/create/zip __________________________ POST /api/recipes/exports ___________________________ 1. Test Case ID: DBIRRN - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/recipes/exports ________________________ POST /api/recipes/suggestions _________________________ 1. Test Case ID: cRS94q - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/recipes/suggestions?foods=e3e70682-c209-4cac-a29f-6fbed82c07cd&tools=e3e70682-c209-4cac-a29f-6fbed82c07cd&orderBy=&orderByNullPosition=first&orderDirection=asc&queryFilter=&paginationSeed=&limit=10&maxMissingFoods=5&maxMissingTools=5&includeFoodsOnHand=true&includeToolsOnHand=true' ______________________ POST /api/recipes/test-scrape-url _______________________ 1. Test Case ID: mkaDUl - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"url": "", "useOpenAI": false}' http://0.0.0.0:32895/api/recipes/test-scrape-url 2. Test Case ID: nsYZWk - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x1c�\x14�\x0c�\x1a' http://0.0.0.0:32895/api/recipes/test-scrape-url ______________________ POST /api/recipes/timeline/events _______________________ 1. Test Case ID: gxP0J7 - Undocumented HTTP status code Received: 404 Documented: 201, 422 [404] Not Found: `{"detail":"recipe not found"}` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipeId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "userId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "subject": "", "eventType": "system", "eventMessage": null, "image": "does not have image", "timestamp": "2026-10-07T02:04:08.437651Z"}' http://0.0.0.0:32895/api/recipes/timeline/events 2. Test Case ID: NcUb6y - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '4��y' http://0.0.0.0:32895/api/recipes/timeline/events _________________ POST /api/recipes/timeline/events/{item_id} __________________ 1. Test Case ID: llt9ro - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"subject": "", "eventMessage": null, "image": null}' http://0.0.0.0:32895/api/recipes/timeline/events/e3e70682-c209-4cac-a29f-6fbed82c07cd ______________ POST /api/recipes/timeline/events/{item_id}/image _______________ 1. Test Case ID: ET66kS - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=3a59f6211d65cf1ab6c615edd0ede722' -d $'--3a59f6211d65cf1ab6c615edd0ede722\r\nContent-Disposition: form-data; name="image"; filename="image.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--3a59f6211d65cf1ab6c615edd0ede722\r\nContent-Disposition: form-data; name="extension"\r\n\r\n\r\n--3a59f6211d65cf1ab6c615edd0ede722--\r\n' http://0.0.0.0:32895/api/recipes/timeline/events/e3e70682-c209-4cac-a29f-6fbed82c07cd/image ___________________________ POST /api/recipes/{slug} ___________________________ 1. Test Case ID: EL4S2E - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "userId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "householdId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "groupId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": null, "slug": "", "image": null, "recipeServings": 0, "recipeYieldQuantity": 0, "recipeYield": null, "totalTime": null, "prepTime": null, "cookTime": null, "performTime": null, "description": "", "recipeCategory": [], "tags": [], "tools": [], "rating": null, "orgURL": null, "dateAdded": "2000-01-01", "dateUpdated": "2000-01-01T00:00:00Z", "createdAt": "2000-01-01T00:00:00Z", "update_at": "2000-01-01T00:00:00Z", "lastMade": "2000-01-01T00:00:00Z", "recipeIngredient": [], "recipeInstructions": [], "nutrition": null, "settings": null, "assets": [], "notes": [], "extras": {}, "comments": []}' http://0.0.0.0:32895/api/recipes/0 _______________________ POST /api/recipes/{slug}/assets ________________________ 1. Test Case ID: nFAu5U - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"Missing required fields"}` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=20fb60340fcdb78f34f77497fde204c3' -d $'--20fb60340fcdb78f34f77497fde204c3\r\nContent-Disposition: form-data; name="name"\r\n\r\n\r\n--20fb60340fcdb78f34f77497fde204c3\r\nContent-Disposition: form-data; name="icon"\r\n\r\n\r\n--20fb60340fcdb78f34f77497fde204c3\r\nContent-Disposition: form-data; name="extension"\r\n\r\n\r\n--20fb60340fcdb78f34f77497fde204c3\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--20fb60340fcdb78f34f77497fde204c3--\r\n' http://0.0.0.0:32895/api/recipes/0/assets 2. Test Case ID: XOW58Z - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":"Missing required fields"}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=20fb60340fcdb78f34f77497fde204c3' -d $'--20fb60340fcdb78f34f77497fde204c3\r\nContent-Disposition: form-data; name="name"\r\n\r\n\r\n--20fb60340fcdb78f34f77497fde204c3\r\nContent-Disposition: form-data; name="icon"\r\n\r\n\r\n--20fb60340fcdb78f34f77497fde204c3\r\nContent-Disposition: form-data; name="extension"\r\n\r\n\r\n--20fb60340fcdb78f34f77497fde204c3\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--20fb60340fcdb78f34f77497fde204c3--\r\n' http://0.0.0.0:32895/api/recipes/0/assets 3. Test Case ID: Zf1XAx - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=d2541d80387e0e9b7794ca859a136d2a' -d $'--d2541d80387e0e9b7794ca859a136d2a\r\nContent-Disposition: form-data; name="file"; filename="file"\r\n\r\n�+jp\r\n--d2541d80387e0e9b7794ca859a136d2a\r\nContent-Disposition: form-data; name="icon"\r\n\r\nàÚ\xc2\x83Ô\xc2\x99\r\n--d2541d80387e0e9b7794ca859a136d2a\r\nContent-Disposition: form-data; name="extension"\r\n\r\n\xc2\x9e\t\x05Q;5Î\xf1\x8d\x8c\x9f·ká;\x01T\xf2\xb0\xa7\xab\x1d\xf1\x8a\xa7\xbf\t𨆃ù\xf3\x8e\xb9\x945\x16\r\n--d2541d80387e0e9b7794ca859a136d2a\r\nContent-Disposition: form-data; name="name"\r\n\r\n\xf1\x8a\x95\x87¦\xf2\x84\xa7\x95-\xf2\x8f\x85\x997\xf2\x86\x9f\x98ä\xf2\x8a\x85\xa73Æç7\r\n--d2541d80387e0e9b7794ca859a136d2a--\r\n' http://0.0.0.0:32895/api/recipes/home-5/assets ______________________ POST /api/recipes/{slug}/duplicate ______________________ 1. Test Case ID: hjStFt - Undocumented HTTP status code Received: 404 Documented: 201, 422 [404] Not Found: `{"detail":{"message":"No Entry Found","error":true,"exception":null}}` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": null}' http://0.0.0.0:32895/api/recipes/0/duplicate 2. Test Case ID: tAgUdQ - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":{"message":"Recipe already exists","error":true,"exception":null}}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:32895/api/recipes/p/duplicate _______________________ POST /api/recipes/{slug}/exports _______________________ 1. Test Case ID: coFoeN - 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 `accept-language` in header - incorrect type [200] OK: `{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzbHVnIjoiMCIsImV4cCI6MTc5MTM0MDUxOH0.gXiY4hRCEGXPfsctqzVP6ny_7JJQeIkWyLHsfBAiCKw"}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/recipes/0/exports ________________________ POST /api/recipes/{slug}/image ________________________ 1. Test Case ID: VJPJyW - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"Not found.","error":true,"exception":null}}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"includeTags": true, "url": "https://myfavoriterecipes.com/recipes"}' http://0.0.0.0:32895/api/recipes/0/image 2. Test Case ID: ZCt3kB - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"url": ""}' http://0.0.0.0:32895/api/recipes/o-3/image 3. Test Case ID: dIp01b - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '��l���4' http://0.0.0.0:32895/api/recipes/p-5-1/image ___________________________ POST /api/shared/recipes ___________________________ 1. Test Case ID: 3nj0Ip - Undocumented HTTP status code Received: 404 Documented: 201, 422 [404] Not Found: `{"detail":"Recipe not found in your group"}` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"recipeId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "expiresAt": "2000-01-01T00:00:00Z"}' http://0.0.0.0:32895/api/shared/recipes 2. Test Case ID: YPlA99 - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language: qipiOG]*"daQssv0ta-0@q,lp' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'O�D\x7fG^"d1\x15%[Ic�-��' http://0.0.0.0:32895/api/shared/recipes _______________________________ POST /api/units ________________________________ 1. Test Case ID: zJ3n8O - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"(sqlite3.IntegrityError) UNIQUE constraint failed: ingredient_units.name, ingredient_units.group_id\n[SQL: INSERT INTO ingredient_units (id, group_id, name, plural_name, description, abbreviation, plural_abbreviation, use_abbreviation, fraction, name_normalized, plural_name_normalized, abbreviation_normalized, plural_abbreviation_normalized, created_at, update_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]\n[parameters: // Output truncated...` Reproduce with: curl -X POST -H 'accept-language: null,null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "", "pluralName": null, "description": "", "extras": {}, "fraction": true, "abbreviation": "", "pluralAbbreviation": "", "useAbbreviation": false, "aliases": []}' http://0.0.0.0:32895/api/units 2. Test Case ID: fOfsHk - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"(sqlite3.IntegrityError) UNIQUE constraint failed: ingredient_units.name, ingredient_units.group_id\n[SQL: INSERT INTO ingredient_units (id, group_id, name, plural_name, description, abbreviation, plural_abbreviation, use_abbreviation, fraction, name_normalized, plural_name_normalized, abbreviation_normalized, plural_abbreviation_normalized, created_at, update_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]\n[parameters: // Output truncated...` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "", "pluralName": null, "description": "", "extras": {}, "fraction": true, "abbreviation": "", "pluralAbbreviation": "", "useAbbreviation": false, "aliases": []}' http://0.0.0.0:32895/api/units 3. Test Case ID: JsqE8e - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "", "pluralName": null, "description": "", "extras": [null, null], "fraction": true, "abbreviation": "", "pluralAbbreviation": "", "useAbbreviation": false, "aliases": []}' http://0.0.0.0:32895/api/units 4. Test Case ID: zLkEfS - 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 - violates `type` at /properties/extras/anyOf/0 (was object, became string) [201] Created: `{"id":"00eb95b5-02a5-4468-9ac4-044dd35cbce3","name":"򟆍򣊊÷õ񎮜Ž6•\u001eI󬊳`񚤐a","pluralName":null,"description":"","extras":{},"fraction":true,"abbreviation":"","pluralAbbreviation":"","useAbbreviation":false,"aliases":[],"createdAt":"2026-10-07T02:06:52.479089Z","updatedAt":"2026-10-07T02:06:52.479091Z"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"lo\u00bdI,\u009bm\u008e": {"\ud9e0\udcc1\uda22\udde02\u00f2": {}, "\udacc\ude52": {}, "\udb0b\uddcac\u0098\u00f1\u00fe\u00ff": {"VF": -1.1589450143274856e+16, "^\uda14\udee9\u00b0D\u00bc": null, "\ud812\udd52\u0003\u00b18\u00a5\u00c3>": 5.678904577104863e+16}}, "": {"\u0017\u0010\ud84a\udec3\u00e3": true, "\u00aa\u00d4t\u00e9 \u00d3\u00c1\u00870\u00f4\ud9a0\udcc7\u00d4\u0096\u00c8\u00ce\u00e9z>\udb26\udf06\ud873\udd520M": [{}]}, "\u00f6\ud819\udf6f\u0091\u00ddm\"\u00e3\udac7\udc5c?": [], "useAbbreviation": false, "description": "", "name": "\uda3c\udd8d\uda4c\ude8a\u00f7\u00f5\ud8fa\udf9c\u008e6\u0095\u001eI\udb70\udeb3`\ud92a\udd10a", "extras": ""}' http://0.0.0.0:32895/api/units ____________________________ POST /api/units/merge _____________________________ 1. Test Case ID: WNnOQ8 - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"fromUnit": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "toUnit": "e3e70682-c209-4cac-a29f-6fbed82c07cd"}' http://0.0.0.0:32895/api/units/merge __________________________ POST /api/units/{item_id} ___________________________ 1. Test Case ID: Kp1jkQ - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "", "pluralName": null, "description": "", "extras": {}, "fraction": true, "abbreviation": "", "pluralAbbreviation": "", "useAbbreviation": false, "aliases": []}' http://0.0.0.0:32895/api/units/e192ba7b-ddce-4c96-b8bc-895a3d2ef19d __________________________ POST /api/users/api-tokens __________________________ 1. Test Case ID: OaghxQ - 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 `accept-language` in header - incorrect type [201] Created: `{"name":"","id":3,"createdAt":null,"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb25nX3Rva2VuIjp0cnVlLCJpZCI6ImU2MmNjZmE4LTE5ZTAtNDg5OS1iMTMwLTMzODBjMGQwZThlYyIsIm5hbWUiOiIiLCJpbnRlZ3JhdGlvbl9pZCI6ImdlbmVyaWMiLCJleHAiOjE5NDkwMTg2Nzd9.TQFYqCNsusSbAP_fY8DW2xkDh0e5L2Trt3_fIDbFuwg"}` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "integrationId": "generic"}' http://0.0.0.0:32895/api/users/api-tokens _______________________ POST /api/users/forgot-password ________________________ 1. Test Case ID: oatqKW - 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 `accept-language` in header - incorrect type [200] OK: `null` Reproduce with: curl -X POST -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"email": ""}' http://0.0.0.0:32895/api/users/forgot-password ___________________________ POST /api/users/register ___________________________ 1. Test Case ID: NLGkVX - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"value_error","loc":["body","groupToken"],"msg":"Value error, group or group_token must be provided","input":null,"ctx":{"error":{}}}]}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Content-Type: application/json' -d '{"group": null, "household": null, "groupToken": null, "email": "", "username": "", "fullName": "", "password": "", "passwordConfirm": "", "advanced": false, "private": false, "seedData": false, "locale": "en-US"}' http://0.0.0.0:32895/api/users/register 2. Test Case ID: GBkNS4 - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'accept-language;' -H 'Content-Type: application/json' -d '{"group": {}, "household": null, "groupToken": null, "email": "", "username": "", "fullName": "", "password": "", "passwordConfirm": "", "advanced": false, "private": false, "seedData": false, "locale": "en-US"}' http://0.0.0.0:32895/api/users/register 3. Test Case ID: LWrDhA - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'ᱸ�\x0fz��S�\x01' http://0.0.0.0:32895/api/users/register _____________________________ POST /api/users/self _____________________________ 1. Test Case ID: MCZika - Unsupported methods POST returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/users/self ___________________ POST /api/users/self/ratings/{recipe_id} ___________________ 1. Test Case ID: VVdPWf - Unsupported methods Unsupported method POST returned 422, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [422] Unprocessable Content: `{"detail":[{"type":"uuid_parsing","loc":["path","id"],"msg":"Input should be a valid UUID, invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `s` at 1","input":"self","ctx":{"error":"invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `s` at 1"}},{"type":"missing","loc":["body"],"msg":"Field required","input":null}]}` Reproduce with: curl -X POST -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/users/self/ratings/e3e70682-c209-4cac-a29f-6fbed82c07cd ____________________ POST /api/users/{id}/favorites/{slug} _____________________ 1. Test Case ID: ctx4zG - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"Not found.","error":true,"exception":null}}` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/users/e62ccfa8-19e0-4899-b130-3380c0d0e8ec/favorites/0 2. Test Case ID: cYV2W6 - Undocumented HTTP status code Received: 403 Documented: 200, 422 [403] Forbidden: `{"detail":{"message":"Use the Admin API to update other users","error":true,"exception":null}}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/users/e3e70682-c209-4cac-a29f-6fbed82c07cd/favorites/mealie-2026-10-07-02-04-22-zip __________________________ POST /api/users/{id}/image __________________________ 1. Test Case ID: ZHZLQb - Undocumented HTTP status code Received: 403 Documented: 200, 422 [403] Forbidden: `{"detail":{"message":"Use the Admin API to update other users","error":true,"exception":null}}` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=3e65cdac9efd630702803cc002fd9c4e' -d $'--3e65cdac9efd630702803cc002fd9c4e\r\nContent-Disposition: form-data; name="profile"; filename="profile.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--3e65cdac9efd630702803cc002fd9c4e--\r\n' http://0.0.0.0:32895/api/users/e3e70682-c209-4cac-a29f-6fbed82c07cd/image _____________________ POST /api/users/{id}/ratings/{slug} ______________________ 1. Test Case ID: trn5CZ - Undocumented HTTP status code Received: 403 Documented: 200, 422 [403] Forbidden: `{"detail":{"message":"Use the Admin API to update other users","error":true,"exception":null}}` Reproduce with: curl -X POST -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"rating": null, "isFavorite": null}' http://0.0.0.0:32895/api/users/e3e70682-c209-4cac-a29f-6fbed82c07cd/ratings/0 2. Test Case ID: CBetB7 - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '�' http://0.0.0.0:32895/api/users/e3e70682-c209-4cac-a29f-6fbed82c07cd/ratings/p _____________________________ PUT /api/admin/about _____________________________ 1. Test Case ID: oe8fzX - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/about __________________________ PUT /api/admin/about/check __________________________ 1. Test Case ID: SnSrHr - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/about/check _______________________ PUT /api/admin/about/statistics ________________________ 1. Test Case ID: bRi0HX - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/about/statistics ____________________________ PUT /api/admin/backups ____________________________ 1. Test Case ID: 0vbiSB - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/backups ________________________ PUT /api/admin/backups/upload _________________________ 1. Test Case ID: wwflnw - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=42345508c2c9cdec5a6e17517d582eec' -d $'--42345508c2c9cdec5a6e17517d582eec\r\nContent-Disposition: form-data; name="archive"; filename="archive.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--42345508c2c9cdec5a6e17517d582eec--\r\n' http://0.0.0.0:32895/api/admin/backups/upload ______________________ PUT /api/admin/backups/{file_name} ______________________ 1. Test Case ID: ayMse3 - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/backups/mealie_2026.10.07.02.04.23.zip _________________________ PUT /api/admin/debug/openai __________________________ 1. Test Case ID: dQDDJK - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=180519655ca0d978ea83c14a9c0f4eaf' -d $'--180519655ca0d978ea83c14a9c0f4eaf\r\nContent-Disposition: form-data; name="image"\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--180519655ca0d978ea83c14a9c0f4eaf--\r\n' http://0.0.0.0:32895/api/admin/debug/openai _____________________________ PUT /api/admin/email _____________________________ 1. Test Case ID: cZqOE1 - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"email": ""}' http://0.0.0.0:32895/api/admin/email ____________________________ PUT /api/admin/groups _____________________________ 1. Test Case ID: 9SqLBD - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "0"}' http://0.0.0.0:32895/api/admin/groups _______________________ PUT /api/admin/groups/{item_id} ________________________ 1. Test Case ID: eg5RVj - 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 `accept-language` in header - incorrect type [200] OK: `{"name":"0","id":"c0dc8916-2912-402b-a734-eb1f9f7b615b","slug":"0","categories":[],"webhooks":[],"households":[{"id":"3954a6d8-7b88-4d77-b788-85c3e8fc2308","name":"Family"}],"users":[],"preferences":{"privateGroup":true,"groupId":"c0dc8916-2912-402b-a734-eb1f9f7b615b","id":"08eb30a2-ea03-4d5e-b20b-1babd1d9f4dc"}}` Reproduce with: curl -X PUT -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "", "preferences": null}' http://0.0.0.0:32895/api/admin/groups/c0dc8916-2912-402b-a734-eb1f9f7b615b 2. Test Case ID: E9DPLO - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "f728b4fa-4248-4e3a-8a5d-2f346baa9455", "name": "p (2)"}' http://0.0.0.0:32895/api/admin/groups/7e58e107-c4a0-4a9c-a73b-38fbc5015fd5 __________________________ PUT /api/admin/households ___________________________ 1. Test Case ID: K2dK96 - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"groupId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "0"}' http://0.0.0.0:32895/api/admin/households _____________________ PUT /api/admin/households/{item_id} ______________________ 1. Test Case ID: 1mBnKs - Response violates schema "00:00:00" is not a "time" Validated against the response schema for status code 200. Schema at /components/schemas/ReadWebhook/properties/scheduledTime: { "format": "time", "type": "string", "title": "Scheduledtime" } Value: "00:00:00" [200] OK: `{"groupId":"d5b9c48b-36c3-4b47-972f-d811103a0238","name":"0","id":"b5565c3b-eda9-4914-9c6c-7f51dc1668be","slug":"0","preferences":{"privateHousehold":true,"lockRecipeEditsFromOtherHouseholds":true,"firstDayOfWeek":0,"recipePublic":true,"recipeShowNutrition":false,"recipeShowAssets":false,"recipeLandscapeView":false,"recipeDisableComments":false,"id":"9bb0d02d-5d45-4ba7-9db4-95afdf2f47c3"},"group":"Home","users":[{"id":"e62ccfa8-19e0-4899-b130-3380c0d0e8ec","fullName":"Change Me"},{"id":"e3e70682-c209-4cac-a // Output truncated...` Reproduce with: curl -X PUT -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"groupId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "0", "id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "preferences": null}' http://0.0.0.0:32895/api/admin/households/b5565c3b-eda9-4914-9c6c-7f51dc1668be 2. Test Case ID: t8nXnX - 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 `accept-language` in header - incorrect type [200] OK: `{"groupId":"d5b9c48b-36c3-4b47-972f-d811103a0238","name":"0","id":"b5565c3b-eda9-4914-9c6c-7f51dc1668be","slug":"0","preferences":{"privateHousehold":true,"lockRecipeEditsFromOtherHouseholds":true,"firstDayOfWeek":0,"recipePublic":true,"recipeShowNutrition":false,"recipeShowAssets":false,"recipeLandscapeView":false,"recipeDisableComments":false,"id":"9bb0d02d-5d45-4ba7-9db4-95afdf2f47c3"},"group":"Home","users":[{"id":"e62ccfa8-19e0-4899-b130-3380c0d0e8ec","fullName":"Change Me"},{"id":"e3e70682-c209-4cac-a // Output truncated...` Reproduce with: curl -X PUT -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"groupId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "0", "id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "preferences": null}' http://0.0.0.0:32895/api/admin/households/b5565c3b-eda9-4914-9c6c-7f51dc1668be 3. Test Case ID: 5T6XNx - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"groupId": "f728b4fa-4248-4e3a-8a5d-2f346baa9455", "id": "eb1167b3-67a9-4378-bc65-c1e582e2e662", "name": "p (7)"}' http://0.0.0.0:32895/api/admin/households/e3e70682-c209-4cac-a29f-6fbed82c07cd 4. Test Case ID: kJbvSu - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X PUT -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '�T' http://0.0.0.0:32895/api/admin/households/446f3585-7ae1-41a1-9139-c0b2482f6156 __________________________ PUT /api/admin/maintenance __________________________ 1. Test Case ID: ytgWa0 - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/maintenance ___________________ PUT /api/admin/maintenance/clean/images ____________________ 1. Test Case ID: Iv00k8 - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/maintenance/clean/images _______________ PUT /api/admin/maintenance/clean/recipe-folders ________________ 1. Test Case ID: 0bKrxN - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/maintenance/clean/recipe-folders ____________________ PUT /api/admin/maintenance/clean/temp _____________________ 1. Test Case ID: 5B3KNZ - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/maintenance/clean/temp ______________________ PUT /api/admin/maintenance/storage ______________________ 1. Test Case ID: EWuPbl - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/maintenance/storage _____________________________ PUT /api/admin/users _____________________________ 1. Test Case ID: 1SeTtO - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/admin/users?orderBy=&orderByNullPosition=first&orderDirection=asc&queryFilter=&paginationSeed=&page=1&perPage=50' _________________________ PUT /api/admin/users/unlock __________________________ 1. Test Case ID: oUtWwd - Unsupported methods Unsupported method PUT returned 422, expected 405 Method Not Allowed Return 405 for methods not listed in the OpenAPI spec [422] Unprocessable Content: `{"detail":[{"type":"uuid_parsing","loc":["path","item_id"],"msg":"Input should be a valid UUID, invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `u` at 1","input":"unlock","ctx":{"error":"invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `u` at 1"}},{"type":"missing","loc":["body"],"msg":"Field required","input":null}]}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/admin/users/unlock?force=true' ______________________________ PUT /api/app/about ______________________________ 1. Test Case ID: i7sVHi - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT http://0.0.0.0:32895/api/app/about _______________________ PUT /api/app/about/startup-info ________________________ 1. Test Case ID: nS1c9P - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT http://0.0.0.0:32895/api/app/about/startup-info ___________________________ PUT /api/app/about/theme ___________________________ 1. Test Case ID: tsz9qO - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT http://0.0.0.0:32895/api/app/about/theme _____________________________ PUT /api/auth/oauth ______________________________ 1. Test Case ID: hxQEQh - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT http://0.0.0.0:32895/api/auth/oauth _________________________ PUT /api/auth/oauth/callback _________________________ 1. Test Case ID: eIv5tu - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT http://0.0.0.0:32895/api/auth/oauth/callback ____________________________ PUT /api/auth/refresh _____________________________ 1. Test Case ID: uxKglR - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/auth/refresh ______________________________ PUT /api/comments _______________________________ 1. Test Case ID: GanM7O - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/comments?orderBy=&orderByNullPosition=first&orderDirection=asc&queryFilter=&paginationSeed=&page=1&perPage=50' _________________________ PUT /api/comments/{item_id} __________________________ 1. Test Case ID: PNMsPD - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X PUT -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "47029026-b845-44d1-a263-b5a0fed3f063", "text": ""}' http://0.0.0.0:32895/api/comments/47029026-b845-44d1-a263-b5a0fed3f063 ________________ PUT /api/explore/groups/{group_slug}/cookbooks ________________ 1. Test Case ID: BIQVC4 - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' 'http://0.0.0.0:32895/api/explore/groups/home/cookbooks?search=&orderBy=&orderByNullPosition=first&orderDirection=asc&queryFilter=&paginationSeed=&page=1&perPage=50' ___________ PUT /api/explore/groups/{group_slug}/cookbooks/{item_id} ___________ 1. Test Case ID: kKyy25 - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' http://0.0.0.0:32895/api/explore/groups/home/cookbooks/e3e70682-c209-4cac-a29f-6fbed82c07cd __________________ PUT /api/explore/groups/{group_slug}/foods __________________ 1. Test Case ID: whJIoS - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' 'http://0.0.0.0:32895/api/explore/groups/home/foods?search=&orderBy=&orderByNullPosition=first&orderDirection=asc&queryFilter=&paginationSeed=&page=1&perPage=50' _____________ PUT /api/explore/groups/{group_slug}/foods/{item_id} _____________ 1. Test Case ID: YUfpiM - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' http://0.0.0.0:32895/api/explore/groups/home/foods/e3e70682-c209-4cac-a29f-6fbed82c07cd _______________ PUT /api/explore/groups/{group_slug}/households ________________ 1. Test Case ID: Rd5yX4 - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' 'http://0.0.0.0:32895/api/explore/groups/home/households?orderBy=&orderByNullPosition=first&orderDirection=asc&queryFilter=&paginationSeed=&page=1&perPage=50' _______ PUT /api/explore/groups/{group_slug}/households/{household_slug} _______ 1. Test Case ID: guaZtO - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' http://0.0.0.0:32895/api/explore/groups/home/households/0 __________ PUT /api/explore/groups/{group_slug}/organizers/categories __________ 1. Test Case ID: 0LdNNE - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' 'http://0.0.0.0:32895/api/explore/groups/home/organizers/categories?search=&orderBy=&orderByNullPosition=first&orderDirection=asc&queryFilter=&paginationSeed=&page=1&perPage=50' _____ PUT /api/explore/groups/{group_slug}/organizers/categories/{item_id} _____ 1. Test Case ID: yrncpv - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' http://0.0.0.0:32895/api/explore/groups/home/organizers/categories/e3e70682-c209-4cac-a29f-6fbed82c07cd _____________ PUT /api/explore/groups/{group_slug}/organizers/tags _____________ 1. Test Case ID: Ix1njX - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' 'http://0.0.0.0:32895/api/explore/groups/home/organizers/tags?search=&orderBy=&orderByNullPosition=first&orderDirection=asc&queryFilter=&paginationSeed=&page=1&perPage=50' ________ PUT /api/explore/groups/{group_slug}/organizers/tags/{item_id} ________ 1. Test Case ID: nRQeZl - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' http://0.0.0.0:32895/api/explore/groups/home/organizers/tags/e3e70682-c209-4cac-a29f-6fbed82c07cd ____________ PUT /api/explore/groups/{group_slug}/organizers/tools _____________ 1. Test Case ID: 9gSDmH - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' 'http://0.0.0.0:32895/api/explore/groups/home/organizers/tools?search=&orderBy=&orderByNullPosition=first&orderDirection=asc&queryFilter=&paginationSeed=&page=1&perPage=50' _______ PUT /api/explore/groups/{group_slug}/organizers/tools/{item_id} ________ 1. Test Case ID: 8R19L6 - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' http://0.0.0.0:32895/api/explore/groups/home/organizers/tools/6f40500f-a428-4d0f-ba2a-8a4ee8d6af40 _________________ PUT /api/explore/groups/{group_slug}/recipes _________________ 1. Test Case ID: J6KaxG - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' 'http://0.0.0.0:32895/api/explore/groups/home/recipes?categories=e3e70682-c209-4cac-a29f-6fbed82c07cd&tags=e3e70682-c209-4cac-a29f-6fbed82c07cd&tools=e3e70682-c209-4cac-a29f-6fbed82c07cd&foods=e3e70682-c209-4cac-a29f-6fbed82c07cd&households=e3e70682-c209-4cac-a29f-6fbed82c07cd&orderBy=&orderByNullPosition=first&orderDirection=asc&queryFilter=&paginationSeed=&page=1&perPage=50&cookbook=e3e70682-c209-4cac-a29f-6fbed82c07cd&requireAllCategories=true&requireAllTags=true&requireAllTools=true&requireAllFoods=true&search=' ___________ PUT /api/explore/groups/{group_slug}/recipes/suggestions ___________ 1. Test Case ID: jIqL4c - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' 'http://0.0.0.0:32895/api/explore/groups/home/recipes/suggestions?foods=e3e70682-c209-4cac-a29f-6fbed82c07cd&tools=e3e70682-c209-4cac-a29f-6fbed82c07cd&orderBy=&orderByNullPosition=first&orderDirection=asc&queryFilter=&paginationSeed=&limit=10&maxMissingFoods=5&maxMissingTools=5&includeFoodsOnHand=true&includeToolsOnHand=true' __________ PUT /api/explore/groups/{group_slug}/recipes/{recipe_slug} __________ 1. Test Case ID: 1O9le9 - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' http://0.0.0.0:32895/api/explore/groups/home/recipes/0 ________________________________ PUT /api/foods ________________________________ 1. Test Case ID: SsgLLR - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "", "pluralName": null, "description": "", "extras": {}, "labelId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "aliases": [], "householdsWithIngredientFood": []}' http://0.0.0.0:32895/api/foods _____________________________ PUT /api/foods/merge _____________________________ 1. Test Case ID: H7TJBN - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `{"detail":"Failed to merge foods"}` Reproduce with: curl -X PUT -H 'accept-language: null,null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"fromFood": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "toFood": "e3e70682-c209-4cac-a29f-6fbed82c07cd"}' http://0.0.0.0:32895/api/foods/merge 2. Test Case ID: NKtHvs - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X PUT -H 'accept-language: 0'"'"'' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '%�' http://0.0.0.0:32895/api/foods/merge ___________________________ PUT /api/foods/{item_id} ___________________________ 1. Test Case ID: Nt4O02 - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"Not found.","error":true,"exception":null}}` Reproduce with: curl -X PUT -H 'accept-language: {}' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "", "pluralName": null, "description": "", "extras": {}, "labelId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "aliases": [], "householdsWithIngredientFood": []}' http://0.0.0.0:32895/api/foods/e3e70682-c209-4cac-a29f-6fbed82c07cd 2. Test Case ID: O2eeyw - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "name": "", "pluralName": null, "description": "", "extras": [null, null], "labelId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "aliases": [], "householdsWithIngredientFood": []}' http://0.0.0.0:32895/api/foods/e3e70682-c209-4cac-a29f-6fbed82c07cd 3. Test Case ID: m9u8Lu - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"(sqlite3.IntegrityError) NOT NULL constraint failed: ingredient_foods.id\n[SQL: UPDATE ingredient_foods SET id=?, name=?, name_normalized=?, update_at=? WHERE ingredient_foods.id = ?]\n[parameters: (None, '\\x01UÞX\\U00014876Øðq4âI', '\\x01uthxodq4ai', '2026-10-07 02:09:33.999839', '7720a2c16a3d48de93d79212d216a63a')]\n(Background on this error at: https://sqlalche.me/e/20/gkpj)"}}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "\u0001U\u00deX\ud812\udc76\u00d8\u00f0q4\u00e2I"}' http://0.0.0.0:32895/api/foods/7720a2c1-6a3d-48de-93d7-9212d216a63a __________________________ PUT /api/groups/households __________________________ 1. Test Case ID: Mg5OEu - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/groups/households?orderBy=&orderByNullPosition=first&orderDirection=asc&queryFilter=&paginationSeed=&page=1&perPage=50' _________________ PUT /api/groups/households/{household_slug} __________________ 1. Test Case ID: noMjgM - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/groups/households/0 ____________________________ PUT /api/groups/labels ____________________________ 1. Test Case ID: PY302A - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "color": "#959595"}' http://0.0.0.0:32895/api/groups/labels _______________________ PUT /api/groups/labels/{item_id} _______________________ 1. Test Case ID: vwDU6G - 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 `accept-language` in header - incorrect type [200] OK: `{"name":"","color":"#959595","groupId":"d5b9c48b-36c3-4b47-972f-d811103a0238","id":"1d04af22-765d-44a7-8c47-a41c9db550fe"}` Reproduce with: curl -X PUT -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "", "color": "#959595", "groupId": "d5b9c48b-36c3-4b47-972f-d811103a0238", "id": "1d04af22-765d-44a7-8c47-a41c9db550fe"}' http://0.0.0.0:32895/api/groups/labels/1d04af22-765d-44a7-8c47-a41c9db550fe 2. Test Case ID: BMmoVJ - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"Not found.","error":true,"exception":null}}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"groupId": "d5b9c48b-36c3-4b47-972f-d811103a0238", "id": "eb1167b3-67a9-4378-bc65-c1e582e2e662", "name": "\u009fF\udb8a\ude8d\ud8d4\udf6e"}' http://0.0.0.0:32895/api/groups/labels/e3e70682-c209-4cac-a29f-6fbed82c07cd 3. Test Case ID: 7l9tEy - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'�z�\x14�\x01\x0c�L�Q\x1a' http://0.0.0.0:32895/api/groups/labels/676c6b98-d062-4707-b15d-8540a598179d ___________________________ PUT /api/groups/members ____________________________ 1. Test Case ID: Gqxz1G - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/groups/members?orderBy=&orderByNullPosition=first&orderDirection=asc&queryFilter=&paginationSeed=&page=1&perPage=50' ___________________ PUT /api/groups/members/{username_or_id} ___________________ 1. Test Case ID: OASZFM - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/groups/members/0 __________________________ PUT /api/groups/migrations __________________________ 1. Test Case ID: 4hDbsF - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=cf7d1f732906d84cf48cf4c1be287a73' -d $'--cf7d1f732906d84cf48cf4c1be287a73\r\nContent-Disposition: form-data; name="add_migration_tag"\r\n\r\nfalse\r\n--cf7d1f732906d84cf48cf4c1be287a73\r\nContent-Disposition: form-data; name="migration_type"\r\n\r\nnextcloud\r\n--cf7d1f732906d84cf48cf4c1be287a73\r\nContent-Disposition: form-data; name="archive"\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--cf7d1f732906d84cf48cf4c1be287a73--\r\n' http://0.0.0.0:32895/api/groups/migrations _________________________ PUT /api/groups/preferences __________________________ 1. Test Case ID: hXMH7Q - 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 `accept-language` in header - incorrect type [200] OK: `{"privateGroup":true,"groupId":"d5b9c48b-36c3-4b47-972f-d811103a0238","id":"b98cd880-e602-4d76-adc0-86618bbc6718"}` Reproduce with: curl -X PUT -H 'accept-language: true' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"privateGroup": true}' http://0.0.0.0:32895/api/groups/preferences 2. Test Case ID: a6I6aR - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '�w' http://0.0.0.0:32895/api/groups/preferences ___________________________ PUT /api/groups/reports ____________________________ 1. Test Case ID: rSFzxq - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/groups/reports?report_type=backup' ______________________ PUT /api/groups/reports/{item_id} _______________________ 1. Test Case ID: mZZVrh - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/groups/reports/e3e70682-c209-4cac-a29f-6fbed82c07cd ________________________ PUT /api/groups/seeders/foods _________________________ 1. Test Case ID: gZiHOh - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"locale": ""}' http://0.0.0.0:32895/api/groups/seeders/foods ________________________ PUT /api/groups/seeders/labels ________________________ 1. Test Case ID: lVjFOt - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"locale": ""}' http://0.0.0.0:32895/api/groups/seeders/labels ________________________ PUT /api/groups/seeders/units _________________________ 1. Test Case ID: s0EGNQ - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"locale": ""}' http://0.0.0.0:32895/api/groups/seeders/units _____________________________ PUT /api/groups/self _____________________________ 1. Test Case ID: hjFITP - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/groups/self ___________________________ PUT /api/groups/storage ____________________________ 1. Test Case ID: 84XTv0 - Unsupported methods PUT returned 405 without required `Allow` header Add `Allow` header listing supported methods (required by RFC 9110) [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X PUT -H 'accept-language;' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/groups/storage ________________________ PUT /api/households/cookbooks _________________________ 1. Test Case ID: Qilz8C - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"value_error","loc":["body",0,"name"],"msg":"Value error, Name cannot be empty","input":"","ctx":{"error":{}}}]}` Reproduce with: curl -X PUT -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '[{"name": "", "description": "", "slug": null, "position": 1, "public": false, "queryFilterString": "", "groupId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "householdId": "e3e70682-c209-4cac-a29f-6fbed82c07cd", "id": "e3e70682-c209-4cac-a29f-6fbed82c07cd"}]' http://0.0.0.0:32895/api/households/cookbooks 2. Test Case ID: 3gTWGd - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '[{"position": -21803, "id": "89df2cda-aa36-4c13-bf4f-944187cd74d6", "groupId": "179d70d0-7530-45ee-8c0f-62464f8359cf", "queryFilterString": "+\udbd9\udf5c!^\u001b\u009a\ud8b0\udc10d\u0094\u00d1b\u00d5\u001b", "householdId": "f32eb26a-7c18-4cab-a21e-188e53aaa95e", "name": "\ud90d\udf9c\ud9c0\udea2\u00e0(\u00efT\u00aa\u008e\u00d2yGK\u00a6\u00b4\udb5b\udc21\u00db"}, {"\u00cds": [{"k\u000b\u0082\u00b5k": null, "\u008d\ud9cd\udc76\u009d\u0016\u008f": "\ud977\udd35\udba1\udc06"}, [true, null], []], "\udafe\udf9b\u00cc\u00d5E\u0089\u008b\ub202": [["", -170990407571], {"Default value": "\u00c0"}], "slug": null, "groupId": "0d937aa6-3062-4f0d-bc7e-0ef6e1eaca6e", "id": "e0eadc19-cc92-4fce-935d-9eed6e6f1b50", "householdId": "18ce8b58-0841-4210-9003-fdde7675a350", "name": "components", "public": false, "queryFilterString": "", "description": "", "position": 8788078796948}, {"public": false, "slug": null, "id": "45596cd7-9bed-47a7-9734-a764bf3ac60c", "householdId": "8b50b87d-68a1-4d1b-8096-0957515b3a24", "position": 21235, "name": "\ud98c\udce0", "groupId": "9a0f9745-9a0b-485f-a23c-8cae14b02c85", "queryFilterString": "y\ud95a\udcf1y\u0002\udaea\udddb\u00d1", "description": "z\udaaf\ude95\u00f3\ud8dc\udd94\u9639"}, {"public": false, "name": "Vk\u00af\u00fb\u008a", "queryFilterString": "\ud98f\udf1b\u00c1", "description": "\u001d\u0082\u00ef\u00be\u0099^\u0096B", "position": -255006, "householdId": "026d0ff5-8b50-426a-9454-2a1c65741762", "id": "e7b4eec3-8ce9-40d3-a31d-15a2ed8e0359", "groupId": "eefc950c-a964-4594-a211-f94024d2954b", "slug": ""}, {"\ud9a8\ude41\u008c\u00e1\u00ab\u00da\u00d5\u00cb\u00eeb\u00d9\ud97f\udf72X": {}, "9": [-3.1141323939685825e-191, false], "\uda8d\udf68\u0091\u008f\u00f1\u008a\udb43\ude4f\u00ea^|\u001f\u00ae\udb4a\udd2c2X\ud89c\ude05": [{"jo\u00ab5\u00b3\u00fa\u00f7\u00c1": false, "\u00d8<\ud8da\ude90X\u00da\udbbb\udd7cm\u00d7": false, "\u00e97": "\u00ad\u0006\uda2e\udce8\u0087"}, {}, {"\u00d0\uf77c": "\u0004\n\u00d1\u0087", "\u00cbe\u0010]\uda8d\uddb0d\u0017-\u00d6\u009f\uda72\udf00\u00d0\u00ba\u0097A\u00a2\u00ef\u00b5\u00da\u0005\u00a7\u00c1^\uda43\udd38\udb08\uddaa\u008d\u00cd\u00e9": false}], "": [], "\u00c8": [-3292842897385], "position": 54788, "groupId": "a1089c19-2d89-494f-b7d6-ff280b5af896", "name": "\u0081", "householdId": "06929eff-949d-468b-a6cd-8df6c763bef8", "description": "", "id": "87b716c2-cb4d-43cd-bbc2-e249c2c1bc4a"}, {"slug": "\u00f2%)\u00f0g\u008d\u001b", "householdId": "42fd238e-d91e-481c-9200-2bf99f713f85", "name": "", "groupId": "29a464d6-30d8-4345-886d-e59383d49242", "id": "043dbf9a-96ff-4b5b-931c-11313a2873e7", "public": true, "description": "\u00e6\u00be\u00c6\ud817\udebc\u00f1", "position": -6540337206862, "queryFilterString": "\ud87f\udcc7P"}, {"\u00cefs\u00e9\u00f23\u0c32\udb1b\udc30\u00f7Lx\u00fc\u00c3\u00f7\udb43\udc03\udac4\udd36\ud8de\udc69": "]\ub5c2", "\ud815\udd4b\uda03\udd60": {}, "\u00c4c\ud9d0\udd51\u00ba\u00b7\u008dg\u00d5J\u00f4\u00a4\u00a4c\u2134\uda47\udf58\ud8c6\ude10": {}, "id": "68b95bd0-ce4e-4c93-9aea-84debc087a93", "groupId": "56b3e076-5b48-4d77-be61-a3897862871c", "queryFilterString": " Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/users/self/favorites curl -X GET http://0.0.0.0:32895/api/media/recipes/563903cd-51ae-4829-bbc3-f15a166a59ac/images/min-original.webp 10. Test Case ID: rL2mgb - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 1 additional property not defined in the schema (`Þ`). The server likely rejects unexpected fields. Add `additionalProperties: false` to your schema to prevent this. [422] Unprocessable Content: `{"detail":[{"type":"uuid_version","loc":["body","recipeId"],"msg":"UUID version 4 expected","input":"bc54f985-4b6e-20e0-9df7-ac05243a9c39","ctx":{"expected_version":4}}]}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u00de": {"w_": -1.1125369292536007e-308, "\u3fb3": null, "\u00ba\u00da\u0082\u0016\u00c8\ud9d9\udc5d": 6377}, "text": "\udae7\udd69B^\u00cd\u0019\ud871\ude1e\u000f\u00f7\udb48\udee9", "recipeId": "bc54f985-4b6e-20e0-9df7-ac05243a9c39"}' http://0.0.0.0:32895/api/comments 11. Test Case ID: 1vrZ62 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":"Invalid order_by statement \"Ú𿅚󞬑š\"\": \"Ú𿅚󞬑š\"\" is invalid"}` Reproduce with: curl -X GET -H 'accept-language;' -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/organizers/categories?search=%F1%BA%AF%90%C2%95%C3%9C%C3%A7%F2%B0%87%8D%F0%98%AA%92e%C3%88%24%C2%87hy%3D%C3%80%C2%BE&orderDirection=desc&perPage=-1489&orderBy=%C3%9A%F0%BF%85%9A%F3%9E%AC%91%C2%9A%22&page=312' 12. Test Case ID: cAqsvf - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"uuid_version","loc":["path","item_id"],"msg":"UUID version 4 expected","input":"bc54f985-4b6e-20e0-9df7-ac05243a9c39","ctx":{"expected_version":4}}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"extras": null, "createdAt": "0137-10-12T06:33:50.119001-10:11"}' http://0.0.0.0:32895/api/households/shopping/lists curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/shared/recipes/bc54f985-4b6e-20e0-9df7-ac05243a9c39 13. Test Case ID: ndhwdm - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 3 additional properties not defined in the schema (`U©`, `{}T{}:{}:{}{}{}`, `ÿ9–ÑȊã`). The server likely rejects unexpected fields. Add `additionalProperties: false` to your schema to prevent this. [422] Unprocessable Content: `{"detail":[{"type":"uuid_version","loc":["body","recipeId"],"msg":"UUID version 4 expected","input":"bc54f985-4b6e-20e0-9df7-ac05243a9c39","ctx":{"expected_version":4}}]}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"{}T{}:{}:{}{}{}": {"\u00c8*": [null, "\u0014\u0012 \u0013"]}, "\u00ff\u00069\u0096\u00d1\u00c8\u008a\u00e3\u0006": {}, "U\u00a9": 1.6001183802888326e-203, "recipeId": "bc54f985-4b6e-20e0-9df7-ac05243a9c39", "expiresAt": "0403-04-20T10:05:59-14:25"}' http://0.0.0.0:32895/api/shared/recipes 14. Test Case ID: UVkkd5 - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/households/events/notifications?page=113&perPage=113988417856207631762417778688&queryFilter=G%C3%91%C2%BA&orderDirection=asc' 15. Test Case ID: rnkshe - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/households/mealplans?orderDirection=desc&page=59417&start_date=0271-11-11&perPage=6014911938186148612210163712&end_date=2026-10-07' 16. Test Case ID: H445jR - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/comments?perPage=-7884669748026510831882080354304' 17. Test Case ID: MeQUIE - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/admin/groups?perPage=2610518896752656941842432&paginationSeed=%C2%B9%C2%A4%F3%A2%AA%85&orderByNullPosition=last&orderDirection=asc' 18. Test Case ID: LZIGqW - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":"invalid attribute string: '¯ã򯔘”º򆲦jùç' does not exist on this schema"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/recipes?requireAllCategories=false&requireAllFoods=false&requireAllTools=false&perPage=202248&queryFilter=%C2%A0%1D%C2%AF%C3%A3%F2%AF%94%98%C2%94%C2%BA%F2%86%B2%A6j%C3%B9%C3%87%3E%1E%C2%A2%F0%95%84%BCU%C2%B5' 19. Test Case ID: 9d5Gtz - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X GET -H 'accept-language: null' -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/households/cookbooks?orderByNullPosition=last&page=328437&perPage=202983214291716614796607488' 20. Test Case ID: 6ReVOq - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X GET -H 'accept-language: null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/recipes/timeline/events 21. Test Case ID: 1Awg2T - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"1 validation error for ShoppingListOut\nrecipe_references.0.recipe\n Input should be a valid dictionary or object to extract fields from [type=model_attributes_type, input_value=None, input_type=NoneType]\n For further information visit https://errors.pydantic.dev/2.12/v/model_attributes_type"}}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/shopping/items curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/shopping/lists/6032029a-3c7d-46d2-bf05-06b6ec7fc0bf 22. Test Case ID: arJq16 - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": {}, "E\ud805\udd95\u009aG\u00dd\u00fa\u00e4\u0014\u00dc'"'"'\u00e3x\u00c2\u00a5\u00e8D'"'"'\u00ba\u009cF\u00f8\u00015\u008f\u00e6\u00c0\u0085\u00bc\u00c8\u00ad": [{}], "\udb3b\udf0e\u00849\u00de\u0015^\u00e5": {"+": 0.03, "\u00b4": false, "\u00b0\u009d\u0097\udbe3\udfc9\u00a2": "\udbea\udd44\u00cc\u0095"}, "\u0094": {"\udb3a\udd7b#A \u00dd*&": {"\u00fd2": "\u008f\u0018*\ud9d2\uddbf\u00da*\u00b5"}}, "%\u00a9>\u00ee\u00c78\u009dp\u00d6": null, "update_at": "2026-10-07T02:06:53.467508Z", "name": "\u00d8\ud91f\udc57\ud843\udc20\u0014t\udbd6\ude44\u00e2\u001a #3$4w\ud876\udce9\u00fc\u00db (1)"}' http://0.0.0.0:32895/api/households/shopping/lists curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\\�D��\x02\x12�Z�\x0c�s\x03\x00KU�-�\x12�-�m��' http://0.0.0.0:32895/api/households/shopping/lists/27dbd86b-b3c6-48dd-864a-43d0719c41a3/recipe/6c3b3e8d-d609-418f-a7d6-a82b08248958/delete 23. Test Case ID: 6JlYji - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/recipes/suggestions?limit=41144248986' 24. Test Case ID: KtD7Qb - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"uuid_version","loc":["path","recipe_id"],"msg":"UUID version 4 expected","input":"273188a8-cf54-31d4-af39-b9e277aca7de","ctx":{"expected_version":4}}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/households/mealplans?perPage=-119&orderByNullPosition=first' curl -X GET http://0.0.0.0:32895/api/media/recipes/273188a8-cf54-31d4-af39-b9e277aca7de/assets/%C2%B94%C2%88%C3%AE%F3%88%B1%A8%C2%BD%C3%ABR 25. Test Case ID: JrXZwP - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"uuid_version","loc":["path","item_id"],"msg":"UUID version 4 expected","input":"b241aaa5-59aa-24b6-ad5e-8cd67d6218fc","ctx":{"expected_version":4}}]}` Reproduce with: curl -X GET -H 'accept-language: k' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/mealplans curl -X DELETE -H 'accept-language: null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/shared/recipes/b241aaa5-59aa-24b6-ad5e-8cd67d6218fc 26. Test Case ID: U8ObXx - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"value_error","loc":["body","queryFilterString"],"msg":"Value error, invalid query string: parenthesis are unbalanced","input":"n򴤕&L(\u001b´,bÄ򒖼L","ctx":{"error":{}}}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"day": "unset", "entryType": "side", "queryFilterString": "n\uda92\udd15&L(\u001b\u00b4,b\u00c4\uda09\uddbcL"}' http://0.0.0.0:32895/api/households/mealplans/rules 27. Test Case ID: kyFX9O - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":{"message":"An unexpected error occurred","error":true,"exception":"No row was found when one was required"}}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": [], "slug": null, "position": 976, "queryFilterString": "g\ud863\udc94\u00b0i\udb7b\uddc7y\u001a", "name": "\u00be", "public": false, "description": ":\ud91a\udee28S"}' http://0.0.0.0:32895/api/households/cookbooks curl -X DELETE -H 'accept-language: eti[MH' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/households/cookbooks/9c231b7e-6274-4c37-8cb1-8697147715e8 28. Test Case ID: iXMMH4 - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X GET -H 'accept-language: pCoC^' -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/organizers/tags?page=19425275077748840789442560&perPage=496' 29. Test Case ID: Zya7uT - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/households/webhooks?perPage=98761577454446673920&queryFilter=%C3%A4%10' 30. Test Case ID: CNWN25 - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language: @(' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x13��\x10F' http://0.0.0.0:32895/api/households/webhooks 31. Test Case ID: YsbrAX - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 2 additional properties not defined in the schema (`user_id`, `񋜀`). The server likely rejects unexpected fields. Add `additionalProperties: false` to your schema to prevent this. [422] Unprocessable Content: `{"detail":[{"type":"uuid_type","loc":["body","user_id"],"msg":"UUID input should be a string, bytes or UUID object","input":true}]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\ud8ed\udf00": [], "user_id": true, "eventType": "info", "recipeId": "3610c0f1-860b-4f57-8855-0b5788040149", "subject": "Recipe Created"}' http://0.0.0.0:32895/api/recipes/timeline/events 32. Test Case ID: IKgqIk - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"MY9\u00a6\u00d92": false, "": [], "A\u00e4\u00bb\u008f\u00b7": [null, "undefined", null], "\udb6f\udee7\u00c8y\u00fc": false, "\fy": 1288, "name": "\u00b5\ud9a9\ude2f\u00de"}' http://0.0.0.0:32895/api/recipes curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '�k' http://0.0.0.0:32895/api/households/shopping/lists/6be6cb1c-b955-476f-9682-56385d4c9ec1/recipe/1eaf0741-24ac-440c-833c-275a4ecd91d5 33. Test Case ID: yxiRYW - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/households/members?paginationSeed=%F1%9D%83%9D%F1%A4%BC%8C%C2%A4&orderDirection=desc&page=2131270164222416257024&orderByNullPosition=first&perPage=1498' 34. Test Case ID: t8cGsw - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"uuid_parsing","loc":["path","recipe_id"],"msg":"Input should be a valid UUID, invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `N` at 1","input":"None","ctx":{"error":"invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `N` at 1"}}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/households/mealplans?paginationSeed=1%40&orderDirection=asc' curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d null http://0.0.0.0:32895/api/households/shopping/lists/5a22fe61-7002-4ae4-b15b-60d119bab3a4/recipe/None/delete 35. Test Case ID: gzkcoQ - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `{"detail":{"message":"Unknown Error","error":true,"exception":"ValidationError"}}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\ud9bf\udcf1\u00a0": [], "\u001b\u0094\udbfa\udc3b\u00b0\u00ae\ud8eb\uddd0\u00ce\u00cc": [[], {"mf\u00e8n]\u0002": {}}], "": [null, null, 1.603524848594034e+16], "g\u00e4\u00be\u00a1B\u00f1\u00fe\u00f5": "T\\d{2}:\\d{2}:\\d{2}$"}' http://0.0.0.0:32895/api/recipes/i-1-2-1-3/duplicate 36. Test Case ID: p9yebi - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"uuid_parsing","loc":["body","id"],"msg":"Input should be a valid UUID, invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `o` at 1","input":"oe-3-1-1-1-1","ctx":{"error":"invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `o` at 1"}},{"type":"uuid_parsing","loc":["body","groupId"],"msg":"Input should be a valid UUID, invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], // Output truncated...` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u00ca4:u?\u0007(A}\uda33\udf1c_<\ud903\udc77\u00e6#8": -2544, "": false, "3\ud8a4\udd97": [], "\u00d7\uda37\udd19<\u00b6\u0090\u0092\udb6d\udd4b\u009f\u00acu": [{"h\u00cb\u0084\u0097": ""}], "\u00d2\uda37\udc93\u0092\ud87c\udc84\ud95e\udf14\u00d56\ud927\udd9e\u00a3[": [{"\ud97a\udf5be\udbbf\udde5\u009c\u0016\u0001\uda80\udc8b": -172113, "\u0098\f": false, "B": false}], "name": "\\\u0092\uce60\udb18\udeac\uda48\udde2\u0084#\u0017/\udbf3\udcaa\u0013Z\f\udb87\udda9\u00f2\u00c2 (4)"}' http://0.0.0.0:32895/api/recipes curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\ud903\udfd5D\ud8bb\udc43": 4.536404808093372e+16, "\u0084\u00c3\u00be\u008e\ud88e\udfd8\uda5d\udce7\udba0\udeae\u00e3": ["\u00ed\ud9b9\udfe2\u009b#"], "recipe_scale": -4.611262245510591e-241}' http://0.0.0.0:32895/api/households/recipe-actions/f1f878e0-c0cd-4f9e-8c8a-d5d25795ad58/trigger/oe-3-1-1-1-1 curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"y\u00b1\ud9dd\udf70tX\u009a\u00b83\u009c\u0085\udb60\udc58\u001e\u0093\ud9ee\udfbd\u001f\u00c9\u00ad\u008f": {}, "": {"": "\u00dd"}, "COM1": {}, "\ud918\udeb9\ud889\udf90[\u00b5q6\ud8cc\udc1e\u0084": {"\u00cd\ud802\udc12": true, "\u0092e\u00ce\u00d5": null, "N\u00d6)\ud8f1\udf2eq\u00d9\u00cf\u00ff\u0097": -1927}, "E\ud8f9\ude56_\u00b3\udba6\udd02": {}, "id": "oe-3-1-1-1-1", "groupId": "oe-3-1-1-1-1"}' http://0.0.0.0:32895/api/recipes/oe-3-1-1-1-1 37. Test Case ID: lKeNum - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"enum","loc":["path","file_name"],"msg":"Input should be 'original.webp', 'min-original.webp' or 'tiny-original.webp'","input":"mealie_2026.10.07.02.18.12.zip","ctx":{"expected":"'original.webp', 'min-original.webp' or 'tiny-original.webp'"}}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/backups curl -X GET http://0.0.0.0:32895/api/media/recipes/4a646350-e316-498b-9ab9-531f79a52b88/images/mealie_2026.10.07.02.18.12.zip 38. Test Case ID: f0NnXm - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X GET -H 'accept-language: (' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/users/self curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=9cc651cd2c8d168349f50fede4c361ac' -d $'--9cc651cd2c8d168349f50fede4c361ac\r\nFalse--9cc651cd2c8d168349f50fede4c361ac--\r\n' http://0.0.0.0:32895/api/users/e62ccfa8-19e0-4899-b130-3380c0d0e8ec/image 39. Test Case ID: b4uscs - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X GET -H 'accept-language: null' -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/households/recipe-actions?perPage=-919765674&queryFilter=%C3%99%C2%9Ds&page=16642247065075029399644622119782842368' 40. Test Case ID: PLkkfo - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"uuid_version","loc":["path","recipe_id"],"msg":"UUID version 4 expected","input":"fe1b1434-3b10-5980-950c-aef9618a9261","ctx":{"expected_version":4}}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/households/mealplans?start_date=0183-04-05' curl -X POST -H 'accept-language: RfFAe' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d null http://0.0.0.0:32895/api/households/shopping/lists/dd6e5d9d-08e2-42f7-8620-e48c3e6359df/recipe/fe1b1434-3b10-5980-950c-aef9618a9261 41. Test Case ID: 3AWppm - 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 - violates `type` at /properties/recipe_scale (was number, became boolean) [202] Accepted: `null` Reproduce with: curl -X POST -H 'accept-language: k)})-8mXYM' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\ud8ee\udfed\u001c\udb65\udcc4\u0014h\u00b88\ud9ad\ude03\u00cd\u001d\u00df": [3.1085397006651093e+225, [1345, true]], "^\u00b8\ud895\udc40": [{"c": 10540481224}, false, []], "\uba95": [null], "recipe_scale": true}' http://0.0.0.0:32895/api/households/recipe-actions/f1f878e0-c0cd-4f9e-8c8a-d5d25795ad58/trigger/rrdu-1-2 42. Test Case ID: PlJ0r2 - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `Internal Server Error` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u0e01\u0e32": {}, "": {"\uda24\udd48\udafc\ude5e\u0095\u0091\u00dc": ["\u0093\ud855\udf93\u00d2\u00ca\u001e\u000f", null]}, "\u00f5\ud9b2\ude4b\u0019\u008e9\u0017Y": ["\u000b\u001cDW\ud95c\udd2a\u000e", null, -6514], "\u009bC\ud99c\udf93\u00a2@": [[null, true, null]], "\u00e0": [200, "(\n\u0005\ud926\udc1f\u0082\u00dc\u00d59o\u00b8E\u00da\u00a5\u001e\u00d0\u00e5\u008f\u00eb\ud9ba\udf47\u00814\u0087\f\u00d2A"], "queryFilterString": "\u00d4\u0087\ud8fc\udcad\u009a\ud8a7\udc4d>", "public": true, "description": "\u00cb6F\u00de\u00da4\u00fe\u00bd", "position": -868063, "slug": "0-1", "name": "\u00ae"}' http://0.0.0.0:32895/api/households/cookbooks 43. Test Case ID: 3jxgAM - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx [422] Unprocessable Content: `{"detail":[{"type":"uuid_version","loc":["path","recipe_id"],"msg":"UUID version 4 expected","input":"9a095030-018f-3de0-acea-c11669c46a89","ctx":{"expected_version":4}}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:32895/api/shared/recipes?recipe_id=a0477ffd-6e5e-4b02-baaf-cc0ee3454795' curl -X GET -H 'accept-language: null' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/users/self/ratings/9a095030-018f-3de0-acea-c11669c46a89 44. Test Case ID: 0YyKmw - 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: positive test case [200] OK: `[{"id":"bf0592d5-ea10-47f2-9aa0-fa46317abc00","userId":"e62ccfa8-19e0-4899-b130-3380c0d0e8ec","householdId":"b5565c3b-eda9-4914-9c6c-7f51dc1668be","groupId":"d5b9c48b-36c3-4b47-972f-d811103a0238","name":"Ûm•[¹^¹\u0016_¯ (1) (1)","slug":"um-1-1-1-1","image":null,"recipeServings":0.0,"recipeYieldQuantity":0.0,"recipeYield":null,"totalTime":null,"prepTime":null,"cookTime":null,"performTime":null,"description":"","recipeCategory":[],"tags":[],"tools":[],"rating":null,"orgURL":null,"dateAdded":"2026-10-07","date // Output truncated...` Reproduce with: curl -X POST -H 'accept-language: null' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"expiresAt": "2026-10-07T03:01:07.927298Z", "recipeId": "bf0592d5-ea10-47f2-9aa0-fa46317abc00"}' http://0.0.0.0:32895/api/shared/recipes curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '[{"id": "bf0592d5-ea10-47f2-9aa0-fa46317abc00", "userId": "e62ccfa8-19e0-4899-b130-3380c0d0e8ec", "householdId": "b5565c3b-eda9-4914-9c6c-7f51dc1668be", "groupId": "d5b9c48b-36c3-4b47-972f-d811103a0238", "name": "\u00dbm\u0095[\u00b9^\u00b9\u0016_\u00af (1) (1)", "slug": "um-1-1-1-1", "image": null, "recipeServings": 0.0, "recipeYieldQuantity": 0.0, "recipeYield": null, "totalTime": null, "prepTime": null, "cookTime": null, "performTime": null, "description": "", "recipeCategory": [], "tags": [], "tools": [], "rating": null, "orgURL": null, "dateAdded": "2026-10-07", "dateUpdated": "2026-10-07T03:00:54.997450Z", "createdAt": "2026-10-07T03:00:13.108773Z", "updatedAt": "2026-10-07T03:00:54.998329Z", "lastMade": null, "recipeIngredient": [{"quantity": 0.0, "unit": null, "food": null, "note": "1 Cup Flour", "display": "1 Cup Flour", "title": null, "originalText": null, "referenceId": "cd425db6-69bf-44d5-b7fe-bfaa0abe4d63"}], "recipeInstructions": [{"id": "8db20c22-7c77-4b2e-938d-3a40f0358a80", "title": "", "summary": "", "text": "Recipe steps as well as other fields in the recipe page support markdown syntax.\n\n**Add a link**\n\n[My Link](https://demo.mealie.io)\n", "ingredientReferences": []}], "nutrition": {"calories": null, "carbohydrateContent": null, "cholesterolContent": null, "fatContent": null, "fiberContent": null, "proteinContent": null, "saturatedFatContent": null, "sodiumContent": null, "sugarContent": null, "transFatContent": null, "unsaturatedFatContent": null}, "settings": {"public": true, "showNutrition": true, "showAssets": false, "landscapeView": false, "disableComments": false, "locked": false}, "assets": [], "notes": [], "extras": {}, "comments": [{"recipeId": "bf0592d5-ea10-47f2-9aa0-fa46317abc00", "text": "\u00b3\udbbd\udfcc(TyP", "id": "8077209b-7362-468c-bfb9-d9a66a2c9593", "createdAt": "2026-10-07T03:01:02.738943Z", "updatedAt": "2026-10-07T03:01:02.738945Z", "userId": "e62ccfa8-19e0-4899-b130-3380c0d0e8ec", "user": {"id": "e62ccfa8-19e0-4899-b130-3380c0d0e8ec", "username": "admin", "admin": true, "fullName": "Change Me"}}]}]' http://0.0.0.0:32895/api/recipes 45. Test Case ID: xcVyxr - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 5 additional properties not defined in the schema (``, `;kƒXZá©à􅴇`, `Zß` and 2 more). The server likely rejects unexpected fields. Add `additionalProperties: false` to your schema to prevent this. [400] Bad Request: `{"detail":{"message":"Recipe already exists","error":true,"exception":null}}` Reproduce with: curl -X GET -H 'accept-language: W' -H 'Authorization: [Filtered]' http://0.0.0.0:32895/api/admin/users curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": [{"\u00d4\ud826\uddb9\u00c6\ud8ea\ude89/\u008d\ud8ab\udef1\u00e8\u00f3": "\u0094\uda14\ude3d\u009d8\u00c0\u00e8\u00b7\u00c8\u00f7\u00ea6\u00c8", "\u0089\u00d7": 1.7976931348623155e+308, "": null}, ["q\u0089\u0095\u00f23\u0082\u009b\u0081\u0004\udb30\udc075\ud8b9\udd7c\u0094f"]], "\u0080\uda8d\udfa9aWUI": {"\"\u00d9\u0018j\u0012\r": [573422], "\u00fc\u001d\u009b\u0095": null, "w": -3.4672562298940545e+192}, "Z\u00df": [], "\u00f8": {"O[\ud9ca\udd14": {"\tD\u00f9\u00fc\u008e\u0003\u0092\u00e3\u00a3V\u009d\u001f\uda2a\udf33\ud9d6\udcbc\udb3c\uddab\u00a3\u00e1": null}, "": []}, ";k\u0083XZ\u00e1\u00a9\u00e0\udbd7\udd07": {"\u0099": {}}, "nutrition": {"j\u0090\u00cd\u00d1\u0099\u008aS\u00a0": {}, "carbohydrateContent": "", "fatContent": null}, "id": null, "dateUpdated": null, "userId": "e3e70682-c209-4cac-a29f-6fbed82c07cd"}' http://0.0.0.0:32895/api/recipes/xing-ee =================================== WARNINGS =================================== Authentication failed: 4 operations returned authentication errors 403 Forbidden (3 operations): - DELETE /api/users/{id}/favorites/{slug} - POST /api/users/{id}/favorites/{slug} - POST /api/users/{id}/ratings/{slug} 401 Unauthorized (1 operation): - GET /api/recipes/{slug}/exports/zip 💡 Ensure valid authentication credentials are set via --auth or -H =================================== SUMMARY ==================================== API Operations: Selected: 238/247 Tested: 238 Test Phases: ❌ Examples ❌ Coverage 🚫 Fuzzing 🚫 Stateful Failures: ❌ Server error: 92 ❌ Response violates schema: 9 ❌ API accepted schema-violating request: 105 ❌ API rejected schema-compliant request: 86 ❌ Undocumented Content-Type: 1 ❌ Undocumented HTTP status code: 310 ❌ Unsupported methods: 201 Errors: 🚫 Authentication Error: 212 🚫 Network Error: 27 Warnings: ⚠️ Missing authentication: 4 operations returned only 401/403 responses ⚠️ Authentication stopped working mid-run - credentials likely invalidated Test cases: 67499 generated, 698 found 804 unique failures, 1010 errored, 65 skipped Seed: 231818468999213597498393131594058864227 =============== 804 failures, 239 errors, 1 warning in 3600.08s ================