Schemathesis v4.29.4 ━━━━━━━━━━━━━━━━━━━━ ✅ Loaded specification from http://0.0.0.0:34609/api/schema/?format=json (in 2.26s) Base URL: http://0.0.0.0:34609 Specification: Open API 3.0.3 Operations: 575 selected / 583 total Configuration: /home/stranger6667/data/programming/workbench/target s/inventree/schemathesis.toml ✅ API capabilities: Supports NULL byte in headers: ✘ Accepts backslash and control characters in URL paths: ✓ ⏭ Examples (in 0.53s) ⏭ 575 skipped ❌ Coverage (in 1228.06s) ✅ 25 passed ❌ 550 failed ❌ Fuzzing (in 1178.99s) ✅ 39 passed ❌ 536 failed ❌ Stateful (in 582.62s) Scenarios: 1302 API Links: 6 covered / 426 selected / 426 total ✅ 1173 passed ❌ 129 failed =================================== FAILURES =================================== ___________________________ DELETE /api/admin/email/ ___________________________ 1. Test Case ID: pxKFlC - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/admin/email/ 2. Test Case ID: kGEL3E - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/admin/email/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/admin/email/ 3. Test Case ID: kXU81U - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/admin/email/ _____________________ DELETE /api/admin/email/{global_id}/ _____________________ 1. Test Case ID: uMgnn0 - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/admin/email/null%2Cnull/ ___________________________ DELETE /api/attachment/ ____________________________ 1. Test Case ID: coTrSZ - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/attachment/ 2. Test Case ID: MLYEcZ - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/attachment/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/attachment/ 3. Test Case ID: aa0QRX - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/attachment/ _________________________ DELETE /api/attachment/{id}/ _________________________ 1. Test Case ID: btmOgo - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/attachment/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/attachment/null%2Cnull/ _____________________ DELETE /api/background-task/failed/ ______________________ 1. Test Case ID: 63DiGT - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/background-task/failed/ 2. Test Case ID: yl5Jby - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/background-task/failed/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/background-task/failed/ 3. Test Case ID: qpl85R - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/background-task/failed/ _____________________ DELETE /api/background-task/pending/ _____________________ 1. Test Case ID: 7I9Mu7 - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/background-task/pending/ 2. Test Case ID: QbHdpb - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/background-task/pending/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/background-task/pending/ 3. Test Case ID: 5PS9mN - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/background-task/pending/ _________________________ DELETE /api/barcode/history/ _________________________ 1. Test Case ID: kDwjrl - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/barcode/history/ 2. Test Case ID: vZiXil - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/barcode/history/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/barcode/history/ 3. Test Case ID: gFDORV - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/barcode/history/ ______________________ DELETE /api/barcode/history/{id}/ _______________________ 1. Test Case ID: 5ovrOH - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/barcode/history/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/barcode/history/null%2Cnull/ _______________________________ DELETE /api/bom/ _______________________________ 1. Test Case ID: dGCmjX - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/bom/ 2. Test Case ID: 11Zq5I - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/bom/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/bom/ 3. Test Case ID: sw9k4W - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/bom/ _______________________ DELETE /api/bom/substitute/{id}/ _______________________ 1. Test Case ID: f9Kelf - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/bom/substitute/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/bom/substitute/null%2Cnull/ ____________________________ DELETE /api/bom/{id}/ _____________________________ 1. Test Case ID: U3G8oK - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/bom/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/bom/null%2Cnull/ ___________________________ DELETE /api/build/item/ ____________________________ 1. Test Case ID: SQ8mll - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/item/ 2. Test Case ID: fKDOW6 - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/build/item/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/build/item/ 3. Test Case ID: RKZ0C9 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/build/item/ _________________________ DELETE /api/build/item/{id}/ _________________________ 1. Test Case ID: 22EGcj - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/item/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/item/null%2Cnull/ _________________________ DELETE /api/build/line/{id}/ _________________________ 1. Test Case ID: jUwOgK - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/line/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/line/null%2Cnull/ ___________________________ DELETE /api/build/{id}/ ____________________________ 1. Test Case ID: RXBj9z - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/null%2Cnull/ _________________________ DELETE /api/company/address/ _________________________ 1. Test Case ID: M1ryrn - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/address/ 2. Test Case ID: wLpe73 - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/company/address/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/company/address/ 3. Test Case ID: jwwNcr - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/company/address/ ______________________ DELETE /api/company/address/{id}/ _______________________ 1. Test Case ID: SMMVho - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/address/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/address/null%2Cnull/ _________________________ DELETE /api/company/contact/ _________________________ 1. Test Case ID: BxE5VD - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/contact/ 2. Test Case ID: fb31rj - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/company/contact/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/company/contact/ 3. Test Case ID: 1MTxSB - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/company/contact/ ______________________ DELETE /api/company/contact/{id}/ _______________________ 1. Test Case ID: IYtqlh - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/contact/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/contact/null%2Cnull/ __________________________ DELETE /api/company/part/ ___________________________ 1. Test Case ID: ImMLv5 - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/part/ 2. Test Case ID: 5Bkjpe - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/company/part/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/company/part/ 3. Test Case ID: jStsZt - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/company/part/ ____________________ DELETE /api/company/part/manufacturer/ ____________________ 1. Test Case ID: lw0FYE - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/part/manufacturer/ 2. Test Case ID: Oxe7W6 - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/company/part/manufacturer/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/company/part/manufacturer/ 3. Test Case ID: iZjg7m - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/company/part/manufacturer/ _________________ DELETE /api/company/part/manufacturer/{id}/ __________________ 1. Test Case ID: hB5prM - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/part/manufacturer/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/part/manufacturer/null%2Cnull/ ________________________ DELETE /api/company/part/{id}/ ________________________ 1. Test Case ID: sZ1c6w - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/part/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/part/null%2Cnull/ ____________________ DELETE /api/company/price-break/{id}/ _____________________ 1. Test Case ID: aSA91R - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/price-break/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/price-break/null%2Cnull/ __________________________ DELETE /api/company/{id}/ ___________________________ 1. Test Case ID: 9GEvsL - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/null%2Cnull/ ___________________________ DELETE /api/data-output/ ___________________________ 1. Test Case ID: dkwoOe - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/data-output/ 2. Test Case ID: 0AcQqU - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/data-output/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/data-output/ 3. Test Case ID: ZFrUn1 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/data-output/ ________________________ DELETE /api/data-output/{id}/ _________________________ 1. Test Case ID: IkLlZU - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/data-output/null%2Cnull/ __________________________ DELETE /api/error-report/ ___________________________ 1. Test Case ID: 8jP5eg - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/error-report/ 2. Test Case ID: IEt0xs - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/error-report/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/error-report/ 3. Test Case ID: 3nFh0x - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/error-report/ ________________________ DELETE /api/error-report/{id}/ ________________________ 1. Test Case ID: BPQYRl - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/error-report/null%2Cnull/ ___________________ DELETE /api/generic/status/custom/{id}/ ____________________ 1. Test Case ID: SPCj2p - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/generic/status/custom/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/generic/status/custom/null%2Cnull/ __________________________ DELETE /api/importer/row/ ___________________________ 1. Test Case ID: Ga9Lht - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/importer/row/ 2. Test Case ID: LqQpy4 - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/importer/row/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/importer/row/ 3. Test Case ID: 1pCepF - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/importer/row/ ________________________ DELETE /api/importer/row/{id}/ ________________________ 1. Test Case ID: aUdKF5 - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/importer/row/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/importer/row/null%2Cnull/ ________________________ DELETE /api/importer/session/ _________________________ 1. Test Case ID: gCQ9h3 - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/importer/session/ 2. Test Case ID: rgQpGC - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/importer/session/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/importer/session/ 3. Test Case ID: 3QO8s8 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/importer/session/ ______________________ DELETE /api/importer/session/{id}/ ______________________ 1. Test Case ID: ezpehY - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/importer/session/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/importer/session/null%2Cnull/ _______________________ DELETE /api/label/template/{id}/ _______________________ 1. Test Case ID: eJdhzE - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/label/template/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/label/template/null%2Cnull/ __________________________ DELETE /api/machine/{id}/ ___________________________ 1. Test Case ID: FEuqX9 - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/machine/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/machine/null%2Cnull/ ______________________________ DELETE /api/news/ _______________________________ 1. Test Case ID: QNqfaw - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/news/ 2. Test Case ID: bkqZGE - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/news/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/news/ 3. Test Case ID: sANFyY - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/news/ ____________________________ DELETE /api/news/{id}/ ____________________________ 1. Test Case ID: kRL0YP - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/news/null%2Cnull/ __________________________ DELETE /api/notifications/ __________________________ 1. Test Case ID: jKOfer - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/notifications/ 2. Test Case ID: FBAv9c - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/notifications/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/notifications/ 3. Test Case ID: lMEXxE - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/notifications/ _______________________ DELETE /api/notifications/{id}/ ________________________ 1. Test Case ID: cRyD1d - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/notifications/null%2Cnull/ ____________________ DELETE /api/order/po-extra-line/{id}/ _____________________ 1. Test Case ID: v14y4s - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/po-extra-line/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po-extra-line/null%2Cnull/ __________________________ DELETE /api/order/po-line/ __________________________ 1. Test Case ID: 5Yu3cu - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po-line/ 2. Test Case ID: A3MfE3 - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/po-line/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/order/po-line/ 3. Test Case ID: tIPVvp - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/order/po-line/ _______________________ DELETE /api/order/po-line/{id}/ ________________________ 1. Test Case ID: CmhjDk - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/po-line/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po-line/null%2Cnull/ __________________________ DELETE /api/order/po/{id}/ __________________________ 1. Test Case ID: 4rgfgO - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/po/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po/null%2Cnull/ ____________________ DELETE /api/order/ro-extra-line/{id}/ _____________________ 1. Test Case ID: AR2uxg - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/ro-extra-line/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro-extra-line/null%2Cnull/ _______________________ DELETE /api/order/ro-line/{id}/ ________________________ 1. Test Case ID: fk8rq4 - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/ro-line/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro-line/null%2Cnull/ __________________________ DELETE /api/order/ro/{id}/ __________________________ 1. Test Case ID: JBZe94 - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/ro/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro/null%2Cnull/ _______________________ DELETE /api/order/so-allocation/ _______________________ 1. Test Case ID: sByHNJ - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so-allocation/ 2. Test Case ID: mqXzdq - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/so-allocation/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/order/so-allocation/ 3. Test Case ID: fxrSvW - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/order/so-allocation/ ____________________ DELETE /api/order/so-allocation/{id}/ _____________________ 1. Test Case ID: ovHS6w - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so-allocation/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so-allocation/null%2Cnull/ ____________________ DELETE /api/order/so-extra-line/{id}/ _____________________ 1. Test Case ID: qO5HYv - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so-extra-line/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so-extra-line/null%2Cnull/ _______________________ DELETE /api/order/so-line/{id}/ ________________________ 1. Test Case ID: aorgnV - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so-line/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so-line/null%2Cnull/ _____________________ DELETE /api/order/so/shipment/{id}/ ______________________ 1. Test Case ID: i4madC - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so/shipment/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so/shipment/null%2Cnull/ __________________________ DELETE /api/order/so/{id}/ __________________________ 1. Test Case ID: L1IDY5 - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so/null%2Cnull/ ______________ DELETE /api/order/transfer-order-allocation/{id}/ _______________ 1. Test Case ID: cJu5pe - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/transfer-order-allocation/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order-allocation/null%2Cnull/ _________________ DELETE /api/order/transfer-order-line/{id}/ __________________ 1. Test Case ID: Hlc8g4 - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/transfer-order-line/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order-line/null%2Cnull/ ____________________ DELETE /api/order/transfer-order/{id}/ ____________________ 1. Test Case ID: i671Id - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/transfer-order/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order/null%2Cnull/ ____________________________ DELETE /api/parameter/ ____________________________ 1. Test Case ID: 8alm7E - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/parameter/ 2. Test Case ID: ZvoZgS - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/parameter/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/parameter/ 3. Test Case ID: VSbh8J - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/parameter/ _____________________ DELETE /api/parameter/template/{id}/ _____________________ 1. Test Case ID: af359J - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/parameter/template/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/parameter/template/null%2Cnull/ _________________________ DELETE /api/parameter/{id}/ __________________________ 1. Test Case ID: riE8Zx - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/parameter/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/parameter/null%2Cnull/ __________________ DELETE /api/part/category/parameters/{id}/ __________________ 1. Test Case ID: 0OGm73 - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/category/parameters/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/category/parameters/null%2Cnull/ _______________________ DELETE /api/part/category/{id}/ ________________________ 1. Test Case ID: S65OrZ - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/category/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/category/null%2Cnull/ 2. Test Case ID: xS2erg - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"delete_child_categories":["This field is required."],"delete_parts":["This field is required."]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/category/0/ ____________________ DELETE /api/part/internal-price/{id}/ _____________________ 1. Test Case ID: WIChV6 - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/internal-price/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/internal-price/null%2Cnull/ ________________________ DELETE /api/part/related/{id}/ ________________________ 1. Test Case ID: oCIacS - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/related/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/related/null%2Cnull/ ______________________ DELETE /api/part/sale-price/{id}/ _______________________ 1. Test Case ID: cpLFgi - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/sale-price/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/sale-price/null%2Cnull/ _________________________ DELETE /api/part/stocktake/ __________________________ 1. Test Case ID: ybOOaC - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/stocktake/ 2. Test Case ID: EmER1J - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/part/stocktake/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/part/stocktake/ 3. Test Case ID: Zutp2L - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/part/stocktake/ _______________________ DELETE /api/part/stocktake/{id}/ _______________________ 1. Test Case ID: 9iPYQ0 - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/stocktake/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/stocktake/null%2Cnull/ _____________________ DELETE /api/part/test-template/{id}/ _____________________ 1. Test Case ID: 0ap4oE - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/test-template/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/test-template/null%2Cnull/ ____________________________ DELETE /api/part/{id}/ ____________________________ 1. Test Case ID: 1UlxH6 - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/null%2Cnull/ 2. Test Case ID: GY9shB - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":["Cannot delete this part as it is still active"]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/part/1/ ________________________ DELETE /api/plugins/{plugin}/ _________________________ 1. Test Case ID: 4yHUND - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail":"No PluginConfig matches the given query."}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/plugins/0/ 2. Test Case ID: 5KDxhK - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"detail":["Plugin cannot be deleted as it is currently active"]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/plugins/inventreebarcode/ ________________________ DELETE /api/project-code/{id}/ ________________________ 1. Test Case ID: zybu8d - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/project-code/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/project-code/null%2Cnull/ ________________________ DELETE /api/report/asset/{id}/ ________________________ 1. Test Case ID: 5stiMo - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/report/asset/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/report/asset/null%2Cnull/ _______________________ DELETE /api/report/snippet/{id}/ _______________________ 1. Test Case ID: dayoWo - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/report/snippet/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/report/snippet/null%2Cnull/ ______________________ DELETE /api/report/template/{id}/ _______________________ 1. Test Case ID: DZRauA - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/report/template/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/report/template/null%2Cnull/ _________________________ DELETE /api/selection/{id}/ __________________________ 1. Test Case ID: V349OL - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/selection/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/selection/null%2Cnull/ _________________ DELETE /api/selection/{id}/entry/{entrypk}/ __________________ 1. Test Case ID: vDmxeF - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/selection/null,null/entry/0/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/selection/null%2Cnull/entry/0/ ______________________________ DELETE /api/stock/ ______________________________ 1. Test Case ID: sn8zQb - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/ 2. Test Case ID: AoAHfC - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/stock/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/stock/ 3. Test Case ID: FJ4FJj - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/stock/ ____________________ DELETE /api/stock/location-type/{id}/ _____________________ 1. Test Case ID: tYP8Jx - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/stock/location-type/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/location-type/null%2Cnull/ _______________________ DELETE /api/stock/location/{id}/ _______________________ 1. Test Case ID: 6Dqksc - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/stock/location/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/location/null%2Cnull/ 2. Test Case ID: eCJ8Uu - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"delete_stock_items":["This field is required."],"delete_sub_locations":["This field is required."]}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/location/0/ ___________________________ DELETE /api/stock/test/ ____________________________ 1. Test Case ID: GdqwAu - Undocumented HTTP status code Received: 400 Documented: 204 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/test/ 2. Test Case ID: bmfVFj - Server error - Undocumented HTTP status code Received: 500 Documented: 204 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/stock/test/","status_code":500}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=65a37c58eff4deac2cb79320f072d79f' -d $'--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="items"\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f\r\nContent-Disposition: form-data; name="filters"\r\nContent-Type: application/json\r\n\r\n{}\r\n--65a37c58eff4deac2cb79320f072d79f--\r\n' http://0.0.0.0:34609/api/stock/test/ 3. Test Case ID: PGuwME - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/stock/test/ _________________________ DELETE /api/stock/test/{id}/ _________________________ 1. Test Case ID: AEGxGQ - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/stock/test/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/test/null%2Cnull/ ___________________________ DELETE /api/stock/{id}/ ____________________________ 1. Test Case ID: w6jNr6 - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/stock/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/null%2Cnull/ ____________________________ DELETE /api/tag/{id}/ _____________________________ 1. Test Case ID: tdiKSk - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/tag/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/tag/null%2Cnull/ ___________________________ DELETE /api/units/{id}/ ____________________________ 1. Test Case ID: Q0JJy8 - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/units/null%2Cnull/ _________________________ DELETE /api/user/group/{id}/ _________________________ 1. Test Case ID: FEGof9 - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/user/group/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/user/group/null%2Cnull/ ________________________ DELETE /api/user/ruleset/{id}/ ________________________ 1. Test Case ID: in4zbW - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/user/ruleset/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/user/ruleset/null%2Cnull/ ________________________ DELETE /api/user/tokens/{id}/ _________________________ 1. Test Case ID: 9JKBHI - Undocumented HTTP status code Received: 404 Documented: 204 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/user/tokens/null,null/"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/user/tokens/null%2Cnull/ __________________________________ GET /api/ ___________________________________ 1. Test Case ID: 2mdtdb - API accepts requests without authentication Expected 401 or 403, got `200 OK` for `GET /api/` [200] OK: `{"server": "InvenTree", "id": null, "version": "1.4.2", "instance": "InvenTree", "apiVersion": 511, "worker_running": false, "worker_count": 1, "worker_pending_tasks": 3, "plugins_enabled": false, "plugins_install_disabled": true, "email_configured": false, "debug_mode": false, "docker_mode": true, "default_locale": "en-us", "customize": {"logo": "/static/img/inventree.png", "splash": "/static/img/inventree_splash.jpg", "login_message": null, "navbar_message": null, "disable_theme_storage": false}, "active_ // Output truncated...` Reproduce with: curl -X GET http://0.0.0.0:34609/api/ ____________________________ GET /api/admin/config/ ____________________________ 1. Test Case ID: PT1RvN - Response violates schema "2026-10-07T11:46:00.337285" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/Config/properties/accessed: { "format": "date-time", "type": "string", "readOnly": true } Value: "2026-10-07T11:46:00.337285" [200] OK: `[{"key":"INVENTREE_DEBUG","env_var":"INVENTREE_DEBUG","config_key":"debug","source":"env","accessed":"2026-10-07T11:46:00.337285"},{"key":"INVENTREE_DOCKER","env_var":"INVENTREE_DOCKER","config_key":null,"source":"env","accessed":"2026-10-07T11:46:00.337316"},{"key":"INVENTREE_AUTO_UPDATE","env_var":"INVENTREE_AUTO_UPDATE","config_key":"auto_update","source":"env","accessed":"2026-10-07T11:46:00.337319"},{"key":"INVENTREE_LOG_LEVEL","env_var":"INVENTREE_LOG_LEVEL","config_key":"log_level","source":"yaml","a // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/admin/config/ _________________________ GET /api/admin/config/{key}/ _________________________ 1. Test Case ID: q354u2 - Response violates schema "2026-10-07T11:46:00.337285" is not a "date-time" Validated against the response schema for status code 200. Schema at /properties/accessed: { "format": "date-time", "type": "string", "readOnly": true } Value: "2026-10-07T11:46:00.337285" [200] OK: `{"key":"INVENTREE_DEBUG","env_var":"INVENTREE_DEBUG","config_key":"debug","source":"env","accessed":"2026-10-07T11:46:00.337285"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/admin/config/INVENTREE_DEBUG/ 2. Test Case ID: gY9qYL - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/admin/config/SHORT_BARCODE_PREFIX/ ____________________________ GET /api/admin/email/ _____________________________ 1. Test Case ID: hhWlah - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"FieldError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/admin/email/","status_code":500}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/admin/email/?limit=0&offset=0&ordering=created' 2. Test Case ID: Ab12Fz - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedEmailMessageList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/admin/email/?limit=null&limit=null&search=' 3. Test Case ID: N9AyO1 - 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 `limit` in query - violates `required` (was limit) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/admin/email/?offset=-11190&ordering=direction' ______________________ GET /api/admin/email/{global_id}/ _______________________ 1. Test Case ID: LhBngO - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/admin/email/null%2Cnull/ _____________________________ GET /api/attachment/ _____________________________ 1. Test Case ID: S8Tibg - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedAttachmentList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/attachment/?has_thumbnail=true&is_file=true&is_image=true&is_link=true&limit=0&model_id=0&model_type=&offset=0&ordering=model_id&search=&tags=' 2. Test Case ID: fZHSNz - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"upload_user":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/attachment/?limit=0&upload_user=null&upload_user=null' 3. Test Case ID: fdtYrm - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"upload_user":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/attachment/?limit=0&upload_user=0' __________________________ GET /api/attachment/{id}/ ___________________________ 1. Test Case ID: b4LmhX - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/attachment/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/attachment/null%2Cnull/ _______________________ GET /api/background-task/failed/ _______________________ 1. Test Case ID: KhExlO - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedFailedTaskList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/background-task/failed/?limit=0&offset=0&ordering=pk' 2. Test Case ID: wFGzA8 - 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: parameters `offset`, `limit` in query - violates `type` at /properties/offset (was integer, became boolean) - violates `type` at /properties/limit (was integer, became string) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/background-task/failed/?offset=false&ordering=-pk&limit=%0B%5C%2B%3A%F2%BD%BF%B2%C2%A4%F1%A9%B5%BA%C3%A0%0B%C2%84PM%04' ______________________ GET /api/background-task/pending/ _______________________ 1. Test Case ID: bbG94S - Response violates schema [{"args":"()","func":"part.tasks.check_missing_pricing","key":"InvenTree","kwargs":"{}","lock":"2026-10-07 16:46","name":"red-bacon-music-carolina","pk":1,"task_id":"362816b0ede44851ba295f5a28d3558f"},{"args":"()","func":"InvenTree.tasks.heartbeat","key":"InvenTree","kwargs":"{}","lock":"2026-10-07 16:46","name":"bravo-mobile-summer-september","pk":2,"task_id":"a976af6a663243988bb525cdd9085444"},{"args":"()","func":"InvenTree.tasks.update_exchange_rates","key":"InvenTree","kwargs":"{}","lock":"2026-10-07 16:46","name":"robin-magnesium-december-cup","pk":3,"task_id":"ff91a57053ef4c709215ea5db183cbd7"}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedPendingTaskList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [ { "args": "()", "func": "part.tasks.check_missing_pricing", "key": "InvenTree", "kwargs": "{}", "lock": "2026-10-07 16:46", "name": "red-bacon-music-carolina", "pk": 1, "task_id": "362816b0ede44851ba295f5a28d3558f" }, { "args": "()", "func": "InvenTree.tasks.heartbeat", "key": "InvenTree", "kwargs": "{}", "lock": "2026-10-07 16:46", "name": "bravo-mobile-summer-september", "pk": 2, // Output truncated... ] - 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 `limit` in query - limit: Incorrect type [200] OK: `[{"pk":1,"key":"InvenTree","lock":"2026-10-07 16:46","task_id":"362816b0ede44851ba295f5a28d3558f","name":"red-bacon-music-carolina","func":"part.tasks.check_missing_pricing","args":"()","kwargs":"{}"},{"pk":2,"key":"InvenTree","lock":"2026-10-07 16:46","task_id":"a976af6a663243988bb525cdd9085444","name":"bravo-mobile-summer-september","func":"InvenTree.tasks.heartbeat","args":"()","kwargs":"{}"},{"pk":3,"key":"InvenTree","lock":"2026-10-07 16:46","task_id":"ff91a57053ef4c709215ea5db183cbd7","name":"robin-ma // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/background-task/pending/?limit=null&limit=null' 2. Test Case ID: S3x0lo - Response violates schema "2026-10-07 16:46" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/PendingTask/properties/lock: { "format": "date-time", "type": "string", "description": "Lock time" } Value: "2026-10-07 16:46" [200] OK: `{"count":4,"next":null,"previous":null,"results":[{"pk":1,"key":"InvenTree","lock":"2026-10-07 16:46","task_id":"362816b0ede44851ba295f5a28d3558f","name":"red-bacon-music-carolina","func":"part.tasks.check_missing_pricing","args":"()","kwargs":"{}"},{"pk":2,"key":"InvenTree","lock":"2026-10-07 16:46","task_id":"a976af6a663243988bb525cdd9085444","name":"bravo-mobile-summer-september","func":"InvenTree.tasks.heartbeat","args":"()","kwargs":"{}"},{"pk":3,"key":"InvenTree","lock":"2026-10-07 16:46","task_id":"f // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/background-task/pending/?limit=752826559' _____________________ GET /api/background-task/scheduled/ ______________________ 1. Test Case ID: h2nyih - Response violates schema [{"args":null,"func":"InvenTree.tasks.heartbeat","kwargs":null,"last_run":null,"name":"InvenTree.tasks.heartbeat","next_run":"2026-10-07 16:46","pk":1,"repeats":-1,"schedule_type":"I","success":null,"task":null},{"args":null,"func":"InvenTree.tasks.delete_successful_tasks","kwargs":null,"last_run":null,"name":"InvenTree.tasks.delete_successful_tasks","next_run":"2026-10-07 16:46","pk":2,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"InvenTree.tasks.delete_failed_tasks","kwargs":null,"last_run":null,"name":"InvenTree.tasks.delete_failed_tasks","next_run":"2026-10-07 16:46","pk":3,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"InvenTree.tasks.delete_old_error_logs","kwargs":null,"last_run":null,"name":"InvenTree.tasks.delete_old_error_logs","next_run":"2026-10-07 16:46","pk":4,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"InvenTree.tasks.delete_old_notifications","kwargs":null,"last_run":null,"name":"InvenTree.tasks.delete_old_notifications","next_run":"2026-10-07 16:46","pk":5,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"InvenTree.tasks.delete_old_emails","kwargs":null,"last_run":null,"name":"InvenTree.tasks.delete_old_emails","next_run":"2026-10-07 16:46","pk":6,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"InvenTree.tasks.check_for_updates","kwargs":null,"last_run":null,"name":"InvenTree.tasks.check_for_updates","next_run":"2026-10-07 16:46","pk":7,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"InvenTree.tasks.update_exchange_rates","kwargs":null,"last_run":null,"name":"InvenTree.tasks.update_exchange_rates","next_run":"2026-10-07 16:46","pk":8,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"InvenTree.tasks.run_backup","kwargs":null,"last_run":null,"name":"InvenTree.tasks.run_backup","next_run":"2026-10-07 16:46","pk":9,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"InvenTree.tasks.check_for_migrations","kwargs":null,"last_run":null,"name":"InvenTree.tasks.check_for_migrations","next_run":"2026-10-07 16:46","pk":10,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"InvenTree.tasks.run_oauth_maintenance","kwargs":null,"last_run":null,"name":"InvenTree.tasks.run_oauth_maintenance","next_run":"2026-10-07 16:46","pk":11,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"stock.tasks.delete_old_stock_tracking","kwargs":null,"last_run":null,"name":"stock.tasks.delete_old_stock_tracking","next_run":"2026-10-07 16:46","pk":12,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"importer.tasks.cleanup_import_sessions","kwargs":null,"last_run":null,"name":"importer.tasks.cleanup_import_sessions","next_run":"2026-10-07 16:46","pk":13,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"part.tasks.check_stale_stock","kwargs":null,"last_run":null,"name":"part.tasks.check_stale_stock","next_run":"2026-10-07 16:46","pk":14,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"part.tasks.check_missing_pricing","kwargs":null,"last_run":null,"name":"part.tasks.check_missing_pricing","next_run":"2026-10-07 16:46","pk":15,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"part.tasks.scheduled_stocktake_reports","kwargs":null,"last_run":null,"name":"part.tasks.scheduled_stocktake_reports","next_run":"2026-10-07 16:46","pk":16,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"common.tasks.cleanup_old_data_outputs","kwargs":null,"last_run":null,"name":"common.tasks.cleanup_old_data_outputs","next_run":"2026-10-07 16:46","pk":17,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"common.tasks.delete_old_notifications","kwargs":null,"last_run":null,"name":"common.tasks.delete_old_notifications","next_run":"2026-10-07 16:46","pk":18,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"common.tasks.update_news_feed","kwargs":null,"last_run":null,"name":"common.tasks.update_news_feed","next_run":"2026-10-07 16:46","pk":19,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"common.tasks.delete_old_notes_images","kwargs":null,"last_run":null,"name":"common.tasks.delete_old_notes_images","next_run":"2026-10-07 16:46","pk":20,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"build.tasks.check_overdue_build_orders","kwargs":null,"last_run":null,"name":"build.tasks.check_overdue_build_orders","next_run":"2026-10-07 16:46","pk":21,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"order.tasks.check_overdue_purchase_orders","kwargs":null,"last_run":null,"name":"order.tasks.check_overdue_purchase_orders","next_run":"2026-10-07 16:46","pk":22,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"order.tasks.check_overdue_sales_orders","kwargs":null,"last_run":null,"name":"order.tasks.check_overdue_sales_orders","next_run":"2026-10-07 16:46","pk":23,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"order.tasks.check_overdue_return_orders","kwargs":null,"last_run":null,"name":"order.tasks.check_overdue_return_orders","next_run":"2026-10-07 16:46","pk":24,"repeats":-1,"schedule_type":"D","success":null,"task":null},{"args":null,"func":"machine.tasks.ping_machines","kwargs":null,"last_run":null,"name":"machine.tasks.ping_machines","next_run":"2026-10-07 16:46","pk":25,"repeats":-1,"schedule_type":"I","success":null,"task":null}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedScheduledTaskList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [ { "args": null, "func": "InvenTree.tasks.heartbeat", "kwargs": null, "last_run": null, "name": "InvenTree.tasks.heartbeat", "next_run": "2026-10-07 16:46", "pk": 1, "repeats": -1, "schedule_type": "I", "success": null, "task": null }, { "args": null, "func": "InvenTree.tasks.delete_successful_tasks", "kwargs": null, "last_run": null, // Output truncated... ] [200] OK: `[{"pk":1,"name":"InvenTree.tasks.heartbeat","func":"InvenTree.tasks.heartbeat","args":null,"kwargs":null,"schedule_type":"I","repeats":-1,"last_run":null,"next_run":"2026-10-07 16:46","success":null,"task":null},{"pk":2,"name":"InvenTree.tasks.delete_successful_tasks","func":"InvenTree.tasks.delete_successful_tasks","args":null,"kwargs":null,"schedule_type":"D","repeats":-1,"last_run":null,"next_run":"2026-10-07 16:46","success":null,"task":null},{"pk":3,"name":"InvenTree.tasks.delete_failed_tasks","func":" // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/background-task/scheduled/?limit=0&offset=0&ordering=pk' 2. Test Case ID: 0We7OH - Response violates schema (3 violations) "2026-10-07 16:46" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/ScheduledTask/properties/next_run: { "anyOf": [ { "type": "string", "format": "date-time", "description": "When this schedule runs next (stored in UTC)." }, { "type": "null" } ] } Value: "2026-10-07 16:46" null is not of type "boolean" Validated against the response schema for status code 200. Schema at /components/schemas/ScheduledTask/properties/success: { "type": "boolean" } Value: null null is not of type "string" Validated against the response schema for status code 200. Schema at /components/schemas/ScheduledTask/properties/last_run: { "type": "string", "format": "date-time" } Value: null [200] OK: `{"count":25,"next":null,"previous":null,"results":[{"pk":1,"name":"InvenTree.tasks.heartbeat","func":"InvenTree.tasks.heartbeat","args":null,"kwargs":null,"schedule_type":"I","repeats":-1,"last_run":null,"next_run":"2026-10-07 16:46","success":null,"task":null},{"pk":2,"name":"InvenTree.tasks.delete_successful_tasks","func":"InvenTree.tasks.delete_successful_tasks","args":null,"kwargs":null,"schedule_type":"D","repeats":-1,"last_run":null,"next_run":"2026-10-07 16:46","success":null,"task":null},{"pk":3,"na // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/background-task/scheduled/?limit=100175412' _____________________ GET /api/background-task/{task_id}/ ______________________ 1. Test Case ID: qPS7on - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"task_id":"0","exists":false,"pending":false,"complete":false,"success":false,"http_status":404}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/background-task/0/ __________________________ GET /api/barcode/history/ ___________________________ 1. Test Case ID: M7yZH6 - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedBarcodeScanResultList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/barcode/history/?limit=0&offset=0&ordering=user&result=true&search=' 2. Test Case ID: 1DGYht - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"user":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/barcode/history/?limit=0&user=null&user=null' 3. Test Case ID: xZW6gd - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"user":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/barcode/history/?limit=0&user=0' ________________________ GET /api/barcode/history/{id}/ ________________________ 1. Test Case ID: 10JQRb - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/barcode/history/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/barcode/history/null%2Cnull/ ________________________________ GET /api/bom/ _________________________________ 1. Test Case ID: 0EA3Vr - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"part":["Select a valid choice. That choice is not one of the available choices."],"category":["Select a valid choice. That choice is not one of the available choices."],"uses":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/bom/?allow_variants=true&available_stock=true&can_build=true&category=0&consumable=true&has_pricing=true&inherited=true&limit=0&offset=0&on_order=true&optional=true&ordering=can_build&part=0&part_active=true&part_detail=true&part_locked=true&part_testable=true&part_trackable=true&pricing=true&search=&sub_part_active=true&sub_part_assembly=true&sub_part_detail=true&sub_part_testable=true&sub_part_trackable=true&sub_part_virtual=true&substitutes=true&uses=0' 2. Test Case ID: vkkIWN - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedBomItemList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/bom/?limit=0' ___________________________ GET /api/bom/substitute/ ___________________________ 1. Test Case ID: rTaRDM - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"part":["Select a valid choice. That choice is not one of the available choices."],"bom_item":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/bom/substitute/?bom_item=0&limit=0&offset=0&ordering=&part=0' 2. Test Case ID: xmmCsF - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedBomItemSubstituteList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/bom/substitute/?limit=null&limit=null&search=' ________________________ GET /api/bom/substitute/{id}/ _________________________ 1. Test Case ID: wU5j7h - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/bom/substitute/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/bom/substitute/null%2Cnull/ ______________________________ GET /api/bom/{id}/ ______________________________ 1. Test Case ID: tMgIX9 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No BomItem matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/bom/0/?can_build=true&part_detail=true&pricing=true&sub_part_detail=true' _______________________________ GET /api/build/ ________________________________ 1. Test Case ID: m92J79 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"issued_by":["Select a valid choice. That choice is not one of the available choices."],"sales_order":["Select a valid choice. That choice is not one of the available choices."],"parent":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."],"category":["Select a valid choice. That choice is not one of the available choices."],"ancestor":["Select a valid choice. That choice is not one of the available ch // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/build/?active=true&ancestor=0&assigned_to=0&assigned_to_me=true&category=0&completed_after=2000-01-01&completed_before=2000-01-01&created_after=2000-01-01&created_before=2000-01-01&exclude_tree=0&external=true&has_project_code=true&has_start_date=true&has_target_date=true&include_variants=true&issued_by=0&limit=0&max_date=2000-01-01&min_date=2000-01-01&offset=0&ordering=reference&outstanding=true&overdue=true&parent=0&part=0&part_detail=true&project_code=0&reference=&sales_order=0&search=&start_date_after=2000-01-01&start_date_before=2000-01-01&status=0&tags=&target_date_after=2000-01-01' 2. Test Case ID: vGuwl5 - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedBuildList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/build/?limit=0' 3. Test Case ID: HaBb95 - 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 `include_variants` in query - violates `type` at /properties/include_variants (was boolean, became number) [200] OK: `{"count":0,"next":null,"previous":null,"results":[]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/build/?reference=__dict__&start_date_before=0393-07-26&limit=1794&include_variants=7.751142183748809e%2B307&has_project_code=false&overdue=false&active=true' _____________________________ GET /api/build/item/ _____________________________ 1. Test Case ID: 1ZYu9i - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"build_line":["Select a valid choice. That choice is not one of the available choices."],"stock_item":["Select a valid choice. That choice is not one of the available choices."],"install_into":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."],"build":["Select a valid choice. That choice is not one of the available choices."],"location":["Select a valid choice. That choice is not one of the available // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/build/item/?build=0&build_detail=true&build_line=0&include_variants=true&install_into=0&install_into_detail=true&limit=0&location=0&location_detail=true&offset=0&ordering=part&output=0&part=0&part_detail=true&search=&stock_detail=true&stock_item=0&supplier_part_detail=true' 2. Test Case ID: 0o1sTN - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedBuildItemList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/build/item/?limit=0&tracked=null&tracked=null' __________________________ GET /api/build/item/{id}/ ___________________________ 1. Test Case ID: ylHiCW - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/item/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/item/null%2Cnull/ _____________________________ GET /api/build/line/ _____________________________ 1. Test Case ID: ERLwk8 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"build":["Select a valid choice. That choice is not one of the available choices."],"bom_item":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/build/line/?allocated=true&allocations=true&assembly=true&assembly_detail=true&available=true&bom_item=0&bom_item_detail=true&build=0&build_detail=true&consumable=true&consumed=true&limit=0&offset=0&on_order=true&optional=true&order_outstanding=true&ordering=part&part=0&part_detail=true&search=&testable=true' 2. Test Case ID: U4xoEg - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedBuildLineList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/build/line/?allocated=true&allocations=true&assembly=true&assembly_detail=true&available=true&limit=0' __________________________ GET /api/build/line/{id}/ ___________________________ 1. Test Case ID: 3i3f3v - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No BuildLine matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/build/line/0/?allocations=true&assembly_detail=true&bom_item_detail=true&build_detail=true' _____________________________ GET /api/build/{id}/ _____________________________ 1. Test Case ID: vMxYFM - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/null%2Cnull/ ______________________________ GET /api/company/ _______________________________ 1. Test Case ID: aD4zj9 - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedCompanyList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/?active=true&is_customer=true&is_manufacturer=true&is_supplier=true&limit=0&name=&offset=0&ordering=active&search=' 2. Test Case ID: KKJZLL - 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 `ordering` in query - violates `enum` at /properties/ordering [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/?is_manufacturer=false&ordering=%F0%9E%95%8D%E7%A4%9F&name=%F2%AC%AF%92f.%C2%9A&offset=-5218721&limit=-1307674368000&active=true&search=%C3%9E%60&tags=%02%15M&is_customer=true&is_supplier=true' __________________________ GET /api/company/address/ ___________________________ 1. Test Case ID: HDFeAo - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"company":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/address/?company=0&limit=0&offset=0&ordering=title' 2. Test Case ID: g7I8KI - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedAddressList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/address/?limit=null&limit=null&search=' 3. Test Case ID: k42LOv - 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 `ordering` in query - violates `enum` at /properties/ordering [200] OK: `{"count":0,"next":null,"previous":"http://0.0.0.0:34609/api/company/address/?limit=759&offset=170124739&ordering=F","results":[]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/address/?limit=759&offset=170125498&ordering=F' ________________________ GET /api/company/address/{id}/ ________________________ 1. Test Case ID: HcvgWk - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/address/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/address/null%2Cnull/ __________________________ GET /api/company/contact/ ___________________________ 1. Test Case ID: dWDVuv - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"company":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/contact/?company=0&limit=0&offset=0&ordering=name' 2. Test Case ID: v0YqJL - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedContactList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/contact/?limit=null&limit=null&search=' ________________________ GET /api/company/contact/{id}/ ________________________ 1. Test Case ID: mSxQ33 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/contact/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/contact/null%2Cnull/ ____________________________ GET /api/company/part/ ____________________________ 1. Test Case ID: abQVi5 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"supplier":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."],"manufacturer_part":["Select a valid choice. That choice is not one of the available choices."],"manufacturer":["Select a valid choice. That choice is not one of the available choices."],"company":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/part/?MPN=&SKU=&active=true&company=0&has_stock=true&limit=0&manufacturer=0&manufacturer_detail=true&manufacturer_part=0&manufacturer_part_detail=true&offset=0&ordering=part&part=0&part_active=true&part_detail=true&pretty=true&primary=true&search=&supplier=0&supplier_active=true&supplier_detail=true&tags=&tags__name=' 2. Test Case ID: joZZil - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedSupplierPartList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/part/?MPN=&SKU=&active=true&limit=0' _____________________ GET /api/company/part/manufacturer/ ______________________ 1. Test Case ID: etBzYk - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"manufacturer":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/part/manufacturer/?MPN=&limit=0&manufacturer=0&manufacturer_active=true&manufacturer_detail=true&offset=0&ordering=part&part=0&part_active=true&part_detail=true&pretty=true&search=&tags=&tags__name=' 2. Test Case ID: pHzZui - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedManufacturerPartList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/part/manufacturer/?limit=null&limit=null&tags__slug=' ___________________ GET /api/company/part/manufacturer/{id}/ ___________________ 1. Test Case ID: sUYOxQ - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/part/manufacturer/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/part/manufacturer/null%2Cnull/ _________________________ GET /api/company/part/{id}/ __________________________ 1. Test Case ID: 0YJN46 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No SupplierPart matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/part/0/?manufacturer_detail=true&manufacturer_part_detail=true&part_detail=true&pretty=true' ________________________ GET /api/company/price-break/ _________________________ 1. Test Case ID: CGeJ9U - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"part":["Select a valid choice. That choice is not one of the available choices."],"base_part":["Select a valid choice. That choice is not one of the available choices."],"supplier":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/price-break/?base_part=0&limit=0&offset=0&ordering=quantity&part=0&part_detail=true&quantity=0&search=&supplier=0' 2. Test Case ID: irHsh5 - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedSupplierPriceBreakList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/price-break/?limit=0&supplier_detail=null&supplier_detail=null' ______________________ GET /api/company/price-break/{id}/ ______________________ 1. Test Case ID: p3MsXu - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/price-break/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/price-break/null%2Cnull/ ____________________________ GET /api/company/{id}/ ____________________________ 1. Test Case ID: m08XTs - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/null%2Cnull/ ____________________________ GET /api/contenttype/ _____________________________ 1. Test Case ID: 651GQ9 - Response violates schema [{"app_label":"auth","app_labeled_name":"Authentication and Authorization | user","is_plugin":false,"model":"user","pk":1},{"app_label":"part","app_labeled_name":"Part | Part","is_plugin":false,"model":"part","pk":2},{"app_label":"company","app_labeled_name":"Company | Manufacturer Part","is_plugin":false,"model":"manufacturerpart","pk":3},{"app_label":"admin","app_labeled_name":"Administration | log entry","is_plugin":false,"model":"logentry","pk":4},{"app_label":"build","app_labeled_name":"Build | Build Order","is_plugin":false,"model":"build","pk":5},{"app_label":"build","app_labeled_name":"Build | build item","is_plugin":false,"model":"builditem","pk":6},{"app_label":"build","app_labeled_name":"Build | Build Order Line Item","is_plugin":false,"model":"buildline","pk":7},{"app_label":"common","app_labeled_name":"Common | InvenTree Setting","is_plugin":false,"model":"inventreesetting","pk":8},{"app_label":"common","app_labeled_name":"Common | InvenTree User Setting","is_plugin":false,"model":"inventreeusersetting","pk":9},{"app_label":"common","app_labeled_name":"Common | notification entry","is_plugin":false,"model":"notificationentry","pk":10},{"app_label":"common","app_labeled_name":"Common | webhook endpoint","is_plugin":false,"model":"webhookendpoint","pk":11},{"app_label":"common","app_labeled_name":"Common | webhook message","is_plugin":false,"model":"webhookmessage","pk":12},{"app_label":"common","app_labeled_name":"Common | notification message","is_plugin":false,"model":"notificationmessage","pk":13},{"app_label":"common","app_labeled_name":"Common | news feed entry","is_plugin":false,"model":"newsfeedentry","pk":14},{"app_label":"common","app_labeled_name":"Common | notes image","is_plugin":false,"model":"notesimage","pk":15},{"app_label":"common","app_labeled_name":"Common | Project Code","is_plugin":false,"model":"projectcode","pk":16},{"app_label":"common","app_labeled_name":"Common | Custom Unit","is_plugin":false,"model":"customunit","pk":17},{"app_label":"common","app_labeled_name":"Common | Attachment","is_plugin":false,"model":"attachment","pk":18},{"app_label":"common","app_labeled_name":"Common | Custom State","is_plugin":false,"model":"inventreecustomuserstatemodel","pk":19},{"app_label":"common","app_labeled_name":"Common | Barcode Scan","is_plugin":false,"model":"barcodescanresult","pk":20},{"app_label":"common","app_labeled_name":"Common | Selection List","is_plugin":false,"model":"selectionlist","pk":21},{"app_label":"common","app_labeled_name":"Common | Selection List Entry","is_plugin":false,"model":"selectionlistentry","pk":22},{"app_label":"common","app_labeled_name":"Common | data output","is_plugin":false,"model":"dataoutput","pk":23},{"app_label":"common","app_labeled_name":"Common | Email Thread","is_plugin":false,"model":"emailthread","pk":24},{"app_label":"common","app_labeled_name":"Common | Email Message","is_plugin":false,"model":"emailmessage","pk":25},{"app_label":"common","app_labeled_name":"Common | Parameter Template","is_plugin":false,"model":"parametertemplate","pk":26},{"app_label":"common","app_labeled_name":"Common | Parameter","is_plugin":false,"model":"parameter","pk":27},{"app_label":"plugin","app_labeled_name":"Plugin | Plugin Configuration","is_plugin":false,"model":"pluginconfig","pk":28},{"app_label":"plugin","app_labeled_name":"Plugin | plugin setting","is_plugin":false,"model":"pluginsetting","pk":29},{"app_label":"plugin","app_labeled_name":"Plugin | plugin user setting","is_plugin":false,"model":"pluginusersetting","pk":30},{"app_label":"company","app_labeled_name":"Company | Company","is_plugin":false,"model":"company","pk":31},{"app_label":"company","app_labeled_name":"Company | Contact","is_plugin":false,"model":"contact","pk":32},{"app_label":"company","app_labeled_name":"Company | Supplier Part","is_plugin":false,"model":"supplierpart","pk":33},{"app_label":"company","app_labeled_name":"Company | Supplier Price Break","is_plugin":false,"model":"supplierpricebreak","pk":34},{"app_label":"company","app_labeled_name":"Company | Address","is_plugin":false,"model":"address","pk":35},{"app_label":"order","app_labeled_name":"Order | Purchase Order","is_plugin":false,"model":"purchaseorder","pk":36},{"app_label":"order","app_labeled_name":"Order | Purchase Order Line Item","is_plugin":false,"model":"purchaseorderlineitem","pk":37},{"app_label":"order","app_labeled_name":"Order | Sales Order","is_plugin":false,"model":"salesorder","pk":38},{"app_label":"order","app_labeled_name":"Order | Sales Order Line Item","is_plugin":false,"model":"salesorderlineitem","pk":39},{"app_label":"order","app_labeled_name":"Order | Sales Order Allocation","is_plugin":false,"model":"salesorderallocation","pk":40},{"app_label":"order","app_labeled_name":"Order | Sales Order Shipment","is_plugin":false,"model":"salesordershipment","pk":41},{"app_label":"order","app_labeled_name":"Order | Sales Order Extra Line","is_plugin":false,"model":"salesorderextraline","pk":42},{"app_label":"order","app_labeled_name":"Order | Purchase Order Extra Line","is_plugin":false,"model":"purchaseorderextraline","pk":43},{"app_label":"order","app_labeled_name":"Order | Return Order","is_plugin":false,"model":"returnorder","pk":44},{"app_label":"order","app_labeled_name":"Order | Return Order Extra Line","is_plugin":false,"model":"returnorderextraline","pk":45},{"app_label":"order","app_labeled_name":"Order | Return Order Line Item","is_plugin":false,"model":"returnorderlineitem","pk":46},{"app_label":"order","app_labeled_name":"Order | Transfer Order","is_plugin":false,"model":"transferorder","pk":47},{"app_label":"order","app_labeled_name":"Order | Transfer Order Line Item","is_plugin":false,"model":"transferorderlineitem","pk":48},{"app_label":"order","app_labeled_name":"Order | Transfer Order Allocation","is_plugin":false,"model":"transferorderallocation","pk":49},{"app_label":"part","app_labeled_name":"Part | BOM Item","is_plugin":false,"model":"bomitem","pk":50},{"app_label":"part","app_labeled_name":"Part | Part Category","is_plugin":false,"model":"partcategory","pk":51},{"app_label":"part","app_labeled_name":"Part | part star","is_plugin":false,"model":"partstar","pk":52},{"app_label":"part","app_labeled_name":"Part | Part Test Template","is_plugin":false,"model":"parttesttemplate","pk":53},{"app_label":"part","app_labeled_name":"Part | Part Sale Price Break","is_plugin":false,"model":"partsellpricebreak","pk":54},{"app_label":"part","app_labeled_name":"Part | part related","is_plugin":false,"model":"partrelated","pk":55},{"app_label":"part","app_labeled_name":"Part | Part Category Parameter Template","is_plugin":false,"model":"partcategoryparametertemplate","pk":56},{"app_label":"part","app_labeled_name":"Part | part internal price break","is_plugin":false,"model":"partinternalpricebreak","pk":57},{"app_label":"part","app_labeled_name":"Part | BOM Item Substitute","is_plugin":false,"model":"bomitemsubstitute","pk":58},{"app_label":"part","app_labeled_name":"Part | part category star","is_plugin":false,"model":"partcategorystar","pk":59},{"app_label":"part","app_labeled_name":"Part | part pricing","is_plugin":false,"model":"partpricing","pk":60},{"app_label":"part","app_labeled_name":"Part | part stocktake","is_plugin":false,"model":"partstocktake","pk":61},{"app_label":"report","app_labeled_name":"Report | report asset","is_plugin":false,"model":"reportasset","pk":62},{"app_label":"report","app_labeled_name":"Report | report snippet","is_plugin":false,"model":"reportsnippet","pk":63},{"app_label":"report","app_labeled_name":"Report | report template","is_plugin":false,"model":"reporttemplate","pk":64},{"app_label":"report","app_labeled_name":"Report | label template","is_plugin":false,"model":"labeltemplate","pk":65},{"app_label":"stock","app_labeled_name":"Stock | Stock Item","is_plugin":false,"model":"stockitem","pk":66},{"app_label":"stock","app_labeled_name":"Stock | Stock Location","is_plugin":false,"model":"stocklocation","pk":67},{"app_label":"stock","app_labeled_name":"Stock | Stock Item Tracking","is_plugin":false,"model":"stockitemtracking","pk":68},{"app_label":"stock","app_labeled_name":"Stock | Stock Item Test Result","is_plugin":false,"model":"stockitemtestresult","pk":69},{"app_label":"stock","app_labeled_name":"Stock | Stock Location type","is_plugin":false,"model":"stocklocationtype","pk":70},{"app_label":"users","app_labeled_name":"Users | rule set","is_plugin":false,"model":"ruleset","pk":71},{"app_label":"users","app_labeled_name":"Users | owner","is_plugin":false,"model":"owner","pk":72},{"app_label":"users","app_labeled_name":"Users | API Token","is_plugin":false,"model":"apitoken","pk":73},{"app_label":"users","app_labeled_name":"Users | user profile","is_plugin":false,"model":"userprofile","pk":74},{"app_label":"machine","app_labeled_name":"Machine | machine config","is_plugin":false,"model":"machineconfig","pk":75},{"app_label":"machine","app_labeled_name":"Machine | machine setting","is_plugin":false,"model":"machinesetting","pk":76},{"app_label":"importer","app_labeled_name":"Importer | data import session","is_plugin":false,"model":"dataimportsession","pk":77},{"app_label":"importer","app_labeled_name":"Importer | data import row","is_plugin":false,"model":"dataimportrow","pk":78},{"app_label":"importer","app_labeled_name":"Importer | data import column map","is_plugin":false,"model":"dataimportcolumnmap","pk":79},{"app_label":"auth","app_labeled_name":"Authentication and Authorization | permission","is_plugin":false,"model":"permission","pk":80},{"app_label":"auth","app_labeled_name":"Authentication and Authorization | group","is_plugin":false,"model":"group","pk":81},{"app_label":"contenttypes","app_labeled_name":"Content Types | content type","is_plugin":false,"model":"contenttype","pk":82},{"app_label":"sessions","app_labeled_name":"Sessions | session","is_plugin":false,"model":"session","pk":83},{"app_label":"exchange","app_labeled_name":"Exchange | exchange backend","is_plugin":false,"model":"exchangebackend","pk":84},{"app_label":"exchange","app_labeled_name":"Exchange | rate","is_plugin":false,"model":"rate","pk":85},{"app_label":"error_report","app_labeled_name":"Error_Report | Error","is_plugin":false,"model":"error","pk":86},{"app_label":"django_q","app_labeled_name":"Background Tasks | Scheduled task","is_plugin":false,"model":"schedule","pk":87},{"app_label":"django_q","app_labeled_name":"Background Tasks | Task","is_plugin":false,"model":"task","pk":88},{"app_label":"django_q","app_labeled_name":"Background Tasks | Failed task","is_plugin":false,"model":"failure","pk":89},{"app_label":"django_q","app_labeled_name":"Background Tasks | Successful task","is_plugin":false,"model":"success","pk":90},{"app_label":"django_q","app_labeled_name":"Background Tasks | Queued task","is_plugin":false,"model":"ormq","pk":91},{"app_label":"taggit","app_labeled_name":"Taggit | tag","is_plugin":false,"model":"tag","pk":92},{"app_label":"taggit","app_labeled_name":"Taggit | tagged item","is_plugin":false,"model":"taggeditem","pk":93},{"app_label":"flags","app_labeled_name":"Django Flags | flag state","is_plugin":false,"model":"flagstate","pk":94},{"app_label":"account","app_labeled_name":"Accounts | email address","is_plugin":false,"model":"emailaddress","pk":95},{"app_label":"account","app_labeled_name":"Accounts | email confirmation","is_plugin":false,"model":"emailconfirmation","pk":96},{"app_label":"socialaccount","app_labeled_name":"Social Accounts | social account","is_plugin":false,"model":"socialaccount","pk":97},{"app_label":"socialaccount","app_labeled_name":"Social Accounts | social application","is_plugin":false,"model":"socialapp","pk":98},{"app_label":"socialaccount","app_labeled_name":"Social Accounts | social application token","is_plugin":false,"model":"socialtoken","pk":99},{"app_label":"mfa","app_labeled_name":"MFA | authenticator","is_plugin":false,"model":"authenticator","pk":100},{"app_label":"usersessions","app_labeled_name":"User Sessions | user session","is_plugin":false,"model":"usersession","pk":101},{"app_label":"otp_totp","app_labeled_name":"Otp_Totp | TOTP device","is_plugin":false,"model":"totpdevice","pk":102},{"app_label":"otp_static","app_labeled_name":"Otp_Static | static device","is_plugin":false,"model":"staticdevice","pk":103},{"app_label":"otp_static","app_labeled_name":"Otp_Static | static token","is_plugin":false,"model":"statictoken","pk":104},{"app_label":"oauth2_provider","app_labeled_name":"Django OAuth Toolkit | application","is_plugin":false,"model":"application","pk":105},{"app_label":"oauth2_provider","app_labeled_name":"Django OAuth Toolkit | access token","is_plugin":false,"model":"accesstoken","pk":106},{"app_label":"oauth2_provider","app_labeled_name":"Django OAuth Toolkit | grant","is_plugin":false,"model":"grant","pk":107},{"app_label":"oauth2_provider","app_labeled_name":"Django OAuth Toolkit | refresh token","is_plugin":false,"model":"refreshtoken","pk":108},{"app_label":"oauth2_provider","app_labeled_name":"Django OAuth Toolkit | id token","is_plugin":false,"model":"idtoken","pk":109},{"app_label":"oauth2_provider","app_labeled_name":"Django OAuth Toolkit | device grant","is_plugin":false,"model":"devicegrant","pk":110},{"app_label":"django_mailbox","app_labeled_name":"Mail Box | Mailbox","is_plugin":false,"model":"mailbox","pk":111},{"app_label":"django_mailbox","app_labeled_name":"Mail Box | E-mail message","is_plugin":false,"model":"message","pk":112},{"app_label":"django_mailbox","app_labeled_name":"Mail Box | Message attachment","is_plugin":false,"model":"messageattachment","pk":113}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedContentTypeList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [ { "app_label": "auth", "app_labeled_name": "Authentication and Authorization | user", "is_plugin": false, "model": "user", "pk": 1 }, { "app_label": "part", "app_labeled_name": "Part | Part", "is_plugin": false, "model": "part", "pk": 2 }, { "app_label": "company", "app_labeled_name": "Company | Manufacturer Part", "is_plugin": false, // Output truncated... ] [200] OK: `[{"pk":1,"app_label":"auth","model":"user","app_labeled_name":"Authentication and Authorization | user","is_plugin":false},{"pk":2,"app_label":"part","model":"part","app_labeled_name":"Part | Part","is_plugin":false},{"pk":3,"app_label":"company","model":"manufacturerpart","app_labeled_name":"Company | Manufacturer Part","is_plugin":false},{"pk":4,"app_label":"admin","model":"logentry","app_labeled_name":"Administration | log entry","is_plugin":false},{"pk":5,"app_label":"build","model":"build","app_labeled // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/contenttype/?limit=0&offset=0&ordering=' 2. Test Case ID: Ma3xQD - 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 `limit` in query - violates `required` (was limit) [200] OK: `[{"pk":1,"app_label":"auth","model":"user","app_labeled_name":"Authentication and Authorization | user","is_plugin":false},{"pk":2,"app_label":"part","model":"part","app_labeled_name":"Part | Part","is_plugin":false},{"pk":3,"app_label":"company","model":"manufacturerpart","app_labeled_name":"Company | Manufacturer Part","is_plugin":false},{"pk":4,"app_label":"admin","model":"logentry","app_labeled_name":"Administration | log entry","is_plugin":false},{"pk":5,"app_label":"build","model":"build","app_labeled // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/contenttype/?offset=-201141' _____________________ GET /api/contenttype/model/{model}/ ______________________ 1. Test Case ID: 0yPtSP - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/contenttype/model/0/ __________________________ GET /api/contenttype/{id}/ __________________________ 1. Test Case ID: 9Dl3UF - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/contenttype/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/contenttype/null%2Cnull/ ____________________________ GET /api/data-output/ _____________________________ 1. Test Case ID: CsdlNa - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedDataOutputList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/data-output/?limit=0&offset=0&ordering=pk&search=' 2. Test Case ID: Vv2U99 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"user":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/data-output/?limit=0&user=null&user=null' 3. Test Case ID: PBDqSI - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"user":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/data-output/?limit=0&user=0' __________________________ GET /api/data-output/{id}/ __________________________ 1. Test Case ID: QoRUP1 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/data-output/null%2Cnull/ ____________________________ GET /api/error-report/ ____________________________ 1. Test Case ID: 4HyW3g - Response violates schema [{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 533, in save\n if not self.order.can_cancel:\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/po/0/cancel/","pk":1,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 533, in save\n if not self.order.can_cancel:\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/po/0/cancel/","pk":2,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 533, in save\n if not self.order.can_cancel:\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/po/0/cancel/","pk":3,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 29, in create\n serializer.is_valid(raise_exception=True)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 225, in is_valid\n self._validated_data = self.run_validation(self.initial_data)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 456, in run_validation\n value = self.to_internal_value(data)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 515, in to_internal_value\n validated_value = validate_method(validated_value)\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 556, in validate_accept_incomplete\n order = self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/po/0/complete/","pk":4,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 29, in create\n serializer.is_valid(raise_exception=True)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 225, in is_valid\n self._validated_data = self.run_validation(self.initial_data)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 456, in run_validation\n value = self.to_internal_value(data)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 515, in to_internal_value\n validated_value = validate_method(validated_value)\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 556, in validate_accept_incomplete\n order = self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/po/0/complete/","pk":5,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 29, in create\n serializer.is_valid(raise_exception=True)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 225, in is_valid\n self._validated_data = self.run_validation(self.initial_data)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 456, in run_validation\n value = self.to_internal_value(data)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 515, in to_internal_value\n validated_value = validate_method(validated_value)\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 556, in validate_accept_incomplete\n order = self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/po/0/complete/","pk":6,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 29, in create\n serializer.is_valid(raise_exception=True)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 225, in is_valid\n self._validated_data = self.run_validation(self.initial_data)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 456, in run_validation\n value = self.to_internal_value(data)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 515, in to_internal_value\n validated_value = validate_method(validated_value)\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 556, in validate_accept_incomplete\n order = self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/po/0/complete/","pk":7,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 525, in save\n self.order.hold_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/po/0/hold/","pk":8,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 525, in save\n self.order.hold_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/po/0/hold/","pk":9,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 525, in save\n self.order.hold_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/po/0/hold/","pk":10,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 579, in save\n self.order.place_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/po/0/issue/","pk":11,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 579, in save\n self.order.place_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/po/0/issue/","pk":12,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 579, in save\n self.order.place_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/po/0/issue/","pk":13,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 2257, in save\n self.order.cancel_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/ro/0/cancel/","pk":14,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 2257, in save\n self.order.cancel_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/ro/0/cancel/","pk":15,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 2257, in save\n self.order.cancel_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/ro/0/cancel/","pk":16,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 2265, in save\n self.order.complete_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/ro/0/complete/","pk":17,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 2265, in save\n self.order.complete_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/ro/0/complete/","pk":18,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 2265, in save\n self.order.complete_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/ro/0/complete/","pk":19,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 2241, in save\n self.order.hold_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/ro/0/hold/","pk":20,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 2241, in save\n self.order.hold_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/ro/0/hold/","pk":21,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 2241, in save\n self.order.hold_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/ro/0/hold/","pk":22,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 2249, in save\n self.order.issue_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/ro/0/issue/","pk":23,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 2249, in save\n self.order.issue_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/ro/0/issue/","pk":24,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 2249, in save\n self.order.issue_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/ro/0/issue/","pk":25,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 1811, in save\n self.order.cancel_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/so/0/cancel/","pk":26,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 1811, in save\n self.order.cancel_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/so/0/cancel/","pk":27,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 1811, in save\n self.order.cancel_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/so/0/cancel/","pk":28,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 29, in create\n serializer.is_valid(raise_exception=True)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 225, in is_valid\n self._validated_data = self.run_validation(self.initial_data)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 456, in run_validation\n value = self.to_internal_value(data)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 515, in to_internal_value\n validated_value = validate_method(validated_value)\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 1754, in validate_accept_incomplete\n order = self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/so/0/complete/","pk":29,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 29, in create\n serializer.is_valid(raise_exception=True)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 225, in is_valid\n self._validated_data = self.run_validation(self.initial_data)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 456, in run_validation\n value = self.to_internal_value(data)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 515, in to_internal_value\n validated_value = validate_method(validated_value)\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 1754, in validate_accept_incomplete\n order = self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/so/0/complete/","pk":30,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 29, in create\n serializer.is_valid(raise_exception=True)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 225, in is_valid\n self._validated_data = self.run_validation(self.initial_data)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 456, in run_validation\n value = self.to_internal_value(data)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/serializers.py\", line 515, in to_internal_value\n validated_value = validate_method(validated_value)\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 1754, in validate_accept_incomplete\n order = self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/so/0/complete/","pk":31,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 1797, in save\n self.order.hold_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/so/0/hold/","pk":32,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 1797, in save\n self.order.hold_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/so/0/hold/","pk":33,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 1797, in save\n self.order.hold_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/so/0/hold/","pk":34,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 1216, in save\n self.order.issue_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/so/0/issue/","pk":35,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 1216, in save\n self.order.issue_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/so/0/issue/","pk":36,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\", line 30, in create\n self.perform_create(serializer)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 24, in perform_create\n serializer.save()\n ~~~~~~~~~~~~~~~^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 1216, in save\n self.order.issue_order()\n ^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/order/serializers.py\", line 517, in order\n return self.context['order']\n ~~~~~~~~~~~~^^^^^^^^^\n\nKeyError: 'order'\n","info":"'order'","path":"/api/order/so/0/issue/","pk":37,"when":"2026-10-07 16:48"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/bom/","pk":38,"when":"2026-10-07 16:50"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/bom/","pk":39,"when":"2026-10-07 16:50"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/bom/","pk":40,"when":"2026-10-07 16:50"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/bom/","pk":41,"when":"2026-10-07 16:50"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/bom/","pk":42,"when":"2026-10-07 16:50"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/bom/","pk":43,"when":"2026-10-07 16:50"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/bom/","pk":44,"when":"2026-10-07 16:50"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/bom/","pk":45,"when":"2026-10-07 16:50"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/bom/","pk":46,"when":"2026-10-07 16:50"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/bom/","pk":47,"when":"2026-10-07 16:50"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/bom/","pk":48,"when":"2026-10-07 16:50"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/bom/","pk":49,"when":"2026-10-07 16:50"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/bom/","pk":50,"when":"2026-10-07 16:50"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/so-allocation/","pk":51,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/so-allocation/","pk":52,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/so-allocation/","pk":53,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/so-allocation/","pk":54,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/so-allocation/","pk":55,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/so-allocation/","pk":56,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/so-allocation/","pk":57,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/so-allocation/","pk":58,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/so-allocation/","pk":59,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/so-allocation/","pk":60,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/so-allocation/","pk":61,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/so-allocation/","pk":62,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/so-allocation/","pk":63,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/so-allocation/","pk":64,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/transfer-order-allocation/","pk":65,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/transfer-order-allocation/","pk":66,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/transfer-order-allocation/","pk":67,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/transfer-order-allocation/","pk":68,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/transfer-order-allocation/","pk":69,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/transfer-order-allocation/","pk":70,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/transfer-order-allocation/","pk":71,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/transfer-order-allocation/","pk":72,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/transfer-order-allocation/","pk":73,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/transfer-order-allocation/","pk":74,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/transfer-order-allocation/","pk":75,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/transfer-order-allocation/","pk":76,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/order/transfer-order-allocation/","pk":77,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":78,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":79,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":80,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":81,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":82,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":83,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":84,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":85,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":86,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":87,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":88,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":89,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":90,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":91,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":92,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/part/category/","pk":93,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/","pk":94,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/","pk":95,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/","pk":96,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/","pk":97,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/","pk":98,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/","pk":99,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/","pk":100,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/","pk":101,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/","pk":102,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/","pk":103,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/","pk":104,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/","pk":105,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/","pk":106,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/","pk":107,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/location/","pk":108,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/location/","pk":109,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/location/","pk":110,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/location/","pk":111,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/location/","pk":112,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/location/","pk":113,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/location/","pk":114,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/location/","pk":115,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/location/","pk":116,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/location/","pk":117,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/location/","pk":118,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/location/","pk":119,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/location/","pk":120,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/location/","pk":121,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 579, in patch\n queryset = self.get_bulk_queryset(request)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 434, in get_bulk_queryset\n items = request.data.pop('items', None)\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 677, in pop\n self._assert_mutable()\n ~~~~~~~~~~~~~~~~~~~~^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/http/request.py\", line 635, in _assert_mutable\n raise AttributeError(\"This QueryDict instance is immutable\")\n\nAttributeError: This QueryDict instance is immutable\n","info":"This QueryDict instance is immutable","path":"/api/stock/location/","pk":122,"when":"2026-10-07 16:51"},{"data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/mixins.py\", line 38, in list\n queryset = self.filter_queryset(self.get_queryset())\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 154, in filter_queryset\n queryset = backend().filter_queryset(self.request, queryset, self)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/filters.py\", line 304, in filter_queryset\n return queryset.order_by(*ordering)\n ~~~~~~~~~~~~~~~~~^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/db/models/query.py\", line 1727, in order_by\n obj.query.add_ordering(*field_names)\n ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/db/models/sql/query.py\", line 2312, in add_ordering\n self.names_to_path(item.split(LOOKUP_SEP), self.model._meta)\n ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/root/.local/lib/python3.14/site-packages/django/db/models/sql/query.py\", line 1813, in names_to_path\n raise FieldError(\n ...<2 lines>...\n )\n\ndjango.core.exceptions.FieldError: Cannot resolve keyword 'created' into field. Choices are: body, delivery_options, direction, error_code, error_message, error_timestamp, full_message, global_id, headers, message_id_key, priority, sender, status, subject, thread, thread_id, thread_id_key, timestamp, to\n","info":"Cannot resolve keyword 'created' into field. Choices are: body, delivery_options, direction, error_code, error_message, error_timestamp, full_message, global_id, headers, message_id_key, priority, sender, status, subject, thread, thread_id, thread_id_key, timestamp, to","path":"/api/admin/email/","pk":123,"when":"2026-10-07 16:51"}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedErrorMessageList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [ { "data": "Traceback (most recent call last):\n\n File \"/root/.local/... "info": "'order'", "path": "/api/order/po/0/cancel/", "pk": 1, "when": "2026-10-07 16:48" }, { "data": "Traceback (most recent call last):\n\n File \"/root/.local/... "info": "'order'", "path": "/api/order/po/0/cancel/", "pk": 2, "when": "2026-10-07 16:48" }, { "data": "Traceback (most recent call last):\n\n File \"/root/.local/... "info": "'order'", "path": "/api/order/po/0/cancel/", // Output truncated... ] [200] OK: `[{"when":"2026-10-07 16:48","info":"'order'","data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/error-report/?limit=0&offset=0&ordering=when' 2. Test Case ID: IR3sS0 - Response violates schema (2 violations) "/api/stock/location/" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/ErrorMessage/properties/path: { "anyOf": [ { "type": "string", "format": "uri", "readOnly": true, "maxLength": 200 }, { "type": "null" } ] } Value: "/api/stock/location/" "2026-10-07 17:12" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/ErrorMessage/properties/when: { "format": "date-time", "type": "string", "readOnly": true } Value: "2026-10-07 17:12" - 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: parameters `ordering`, `offset` in query - violates `enum` at /properties/ordering - violates `type` at /properties/offset (was integer, became null) [200] OK: `{"count":1002,"next":null,"previous":null,"results":[{"when":"2026-10-07 17:12","info":"This QueryDict instance is immutable","data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/api.py\", line 571, in put\n return self.patch(request, *args, **kwargs)\n ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/error-report/?offset=null&ordering=%C3%B1%289%F1%A1%B7%BC%C3%A3&limit=3217' _________________________ GET /api/error-report/{id}/ __________________________ 1. Test Case ID: dhzBzX - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/error-report/null%2Cnull/ 2. Test Case ID: FQ2NA7 - Response violates schema (2 violations) "/api/order/po/0/cancel/" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /properties/path: { "anyOf": [ { "type": "string", "format": "uri", "readOnly": true, "maxLength": 200 }, { "type": "null" } ] } Value: "/api/order/po/0/cancel/" "2026-10-07 16:48" is not a "date-time" Validated against the response schema for status code 200. Schema at /properties/when: { "format": "date-time", "type": "string", "readOnly": true } Value: "2026-10-07 16:48" [200] OK: `{"when":"2026-10-07 16:48","info":"'order'","data":"Traceback (most recent call last):\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/views.py\", line 512, in dispatch\n response = handler(request, *args, **kwargs)\n\n File \"/root/.local/lib/python3.14/site-packages/rest_framework/generics.py\", line 194, in post\n return self.create(request, *args, **kwargs)\n ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n File \"/home/inventree/src/backend/InvenTree/InvenTree/mixins.py\ // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/error-report/1/ _______________________________ GET /api/flags/ ________________________________ 1. Test Case ID: VeXGZn - Response violates schema false is not of type "string" Validated against the response schema for status code 200. Schema at /components/schemas/Flag/properties/state: { "type": "string", "readOnly": true } Value: false [200] OK: `[{"key":"EXPERIMENTAL","state":false,"conditions":[{"condition":"boolean","value":false},{"condition":"parameter","value":"experimental="}]},{"key":"NEXT_GEN","state":false,"conditions":[{"condition":"parameter","value":"ngen="}]},{"key":"OIDC","state":false,"conditions":[{"condition":"parameter","value":"oidc="}]}]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/flags/ 2. Test Case ID: p5IqlH - API accepts requests without authentication Expected 401 or 403, got `200 OK` for `GET /api/flags/` [200] OK: `[{"key":"EXPERIMENTAL","state":false},{"key":"NEXT_GEN","state":false},{"key":"OIDC","state":false}]` Reproduce with: curl -X GET http://0.0.0.0:34609/api/flags/ ____________________________ GET /api/flags/{key}/ _____________________________ 1. Test Case ID: yTc7IY - Response violates schema false is not of type "string" Validated against the response schema for status code 200. Schema at /properties/state: { "type": "string", "readOnly": true } Value: false [200] OK: `{"key":"EXPERIMENTAL","state":false,"conditions":[{"condition":"boolean","value":false},{"condition":"parameter","value":"experimental="}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/flags/EXPERIMENTAL/ 2. Test Case ID: yqNZfs - API accepts requests without authentication Expected 401 or 403, got `200 OK` for `GET /api/flags/{key}/` [200] OK: `{"key":"EXPERIMENTAL","state":false}` Reproduce with: curl -X GET http://0.0.0.0:34609/api/flags/EXPERIMENTAL/ _______________________ GET /api/generic/status/custom/ ________________________ 1. Test Case ID: 9tdOXI - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"model":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/generic/status/custom/?limit=0&model=0&offset=0&ordering=key&reference_status=' 2. Test Case ID: NslFAr - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedCustomStateList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/generic/status/custom/?limit=null&limit=null&search=' 3. Test Case ID: DvMFbG - 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 `offset` in query - violates `type` at /properties/offset (was integer, became object) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/generic/status/custom/?limit=-225286898137&offset=%C3%96P%28&offset=%C3%B0%E6%BB%96%07%C2%B5%7F%C2%8D%C2%A8%F0%B8%85%83%29%F2%B0%93%A8%F1%84%90%91%F1%8E%AA%B0&offset=%C3%90%C2%A3%1E%24%C3%B0%C3%B6%C2%92%C2%9D%117v%C3%A0%2C%F3%8C%9D%BB&offset=%C3%A4%2A' _____________________ GET /api/generic/status/custom/{id}/ _____________________ 1. Test Case ID: L5aUdY - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/generic/status/custom/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/generic/status/custom/null%2Cnull/ ____________________ GET /api/generic/status/{statusmodel}/ ____________________ 1. Test Case ID: oefjyl - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 400 [500] Internal Server Error: `{"error":"NotImplementedError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/generic/status/0/","status_code":500}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/generic/status/0/ _______________________________ GET /api/icons/ ________________________________ 1. Test Case ID: HxUcqJ - Response violates schema [{"fonts":{"truetype":"/static/tabler-icons/tabler-icons.ttf","woff":"/static/tabler-icons/tabler-icons.woff","woff2":"/static/tabler-icons/tabler-icons.woff2"},"icons":{"a-b":{"category":"","name":"a-b","tags":["test","visual","user"],"variants":{"outline":"ec36"}},"a-b-2":{"category":"","name":"a-b-2","tags":["test","visual","user"],"variants":{"outline":"f25f"}},"a-b-off":{"category":"","name":"a-b-off","tags":["test","visual","user"],"variants":{"outline":"f0a6"}},"abacus":{"category":"Math","name":"abacus","tags":["abacus","math","counting","adding up"],"variants":{"outline":"f05c"}},"abacus-off":{"category":"Math","name":"abacus-off","tags":["abacus","math","counting","adding up"],"variants":{"outline":"f3b6"}},"abc":{"category":"","name":"abc","tags":["letters","alphabet","latin"],"variants":{"outline":"f567"}},"access-point":{"category":"Devices","name":"access-point","tags":["device","hosts","airwaves","wireless","network"],"variants":{"outline":"ed1b"}},"access-point-off":{"category":"Devices","name":"access-point-off","tags":["device","hosts","airwaves","wireless","network"],"variants":{"outline":"ed1a"}},"accessible":{"category":"","name":"accessible","tags":["low-vision","blind","disability","handicapped"],"variants":{"filled":"f6ea","outline":"eba9"}},"accessible-off":{"category":"","name":"accessible-off","tags":["low-vision","blind","disability","handicapped"],"variants":{"outline":"f0a7"}},"activity":{"category":"","name":"activity","tags":["pulse","motion","health","action"],"variants":{"outline":"ed23"}},"activity-heartbeat":{"category":"","name":"activity-heartbeat","tags":["pulse","lifeline","impuls","hospital","heartrate"],"variants":{"outline":"f0db"}},"ad":{"category":"Design","name":"ad","tags":["advert","advertisement","marketing","commercial","traffic"],"variants":{"filled":"f6eb","outline":"ea02"}},"ad-2":{"category":"Design","name":"ad-2","tags":["advert","advertisement","marketing","commercial","traffic"],"variants":{"outline":"ef1f"}},"ad-circle":{"category":"","name":"ad-circle","tags":["marketing","promotion","advertisement","shape"],"variants":{"filled":"f7d3","outline":"f79e"}},"ad-circle-off":{"category":"","name":"ad-circle-off","tags":["marketing","promotion","advertisement","shape"],"variants":{"outline":"f79d"}},"ad-off":{"category":"Design","name":"ad-off","tags":["advert","advertisement","marketing","commercial","traffic"],"variants":{"outline":"f3b7"}},"address-book":{"category":"","name":"address-book","tags":["contact","contacts","phonebook","profile","resources"],"variants":{"outline":"f021"}},"address-book-off":{"category":"","name":"address-book-off","tags":["contact","contacts","phonebook","profile","resources"],"variants":{"outline":"f3b8"}},"adjustments":{"category":"System","name":"adjustments","tags":["equalizer","sliders","controls","settings","filter"],"variants":{"filled":"f6ec","outline":"ea03"}},"adjustments-alt":{"category":"System","name":"adjustments-alt","tags":["equalizer","sliders","controls","settings","filter"],"variants":{"outline":"ec37"}},"adjustments-bolt":{"category":"System","name":"adjustments-bolt","tags":[],"variants":{"outline":"f7fb"}},"adjustments-cancel":{"category":"System","name":"adjustments-cancel","tags":[],"variants":{"outline":"f7fc"}},"adjustments-check":{"category":"System","name":"adjustments-check","tags":[],"variants":{"outline":"f7fd"}},"adjustments-code":{"category":"System","name":"adjustments-code","tags":[],"variants":{"outline":"f7fe"}},"adjustments-cog":{"category":"System","name":"adjustments-cog","tags":[],"variants":{"outline":"f7ff"}},"adjustments-dollar":{"category":"System","name":"adjustments-dollar","tags":[],"variants":{"outline":"f800"}},"adjustments-down":{"category":"System","name":"adjustments-down","tags":[],"variants":{"outline":"f801"}},"adjustments-exclamation":{"category":"System","name":"adjustments-exclamation","tags":[],"variants":{"outline":"f802"}},"adjustments-heart":{"category":"System","name":"adjustments-heart","tags":[],"variants":{"outline":"f803"}},"adjustments-horizontal":{"category":"System","name":"adjustments-horizontal","tags":["equalizer","sliders","controls","settings","filter"],"variants":{"outline":"ec38"}},"adjustments-minus":{"category":"System","name":"adjustments-minus","tags":[],"variants":{"outline":"f804"}},"adjustments-off":{"category":"System","name":"adjustments-off","tags":["equalizer","sliders","controls","settings","filter"],"variants":{"outline":"f0a8"}},"adjustments-pause":{"category":"System","name":"adjustments-pause","tags":[],"variants":{"outline":"f805"}},"adjustments-pin":{"category":"System","name":"adjustments-pin","tags":[],"variants":{"outline":"f806"}},"adjustments-plus":{"category":"System","name":"adjustments-plus","tags":[],"variants":{"outline":"f807"}},"adjustments-question":{"category":"System","name":"adjustments-question","tags":[],"variants":{"outline":"f808"}},"adjustments-search":{"category":"System","name":"adjustments-search","tags":[],"variants":{"outline":"f809"}},"adjustments-share":{"category":"System","name":"adjustments-share","tags":[],"variants":{"outline":"f80a"}},"adjustments-star":{"category":"System","name":"adjustments-star","tags":[],"variants":{"outline":"f80b"}},"adjustments-up":{"category":"System","name":"adjustments-up","tags":[],"variants":{"outline":"f80c"}},"adjustments-x":{"category":"System","name":"adjustments-x","tags":[],"variants":{"outline":"f80d"}},"aerial-lift":{"category":"Vehicles","name":"aerial-lift","tags":["cable","car","gondola","mountains","ski","tramway"],"variants":{"outline":"edfe"}},"affiliate":{"category":"","name":"affiliate","tags":["network","connection","collaboration","people","connect","organization","networking"],"variants":{"filled":"f6ed","outline":"edff"}},"ai":{"category":"","name":"ai","tags":["artificial intelligence","letters","text","technology","robot","automatic","character"],"variants":{"outline":"fee7"}},"air-balloon":{"category":"Vehicles","name":"air-balloon","tags":["travel","adventure","attraction","fly","transport"],"variants":{"outline":"f4a6"}},"air-conditioning":{"category":"","name":"air-conditioning","tags":["cold","ice","home","cooling","heating","hot"],"variants":{"outline":"f3a2"}},"air-conditioning-disabled":{"category":"","name":"air-conditioning-disabled","tags":["cold","home","cooling","hot","off"],"variants":{"outline":"f542"}},"air-traffic-control":{"category":"Map","name":"air-traffic-control","tags":[],"variants":{"outline":"fb01"}},"alarm":{"category":"System","name":"alarm","tags":["time","watch","clock","ring"],"variants":{"filled":"f709","outline":"ea04"}},"alarm-average":{"category":"System","name":"alarm-average","tags":["notification","metric","ringing","mean","alertness","time","clockwork","signal","bell","chime"],"variants":{"outline":"fc9e"}},"alarm-minus":{"category":"System","name":"alarm-minus","tags":["alarm","bell","notification","delete","remove"],"variants":{"filled":"f70a","outline":"f630"}},"alarm-off":{"category":"System","name":"alarm-off","tags":["time","watch","clock","ring"],"variants":{"outline":"f0a9"}},"alarm-plus":{"category":"System","name":"alarm-plus","tags":["alarm","bell","notification","add","new"],"variants":{"filled":"f70b","outline":"f631"}},"alarm-snooze":{"category":"System","name":"alarm-snooze","tags":["alarm","bell","notification","sleep","nap"],"variants":{"filled":"f70c","outline":"f632"}},"album":{"category":"","name":"album","tags":["photos","photography","gallery","music","image"],"variants":{"outline":"f022"}},"album-off":{"category":"","name":"album-off","tags":["photos","photography","gallery","music","image"],"variants":{"outline":"f3b9"}},"alert-circle":{"category":"System","name":"alert-circle","tags":["warning","danger","caution","risk"],"variants":{"filled":"f6ee","outline":"ea05"}},"alert-circle-off":{"category":"System","name":"alert-circle-off","tags":["warning","danger","caution","risk"],"variants":{"outline":"fc65"}},"alert-hexagon":{"category":"System","name":"alert-hexagon","tags":[],"variants":{"filled":"fa34","outline":"f80e"}},"alert-hexagon-off":{"category":"System","name":"alert-hexagon-off","tags":[],"variants":{"outline":"fc66"}},"alert-octagon":{"category":"System","name":"alert-octagon","tags":["warning","danger","caution","risk"],"variants":{"filled":"f6ef","outline":"ecc6"}},"alert-small":{"category":"System","name":"alert-small","tags":[],"variants":{"outline":"f80f"}},"alert-small-off":{"category":"System","name":"alert-small-off","tags":[],"variants":{"outline":"fc67"}},"alert-square":{"category":"System","name":"alert-square","tags":[],"variants":{"filled":"fa35","outline":"f811"}},"alert-square-rounded":{"category":"System","name":"alert-square-rounded","tags":[],"variants":{"filled":"fa36","outline":"f810"}},"alert-square-rounded-off":{"category":"System","name":"alert-square-rounded-off","tags":[],"variants":{"outline":"fc68"}},"alert-triangle":{"category":"System","name":"alert-triangle","tags":["warning","danger","caution","risk"],"variants":{"filled":"f6f0","outline":"ea06"}},"alert-triangle-off":{"category":"System","name":"alert-triangle-off","tags":["warning","danger","caution","risk"],"variants":{"outline":"fc69"}},"alien":{"category":"","name":"alien","tags":["universe","extraterrestrial","ufo","space","galaxy","planet"],"variants":{"filled":"f70d","outline":"ebde"}},"align-box-bottom-center":{"category":"Text","name":"align-box-bottom-center","tags":["text","type","down","south"],"variants":{"filled":"f70e","outline":"f530"}},"align-box-bottom-left":{"category":"Text","name":"align-box-bottom-left","tags":["text","type","west","corner"],"variants":{"filled":"f70f","outline":"f531"}},"align-box-bottom-right":{"category":"Text","name":"align-box-bottom-right","tags":["text","type","east","corner"],"variants":{"filled":"f710","outline":"f532"}},"align-box-center-bottom":{"category":"Text","name":"align-box-center-bottom","tags":[],"variants":{"outline":"facb"}},"align-box-center-middle":{"category":"Text","name":"align-box-center-middle","tags":["text","type","line","horizontal"],"variants":{"filled":"f7d4","outline":"f79f"}},"align-box-center-stretch":{"category":"Text","name":"align-box-center-stretch","tags":[],"variants":{"outline":"facc"}},"align-box-center-top":{"category":"Text","name":"align-box-center-top","tags":[],"variants":{"outline":"facd"}},"align-box-left-bottom":{"category":"Text","name":"align-box-left-bottom","tags":["text","type","west","down","south","corner"],"variants":{"filled":"f711","outline":"f533"}},"align-box-left-middle":{"category":"Text","name":"align-box-left-middle","tags":["text","type","west"],"variants":{"filled":"f712","outline":"f534"}},"align-box-left-stretch":{"category":"Text","name":"align-box-left-stretch","tags":[],"variants":{"outline":"face"}},"align-box-left-top":{"category":"Text","name":"align-box-left-top","tags":["text","type","west","up","north","corner"],"variants":{"filled":"f713","outline":"f535"}},"align-box-right-bottom":{"category":"Text","name":"align-box-right-bottom","tags":["text","type","east","down","south","corner"],"variants":{"filled":"f714","outline":"f536"}},"align-box-right-middle":{"category":"Text","name":"align-box-right-middle","tags":["text","type","east"],"variants":{"filled":"f7d5","outline":"f537"}},"align-box-right-stretch":{"category":"Text","name":"align-box-right-stretch","tags":[],"variants":{"outline":"facf"}},"align-box-right-top":{"category":"Text","name":"align-box-right-top","tags":["text","type","east","up","north","corner"],"variants":{"filled":"f715","outline":"f538"}},"align-box-top-center":{"category":"Text","name":"align-box-top-center","tags":["text","type","up","north"],"variants":{"filled":"f716","outline":"f539"}},"align-box-top-left":{"category":"Text","name":"align-box-top-left","tags":["text","type","up","north","east","corner"],"variants":{"filled":"f717","outline":"f53a"}},"align-box-top-right":{"category":"Text","name":"align-box-top-right","tags":["text","type","up","north","west","corner"],"variants":{"filled":"f718","outline":"f53b"}},"align-center":{"category":"Text","name":"align-center","tags":["text","alignment","position"],"variants":{"outline":"ea07"}},"align-justified":{"category":"Text","name":"align-justified","tags":["text","alignment","position"],"variants":{"outline":"ea08"}},"align-left":{"category":"Text","name":"align-left","tags":["text","alignment","position"],"variants":{"outline":"ea09"}},"align-left-2":{"category":"Text","name":"align-left-2","tags":["text","alignment","position"],"variants":{"outline":"ff00"}},"align-right":{"category":"Text","name":"align-right","tags":["text","alignment","position"],"variants":{"outline":"ea0a"}},"align-right-2":{"category":"Text","name":"align-right-2","tags":["text","alignment","position"],"variants":{"outline":"feff"}},"alpha":{"category":"Letters","name":"alpha","tags":["letter","alphabet","greek","math"],"variants":{"outline":"f543"}},"alphabet-arabic":{"category":"Text","name":"alphabet-arabic","tags":[],"variants":{"outline":"ff2f"}},"alphabet-bangla":{"category":"Text","name":"alphabet-bangla","tags":["language","alphabet","bangla","bengali"],"variants":{"outline":"ff2e"}},"alphabet-cyrillic":{"category":"Text","name":"alphabet-cyrillic","tags":["russia","letters","language"],"variants":{"outline":"f1df"}},"alphabet-greek":{"category":"Text","name":"alphabet-greek","tags":["letters","language","alpha","beta"],"variants":{"outline":"f1e0"}},"alphabet-hebrew":{"category":"Text","name":"alphabet-hebrew","tags":["language","alphabet","hebrew","jewish"],"variants":{"outline":"ff2d"}},"alphabet-korean":{"category":"Text","name":"alphabet-korean","tags":["language","alphabet","korean"],"variants":{"outline":"ff2c"}},"alphabet-latin":{"category":"Text","name":"alphabet-latin","tags":["letters","language","rome"],"variants":{"outline":"f1e1"}},"alphabet-thai":{"category":"Text","name":"alphabet-thai","tags":["language","alphabet","thailand"],"variants":{"outline":"ff2b"}},"alt":{"category":"","name":"alt","tags":["alternative","substitute","replacement","variant","different","alternate","variation","stand-in","option","choice"],"variants":{"outline":"fc54"}},"ambulance":{"category":"Vehicles","name":"ambulance","tags":["vehicle","car","hospital","ward","doctor","rescuer"],"variants":{"outline":"ebf5"}},"ampersand":{"category":"Math","name":"ampersand","tags":["and","also","besides","moreover"],"variants":{"outline":"f229"}},"analyze":{"category":"","name":"analyze","tags":["analytics","data","statistics","graph"],"variants":{"filled":"f719","outline":"f3a3"}},"analyze-off":{"category":"","name":"analyze-off","tags":["analytics","data","statistics","graph"],"variants":{"outline":"f3ba"}},"anchor":{"category":"Map","name":"anchor","tags":["hold","ship","harbor","docks"],"variants":{"outline":"eb76"}},"anchor-off":{"category":"Map","name":"anchor-off","tags":["hold","ship","harbor","docks"],"variants":{"outline":"f0f7"}},"angle":{"category":"Design","name":"angle","tags":["geometry","math","degrees"],"variants":{"outline":"ef20"}},"ankh":{"category":"Symbols","name":"ankh","tags":["egypt","religion","cultures","community"],"variants":{"outline":"f1cd"}},"antenna":{"category":"Devices","name":"antenna","tags":["reach","tv","network","connetion","signal","communication"],"variants":{"outline":"f094"}},"antenna-bars-1":{"category":"Devices","name":"antenna-bars-1","tags":["signal","wireless","wi-fi","quality"],"variants":{"outline":"ecc7"}},"antenna-bars-2":{"category":"Devices","name":"antenna-bars-2","tags":["signal","wireless","wi-fi","quality"],"variants":{"outline":"ecc8"}},"antenna-bars-3":{"category":"Devices","name":"antenna-bars-3","tags":["signal","wireless","wi-fi","quality"],"variants":{"outline":"ecc9"}},"antenna-bars-4":{"category":"Devices","name":"antenna-bars-4","tags":["signal","wireless","wi-fi","quality"],"variants":{"outline":"ecca"}},"antenna-bars-5":{"category":"Devices","name":"antenna-bars-5","tags":["signal","wireless","wi-fi","quality"],"variants":{"outline":"eccb"}},"antenna-bars-off":{"category":"Devices","name":"antenna-bars-off","tags":["signal","wireless","wi-fi","quality"],"variants":{"outline":"f0aa"}},"antenna-off":{"category":"Devices","name":"antenna-off","tags":["reach","tv","network","connetion","signal","communication"],"variants":{"outline":"f3bb"}},"aperture":{"category":"Photography","name":"aperture","tags":["hole","opening","vent"],"variants":{"outline":"eb58"}},"aperture-off":{"category":"Photography","name":"aperture-off","tags":["hole","opening","vent"],"variants":{"outline":"f3bc"}},"api":{"category":"Development","name":"api","tags":["programming","coding","program","code","configuration"],"variants":{"outline":"effd"}},"api-app":{"category":"Development","name":"api-app","tags":["development","software","developer","platform"],"variants":{"outline":"effc"}},"api-app-off":{"category":"Development","name":"api-app-off","tags":["development","software","developer","platform"],"variants":{"outline":"f0ab"}},"api-off":{"category":"Development","name":"api-off","tags":["programming","coding","program","code","configuration"],"variants":{"outline":"f0f8"}},"app-window":{"category":"","name":"app-window","tags":["browser","page","website","web","interface"],"variants":{"filled":"f71a","outline":"efe6"}},"apple":{"category":"Food","name":"apple","tags":["fruit","healthy","diet","fitness"],"variants":{"outline":"ef21"}},"apps":{"category":"Development","name":"apps","tags":["application","add-on","user","download","mobile"],"variants":{"filled":"f6f1","outline":"ebb6"}},"apps-off":{"category":"Development","name":"apps-off","tags":["application","add-on","user","download","mobile"],"variants":{"outline":"f0ac"}},"archery-arrow":{"category":"","name":"archery-arrow","tags":["bow","target","shoot","sports","archer","hunting","bullseye","flight","quiver","precision"],"variants":{"outline":"fc55"}},"archive":{"category":"Document","name":"archive","tags":["box","index","records","old","collect"],"variants":{"filled":"fa82","outline":"ea0b"}},"archive-off":{"category":"Document","name":"archive-off","tags":["box","index","records","old","collect"],"variants":{"outline":"f0ad"}},"armchair":{"category":"","name":"armchair","tags":["seat","chair","sofa","home","furniture"],"variants":{"outline":"ef9e"}},"armchair-2":{"category":"","name":"armchair-2","tags":["seat","chair","sofa","home","furniture"],"variants":{"outline":"efe7"}},"armchair-2-off":{"category":"","name":"armchair-2-off","tags":["seat","chair","sofa","home","furniture"],"variants":{"outline":"f3bd"}},"armchair-off":{"category":"","name":"armchair-off","tags":["seat","chair","sofa","home","furniture"],"variants":{"outline":"f3be"}},"arrow-autofit-content":{"category":"Arrows","name":"arrow-autofit-content","tags":["direction","east","west"],"variants":{"filled":"f6f2","outline":"ef31"}},"arrow-autofit-down":{"category":"Arrows","name":"arrow-autofit-down","tags":["direction","south"],"variants":{"outline":"ef32"}},"arrow-autofit-height":{"category":"Arrows","name":"arrow-autofit-height","tags":["direction","north","up","down","south"],"variants":{"outline":"ef33"}},"arrow-autofit-left":{"category":"Arrows","name":"arrow-autofit-left","tags":["direction","west"],"variants":{"outline":"ef34"}},"arrow-autofit-right":{"category":"Arrows","name":"arrow-autofit-right","tags":["direction","east","west"],"variants":{"outline":"ef35"}},"arrow-autofit-up":{"category":"Arrows","name":"arrow-autofit-up","tags":["direction","north"],"variants":{"outline":"ef36"}},"arrow-autofit-width":{"category":"Arrows","name":"arrow-autofit-width","tags":["direction","east","west"],"variants":{"outline":"ef37"}},"arrow-back":{"category":"Arrows","name":"arrow-back","tags":["pointer","return","revert","reverse","undo","left"],"variants":{"outline":"ea0c"}},"arrow-back-up":{"category":"Arrows","name":"arrow-back-up","tags":["pointer","return","revert","reverse","undo","left"],"variants":{"outline":"eb77"}},"arrow-back-up-double":{"category":"Arrows","name":"arrow-back-up-double","tags":[],"variants":{"outline":"f9ec"}},"arrow-badge-down":{"category":"Arrows","name":"arrow-badge-down","tags":["army","badge","military","rank","soldier","war","south","bottom"],"variants":{"filled":"f7d6","outline":"f60b"}},"arrow-badge-left":{"category":"Arrows","name":"arrow-badge-left","tags":["army","badge","military","rank","soldier","war","west"],"variants":{"filled":"f7d7","outline":"f60c"}},"arrow-badge-right":{"category":"Arrows","name":"arrow-badge-right","tags":["army","badge","military","rank","soldier","war","east"],"variants":{"filled":"f7d8","outline":"f60d"}},"arrow-badge-up":{"category":"Arrows","name":"arrow-badge-up","tags":["army","badge","military","rank","soldier","war","north"],"variants":{"filled":"f7d9","outline":"f60e"}},"arrow-bar-both":{"category":"Arrows","name":"arrow-bar-both","tags":[],"variants":{"outline":"fadd"}},"arrow-bar-down":{"category":"Arrows","name":"arrow-bar-down","tags":["drag","move"],"variants":{"outline":"ea0d"}},"arrow-bar-left":{"category":"Arrows","name":"arrow-bar-left","tags":["drag","move"],"variants":{"outline":"ea0e"}},"arrow-bar-right":{"category":"Arrows","name":"arrow-bar-right","tags":["drag","move"],"variants":{"outline":"ea0f"}},"arrow-bar-to-down":{"category":"Arrows","name":"arrow-bar-to-down","tags":["drag","move"],"variants":{"outline":"ec88"}},"arrow-bar-to-left":{"category":"Arrows","name":"arrow-bar-to-left","tags":["drag","move"],"variants":{"outline":"ec89"}},"arrow-bar-to-right":{"category":"Arrows","name":"arrow-bar-to-right","tags":["drag","move"],"variants":{"outline":"ec8a"}},"arrow-bar-to-up":{"category":"Arrows","name":"arrow-bar-to-up","tags":["drag","move"],"variants":{"outline":"ec8b"}},"arrow-bar-up":{"category":"Arrows","name":"arrow-bar-up","tags":["drag","move"],"variants":{"outline":"ea10"}},"arrow-bear-left":{"category":"Arrows","name":"arrow-bear-left","tags":["direction","north"],"variants":{"outline":"f045"}},"arrow-bear-left-2":{"category":"Arrows","name":"arrow-bear-left-2","tags":["direction","north"],"variants":{"outline":"f044"}},"arrow-bear-right":{"category":"Arrows","name":"arrow-bear-right","tags":["direction","north"],"variants":{"outline":"f047"}},"arrow-bear-right-2":{"category":"Arrows","name":"arrow-bear-right-2","tags":["direction","north"],"variants":{"outline":"f046"}},"arrow-big-down":{"category":"Arrows","name":"arrow-big-down","tags":["direction","south"],"variants":{"filled":"f6c6","outline":"edda"}},"arrow-big-down-line":{"category":"Arrows","name":"arrow-big-down-line","tags":["direction","south"],"variants":{"filled":"f6c7","outline":"efe8"}},"arrow-big-down-lines":{"category":"Arrows","name":"arrow-big-down-lines","tags":["direction","south"],"variants":{"filled":"f6c8","outline":"efe9"}},"arrow-big-left":{"category":"Arrows","name":"arrow-big-left","tags":["direction","west"],"variants":{"filled":"f6c9","outline":"eddb"}},"arrow-big-left-line":{"category":"Arrows","name":"arrow-big-left-line","tags":["direction","west"],"variants":{"filled":"f6ca","outline":"efea"}},"arrow-big-left-lines":{"category":"Arrows","name":"arrow-big-left-lines","tags":["direction","west"],"variants":{"filled":"f6cb","outline":"efeb"}},"arrow-big-right":{"category":"Arrows","name":"arrow-big-right","tags":["direction","east","west"],"variants":{"filled":"f6cc","outline":"eddc"}},"arrow-big-right-line":{"category":"Arrows","name":"arrow-big-right-line","tags":["direction","east","west"],"variants":{"filled":"f6cd","outline":"efec"}},"arrow-big-right-lines":{"category":"Arrows","name":"arrow-big-right-lines","tags":["direction","east","west"],"variants":{"filled":"f6ce","outline":"efed"}},"arrow-big-up":{"category":"Arrows","name":"arrow-big-up","tags":["direction","north"],"variants":{"filled":"f6cf","outline":"eddd"}},"arrow-big-up-line":{"category":"Arrows","name":"arrow-big-up-line","tags":["direction","north"],"variants":{"filled":"f6d0","outline":"efee"}},"arrow-big-up-lines":{"category":"Arrows","name":"arrow-big-up-lines","tags":["direction","north"],"variants":{"filled":"f6d1","outline":"efef"}},"arrow-bounce":{"category":"Arrows","name":"arrow-bounce","tags":["direction","cursor","up","pointer","move"],"variants":{"outline":"f3a4"}},"arrow-capsule":{"category":"Arrows","name":"arrow-capsule","tags":[],"variants":{"outline":"fade"}},"arrow-curve-left":{"category":"Arrows","name":"arrow-curve-left","tags":["direction","north"],"variants":{"outline":"f048"}},"arrow-curve-right":{"category":"Arrows","name":"arrow-curve-right","tags":["direction","north"],"variants":{"outline":"f049"}},"arrow-down":{"category":"Arrows","name":"arrow-down","tags":["proceed","swipe","below","bottom"],"variants":{"outline":"ea16"}},"arrow-down-bar":{"category":"Arrows","name":"arrow-down-bar","tags":["drag","move"],"variants":{"outline":"ed98"}},"arrow-down-circle":{"category":"Arrows","name":"arrow-down-circle","tags":["proceed","swipe","below","bottom"],"variants":{"outline":"ea11"}},"arrow-down-from-arc":{"category":"","name":"arrow-down-from-arc","tags":[],"variants":{"outline":"fd86"}},"arrow-down-left":{"category":"Arrows","name":"arrow-down-left","tags":["corner","bottom","point"],"variants":{"outline":"ea13"}},"arrow-down-left-circle":{"category":"Arrows","name":"arrow-down-left-circle","tags":["corner","bottom","point"],"variants":{"outline":"ea12"}},"arrow-down-rhombus":{"category":"Arrows","name":"arrow-down-rhombus","tags":["proceed","swipe","below","shape","bottom","south"],"variants":{"outline":"f61d"}},"arrow-down-right":{"category":"Arrows","name":"arrow-down-right","tags":["corner","bottom","point"],"variants":{"outline":"ea15"}},"arrow-down-right-circle":{"category":"Arrows","name":"arrow-down-right-circle","tags":["corner","bottom","point"],"variants":{"outline":"ea14"}},"arrow-down-square":{"category":"Arrows","name":"arrow-down-square","tags":["drag","move"],"variants":{"outline":"ed9a"}},"arrow-down-tail":{"category":"Arrows","name":"arrow-down-tail","tags":["drag","move"],"variants":{"outline":"ed9b"}},"arrow-down-to-arc":{"category":"","name":"arrow-down-to-arc","tags":[],"variants":{"outline":"fd87"}},"arrow-elbow-left":{"category":"Arrows","name":"arrow-elbow-left","tags":[],"variants":{"outline":"f9ed"}},"arrow-elbow-right":{"category":"Arrows","name":"arrow-elbow-right","tags":[],"variants":{"outline":"f9ee"}},"arrow-fork":{"category":"Arrows","name":"arrow-fork","tags":["direction","north"],"variants":{"outline":"f04a"}},"arrow-forward":{"category":"Arrows","name":"arrow-forward","tags":["point","turn","next","redo","right"],"variants":{"outline":"ea17"}},"arrow-forward-up":{"category":"Arrows","name":"arrow-forward-up","tags":["point","turn","next","redo","right"],"variants":{"outline":"eb78"}},"arrow-forward-up-double":{"category":"Arrows","name":"arrow-forward-up-double","tags":[],"variants":{"outline":"f9ef"}},"arrow-guide":{"category":"Arrows","name":"arrow-guide","tags":["direction","west","bend","navigation"],"variants":{"outline":"f22a"}},"arrow-iteration":{"category":"Arrows","name":"arrow-iteration","tags":["direction","loop","right","east"],"variants":{"outline":"f578"}},"arrow-left":{"category":"Arrows","name":"arrow-left","tags":["back","swipe","return"],"variants":{"outline":"ea19"}},"arrow-left-bar":{"category":"Arrows","name":"arrow-left-bar","tags":["drag","move"],"variants":{"outline":"ed9c"}},"arrow-left-circle":{"category":"Arrows","name":"arrow-left-circle","tags":["drag","move"],"variants":{"outline":"ea18"}},"arrow-left-from-arc":{"category":"","name":"arrow-left-from-arc","tags":[],"variants":{"outline":"fd88"}},"arrow-left-rhombus":{"category":"Arrows","name":"arrow-left-rhombus","tags":["proceed","swipe","below","shape","west"],"variants":{"outline":"f61e"}},"arrow-left-right":{"category":"Arrows","name":"arrow-left-right","tags":["direction","west","east"],"variants":{"outline":"f04b"}},"arrow-left-square":{"category":"Arrows","name":"arrow-left-square","tags":["drag","move"],"variants":{"outline":"ed9d"}},"arrow-left-tail":{"category":"Arrows","name":"arrow-left-tail","tags":["drag","move"],"variants":{"outline":"ed9e"}},"arrow-left-to-arc":{"category":"","name":"arrow-left-to-arc","tags":[],"variants":{"outline":"fd89"}},"arrow-loop-left":{"category":"Arrows","name":"arrow-loop-left","tags":["drag","move","turn"],"variants":{"outline":"ed9f"}},"arrow-loop-left-2":{"category":"Arrows","name":"arrow-loop-left-2","tags":["direction","west"],"variants":{"outline":"f04c"}},"arrow-loop-right":{"category":"Arrows","name":"arrow-loop-right","tags":["drag","move","turn"],"variants":{"outline":"eda0"}},"arrow-loop-right-2":{"category":"Arrows","name":"arrow-loop-right-2","tags":["direction","east"],"variants":{"outline":"f04d"}},"arrow-merge":{"category":"Arrows","name":"arrow-merge","tags":["direction","north","up"],"variants":{"outline":"f04e"}},"arrow-merge-alt-left":{"category":"Arrows","name":"arrow-merge-alt-left","tags":["merge-left","shift-left","combine-left","direction-left","join-left","move-left","alt-left-arrow","leftward","left-shift","left-merge"],"variants":{"outline":"fc9f"}},"arrow-merge-alt-right":{"category":"Arrows","name":"arrow-merge-alt-right","tags":["merge-right","shift-right","combine-right","direction-right","join-right","move-right","alt-right-arrow","rightward","right-shift","right-merge"],"variants":{"outline":"fca0"}},"arrow-merge-both":{"category":"Arrows","name":"arrow-merge-both","tags":["direction","up","north","higher","right","left"],"variants":{"outline":"f23b"}},"arrow-merge-left":{"category":"Arrows","name":"arrow-merge-left","tags":["direction","up","north","higher"],"variants":{"outline":"f23c"}},"arrow-merge-right":{"category":"Arrows","name":"arrow-merge-right","tags":["direction","up","north","higher"],"variants":{"outline":"f23d"}},"arrow-move-down":{"category":"Arrows","name":"arrow-move-down","tags":["direction","south","bottom"],"variants":{"outline":"f2ba"}},"arrow-move-left":{"category":"Arrows","name":"arrow-move-left","tags":["direction","west"],"variants":{"outline":"f2bb"}},"arrow-move-right":{"category":"Arrows","name":"arrow-move-right","tags":["direction","east"],"variants":{"outline":"f2bc"}},"arrow-move-up":{"category":"Arrows","name":"arrow-move-up","tags":["direction","north","top"],"variants":{"outline":"f2bd"}},"arrow-narrow-down":{"category":"Arrows","name":"arrow-narrow-down","tags":["bottom","proceed","swipe","next"],"variants":{"outline":"ea1a"}},"arrow-narrow-left":{"category":"Arrows","name":"arrow-narrow-left","tags":["back","previous","pointer","point"],"variants":{"outline":"ea1b"}},"arrow-narrow-right":{"category":"Arrows","name":"arrow-narrow-right","tags":["next","proceed","point","pointer"],"variants":{"outline":"ea1c"}},"arrow-narrow-up":{"category":"Arrows","name":"arrow-narrow-up","tags":["top","point"],"variants":{"outline":"ea1d"}},"arrow-ramp-left":{"category":"Arrows","name":"arrow-ramp-left","tags":["direction","side","turn"],"variants":{"outline":"ed3c"}},"arrow-ramp-left-2":{"category":"Arrows","name":"arrow-ramp-left-2","tags":["direction","west"],"variants":{"outline":"f04f"}},"arrow-ramp-left-3":{"category":"Arrows","name":"arrow-ramp-left-3","tags":["direction","west"],"variants":{"outline":"f050"}},"arrow-ramp-right":{"category":"Arrows","name":"arrow-ramp-right","tags":["direction","side","turn"],"variants":{"outline":"ed3d"}},"arrow-ramp-right-2":{"category":"Arrows","name":"arrow-ramp-right-2","tags":["direction","east"],"variants":{"outline":"f051"}},"arrow-ramp-right-3":{"category":"Arrows","name":"arrow-ramp-right-3","tags":["direction","east"],"variants":{"outline":"f052"}},"arrow-right":{"category":"Arrows","name":"arrow-right","tags":["next","proceed","swipe"],"variants":{"outline":"ea1f"}},"arrow-right-bar":{"category":"Arrows","name":"arrow-right-bar","tags":["drag","move"],"variants":{"outline":"eda1"}},"arrow-right-circle":{"category":"Arrows","name":"arrow-right-circle","tags":["drag","move"],"variants":{"outline":"ea1e"}},"arrow-right-from-arc":{"category":"","name":"arrow-right-from-arc","tags":[],"variants":{"outline":"fd8a"}},"arrow-right-rhombus":{"category":"Arrows","name":"arrow-right-rhombus","tags":["proceed","swipe","below","shape","east"],"variants":{"outline":"f61f"}},"arrow-right-square":{"category":"Arrows","name":"arrow-right-square","tags":["direction","east"],"variants":{"outline":"eda2"}},"arrow-right-tail":{"category":"Arrows","name":"arrow-right-tail","tags":["direction","east"],"variants":{"outline":"eda3"}},"arrow-right-to-arc":{"category":"","name":"arrow-right-to-arc","tags":[],"variants":{"outline":"fd8b"}},"arrow-rotary-first-left":{"category":"Arrows","name":"arrow-rotary-first-left","tags":["direction","south"],"variants":{"outline":"f053"}},"arrow-rotary-first-right":{"category":"Arrows","name":"arrow-rotary-first-right","tags":["direction","south"],"variants":{"outline":"f054"}},"arrow-rotary-last-left":{"category":"Arrows","name":"arrow-rotary-last-left","tags":["direction","north"],"variants":{"outline":"f055"}},"arrow-rotary-last-right":{"category":"Arrows","name":"arrow-rotary-last-right","tags":["direction","north"],"variants":{"outline":"f056"}},"arrow-rotary-left":{"category":"Arrows","name":"arrow-rotary-left","tags":["direction","west"],"variants":{"outline":"f057"}},"arrow-rotary-right":{"category":"Arrows","name":"arrow-rotary-right","tags":["direction","east"],"variants":{"outline":"f058"}},"arrow-rotary-straight":{"category":"Arrows","name":"arrow-rotary-straight","tags":["direction","north"],"variants":{"outline":"f059"}},"arrow-roundabout-left":{"category":"Arrows","name":"arrow-roundabout-left","tags":["direction","east","traffic","circle"],"variants":{"outline":"f22b"}},"arrow-roundabout-right":{"category":"Arrows","name":"arrow-roundabout-right","tags":["direction","west","traffic","circle"],"variants":{"outline":"f22c"}},"arrow-sharp-turn-left":{"category":"Arrows","name":"arrow-sharp-turn-left","tags":["direction","north","down"],"variants":{"outline":"f05a"}},"arrow-sharp-turn-right":{"category":"Arrows","name":"arrow-sharp-turn-right","tags":["direction","south","down"],"variants":{"outline":"f05b"}},"arrow-up":{"category":"Arrows","name":"arrow-up","tags":["top","point"],"variants":{"outline":"ea25"}},"arrow-up-bar":{"category":"Arrows","name":"arrow-up-bar","tags":["direction","north"],"variants":{"outline":"eda4"}},"arrow-up-circle":{"category":"Arrows","name":"arrow-up-circle","tags":["top","point"],"variants":{"outline":"ea20"}},"arrow-up-from-arc":{"category":"","name":"arrow-up-from-arc","tags":[],"variants":{"outline":"fd8c"}},"arrow-up-left":{"category":"Arrows","name":"arrow-up-left","tags":["top","corner","point"],"variants":{"outline":"ea22"}},"arrow-up-left-circle":{"category":"Arrows","name":"arrow-up-left-circle","tags":["top","corner","point"],"variants":{"outline":"ea21"}},"arrow-up-rhombus":{"category":"Arrows","name":"arrow-up-rhombus","tags":["proceed","swipe","below","shape","top","north"],"variants":{"outline":"f620"}},"arrow-up-right":{"category":"Arrows","name":"arrow-up-right","tags":["top","corner","point"],"variants":{"outline":"ea24"}},"arrow-up-right-circle":{"category":"Arrows","name":"arrow-up-right-circle","tags":["top","corner","point"],"variants":{"outline":"ea23"}},"arrow-up-square":{"category":"Arrows","name":"arrow-up-square","tags":["direction","north"],"variants":{"outline":"eda6"}},"arrow-up-tail":{"category":"Arrows","name":"arrow-up-tail","tags":["direction","north"],"variants":{"outline":"eda7"}},"arrow-up-to-arc":{"category":"","name":"arrow-up-to-arc","tags":[],"variants":{"outline":"fd8d"}},"arrow-wave-left-down":{"category":"Arrows","name":"arrow-wave-left-down","tags":["direction","south"],"variants":{"outline":"eda8"}},"arrow-wave-left-up":{"category":"Arrows","name":"arrow-wave-left-up","tags":["direction","north"],"variants":{"outline":"eda9"}},"arrow-wave-right-down":{"category":"Arrows","name":"arrow-wave-right-down","tags":["direction","south"],"variants":{"outline":"edaa"}},"arrow-wave-right-up":{"category":"Arrows","name":"arrow-wave-right-up","tags":["direction","north"],"variants":{"outline":"edab"}},"arrow-zig-zag":{"category":"Arrows","name":"arrow-zig-zag","tags":["direction","cursor","pointer","turn","move"],"variants":{"outline":"f4a7"}},"arrows-cross":{"category":"Arrows","name":"arrows-cross","tags":["direction","north","south"],"variants":{"outline":"effe"}},"arrows-diagonal":{"category":"Arrows","name":"arrows-diagonal","tags":["zoom","corners","stretch"],"variants":{"outline":"ea27"}},"arrows-diagonal-2":{"category":"Arrows","name":"arrows-diagonal-2","tags":["zoom","corners","stretch"],"variants":{"outline":"ea26"}},"arrows-diagonal-minimize":{"category":"Arrows","name":"arrows-diagonal-minimize","tags":["direction","south","north"],"variants":{"outline":"ef39"}},"arrows-diagonal-minimize-2":{"category":"Arrows","name":"arrows-diagonal-minimize-2","tags":["direction","south","north"],"variants":{"outline":"ef38"}},"arrows-diff":{"category":"Arrows","name":"arrows-diff","tags":["direction","right","left","west","east"],"variants":{"outline":"f296"}},"arrows-double-ne-sw":{"category":"Arrows","name":"arrows-double-ne-sw","tags":["direction","north","south"],"variants":{"outline":"edde"}},"arrows-double-nw-se":{"category":"Arrows","name":"arrows-double-nw-se","tags":["direction","north","south"],"variants":{"outline":"eddf"}},"arrows-double-se-nw":{"category":"Arrows","name":"arrows-double-se-nw","tags":["direction","north","south"],"variants":{"outline":"ede0"}},"arrows-double-sw-ne":{"category":"Arrows","name":"arrows-double-sw-ne","tags":["direction","north","south"],"variants":{"outline":"ede1"}},"arrows-down":{"category":"Arrows","name":"arrows-down","tags":["direction","south"],"variants":{"outline":"edad"}},"arrows-down-up":{"category":"Arrows","name":"arrows-down-up","tags":["direction","north","south"],"variants":{"outline":"edac"}},"arrows-exchange":{"category":"Arrows","name":"arrows-exchange","tags":["direction","west","east"],"variants":{"outline":"f1f4"}},"arrows-exchange-2":{"category":"Arrows","name":"arrows-exchange-2","tags":["direction","west","east"],"variants":{"outline":"f1f3"}},"arrows-horizontal":{"category":"Arrows","name":"arrows-horizontal","tags":["zoom","stretch","left","right"],"variants":{"outline":"eb59"}},"arrows-join":{"category":"Arrows","name":"arrows-join","tags":["direction","east"],"variants":{"outline":"edaf"}},"arrows-join-2":{"category":"Arrows","name":"arrows-join-2","tags":["direction","east"],"variants":{"outline":"edae"}},"arrows-left":{"category":"Arrows","name":"arrows-left","tags":["direction","west"],"variants":{"outline":"edb1"}},"arrows-left-down":{"category":"Arrows","name":"arrows-left-down","tags":["drag","move"],"variants":{"outline":"ee00"}},"arrows-left-right":{"category":"Arrows","name":"arrows-left-right","tags":["direction","east","west"],"variants":{"outline":"edb0"}},"arrows-maximize":{"category":"Arrows","name":"arrows-maximize","tags":["fullscreen","expand"],"variants":{"outline":"ea28"}},"arrows-minimize":{"category":"Arrows","name":"arrows-minimize","tags":["fullscreen","exit","close"],"variants":{"outline":"ea29"}},"arrows-move":{"category":"Arrows","name":"arrows-move","tags":["direction","navigation","left","right","up","down","north","south","west","east","higher","lower"],"variants":{"outline":"f22f"}},"arrows-move-horizontal":{"category":"Arrows","name":"arrows-move-horizontal","tags":["direction","west","east","left","right"],"variants":{"outline":"f22d"}},"arrows-move-vertical":{"category":"Arrows","name":"arrows-move-vertical","tags":["direction","up","north","south","down","higher","lower"],"variants":{"outline":"f22e"}},"arrows-random":{"category":"Arrows","name":"arrows-random","tags":["direction","north","south","west","east"],"variants":{"outline":"f095"}},"arrows-right":{"category":"Arrows","name":"arrows-right","tags":["direction","east"],"variants":{"outline":"edb3"}},"arrows-right-down":{"category":"Arrows","name":"arrows-right-down","tags":["drag","move"],"variants":{"outline":"ee01"}},"arrows-right-left":{"category":"Arrows","name":"arrows-right-left","tags":["direction","east","west"],"variants":{"outline":"edb2"}},"arrows-shuffle":{"category":"Arrows","name":"arrows-shuffle","tags":["direction","random","cross","mix","music"],"variants":{"outline":"f000"}},"arrows-shuffle-2":{"category":"Arrows","name":"arrows-shuffle-2","tags":["direction","random","cross","mix","music"],"variants":{"outline":"efff"}},"arrows-sort":{"category":"Arrows","name":"arrows-sort","tags":["top","bottom","parallel","order"],"variants":{"outline":"eb5a"}},"arrows-split":{"category":"Arrows","name":"arrows-split","tags":["direction","navigation","east"],"variants":{"outline":"edb5"}},"arrows-split-2":{"category":"Arrows","name":"arrows-split-2","tags":["direction","navigation","east"],"variants":{"outline":"edb4"}},"arrows-transfer-down":{"category":"Arrows","name":"arrows-transfer-down","tags":["direction","south","bottom"],"variants":{"outline":"f2cc"}},"arrows-transfer-up":{"category":"Arrows","name":"arrows-transfer-up","tags":["direction","north","top"],"variants":{"outline":"f2cd"}},"arrows-up":{"category":"Arrows","name":"arrows-up","tags":["direction","north"],"variants":{"outline":"edb7"}},"arrows-up-down":{"category":"Arrows","name":"arrows-up-down","tags":["direction","north","south"],"variants":{"outline":"edb6"}},"arrows-up-left":{"category":"Arrows","name":"arrows-up-left","tags":["drag","move"],"variants":{"outline":"ee02"}},"arrows-up-right":{"category":"Arrows","name":"arrows-up-right","tags":["drag","move"],"variants":{"outline":"ee03"}},"arrows-vertical":{"category":"Arrows","name":"arrows-vertical","tags":["expand","stretch","top","bottom"],"variants":{"outline":"eb5b"}},"artboard":{"category":"Design","name":"artboard","tags":["graphics","drawing","design","art","canvas"],"variants":{"filled":"fa83","outline":"ea2a"}},"artboard-off":{"category":"Design","name":"artboard-off","tags":["graphics","drawing","design","art","canvas"],"variants":{"outline":"f0ae"}},"article":{"category":"","name":"article","tags":["news","newspaper","media","blog"],"variants":{"filled":"f7da","outline":"f1e2"}},"article-off":{"category":"","name":"article-off","tags":["news","newspaper","media","blog"],"variants":{"outline":"f3bf"}},"aspect-ratio":{"category":"Media","name":"aspect-ratio","tags":["size","dimension","width","height","orientation"],"variants":{"filled":"f7db","outline":"ed30"}},"aspect-ratio-off":{"category":"Media","name":"aspect-ratio-off","tags":["size","dimension","width","height","orientation"],"variants":{"outline":"f0af"}},"assembly":{"category":"Development","name":"assembly","tags":["assembly","engineering","manufacturing","production","robotics"],"variants":{"filled":"fe9e","outline":"f24d"}},"assembly-off":{"category":"Development","name":"assembly-off","tags":["assembly","engineering","manufacturing","production","robotics"],"variants":{"outline":"f3c0"}},"asset":{"category":"Development","name":"asset","tags":["assembly","engineering","manufacturing","production","robotics"],"variants":{"filled":"fe9d","outline":"f1ce"}},"asterisk":{"category":"Text","name":"asterisk","tags":["star","password","security"],"variants":{"outline":"efd5"}},"asterisk-simple":{"category":"Text","name":"asterisk-simple","tags":["star","password","security"],"variants":{"outline":"efd4"}},"at":{"category":"Text","name":"at","tags":["email","message","mention","sign","@"],"variants":{"outline":"ea2b"}},"at-off":{"category":"Text","name":"at-off","tags":["email","message","mention","sign","@"],"variants":{"outline":"f0b0"}},"atom":{"category":"","name":"atom","tags":["unit","element","part","electrons"],"variants":{"outline":"eb79"}},"atom-2":{"category":"","name":"atom-2","tags":["unit","element","part","electrons","protons","neutrons"],"variants":{"filled":"f71b","outline":"ebdf"}},"atom-off":{"category":"","name":"atom-off","tags":["unit","element","part","electrons"],"variants":{"outline":"f0f9"}},"augmented-reality":{"category":"","name":"augmented-reality","tags":["technology","dimensional","geometry"],"variants":{"outline":"f023"}},"augmented-reality-2":{"category":"","name":"augmented-reality-2","tags":["technology","dimensional","geometry"],"variants":{"outline":"f37e"}},"augmented-reality-off":{"category":"","name":"augmented-reality-off","tags":["technology","dimensional","geometry"],"variants":{"outline":"f3c1"}},"auth-2fa":{"category":"","name":"auth-2fa","tags":["login","password","verification","code","two-step"],"variants":{"outline":"eca0"}},"automatic-gearbox":{"category":"Vehicles","name":"automatic-gearbox","tags":[],"variants":{"outline":"fc89"}},"automation":{"category":"","name":"automation","tags":[],"variants":{"outline":"fef8"}},"avocado":{"category":"","name":"avocado","tags":[],"variants":{"outline":"fd8e"}},"award":{"category":"","name":"award","tags":["prize","reward","competition","contest","win"],"variants":{"filled":"f71c","outline":"ea2c"}},"award-off":{"category":"","name":"award-off","tags":["prize","reward","competition","contest","win"],"variants":{"outline":"f0fa"}},"axe":{"category":"","name":"axe","tags":["blade","wood","tool","hatchet"],"variants":{"outline":"ef9f"}},"axis-x":{"category":"Arrows","name":"axis-x","tags":["math","geometry"],"variants":{"outline":"ef45"}},"axis-y":{"category":"Arrows","name":"axis-y","tags":["math","geometry"],"variants":{"outline":"ef46"}},"baby-bottle":{"category":"Health","name":"baby-bottle","tags":["kid","milk","child","food","drink","feeding"],"variants":{"outline":"f5d2"}},"baby-carriage":{"category":"Health","name":"baby-carriage","tags":["child","infant","cradle","pram"],"variants":{"filled":"fe9c","outline":"f05d"}},"background":{"category":"","name":"background","tags":["backdrop","setting","context","environment","scene","ambient","surroundings","scape","contextual","atmosphere"],"variants":{"outline":"fd2c"}},"backhoe":{"category":"Vehicles","name":"backhoe","tags":["rear","equipment","digger","excavation","tractor","loader","construction","site","excavator"],"variants":{"outline":"ed86"}},"backpack":{"category":"","name":"backpack","tags":["education","school","learning","adventure","travel"],"variants":{"outline":"ef47"}},"backpack-off":{"category":"","name":"backpack-off","tags":["education","school","learning","adventure","travel"],"variants":{"outline":"f3c2"}},"backslash":{"category":"Math","name":"backslash","tags":[],"variants":{"outline":"fab9"}},"backspace":{"category":"Text","name":"backspace","tags":["delete","remove","eliminate"],"variants":{"filled":"f7dc","outline":"ea2d"}},"badge":{"category":"","name":"badge","tags":["army","badge","military","rank","soldier","war"],"variants":{"filled":"f667","outline":"efc2"}},"badge-3d":{"category":"Badges","name":"badge-3d","tags":["shape","movie","glasses","film"],"variants":{"filled":"fe9b","outline":"f555"}},"badge-4k":{"category":"Badges","name":"badge-4k","tags":["shape","high","resolution","video","display"],"variants":{"filled":"fe9a","outline":"f556"}},"badge-8k":{"category":"Badges","name":"badge-8k","tags":["shape","high","resolution","video","display"],"variants":{"filled":"fe99","outline":"f557"}},"badge-ad":{"category":"Badges","name":"badge-ad","tags":["shape","marketing","media","promotion","advertising","advertisement"],"variants":{"filled":"fe98","outline":"f558"}},"badge-ad-off":{"category":"","name":"badge-ad-off","tags":[],"variants":{"outline":"fd8f"}},"badge-ar":{"category":"Badges","name":"badge-ar","tags":["shape","agumented","reality","techonoly"],"variants":{"filled":"fe97","outline":"f559"}},"badge-cc":{"category":"Badges","name":"badge-cc","tags":["shape","accessiblity","subtitles","youtube","netflix"],"variants":{"filled":"fe96","outline":"f55a"}},"badge-hd":{"category":"Badges","name":"badge-hd","tags":["shape","video","display","resolution","movie"],"variants":{"filled":"fe95","outline":"f55b"}},"badge-off":{"category":"","name":"badge-off","tags":["army","badge","military","rank","soldier","war"],"variants":{"outline":"f0fb"}},"badge-sd":{"category":"Badges","name":"badge-sd","tags":["shape","card","memory","sim","phone"],"variants":{"filled":"fe94","outline":"f55c"}},"badge-tm":{"category":"Badges","name":"badge-tm","tags":["shape","brand","copyright","logo","product"],"variants":{"filled":"fe93","outline":"f55d"}},"badge-vo":{"category":"Badges","name":"badge-vo","tags":["shape","mic","film","netflix","voice","video"],"variants":{"filled":"fe92","outline":"f55e"}},"badge-vr":{"category":"Badges","name":"badge-vr","tags":["shape","technology","virtual","reality","device"],"variants":{"filled":"fe91","outline":"f55f"}},"badge-wc":{"category":"Badges","name":"badge-wc","tags":["shape","toilet","restroom","male","female"],"variants":{"filled":"fe90","outline":"f560"}},"badges":{"category":"","name":"badges","tags":["army","badge","military","rank","soldier","war"],"variants":{"filled":"f7dd","outline":"efc3"}},"badges-off":{"category":"","name":"badges-off","tags":["army","badge","military","rank","soldier","war"],"variants":{"outline":"f0fc"}},"baguette":{"category":"Food","name":"baguette","tags":["bread","french","breakfast","bakery","loaf"],"variants":{"outline":"f3a5"}},"ball-american-football":{"category":"Sport","name":"ball-american-football","tags":["sport","game","sportsman","play","match","pitch"],"variants":{"outline":"ee04"}},"ball-american-football-off":{"category":"Sport","name":"ball-american-football-off","tags":["sport","game","sportsman","play","match","pitch"],"variants":{"outline":"f3c3"}},"ball-baseball":{"category":"Sport","name":"ball-baseball","tags":["sport","game","competition","pitch"],"variants":{"outline":"efa0"}},"ball-basketball":{"category":"Sport","name":"ball-basketball","tags":["game","round","quarter","basket","nba"],"variants":{"outline":"ec28"}},"ball-bowling":{"category":"Sport","name":"ball-bowling","tags":["round","strike","spare","pin"],"variants":{"outline":"ec29"}},"ball-football":{"category":"Sport","name":"ball-football","tags":["sport","game","sportsman","play","match","pitch"],"variants":{"outline":"ee06"}},"ball-football-off":{"category":"Sport","name":"ball-football-off","tags":["sport","game","sportsman","play","match","pitch"],"variants":{"outline":"ee05"}},"ball-tennis":{"category":"Sport","name":"ball-tennis","tags":["game","set","match","court","racket"],"variants":{"outline":"ec2a"}},"ball-volleyball":{"category":"Sport","name":"ball-volleyball","tags":["point","set","match","attacker","ace","setter","serve"],"variants":{"outline":"ec2b"}},"balloon":{"category":"","name":"balloon","tags":["party","birthday","decoration"],"variants":{"filled":"fa84","outline":"ef3a"}},"balloon-off":{"category":"","name":"balloon-off","tags":["party","birthday","decoration"],"variants":{"outline":"f0fd"}},"ballpen":{"category":"Text","name":"ballpen","tags":["write","school","education","stationery","text"],"variants":{"filled":"fa85","outline":"f06e"}},"ballpen-off":{"category":"Text","name":"ballpen-off","tags":["write","school","education","stationery","text"],"variants":{"outline":"f0b1"}},"ban":{"category":"","name":"ban","tags":["no","reject","restriction","prohibited"],"variants":{"outline":"ea2e"}},"bandage":{"category":"Health","name":"bandage","tags":["patch","wound","cut","pain"],"variants":{"filled":"f7de","outline":"eb7a"}},"bandage-off":{"category":"Health","name":"bandage-off","tags":["patch","wound","cut","pain"],"variants":{"outline":"f3c4"}},"barbell":{"category":"Sport","name":"barbell","tags":["weight","gym","fitness","powerlift"],"variants":{"filled":"fe8f","outline":"eff0"}},"barbell-off":{"category":"Sport","name":"barbell-off","tags":["weight","gym","fitness","powerlift"],"variants":{"outline":"f0b2"}},"barcode":{"category":"","name":"barcode","tags":["product","shop","scan","supermarket"],"variants":{"outline":"ebc6"}},"barcode-off":{"category":"","name":"barcode-off","tags":["product","shop","scan","supermarket"],"variants":{"outline":"f0b3"}},"barrel":{"category":"","name":"barrel","tags":["beer","wine","fuel","tank","cask"],"variants":{"outline":"f0b4"}},"barrel-off":{"category":"","name":"barrel-off","tags":["beer","wine","fuel","tank","cask"],"variants":{"outline":"f0fe"}},"barrier-block":{"category":"","name":"barrier-block","tags":["construction","stop","traffic","barricade","street"],"variants":{"filled":"fe8e","outline":"f00e"}},"barrier-block-off":{"category":"","name":"barrier-block-off","tags":["construction","stop","traffic","barricade","street"],"variants":{"outline":"f0b5"}},"baseline":{"category":"Text","name":"baseline","tags":["align","arrow","bottom","format","vertical"],"variants":{"outline":"f024"}},"baseline-density-large":{"category":"Text","name":"baseline-density-large","tags":["large","sizeable","oversized","big","bulky","massive","huge","gigantic","substantial","enormous"],"variants":{"outline":"f9f0"}},"baseline-density-medium":{"category":"Text","name":"baseline-density-medium","tags":["medium","average","moderate","middle","intermediate","standard","midsize","usual","typical","regular"],"variants":{"outline":"f9f1"}},"baseline-density-small":{"category":"Text","name":"baseline-density-small","tags":["small","tiny","little","miniature","compact","petite","mini","micro","diminutive","wee"],"variants":{"outline":"f9f2"}},"basket":{"category":"E-commerce","name":"basket","tags":["shop","store","online","shopping"],"variants":{"filled":"f7df","outline":"ebe1"}},"basket-bolt":{"category":"","name":"basket-bolt","tags":[],"variants":{"outline":"fb43"}},"basket-cancel":{"category":"","name":"basket-cancel","tags":[],"variants":{"outline":"fb44"}},"basket-check":{"category":"","name":"basket-check","tags":[],"variants":{"outline":"fb45"}},"basket-code":{"category":"","name":"basket-code","tags":[],"variants":{"outline":"fb46"}},"basket-cog":{"category":"","name":"basket-cog","tags":[],"variants":{"outline":"fb47"}},"basket-discount":{"category":"","name":"basket-discount","tags":[],"variants":{"outline":"fb48"}},"basket-dollar":{"category":"","name":"basket-dollar","tags":[],"variants":{"outline":"fb49"}},"basket-down":{"category":"","name":"basket-down","tags":[],"variants":{"outline":"fb4a"}},"basket-exclamation":{"category":"","name":"basket-exclamation","tags":[],"variants":{"outline":"fb4b"}},"basket-heart":{"category":"","name":"basket-heart","tags":[],"variants":{"outline":"fb4c"}},"basket-minus":{"category":"","name":"basket-minus","tags":[],"variants":{"outline":"fb4d"}},"basket-off":{"category":"E-commerce","name":"basket-off","tags":["shop","store","online","shopping"],"variants":{"outline":"f0b6"}},"basket-pause":{"category":"","name":"basket-pause","tags":[],"variants":{"outline":"fb4e"}},"basket-pin":{"category":"","name":"basket-pin","tags":[],"variants":{"outline":"fb4f"}},"basket-plus":{"category":"","name":"basket-plus","tags":[],"variants":{"outline":"fb50"}},"basket-question":{"category":"","name":"basket-question","tags":[],"variants":{"outline":"fb51"}},"basket-search":{"category":"","name":"basket-search","tags":[],"variants":{"outline":"fb52"}},"basket-share":{"category":"","name":"basket-share","tags":[],"variants":{"outline":"fb53"}},"basket-star":{"category":"","name":"basket-star","tags":[],"variants":{"outline":"fb54"}},"basket-up":{"category":"","name":"basket-up","tags":[],"variants":{"outline":"fb55"}},"basket-x":{"category":"","name":"basket-x","tags":[],"variants":{"outline":"fb56"}},"bat":{"category":"Animals","name":"bat","tags":["animal","halloween","vampire","scary","blood"],"variants":{"outline":"f284"}},"bath":{"category":"","name":"bath","tags":["water","clean","hygiene","bathroom","tub"],"variants":{"filled":"f71d","outline":"ef48"}},"bath-off":{"category":"","name":"bath-off","tags":["water","clean","hygiene","bathroom","tub"],"variants":{"outline":"f0ff"}},"battery":{"category":"Devices","name":"battery","tags":["energy","power","electricity"],"variants":{"filled":"f668","outline":"ea34"}},"battery-1":{"category":"Devices","name":"battery-1","tags":["energy","power","electricity"],"variants":{"filled":"f71e","outline":"ea2f"}},"battery-2":{"category":"Devices","name":"battery-2","tags":["energy","power","electricity"],"variants":{"filled":"f71f","outline":"ea30"}},"battery-3":{"category":"Devices","name":"battery-3","tags":["energy","power","electricity"],"variants":{"filled":"f720","outline":"ea31"}},"battery-4":{"category":"Devices","name":"battery-4","tags":["energy","power","electricity"],"variants":{"filled":"f721","outline":"ea32"}},"battery-automotive":{"category":"Vehicles","name":"battery-automotive","tags":["vehicle","charge","motor","current","car","electricity","electric","power"],"variants":{"outline":"ee07"}},"battery-charging":{"category":"Devices","name":"battery-charging","tags":["charge","energy","power","electricity"],"variants":{"outline":"ea33"}},"battery-charging-2":{"category":"Devices","name":"battery-charging-2","tags":["charge","energy","power","electricity"],"variants":{"outline":"ef3b"}},"battery-eco":{"category":"Devices","name":"battery-eco","tags":["ecology","charge","energy","power","electricity"],"variants":{"outline":"ef3c"}},"battery-exclamation":{"category":"Devices","name":"battery-exclamation","tags":["energy","power","electricity"],"variants":{"outline":"ff1d"}},"battery-off":{"category":"Devices","name":"battery-off","tags":["energy","power","electricity"],"variants":{"outline":"ed1c"}},"battery-vertical":{"category":"Devices","name":"battery-vertical","tags":["energy","power","electricity"],"variants":{"outline":"ff13"}},"battery-vertical-1":{"category":"Devices","name":"battery-vertical-1","tags":["energy","power","electricity"],"variants":{"outline":"ff1c"}},"battery-vertical-2":{"category":"Devices","name":"battery-vertical-2","tags":["energy","power","electricity"],"variants":{"outline":"ff1b"}},"battery-vertical-3":{"category":"Devices","name":"battery-vertical-3","tags":["energy","power","electricity"],"variants":{"outline":"ff1a"}},"battery-vertical-4":{"category":"Devices","name":"battery-vertical-4","tags":["energy","power","electricity"],"variants":{"outline":"ff19"}},"battery-vertical-charging":{"category":"Devices","name":"battery-vertical-charging","tags":["charge","energy","power","electricity"],"variants":{"outline":"ff17"}},"battery-vertical-charging-2":{"category":"Devices","name":"battery-vertical-charging-2","tags":["charge","energy","power","electricity"],"variants":{"outline":"ff18"}},"battery-vertical-eco":{"category":"Devices","name":"battery-vertical-eco","tags":["ecology","charge","energy","power","electricity"],"variants":{"outline":"ff16"}},"battery-vertical-exclamation":{"category":"Devices","name":"battery-vertical-exclamation","tags":["energy","power","electricity"],"variants":{"outline":"ff15"}},"battery-vertical-off":{"category":"Devices","name":"battery-vertical-off","tags":["energy","power","electricity"],"variants":{"outline":"ff14"}},"beach":{"category":"Map","name":"beach","tags":["sand","sun","umbrella","vacation","travel"],"variants":{"outline":"ef3d"}},"beach-off":{"category":"Map","name":"beach-off","tags":["sand","sun","umbrella","vacation","travel"],"variants":{"outline":"f0b7"}},"bed":{"category":"Map","name":"bed","tags":["furniture","sleeping","comfortable","bedroom","mattress","resting","relax","sleep","futon","cozy"],"variants":{"filled":"f7e0","outline":"eb5c"}},"bed-flat":{"category":"","name":"bed-flat","tags":["mattress","sofa","couch","futon","sleeping","restful","horizontal","recline","lying","horizontal-bed"],"variants":{"filled":"fe8d","outline":"fca1"}},"bed-off":{"category":"Map","name":"bed-off","tags":["sleep","night","bedroom","rest"],"variants":{"outline":"f100"}},"beer":{"category":"Food","name":"beer","tags":["alcohol","drink","beverage","bar","pub"],"variants":{"filled":"f7e1","outline":"efa1"}},"beer-off":{"category":"Food","name":"beer-off","tags":["alcohol","drink","beverage","bar","pub"],"variants":{"outline":"f101"}},"bell":{"category":"System","name":"bell","tags":["alarm","sound","notification"],"variants":{"filled":"f669","outline":"ea35"}},"bell-bolt":{"category":"System","name":"bell-bolt","tags":[],"variants":{"outline":"f812"}},"bell-cancel":{"category":"System","name":"bell-cancel","tags":[],"variants":{"outline":"f813"}},"bell-check":{"category":"System","name":"bell-check","tags":[],"variants":{"outline":"f814"}},"bell-code":{"category":"System","name":"bell-code","tags":[],"variants":{"outline":"f815"}},"bell-cog":{"category":"System","name":"bell-cog","tags":[],"variants":{"outline":"f816"}},"bell-dollar":{"category":"System","name":"bell-dollar","tags":[],"variants":{"outline":"f817"}},"bell-down":{"category":"System","name":"bell-down","tags":[],"variants":{"outline":"f818"}},"bell-exclamation":{"category":"System","name":"bell-exclamation","tags":[],"variants":{"outline":"f819"}},"bell-heart":{"category":"System","name":"bell-heart","tags":[],"variants":{"outline":"f81a"}},"bell-minus":{"category":"System","name":"bell-minus","tags":["notification","alarm","alert","remove","ring"],"variants":{"filled":"f722","outline":"ede2"}},"bell-off":{"category":"System","name":"bell-off","tags":["alarm","sound","notification"],"variants":{"outline":"ece9"}},"bell-pause":{"category":"System","name":"bell-pause","tags":[],"variants":{"outline":"f81b"}},"bell-pin":{"category":"System","name":"bell-pin","tags":[],"variants":{"outline":"f81c"}},"bell-plus":{"category":"System","name":"bell-plus","tags":["alarm","notification","alert","set"],"variants":{"filled":"f723","outline":"ede3"}},"bell-question":{"category":"System","name":"bell-question","tags":[],"variants":{"outline":"f81d"}},"bell-ringing":{"category":"System","name":"bell-ringing","tags":["alarm","sound","notification"],"variants":{"filled":"f725","outline":"ed07"}},"bell-ringing-2":{"category":"System","name":"bell-ringing-2","tags":["alarm","sound","notification"],"variants":{"filled":"f724","outline":"ede4"}},"bell-school":{"category":"","name":"bell-school","tags":["alarm","education","alert","sound","notification","study"],"variants":{"outline":"f05e"}},"bell-search":{"category":"System","name":"bell-search","tags":[],"variants":{"outline":"f81e"}},"bell-share":{"category":"System","name":"bell-share","tags":[],"variants":{"outline":"f81f"}},"bell-star":{"category":"System","name":"bell-star","tags":[],"variants":{"outline":"f820"}},"bell-up":{"category":"System","name":"bell-up","tags":[],"variants":{"outline":"f821"}},"bell-x":{"category":"System","name":"bell-x","tags":["alarm","ring","sound","alert","disabled"],"variants":{"filled":"f726","outline":"ede5"}},"bell-z":{"category":"System","name":"bell-z","tags":["alarm","bell","clock","date","snooze","time"],"variants":{"filled":"f727","outline":"eff1"}},"beta":{"category":"Letters","name":"beta","tags":["letter","alphabet","greek","math"],"variants":{"outline":"f544"}},"bible":{"category":"","name":"bible","tags":["religion","holy","christian","miracle","church"],"variants":{"outline":"efc4"}},"bike":{"category":"Vehicles","name":"bike","tags":["cycling","bicycle","sport","wheel"],"variants":{"outline":"ea36"}},"bike-off":{"category":"Vehicles","name":"bike-off","tags":["cycling","bicycle","sport","wheel"],"variants":{"outline":"f0b8"}},"binary":{"category":"Computers","name":"binary","tags":["binary"],"variants":{"outline":"ee08"}},"binary-off":{"category":"Computers","name":"binary-off","tags":["binary"],"variants":{"outline":"f3c5"}},"binary-tree":{"category":"Computers","name":"binary-tree","tags":["data","diversity","it","math"],"variants":{"filled":"ff64","outline":"f5d4"}},"binary-tree-2":{"category":"Computers","name":"binary-tree-2","tags":["data","diversity","it","math"],"variants":{"filled":"ff65","outline":"f5d3"}},"binoculars":{"category":"","name":"binoculars","tags":["birds","explorer","field glasses","magnifying eye glasses","observe","view","watch"],"variants":{"filled":"ff0b","outline":"fefe"}},"biohazard":{"category":"Symbols","name":"biohazard","tags":["danger","radioactive","toxic","microbe","virus","biotoxin"],"variants":{"filled":"fe8c","outline":"ecb8"}},"biohazard-off":{"category":"Symbols","name":"biohazard-off","tags":["danger","radioactive","toxic","microbe","virus","biotoxin"],"variants":{"outline":"f0b9"}},"blade":{"category":"","name":"blade","tags":["razor","beard","barber","cut"],"variants":{"filled":"f7e2","outline":"f4bd"}},"bleach":{"category":"Laundry","name":"bleach","tags":["clothing","washing","chemical","laundry"],"variants":{"outline":"f2f3"}},"bleach-chlorine":{"category":"Laundry","name":"bleach-chlorine","tags":["clothing","washing","chemical","laundry","detergent","clean"],"variants":{"outline":"f2f0"}},"bleach-no-chlorine":{"category":"Laundry","name":"bleach-no-chlorine","tags":["clothing","washing","chemical","laundry"],"variants":{"outline":"f2f1"}},"bleach-off":{"category":"Laundry","name":"bleach-off","tags":["clothing","washing","chemical","laundry"],"variants":{"outline":"f2f2"}},"blend-mode":{"category":"Design","name":"blend-mode","tags":[],"variants":{"outline":"feb0"}},"blender":{"category":"","name":"blender","tags":["mixer","kitchen","appliance","blend","food","smoothie","processing","mixing","grind","blending"],"variants":{"outline":"fca2"}},"blob":{"category":"","name":"blob","tags":[],"variants":{"filled":"feb1","outline":"feaf"}},"blockquote":{"category":"Text","name":"blockquote","tags":["citation","quotation","saying","text","section","style","styling","css"],"variants":{"outline":"ee09"}},"bluetooth":{"category":"Devices","name":"bluetooth","tags":["wireless","connection","connect"],"variants":{"outline":"ea37"}},"bluetooth-connected":{"category":"Devices","name":"bluetooth-connected","tags":["wireless","connection","connect"],"variants":{"outline":"ecea"}},"bluetooth-off":{"category":"Devices","name":"bluetooth-off","tags":["wireless","connection","connect"],"variants":{"outline":"eceb"}},"bluetooth-x":{"category":"Devices","name":"bluetooth-x","tags":["multimedia","technology","disabled","connection","communication"],"variants":{"outline":"f081"}},"blur":{"category":"Design","name":"blur","tags":["edit","photo","photography","tool"],"variants":{"outline":"ef8c"}},"blur-off":{"category":"Design","name":"blur-off","tags":["edit","photo","photography","tool"],"variants":{"outline":"f3c6"}},"bmp":{"category":"Extensions","name":"bmp","tags":["format","filetype","file","document"],"variants":{"outline":"f3a6"}},"body-scan":{"category":"System","name":"body-scan","tags":["medical","health","biometric","wellness","check-up","diagnostic","physical","anatomy","examination","body-health"],"variants":{"outline":"fca3"}},"bold":{"category":"Text","name":"bold","tags":["font","style","boldface"],"variants":{"outline":"eb7b"}},"bold-off":{"category":"Text","name":"bold-off","tags":["font","style","boldface"],"variants":{"outline":"f0ba"}},"bolt":{"category":"","name":"bolt","tags":["energy","power","electricity","storm"],"variants":{"outline":"ea38"}},"bolt-off":{"category":"","name":"bolt-off","tags":["energy","power","electricity","storm"],"variants":{"outline":"ecec"}},"bomb":{"category":"","name":"bomb","tags":["explosion","weapon","military","war"],"variants":{"filled":"fa86","outline":"f59c"}},"bone":{"category":"Food","name":"bone","tags":["skeleton","human","dog","body"],"variants":{"filled":"fe8b","outline":"edb8"}},"bone-off":{"category":"Food","name":"bone-off","tags":["skeleton","human","dog","body"],"variants":{"outline":"f0bb"}},"bong":{"category":"","name":"bong","tags":["smoke","smoking","cannabis","marijuana","drugs"],"variants":{"outline":"f3a7"}},"bong-off":{"category":"","name":"bong-off","tags":["smoke","smoking","cannabis","marijuana","drugs"],"variants":{"outline":"f3c7"}},"book":{"category":"Document","name":"book","tags":["read","dictionary","magazine","library","booklet","novel"],"variants":{"filled":"fa87","outline":"ea39"}},"book-2":{"category":"Document","name":"book-2","tags":["read","dictionary","magazine","library","booklet","novel"],"variants":{"outline":"efc5"}},"book-download":{"category":"Document","name":"book-download","tags":["education","e-book","digital"],"variants":{"outline":"f070"}},"book-off":{"category":"Document","name":"book-off","tags":["read","dictionary","magazine","library","booklet","novel"],"variants":{"outline":"f0bc"}},"book-upload":{"category":"Document","name":"book-upload","tags":["e-book","e-learning","education","reading"],"variants":{"outline":"f071"}},"bookmark":{"category":"Document","name":"bookmark","tags":["read","clip","marker","tag"],"variants":{"filled":"fa88","outline":"ea3a"}},"bookmark-ai":{"category":"","name":"bookmark-ai","tags":[],"variants":{"outline":"fc8a"}},"bookmark-edit":{"category":"Document","name":"bookmark-edit","tags":[],"variants":{"outline":"fa5e"}},"bookmark-minus":{"category":"Document","name":"bookmark-minus","tags":[],"variants":{"outline":"fa5f"}},"bookmark-off":{"category":"Document","name":"bookmark-off","tags":["read","clip","marker","tag"],"variants":{"outline":"eced"}},"bookmark-plus":{"category":"Document","name":"bookmark-plus","tags":[],"variants":{"outline":"fa60"}},"bookmark-question":{"category":"Document","name":"bookmark-question","tags":[],"variants":{"outline":"fa61"}},"bookmarks":{"category":"Document","name":"bookmarks","tags":["read","clip","marker","tag"],"variants":{"filled":"fb1f","outline":"ed08"}},"bookmarks-off":{"category":"Document","name":"bookmarks-off","tags":["read","clip","marker","tag"],"variants":{"outline":"f0bd"}},"books":{"category":"Document","name":"books","tags":["education","learning","reading","school","library"],"variants":{"outline":"eff2"}},"books-off":{"category":"Document","name":"books-off","tags":["education","learning","reading","school","library"],"variants":{"outline":"f0be"}},"boom":{"category":"","name":"boom","tags":[],"variants":{"filled":"fe8a","outline":"fdbe"}},"border-all":{"category":"Design","name":"border-all","tags":["table","side","line"],"variants":{"outline":"ea3b"}},"border-bottom":{"category":"Design","name":"border-bottom","tags":["table","side","line"],"variants":{"outline":"ea3c"}},"border-bottom-plus":{"category":"","name":"border-bottom-plus","tags":[],"variants":{"outline":"fdbd"}},"border-corner-ios":{"category":"","name":"border-corner-ios","tags":[],"variants":{"outline":"fd98"}},"border-corner-pill":{"category":"Design","name":"border-corner-pill","tags":[],"variants":{"outline":"fd62"}},"border-corner-rounded":{"category":"Design","name":"border-corner-rounded","tags":[],"variants":{"outline":"fd63"}},"border-corner-square":{"category":"Design","name":"border-corner-square","tags":[],"variants":{"outline":"fd64"}},"border-corners":{"category":"Design","name":"border-corners","tags":[],"variants":{"outline":"f7a0"}},"border-horizontal":{"category":"Design","name":"border-horizontal","tags":["table","side","line"],"variants":{"outline":"ea3d"}},"border-inner":{"category":"Design","name":"border-inner","tags":["table","side","line"],"variants":{"outline":"ea3e"}},"border-left":{"category":"Design","name":"border-left","tags":["table","side","line"],"variants":{"outline":"ea3f"}},"border-left-plus":{"category":"","name":"border-left-plus","tags":[],"variants":{"outline":"fdbc"}},"border-none":{"category":"Design","name":"border-none","tags":["table"],"variants":{"outline":"ea40"}},"border-outer":{"category":"Design","name":"border-outer","tags":["table","side","line"],"variants":{"outline":"ea41"}},"border-radius":{"category":"Design","name":"border-radius","tags":["corner","rounded","line"],"variants":{"outline":"eb7c"}},"border-right":{"category":"Design","name":"border-right","tags":["table","side","line"],"variants":{"outline":"ea42"}},"border-right-plus":{"category":"","name":"border-right-plus","tags":[],"variants":{"outline":"fdbb"}},"border-sides":{"category":"Design","name":"border-sides","tags":[],"variants":{"outline":"f7a1"}},"border-style":{"category":"Design","name":"border-style","tags":["google","excel","sheets"],"variants":{"outline":"ee0a"}},"border-style-2":{"category":"Design","name":"border-style-2","tags":["google","excel","sheets"],"variants":{"outline":"ef22"}},"border-top":{"category":"Design","name":"border-top","tags":["table","side","line"],"variants":{"outline":"ea43"}},"border-top-plus":{"category":"","name":"border-top-plus","tags":[],"variants":{"outline":"fdba"}},"border-vertical":{"category":"Design","name":"border-vertical","tags":["table","side","line"],"variants":{"outline":"ea44"}},"bottle":{"category":"Food","name":"bottle","tags":["water","drink","beer","energy","wine"],"variants":{"filled":"fa89","outline":"ef0b"}},"bottle-off":{"category":"Food","name":"bottle-off","tags":["water","drink","beer","energy","wine"],"variants":{"outline":"f3c8"}},"bounce-left":{"category":"Design","name":"bounce-left","tags":["ball","west","motion","jump"],"variants":{"filled":"fb20","outline":"f59d"}},"bounce-right":{"category":"Design","name":"bounce-right","tags":["ball","east","motion","jump"],"variants":{"filled":"fb21","outline":"f59e"}},"bow":{"category":"Sport","name":"bow","tags":["arrow","archer","hunt","hunter"],"variants":{"filled":"fe89","outline":"f096"}},"bowl":{"category":"Food","name":"bowl","tags":["food","soup","kitchen","vessel"],"variants":{"filled":"fb22","outline":"f4fa"}},"bowl-chopsticks":{"category":"","name":"bowl-chopsticks","tags":[],"variants":{"filled":"fe88","outline":"fd90"}},"bowl-spoon":{"category":"","name":"bowl-spoon","tags":[],"variants":{"filled":"fe87","outline":"fd91"}},"box":{"category":"","name":"box","tags":["cube","app","application","package","container"],"variants":{"outline":"ea45"}},"box-align-bottom":{"category":"Design","name":"box-align-bottom","tags":["rectangle","side","down","south"],"variants":{"filled":"fa8a","outline":"f2a8"}},"box-align-bottom-left":{"category":"Design","name":"box-align-bottom-left","tags":["cube","side","down","south-west"],"variants":{"filled":"fa8b","outline":"f2ce"}},"box-align-bottom-right":{"category":"Design","name":"box-align-bottom-right","tags":["cube","side","down","south-east"],"variants":{"filled":"fa8c","outline":"f2cf"}},"box-align-left":{"category":"Design","name":"box-align-left","tags":["rectangle side","west"],"variants":{"filled":"fa8d","outline":"f2a9"}},"box-align-right":{"category":"Design","name":"box-align-right","tags":["rectangle","side","east"],"variants":{"filled":"fa8e","outline":"f2aa"}},"box-align-top":{"category":"Design","name":"box-align-top","tags":["rectangle","side","up","north"],"variants":{"filled":"fa8f","outline":"f2ab"}},"box-align-top-left":{"category":"Design","name":"box-align-top-left","tags":["cube","side","up","north-west"],"variants":{"filled":"fa90","outline":"f2d0"}},"box-align-top-right":{"category":"Design","name":"box-align-top-right","tags":["cube","side","up","north-east"],"variants":{"filled":"fa91","outline":"f2d1"}},"box-margin":{"category":"Design","name":"box-margin","tags":["css","cascading","style","section","space","text","content","outside","container"],"variants":{"outline":"ee0b"}},"box-model":{"category":"Design","name":"box-model","tags":["css","cascading","style","section","element","square","website","container"],"variants":{"outline":"ee0c"}},"box-model-2":{"category":"Design","name":"box-model-2","tags":["css","cascading","style","section","element","square","website","container"],"variants":{"outline":"ef23"}},"box-model-2-off":{"category":"Design","name":"box-model-2-off","tags":["css","cascading","style","section","element","square","website","container"],"variants":{"outline":"f3c9"}},"box-model-off":{"category":"Design","name":"box-model-off","tags":["css","cascading","style","section","element","square","website","container"],"variants":{"outline":"f3ca"}},"box-multiple":{"category":"","name":"box-multiple","tags":["css","cascading","style","sheet","background","section","website","layer"],"variants":{"outline":"ee17"}},"box-multiple-0":{"category":"Numbers","name":"box-multiple-0","tags":["css","cascading","style","sheet","background","section","zero","website","layer"],"variants":{"outline":"ee0d"}},"box-multiple-1":{"category":"Numbers","name":"box-multiple-1","tags":["css","cascading","style","sheet","background","section","one","website","layer"],"variants":{"outline":"ee0e"}},"box-multiple-2":{"category":"Numbers","name":"box-multiple-2","tags":["css","cascading","style","sheet","background","section","two","website","layer"],"variants":{"outline":"ee0f"}},"box-multiple-3":{"category":"Numbers","name":"box-multiple-3","tags":["css","cascading","style","sheet","background","section","three","website","layer"],"variants":{"outline":"ee10"}},"box-multiple-4":{"category":"Numbers","name":"box-multiple-4","tags":["css","cascading","style","sheet","background","section","four","website","layer"],"variants":{"outline":"ee11"}},"box-multiple-5":{"category":"Numbers","name":"box-multiple-5","tags":["css","cascading","style","sheet","background","section","five","website","layer"],"variants":{"outline":"ee12"}},"box-multiple-6":{"category":"Numbers","name":"box-multiple-6","tags":["css","cascading","style","sheet","background","section","six","website","layer"],"variants":{"outline":"ee13"}},"box-multiple-7":{"category":"Numbers","name":"box-multiple-7","tags":["css","cascading","style","sheet","background","section","seven","website","layer"],"variants":{"outline":"ee14"}},"box-multiple-8":{"category":"Numbers","name":"box-multiple-8","tags":["css","cascading","style","sheet","background","section","eight","website","layer"],"variants":{"outline":"ee15"}},"box-multiple-9":{"category":"Numbers","name":"box-multiple-9","tags":["css","cascading","style","sheet","background","section","nine","website","layer"],"variants":{"outline":"ee16"}},"box-off":{"category":"","name":"box-off","tags":["cube","app","application","package","container"],"variants":{"outline":"f102"}},"box-padding":{"category":"Design","name":"box-padding","tags":["css","cascading","style","section","space","text","content","website","container","inside"],"variants":{"outline":"ee18"}},"braces":{"category":"Math","name":"braces","tags":["punctuation","additional","information"],"variants":{"outline":"ebcc"}},"braces-off":{"category":"Math","name":"braces-off","tags":["punctuation","additional","information"],"variants":{"outline":"f0bf"}},"brackets":{"category":"Math","name":"brackets","tags":["punctuation","additional","information"],"variants":{"outline":"ebcd"}},"brackets-angle":{"category":"","name":"brackets-angle","tags":[],"variants":{"outline":"fcb2"}},"brackets-angle-off":{"category":"","name":"brackets-angle-off","tags":[],"variants":{"outline":"fcb1"}},"brackets-contain":{"category":"Math","name":"brackets-contain","tags":["word","regex","find"],"variants":{"outline":"f1e5"}},"brackets-contain-end":{"category":"Math","name":"brackets-contain-end","tags":["word","regex","find"],"variants":{"outline":"f1e3"}},"brackets-contain-start":{"category":"Math","name":"brackets-contain-start","tags":["word","regex","find"],"variants":{"outline":"f1e4"}},"brackets-off":{"category":"Math","name":"brackets-off","tags":["punctuation","additional","information"],"variants":{"outline":"f0c0"}},"braille":{"category":"","name":"braille","tags":["blind","alphabet","disability","letters","read"],"variants":{"outline":"f545"}},"brain":{"category":"","name":"brain","tags":["mind","human","iq","inteligence","organ"],"variants":{"outline":"f59f"}},"brand-4chan":{"category":"Brand","name":"brand-4chan","tags":["bulletin","board","music","photography","image","share"],"variants":{"outline":"f494"}},"brand-abstract":{"category":"Brand","name":"brand-abstract","tags":["design","software","web","ux"],"variants":{"outline":"f495"}},"brand-adobe":{"category":"Brand","name":"brand-adobe","tags":["photoshop","illustrator","indesign"],"variants":{"outline":"f0dc"}},"brand-adobe-after-effect":{"category":"Brand","name":"brand-adobe-after-effect","tags":[],"variants":{"outline":"ff2a"}},"brand-adobe-illustrator":{"category":"Brand","name":"brand-adobe-illustrator","tags":[],"variants":{"outline":"ff29"}},"brand-adobe-indesign":{"category":"Brand","name":"brand-adobe-indesign","tags":[],"variants":{"outline":"ff28"}},"brand-adobe-photoshop":{"category":"Brand","name":"brand-adobe-photoshop","tags":[],"variants":{"outline":"ff27"}},"brand-adobe-premier":{"category":"Brand","name":"brand-adobe-premier","tags":[],"variants":{"outline":"ff26"}},"brand-adobe-xd":{"category":"Brand","name":"brand-adobe-xd","tags":[],"variants":{"outline":"ff25"}},"brand-adonis-js":{"category":"Brand","name":"brand-adonis-js","tags":["framework","web","app","typescript"],"variants":{"outline":"f496"}},"brand-airbnb":{"category":"Brand","name":"brand-airbnb","tags":["flat","apartment","holiday","vacation","city","break","book"],"variants":{"outline":"ed68"}},"brand-airtable":{"category":"Brand","name":"brand-airtable","tags":["creation of","sharing","database","interface"],"variants":{"outline":"ef6a"}},"brand-algolia":{"category":"Brand","name":"brand-algolia","tags":["web","browser","software","efficient","ai"],"variants":{"outline":"f390"}},"brand-alipay":{"category":"Brand","name":"brand-alipay","tags":["pay","china","electronically","alibaba"],"variants":{"outline":"f7a2"}},"brand-alpine-js":{"category":"Brand","name":"brand-alpine-js","tags":["javascript","programming","coding"],"variants":{"outline":"f324"}},"brand-amazon":{"category":"Brand","name":"brand-amazon","tags":["shopping","online","media","shop","ecommerce"],"variants":{"outline":"f230"}},"brand-amd":{"category":"Brand","name":"brand-amd","tags":["electronics","computer","components","processors"],"variants":{"outline":"f653"}},"brand-amigo":{"category":"Brand","name":"brand-amigo","tags":[],"variants":{"outline":"f5f9"}},"brand-among-us":{"category":"Brand","name":"brand-among-us","tags":["game","crewmate","impostor"],"variants":{"outline":"f205"}},"brand-android":{"category":"Brand","name":"brand-android","tags":["os","company","system","interface","software","logo"],"variants":{"outline":"ec16"}},"brand-angular":{"category":"Brand","name":"brand-angular","tags":["programming","coding","typescript"],"variants":{"outline":"ef6b"}},"brand-ansible":{"category":"Brand","name":"brand-ansible","tags":[],"variants":{"outline":"fa70"}},"brand-ao3":{"category":"Brand","name":"brand-ao3","tags":["open","source","make","webstie","fanfiction"],"variants":{"outline":"f5e8"}},"brand-appgallery":{"category":"Brand","name":"brand-appgallery","tags":["games","apps","online","store","video"],"variants":{"outline":"f231"}},"brand-apple":{"category":"Brand","name":"brand-apple","tags":["os","company","system","interface","software","devices","logo"],"variants":{"filled":"fd74","outline":"ec17"}},"brand-apple-arcade":{"category":"Brand","name":"brand-apple-arcade","tags":["technology","video","game","service","macos","device","play","online"],"variants":{"outline":"ed69"}},"brand-apple-news":{"category":"Brand","name":"brand-apple-news","tags":[],"variants":{"outline":"ff24"}},"brand-apple-podcast":{"category":"Brand","name":"brand-apple-podcast","tags":["audio","software","music","ios","tvos"],"variants":{"outline":"f1e6"}},"brand-appstore":{"category":"Brand","name":"brand-appstore","tags":["shop","online","application","logo"],"variants":{"outline":"ed24"}},"brand-arc":{"category":"Brand","name":"brand-arc","tags":[],"variants":{"outline":"feae"}},"brand-asana":{"category":"Brand","name":"brand-asana","tags":["task","management","project management","manage","collaborate","collaboration","team","teamwork","technology"],"variants":{"outline":"edc5"}},"brand-astro":{"category":"Brand","name":"brand-astro","tags":[],"variants":{"outline":"fdb9"}},"brand-auth0":{"category":"Brand","name":"brand-auth0","tags":[],"variants":{"outline":"fcb3"}},"brand-aws":{"category":"Brand","name":"brand-aws","tags":[],"variants":{"outline":"fa4c"}},"brand-azure":{"category":"Brand","name":"brand-azure","tags":["microsoft","azure","cloud","computing","technology","services","software","platform","it","digital"],"variants":{"outline":"fa4d"}},"brand-backbone":{"category":"Brand","name":"brand-backbone","tags":["javascript","programmers","creation","websites"],"variants":{"outline":"f325"}},"brand-badoo":{"category":"Brand","name":"brand-badoo","tags":["website","communication","chat","social media"],"variants":{"outline":"f206"}},"brand-baidu":{"category":"Brand","name":"brand-baidu","tags":["china","ai","network","company"],"variants":{"outline":"f5e9"}},"brand-bandcamp":{"category":"Brand","name":"brand-bandcamp","tags":["music","website","music company","audio"],"variants":{"outline":"f207"}},"brand-bandlab":{"category":"Brand","name":"brand-bandlab","tags":["make","music","online","cloud","webstie"],"variants":{"outline":"f5fa"}},"brand-beats":{"category":"Brand","name":"brand-beats","tags":["music","audio","headphones","audio equipment"],"variants":{"outline":"f208"}},"brand-behance":{"category":"Brand","name":"brand-behance","tags":["logo","website","adobe","project","views","marks","platform","designer"],"variants":{"outline":"ec6e"}},"brand-bilibili":{"category":"Brand","name":"brand-bilibili","tags":["china","platform","streaming","video"],"variants":{"outline":"f6d2"}},"brand-binance":{"category":"Brand","name":"brand-binance","tags":["website","crypto","cryptocurrency","exchange"],"variants":{"outline":"f5a0"}},"brand-bing":{"category":"Brand","name":"brand-bing","tags":["search","result","find","engine","internet","microsoft","web","technology"],"variants":{"outline":"edc6"}},"brand-bitbucket":{"category":"Brand","name":"brand-bitbucket","tags":["version","control","repository","hosting","atlassian","source","code","development","git","technology"],"variants":{"outline":"edc7"}},"brand-blackberry":{"category":"Brand","name":"brand-blackberry","tags":["phone","mobile","system","operating","os","electronics"],"variants":{"outline":"f568"}},"brand-blender":{"category":"Brand","name":"brand-blender","tags":["software","graphic","3d","animation"],"variants":{"outline":"f326"}},"brand-blogger":{"category":"Brand","name":"brand-blogger","tags":["media","blogging","internet","social","site"],"variants":{"outline":"f35a"}},"brand-bluesky":{"category":"Brand","name":"brand-bluesky","tags":[],"variants":{"outline":"fd75"}},"brand-booking":{"category":"Brand","name":"brand-booking","tags":["flat","apartment","holiday","vacation","city","break","book","rent"],"variants":{"outline":"edc8"}},"brand-bootstrap":{"category":"Brand","name":"brand-bootstrap","tags":["programming","coding","HTML","hardware","javascript","js"],"variants":{"outline":"ef3e"}},"brand-bulma":{"category":"Brand","name":"brand-bulma","tags":["programming","coding","html","css"],"variants":{"outline":"f327"}},"brand-bumble":{"category":"Brand","name":"brand-bumble","tags":["app","dating","social","media","communication"],"variants":{"outline":"f5fb"}},"brand-bunpo":{"category":"Brand","name":"brand-bunpo","tags":["learn","japanese","app","grammatic"],"variants":{"outline":"f4cf"}},"brand-c-sharp":{"category":"Brand","name":"brand-c-sharp","tags":["coding","programming","files","language"],"variants":{"outline":"f003"}},"brand-cake":{"category":"Brand","name":"brand-cake","tags":[],"variants":{"outline":"f7a3"}},"brand-cakephp":{"category":"Brand","name":"brand-cakephp","tags":["framework","make","app","web","php"],"variants":{"outline":"f7af"}},"brand-campaignmonitor":{"category":"Brand","name":"brand-campaignmonitor","tags":["technology","e-mail","site","cm","group"],"variants":{"outline":"f328"}},"brand-carbon":{"category":"Brand","name":"brand-carbon","tags":[],"variants":{"outline":"f348"}},"brand-cashapp":{"category":"Brand","name":"brand-cashapp","tags":["payment","finance","mobile","app","money","transfer"],"variants":{"outline":"f391"}},"brand-chrome":{"category":"Brand","name":"brand-chrome","tags":["browser","internet","web","logo"],"variants":{"outline":"ec18"}},"brand-cinema-4d":{"category":"Brand","name":"brand-cinema-4d","tags":[],"variants":{"outline":"fa71"}},"brand-citymapper":{"category":"Brand","name":"brand-citymapper","tags":["app","transport","public","software"],"variants":{"outline":"f5fc"}},"brand-cloudflare":{"category":"Brand","name":"brand-cloudflare","tags":["cloudflare","web","security","content","delivery","ddos","protection","network","internet","performance","firewall","cdn","website"],"variants":{"outline":"fa4e"}},"brand-codecov":{"category":"Brand","name":"brand-codecov","tags":["coding","analysis","archive","merge"],"variants":{"outline":"f329"}},"brand-codepen":{"category":"Brand","name":"brand-codepen","tags":["logo","community","internet","codes","programing","programmer","source","website","platform","designer"],"variants":{"outline":"ec6f"}},"brand-codesandbox":{"category":"Brand","name":"brand-codesandbox","tags":["online","code","editor","prototyping","prototype","web","app","programming","integrated","development","environment","technology"],"variants":{"outline":"ed6a"}},"brand-cohost":{"category":"Brand","name":"brand-cohost","tags":["web","website","app","social","nodes","network","community","communication","user","post","images","photos","comment","feedback"],"variants":{"outline":"f5d5"}},"brand-coinbase":{"category":"Brand","name":"brand-coinbase","tags":["cryptocurrencies","bitcoin","ethereum","traded company"],"variants":{"outline":"f209"}},"brand-comedy-central":{"category":"Brand","name":"brand-comedy-central","tags":["tv","serial","films","stand-up","skits"],"variants":{"outline":"f217"}},"brand-coreos":{"category":"Brand","name":"brand-coreos","tags":["operating","system","linux","programmers"],"variants":{"outline":"f5fd"}},"brand-couchdb":{"category":"Brand","name":"brand-couchdb","tags":["document","engine","database","json"],"variants":{"outline":"f60f"}},"brand-couchsurfing":{"category":"Brand","name":"brand-couchsurfing","tags":["app","website","accommodation","lodging"],"variants":{"outline":"f392"}},"brand-cpp":{"category":"Brand","name":"brand-cpp","tags":["code","programming","language","coding"],"variants":{"outline":"f5fe"}},"brand-craft":{"category":"Brand","name":"brand-craft","tags":[],"variants":{"outline":"fa72"}},"brand-crunchbase":{"category":"Brand","name":"brand-crunchbase","tags":[],"variants":{"outline":"f7e3"}},"brand-css3":{"category":"Brand","name":"brand-css3","tags":["cascading","style","sheet","programming","development","web","website","technology"],"variants":{"outline":"ed6b"}},"brand-ctemplar":{"category":"Brand","name":"brand-ctemplar","tags":["e-mail","file","sharing","encryption","app","mobile"],"variants":{"outline":"f4d0"}},"brand-cucumber":{"category":"Brand","name":"brand-cucumber","tags":["software","tool","gherkin","programming","ruby","javascript"],"variants":{"outline":"ef6c"}},"brand-cupra":{"category":"Brand","name":"brand-cupra","tags":["car","seat","sport","formentor","ateca","leon"],"variants":{"outline":"f4d1"}},"brand-cypress":{"category":"Brand","name":"brand-cypress","tags":["test","automation","user","interface","javascript"],"variants":{"outline":"f333"}},"brand-d3":{"category":"Brand","name":"brand-d3","tags":["data","charts","javascript","js"],"variants":{"outline":"f24e"}},"brand-databricks":{"category":"Brand","name":"brand-databricks","tags":["databricks","data","analytics","big","science","machine","learning","platform","engineering","processing","ai"],"variants":{"outline":"fc41"}},"brand-days-counter":{"category":"Brand","name":"brand-days-counter","tags":["app","mobile","highlights","days","birthday"],"variants":{"outline":"f4d2"}},"brand-dcos":{"category":"Brand","name":"brand-dcos","tags":["os","operating","system","cloud","services","networking"],"variants":{"outline":"f32a"}},"brand-debian":{"category":"Brand","name":"brand-debian","tags":["operating system","linux","computer","gnu"],"variants":{"outline":"ef57"}},"brand-deezer":{"category":"Brand","name":"brand-deezer","tags":["music","media","sound","singer"],"variants":{"outline":"f78b"}},"brand-deliveroo":{"category":"Brand","name":"brand-deliveroo","tags":["food","online","delivery","supplier"],"variants":{"outline":"f4d3"}},"brand-deno":{"category":"Brand","name":"brand-deno","tags":["software","javascript","programming","typescript"],"variants":{"outline":"f24f"}},"brand-denodo":{"category":"Brand","name":"brand-denodo","tags":["data","managment","cloud","delivery"],"variants":{"outline":"f610"}},"brand-deviantart":{"category":"Brand","name":"brand-deviantart","tags":["logo","community","internet","works","designer","project","presenting","artist","discussion","website","platform"],"variants":{"outline":"ecfb"}},"brand-digg":{"category":"Brand","name":"brand-digg","tags":[],"variants":{"outline":"fa73"}},"brand-dingtalk":{"category":"Brand","name":"brand-dingtalk","tags":["platform","communication","company","mobile"],"variants":{"outline":"f5ea"}},"brand-discord":{"category":"Brand","name":"brand-discord","tags":["app","application","logo","communication","talks","gamers","freeware","platform"],"variants":{"filled":"f7e4","outline":"ece3"}},"brand-disney":{"category":"Brand","name":"brand-disney","tags":["films","castle","serials","magic","fantasia"],"variants":{"outline":"f20a"}},"brand-disqus":{"category":"Brand","name":"brand-disqus","tags":["comment","blog","service","website","online","platform","social","networking","technology"],"variants":{"outline":"edc9"}},"brand-django":{"category":"Brand","name":"brand-django","tags":["creation","web","application","framework"],"variants":{"outline":"f349"}},"brand-docker":{"category":"Brand","name":"brand-docker","tags":["app","development","hub","platform","software","developer","programming","programmer","virtualization","technology"],"variants":{"outline":"edca"}},"brand-doctrine":{"category":"Brand","name":"brand-doctrine","tags":["database","programming","library","php"],"variants":{"outline":"ef6d"}},"brand-dolby-digital":{"category":"Brand","name":"brand-dolby-digital","tags":["cinema","technology","sound","home"],"variants":{"outline":"f4d4"}},"brand-douban":{"category":"Brand","name":"brand-douban","tags":["china","social","network","film","books","music"],"variants":{"outline":"f5ff"}},"brand-dribbble":{"category":"Brand","name":"brand-dribbble","tags":["logo","website","community","project","platform","self-promotion","designer","portfolio"],"variants":{"filled":"f7e5","outline":"ec19"}},"brand-drops":{"category":"Brand","name":"brand-drops","tags":["education","learning","language","word","game","design"],"variants":{"outline":"f4d5"}},"brand-drupal":{"category":"Brand","name":"brand-drupal","tags":["software","content","management","creation","application"],"variants":{"outline":"f393"}},"brand-edge":{"category":"Brand","name":"brand-edge","tags":["browser","internet","web","logo","explorer"],"variants":{"outline":"ecfc"}},"brand-elastic":{"category":"Brand","name":"brand-elastic","tags":["software","analysis","data","search"],"variants":{"outline":"f611"}},"brand-electronic-arts":{"category":"Brand","name":"brand-electronic-arts","tags":[],"variants":{"outline":"fa74"}},"brand-ember":{"category":"Brand","name":"brand-ember","tags":["library","javascript","web","app","framework"],"variants":{"outline":"f497"}},"brand-envato":{"category":"Brand","name":"brand-envato","tags":["community","creative","resources","tools"],"variants":{"outline":"f394"}},"brand-etsy":{"category":"Brand","name":"brand-etsy","tags":["online","marketplace","make","sell","buy"],"variants":{"outline":"f654"}},"brand-evernote":{"category":"Brand","name":"brand-evernote","tags":["app","organisation","notes","storage","archiving"],"variants":{"outline":"f600"}},"brand-facebook":{"category":"Brand","name":"brand-facebook","tags":["logo","app","application","community","social","communication","website","user","post","images","photos","comment","feedback","fb"],"variants":{"filled":"f7e6","outline":"ec1a"}},"brand-feedly":{"category":"Brand","name":"brand-feedly","tags":["feedly","rss","reader","news","aggregator","content","discovery","information","consumption","feed","newsfeed","app"],"variants":{"outline":"fa75"}},"brand-figma":{"category":"Brand","name":"brand-figma","tags":["logo","editor","graphic","image","implement","prototyping"],"variants":{"outline":"ec93"}},"brand-filezilla":{"category":"Brand","name":"brand-filezilla","tags":[],"variants":{"outline":"fa76"}},"brand-finder":{"category":"Brand","name":"brand-finder","tags":["software","files","manager","macos","osx","programming"],"variants":{"outline":"f218"}},"brand-firebase":{"category":"Brand","name":"brand-firebase","tags":["development","coding","programming","mobile apps"],"variants":{"outline":"ef6e"}},"brand-firefox":{"category":"Brand","name":"brand-firefox","tags":["browser","internet","web","logo"],"variants":{"outline":"ecfd"}},"brand-fiverr":{"category":"Brand","name":"brand-fiverr","tags":["marketplace","creative","proffesional","services"],"variants":{"outline":"f7a4"}},"brand-flickr":{"category":"Brand","name":"brand-flickr","tags":["logo","website","house","facilitate","sharing","digital","photos","images"],"variants":{"outline":"ecfe"}},"brand-flightradar24":{"category":"Brand","name":"brand-flightradar24","tags":["plane","route","fly","height","speed","statistisc"],"variants":{"outline":"f4d6"}},"brand-flipboard":{"category":"Brand","name":"brand-flipboard","tags":["news","newspapper","social","media"],"variants":{"outline":"f20b"}},"brand-flutter":{"category":"Brand","name":"brand-flutter","tags":["tools","programmer","creation","aplication"],"variants":{"outline":"f395"}},"brand-fortnite":{"category":"Brand","name":"brand-fortnite","tags":["games","online","battle","multiplayer","gun","weapon","building"],"variants":{"outline":"f260"}},"brand-foursquare":{"category":"Brand","name":"brand-foursquare","tags":["logo","website","community","social","network"],"variants":{"outline":"ecff"}},"brand-framer":{"category":"Brand","name":"brand-framer","tags":["logo","application","app","prototyping","prototype","animations"],"variants":{"outline":"ec1b"}},"brand-framer-motion":{"category":"Brand","name":"brand-framer-motion","tags":["library","builder","website","developers"],"variants":{"outline":"f78c"}},"brand-funimation":{"category":"Brand","name":"brand-funimation","tags":["dubbing","japan","anime","stream","website"],"variants":{"outline":"f655"}},"brand-gatsby":{"category":"Brand","name":"brand-gatsby","tags":["framework","webpage","creation","software"],"variants":{"outline":"f396"}},"brand-git":{"category":"Brand","name":"brand-git","tags":["programming","coding","software","perl","boume shell"],"variants":{"outline":"ef6f"}},"brand-github":{"category":"Brand","name":"brand-github","tags":["logo","website","hosting","project","programming","software","development"],"variants":{"filled":"f7e7","outline":"ec1c"}},"brand-github-copilot":{"category":"Brand","name":"brand-github-copilot","tags":["ai","artificial","intelligence","autocomplete","coding"],"variants":{"outline":"f4a8"}},"brand-gitlab":{"category":"Brand","name":"brand-gitlab","tags":["logo","website","software","code","programming","programmers"],"variants":{"outline":"ec1d"}},"brand-gmail":{"category":"Brand","name":"brand-gmail","tags":["google","message","mail","communication"],"variants":{"outline":"efa2"}},"brand-golang":{"category":"Brand","name":"brand-golang","tags":["language","programming","app","write","c++","java"],"variants":{"outline":"f78d"}},"brand-google":{"category":"Brand","name":"brand-google","tags":["logo","enterprise","browser","internet","web","discover"],"variants":{"filled":"fd1a","outline":"ec1f"}},"brand-google-analytics":{"category":"Brand","name":"brand-google-analytics","tags":["advertising","track","website","traffic","e-commerce","online","technology"],"variants":{"outline":"edcb"}},"brand-google-big-query":{"category":"Brand","name":"brand-google-big-query","tags":["data","analysis","cloud","petabytes","sql"],"variants":{"outline":"f612"}},"brand-google-drive":{"category":"Brand","name":"brand-google-drive","tags":["logo","cloud","disc","documents","sheet","presentation","file","edit"],"variants":{"outline":"ec1e"}},"brand-google-fit":{"category":"Brand","name":"brand-google-fit","tags":["health","tracking","platform","software"],"variants":{"outline":"f297"}},"brand-google-home":{"category":"Brand","name":"brand-google-home","tags":["app","control","devices","speaker"],"variants":{"outline":"f601"}},"brand-google-maps":{"category":"Brand","name":"brand-google-maps","tags":[],"variants":{"outline":"fa4f"}},"brand-google-one":{"category":"Brand","name":"brand-google-one","tags":["data","software","storage","cloud"],"variants":{"outline":"f232"}},"brand-google-photos":{"category":"Brand","name":"brand-google-photos","tags":["gallery","videos","photography","website"],"variants":{"outline":"f20c"}},"brand-google-play":{"category":"Brand","name":"brand-google-play","tags":["logo","application","app","shop","store","online"],"variants":{"outline":"ed25"}},"brand-google-podcasts":{"category":"Brand","name":"brand-google-podcasts","tags":["app","android","ios","discover","listen"],"variants":{"outline":"f656"}},"brand-grammarly":{"category":"Brand","name":"brand-grammarly","tags":["text","editor","detects","mistakes","grammar"],"variants":{"outline":"f32b"}},"brand-graphql":{"category":"Brand","name":"brand-graphql","tags":["software","communication","server"],"variants":{"outline":"f32c"}},"brand-gravatar":{"category":"Brand","name":"brand-gravatar","tags":["avatar","image","face","blog","comment","represent","online","technology"],"variants":{"outline":"edcc"}},"brand-grindr":{"category":"Brand","name":"brand-grindr","tags":["app","communication","dating","gay","lgbt"],"variants":{"outline":"f20d"}},"brand-guardian":{"category":"Brand","name":"brand-guardian","tags":["news","log","british","article","blog"],"variants":{"outline":"f4fb"}},"brand-gumroad":{"category":"Brand","name":"brand-gumroad","tags":["e-commerce","platform","sell","direct"],"variants":{"outline":"f5d6"}},"brand-hackerrank":{"category":"Brand","name":"brand-hackerrank","tags":[],"variants":{"outline":"ff23"}},"brand-hbo":{"category":"Brand","name":"brand-hbo","tags":["tv","channels","film","movie","serials"],"variants":{"outline":"f657"}},"brand-headlessui":{"category":"Brand","name":"brand-headlessui","tags":["tailwind","css","js","javascript"],"variants":{"outline":"f32d"}},"brand-hexo":{"category":"Brand","name":"brand-hexo","tags":[],"variants":{"outline":"fa50"}},"brand-hipchat":{"category":"Brand","name":"brand-hipchat","tags":["chat","communicate","communication","talk","discuss","app","collaborate","collaboration","technology"],"variants":{"outline":"edcd"}},"brand-html5":{"category":"Brand","name":"brand-html5","tags":["programming","development","web","website","technology","markup","language"],"variants":{"outline":"ed6c"}},"brand-inertia":{"category":"Brand","name":"brand-inertia","tags":["create","app","online","javascript"],"variants":{"outline":"f34a"}},"brand-instagram":{"category":"Brand","name":"brand-instagram","tags":["logo","app","application","images","photos","videos","post","stories","online","community"],"variants":{"outline":"ec20"}},"brand-intercom":{"category":"Brand","name":"brand-intercom","tags":["chat","communcation","software"],"variants":{"outline":"f1cf"}},"brand-itch":{"category":"Brand","name":"brand-itch","tags":[],"variants":{"outline":"fa22"}},"brand-javascript":{"category":"Brand","name":"brand-javascript","tags":["js","language","programming"],"variants":{"outline":"ef0c"}},"brand-juejin":{"category":"Brand","name":"brand-juejin","tags":["development","new","technologies","developers"],"variants":{"outline":"f7b0"}},"brand-kako-talk":{"category":"Brand","name":"brand-kako-talk","tags":["kakao-talk","messaging","communication","chat","social","app","talk","branding","kakao","conversation"],"variants":{"outline":"fd2d"}},"brand-kbin":{"category":"Brand","name":"brand-kbin","tags":[],"variants":{"outline":"fad0"}},"brand-kick":{"category":"Brand","name":"brand-kick","tags":[],"variants":{"outline":"fa23"}},"brand-kickstarter":{"category":"Brand","name":"brand-kickstarter","tags":["crowdfunding","platform","project","creative","idea","business","launch","technology"],"variants":{"outline":"edce"}},"brand-kotlin":{"category":"Brand","name":"brand-kotlin","tags":["programming","language","programmer","development","developer","technology"],"variants":{"outline":"ed6d"}},"brand-laravel":{"category":"Brand","name":"brand-laravel","tags":["framework","software","php","modular","application","building","system"],"variants":{"outline":"f34b"}},"brand-lastfm":{"category":"Brand","name":"brand-lastfm","tags":["radio station","website","music","media player"],"variants":{"outline":"f001"}},"brand-leetcode":{"category":"Brand","name":"brand-leetcode","tags":[],"variants":{"outline":"fa51"}},"brand-letterboxd":{"category":"Brand","name":"brand-letterboxd","tags":[],"variants":{"outline":"fa24"}},"brand-line":{"category":"Brand","name":"brand-line","tags":[],"variants":{"outline":"f7e8"}},"brand-linkedin":{"category":"Brand","name":"brand-linkedin","tags":["logo","website","corporation","work","business","internet"],"variants":{"outline":"ec8c"}},"brand-linktree":{"category":"Brand","name":"brand-linktree","tags":["hyperlinks","social media","freemium service","website"],"variants":{"outline":"f1e7"}},"brand-linqpad":{"category":"Brand","name":"brand-linqpad","tags":["framework","programmers","database"],"variants":{"outline":"f562"}},"brand-livewire":{"category":"Brand","name":"brand-livewire","tags":[],"variants":{"outline":"fd76"}},"brand-loom":{"category":"Brand","name":"brand-loom","tags":["video","messages","osx","record","screen","camera"],"variants":{"outline":"ef70"}},"brand-mailgun":{"category":"Brand","name":"brand-mailgun","tags":["delivery","service","tracking","pickup"],"variants":{"outline":"f32e"}},"brand-mantine":{"category":"Brand","name":"brand-mantine","tags":["creation","web","application","development"],"variants":{"outline":"f32f"}},"brand-mastercard":{"category":"Brand","name":"brand-mastercard","tags":["payment","money","debit","finance"],"variants":{"outline":"ef49"}},"brand-mastodon":{"category":"Brand","name":"brand-mastodon","tags":["web","app","social","nodes","network"],"variants":{"outline":"f250"}},"brand-matrix":{"category":"Brand","name":"brand-matrix","tags":["non","profit","communication","ip","devices"],"variants":{"outline":"f5eb"}},"brand-mcdonalds":{"category":"Brand","name":"brand-mcdonalds","tags":["food","cheeseburger","hamburger","fries","fastfood"],"variants":{"outline":"f251"}},"brand-medium":{"category":"Brand","name":"brand-medium","tags":["logo","website","brand","wordmark","design"],"variants":{"outline":"ec70"}},"brand-meetup":{"category":"Brand","name":"brand-meetup","tags":[],"variants":{"outline":"fc6a"}},"brand-mercedes":{"category":"Brand","name":"brand-mercedes","tags":["car","racing","f1","bus","van"],"variants":{"outline":"f072"}},"brand-messenger":{"category":"Brand","name":"brand-messenger","tags":["logo","app","application","communication","text","messages","communicator","photos","images","videos","giphy"],"variants":{"outline":"ec71"}},"brand-meta":{"category":"Brand","name":"brand-meta","tags":["social media","facebook","fb","instagram","messegner","giphy"],"variants":{"outline":"efb0"}},"brand-metabrainz":{"category":"Brand","name":"brand-metabrainz","tags":["website","database","open-source","musicbrainz","listenbrainz","bookbrainz","critiquebrainz"],"variants":{"outline":"ff12"}},"brand-minecraft":{"category":"Brand","name":"brand-minecraft","tags":[],"variants":{"outline":"faef"}},"brand-miniprogram":{"category":"Brand","name":"brand-miniprogram","tags":[],"variants":{"outline":"f602"}},"brand-mixpanel":{"category":"Brand","name":"brand-mixpanel","tags":["analytics","buisness","software","application"],"variants":{"outline":"f397"}},"brand-monday":{"category":"Brand","name":"brand-monday","tags":["software","application development","cloud base platform"],"variants":{"outline":"f219"}},"brand-mongodb":{"category":"Brand","name":"brand-mongodb","tags":["database","c++","system","open","programmers"],"variants":{"outline":"f613"}},"brand-my-oppo":{"category":"Brand","name":"brand-my-oppo","tags":["mobile","app","services","membership"],"variants":{"outline":"f4d7"}},"brand-mysql":{"category":"Brand","name":"brand-mysql","tags":["opensource","database","system","web","app"],"variants":{"outline":"f614"}},"brand-national-geographic":{"category":"Brand","name":"brand-national-geographic","tags":["institution","scientific","educational","nonprofit"],"variants":{"outline":"f603"}},"brand-nem":{"category":"Brand","name":"brand-nem","tags":["coin","crypto","cryptocurrency","digital"],"variants":{"outline":"f5a1"}},"brand-netbeans":{"category":"Brand","name":"brand-netbeans","tags":["software","programming","tools","java","mobile devices"],"variants":{"outline":"ef71"}},"brand-netease-music":{"category":"Brand","name":"brand-netease-music","tags":["cloud","sound","app","stream","china"],"variants":{"outline":"f604"}},"brand-netflix":{"category":"Brand","name":"brand-netflix","tags":["series","tv","episode","movie","film","media","watch","app","technology"],"variants":{"outline":"edcf"}},"brand-nexo":{"category":"Brand","name":"brand-nexo","tags":["coin","crypto","cryptocurrency","digital"],"variants":{"outline":"f5a2"}},"brand-nextcloud":{"category":"Brand","name":"brand-nextcloud","tags":["software","technology","file","hosting","php","javascript"],"variants":{"outline":"f4d8"}},"brand-nextjs":{"category":"Brand","name":"brand-nextjs","tags":["website creation","web platform","software","web application functions"],"variants":{"outline":"f0dd"}},"brand-nodejs":{"category":"Brand","name":"brand-nodejs","tags":[],"variants":{"outline":"fae0"}},"brand-nord-vpn":{"category":"Brand","name":"brand-nord-vpn","tags":["protects","device","software"],"variants":{"outline":"f37f"}},"brand-notion":{"category":"Brand","name":"brand-notion","tags":["software","note taking","project management","database"],"variants":{"outline":"ef7b"}},"brand-npm":{"category":"Brand","name":"brand-npm","tags":["package","manager","node.js","javascript"],"variants":{"outline":"f569"}},"brand-nuxt":{"category":"Brand","name":"brand-nuxt","tags":["software","app development","library","javascript","js"],"variants":{"outline":"f0de"}},"brand-nytimes":{"category":"Brand","name":"brand-nytimes","tags":["magazines","news","newspapper","website"],"variants":{"outline":"ef8d"}},"brand-oauth":{"category":"Brand","name":"brand-oauth","tags":[],"variants":{"outline":"fa52"}},"brand-office":{"category":"Brand","name":"brand-office","tags":["text","editor","software","word","excel"],"variants":{"outline":"f398"}},"brand-ok-ru":{"category":"Brand","name":"brand-ok-ru","tags":["socialmedia","message","posts"],"variants":{"outline":"f399"}},"brand-onedrive":{"category":"Brand","name":"brand-onedrive","tags":["virtual","disk","microsoft","cloud"],"variants":{"outline":"f5d7"}},"brand-onlyfans":{"category":"Brand","name":"brand-onlyfans","tags":["website","platform","photos","videos","stream","pay"],"variants":{"outline":"f605"}},"brand-open-source":{"category":"Brand","name":"brand-open-source","tags":["software","code","developer","public","licence","technology"],"variants":{"outline":"edd0"}},"brand-openai":{"category":"Brand","name":"brand-openai","tags":["nonprofit","artificial","intelligence","website"],"variants":{"outline":"f78e"}},"brand-openvpn":{"category":"Brand","name":"brand-openvpn","tags":["software","creating","secure","connection"],"variants":{"outline":"f39a"}},"brand-opera":{"category":"Brand","name":"brand-opera","tags":["logo","browser","internet","free","program"],"variants":{"outline":"ec21"}},"brand-pagekit":{"category":"Brand","name":"brand-pagekit","tags":["content","management","system","website","component","modular","technology"],"variants":{"outline":"edd1"}},"brand-parsinta":{"category":"Brand","name":"brand-parsinta","tags":[],"variants":{"outline":"fc42"}},"brand-patreon":{"category":"Brand","name":"brand-patreon","tags":["artist","software","creator","patron","art","subscription","income","earn"],"variants":{"filled":"fcff","outline":"edd2"}},"brand-paypal":{"category":"Brand","name":"brand-paypal","tags":["logo","enterprise","service","payment","internet","businessman","consumer"],"variants":{"filled":"f7e9","outline":"ec22"}},"brand-paypay":{"category":"Brand","name":"brand-paypay","tags":["japan","electronic","payment","services","mobile"],"variants":{"outline":"f5ec"}},"brand-peanut":{"category":"Brand","name":"brand-peanut","tags":["social","app","mobile","women"],"variants":{"outline":"f39b"}},"brand-pepsi":{"category":"Brand","name":"brand-pepsi","tags":["food","cola","coke","drink","bottle","carbonated"],"variants":{"outline":"f261"}},"brand-php":{"category":"Brand","name":"brand-php","tags":["programming","coding","script","format","file"],"variants":{"outline":"ef72"}},"brand-picsart":{"category":"Brand","name":"brand-picsart","tags":["photo","photography","software","video","editing"],"variants":{"outline":"f4d9"}},"brand-pinterest":{"category":"Brand","name":"brand-pinterest","tags":["logo","website","images","materials"],"variants":{"outline":"ec8d"}},"brand-planetscale":{"category":"Brand","name":"brand-planetscale","tags":["mysql","database","developers"],"variants":{"outline":"f78f"}},"brand-pnpm":{"category":"Brand","name":"brand-pnpm","tags":[],"variants":{"outline":"fd77"}},"brand-pocket":{"category":"Brand","name":"brand-pocket","tags":["logo","software","application","app","mobile","device","gathering","storage"],"variants":{"outline":"ed00"}},"brand-polymer":{"category":"Brand","name":"brand-polymer","tags":[],"variants":{"outline":"f498"}},"brand-powershell":{"category":"Brand","name":"brand-powershell","tags":["microsoft","command","interpreter","software","opensource"],"variants":{"outline":"f5ed"}},"brand-printables":{"category":"Brand","name":"brand-printables","tags":[],"variants":{"outline":"fd1b"}},"brand-prisma":{"category":"Brand","name":"brand-prisma","tags":["software","open","source","tools","developer","platform"],"variants":{"outline":"f499"}},"brand-producthunt":{"category":"Brand","name":"brand-producthunt","tags":["technology","product","share","discover","new","novelty","web","geek"],"variants":{"outline":"edd3"}},"brand-pushbullet":{"category":"Brand","name":"brand-pushbullet","tags":["data","transfer","tool","software"],"variants":{"outline":"f330"}},"brand-pushover":{"category":"Brand","name":"brand-pushover","tags":["notifications","push","cloud based","mobile","app"],"variants":{"outline":"f20e"}},"brand-python":{"category":"Brand","name":"brand-python","tags":["logo","language","programming","source"],"variants":{"outline":"ed01"}},"brand-qq":{"category":"Brand","name":"brand-qq","tags":["china","communicator","internet"],"variants":{"outline":"f606"}},"brand-radix-ui":{"category":"Brand","name":"brand-radix-ui","tags":["opensource","library","web","application","high","quality"],"variants":{"outline":"f790"}},"brand-react":{"category":"Brand","name":"brand-react","tags":["library","javascript","creation","interface","software"],"variants":{"outline":"f34c"}},"brand-react-native":{"category":"Brand","name":"brand-react-native","tags":["programming","tools","app","javascript","js"],"variants":{"outline":"ef73"}},"brand-reason":{"category":"Brand","name":"brand-reason","tags":[],"variants":{"outline":"f49a"}},"brand-reddit":{"category":"Brand","name":"brand-reddit","tags":["logo","website","information","link","internet"],"variants":{"outline":"ec8e"}},"brand-redhat":{"category":"Brand","name":"brand-redhat","tags":["software","entrepreneurship","creation"],"variants":{"outline":"f331"}},"brand-redux":{"category":"Brand","name":"brand-redux","tags":["library","javascript","menagment","centralization","application","status"],"variants":{"outline":"f3a8"}},"brand-revolut":{"category":"Brand","name":"brand-revolut","tags":["bank","money","finance","change","currency"],"variants":{"outline":"f4da"}},"brand-rumble":{"category":"Brand","name":"brand-rumble","tags":[],"variants":{"outline":"fad1"}},"brand-rust":{"category":"Brand","name":"brand-rust","tags":[],"variants":{"outline":"fa53"}},"brand-safari":{"category":"Brand","name":"brand-safari","tags":["logo","browser","internet","iphone","ipad","MacBook","compass","apple","discover"],"variants":{"outline":"ec23"}},"brand-samsungpass":{"category":"Brand","name":"brand-samsungpass","tags":["management","storage","personal","information","id","password"],"variants":{"outline":"f4db"}},"brand-sass":{"category":"Brand","name":"brand-sass","tags":["technology","preprocessor","script","language","programming","css","syntax","compile"],"variants":{"outline":"edd4"}},"brand-sentry":{"category":"Brand","name":"brand-sentry","tags":["technology","application","monitoring","error","tracking","software","cloud","development","app"],"variants":{"outline":"edd5"}},"brand-sharik":{"category":"Brand","name":"brand-sharik","tags":["file","sharing","wifi","mobile","hotspot"],"variants":{"outline":"f4dc"}},"brand-shazam":{"category":"Brand","name":"brand-shazam","tags":["app","technology","device","music","sound","play","discover","artist","recognize"],"variants":{"outline":"edd6"}},"brand-shopee":{"category":"Brand","name":"brand-shopee","tags":["shopping","online","media","shop","ecommerce"],"variants":{"outline":"f252"}},"brand-sketch":{"category":"Brand","name":"brand-sketch","tags":["logo","editor","edit","graphic","apple","commercial"],"variants":{"outline":"ec24"}},"brand-skype":{"category":"Brand","name":"brand-skype","tags":["logo","application","app","communication","talks","call","video","internet","camera"],"variants":{"outline":"ed02"}},"brand-slack":{"category":"Brand","name":"brand-slack","tags":["logo","free","internet","service","stuff","electron","app","application","communicator","textual","audio","multimedia"],"variants":{"outline":"ec72"}},"brand-snapchat":{"category":"Brand","name":"brand-snapchat","tags":["logo","app","application","photos","sending","images","mobile","video"],"variants":{"outline":"ec25"}},"brand-snapseed":{"category":"Brand","name":"brand-snapseed","tags":["edit","photo","image","editor","google"],"variants":{"outline":"f253"}},"brand-snowflake":{"category":"Brand","name":"brand-snowflake","tags":["data","cloud","platform","website"],"variants":{"outline":"f615"}},"brand-socket-io":{"category":"Brand","name":"brand-socket-io","tags":["library","javascript","web","app","communication"],"variants":{"outline":"f49b"}},"brand-solidjs":{"category":"Brand","name":"brand-solidjs","tags":["library","framework","developers","programmers","javascript"],"variants":{"outline":"f5ee"}},"brand-soundcloud":{"category":"Brand","name":"brand-soundcloud","tags":["technology","audio","distribution","platform","music","upload","promote","streaming"],"variants":{"outline":"ed6e"}},"brand-spacehey":{"category":"Brand","name":"brand-spacehey","tags":["internet","network","social","website"],"variants":{"outline":"f4fc"}},"brand-speedtest":{"category":"Brand","name":"brand-speedtest","tags":[],"variants":{"outline":"fa77"}},"brand-spotify":{"category":"Brand","name":"brand-spotify","tags":["logo","app","application","platform","music","listening","streaming","podcast"],"variants":{"filled":"fe86","outline":"ed03"}},"brand-stackoverflow":{"category":"Brand","name":"brand-stackoverflow","tags":["social","media","programming","website"],"variants":{"outline":"ef58"}},"brand-stackshare":{"category":"Brand","name":"brand-stackshare","tags":["website","developers","tech","opensource"],"variants":{"outline":"f607"}},"brand-steam":{"category":"Brand","name":"brand-steam","tags":["technology","video","game","digital","distribution","software","player","pc"],"variants":{"outline":"ed6f"}},"brand-stocktwits":{"category":"Brand","name":"brand-stocktwits","tags":[],"variants":{"outline":"fd78"}},"brand-storj":{"category":"Brand","name":"brand-storj","tags":[],"variants":{"outline":"fa54"}},"brand-storybook":{"category":"Brand","name":"brand-storybook","tags":["tool","creation","interface","application"],"variants":{"outline":"f332"}},"brand-storytel":{"category":"Brand","name":"brand-storytel","tags":["audiobook","stream","phone","tablet","digital","subscription","service"],"variants":{"outline":"f608"}},"brand-strava":{"category":"Brand","name":"brand-strava","tags":["run","ride","hike","activity","gps","sport","app"],"variants":{"outline":"f254"}},"brand-stripe":{"category":"Brand","name":"brand-stripe","tags":["technology","payment","processing","money","subscription","finance","financial","software","e-commerce"],"variants":{"outline":"edd7"}},"brand-sublime-text":{"category":"Brand","name":"brand-sublime-text","tags":["software","text","editing","programming"],"variants":{"outline":"ef74"}},"brand-sugarizer":{"category":"Brand","name":"brand-sugarizer","tags":["learning","platform","webstie","child"],"variants":{"outline":"f7a5"}},"brand-supabase":{"category":"Brand","name":"brand-supabase","tags":["opensource","database","software","storage"],"variants":{"outline":"f6d3"}},"brand-superhuman":{"category":"Brand","name":"brand-superhuman","tags":["software","email","productivity","tools"],"variants":{"outline":"f50c"}},"brand-supernova":{"category":"Brand","name":"brand-supernova","tags":["editor","developer","tools","technology","design"],"variants":{"outline":"f49c"}},"brand-surfshark":{"category":"Brand","name":"brand-surfshark","tags":["vpn","security","ip","network","private"],"variants":{"outline":"f255"}},"brand-svelte":{"category":"Brand","name":"brand-svelte","tags":["programming","coding","interface","web app"],"variants":{"outline":"f0df"}},"brand-swift":{"category":"Brand","name":"brand-swift","tags":[],"variants":{"outline":"fa55"}},"brand-symfony":{"category":"Brand","name":"brand-symfony","tags":["framework","php","software","build","web","application"],"variants":{"outline":"f616"}},"brand-tabler":{"category":"Brand","name":"brand-tabler","tags":["logo","website","dashboard","download","open-source","ui"],"variants":{"outline":"ec8f"}},"brand-tailwind":{"category":"Brand","name":"brand-tailwind","tags":["logo","firm","website"],"variants":{"outline":"eca1"}},"brand-taobao":{"category":"Brand","name":"brand-taobao","tags":["china","platform","shopping","online"],"variants":{"outline":"f5ef"}},"brand-teams":{"category":"Brand","name":"brand-teams","tags":["microsoft","technology"],"variants":{"outline":"fadf"}},"brand-ted":{"category":"Brand","name":"brand-ted","tags":["nonprofit","website","scientific","conferences","organised"],"variants":{"outline":"f658"}},"brand-telegram":{"category":"Brand","name":"brand-telegram","tags":["logo","app","application","communicator","internet","cloud","messages","text","images","photos","videos","record","file","send"],"variants":{"outline":"ec26"}},"brand-terraform":{"category":"Brand","name":"brand-terraform","tags":[],"variants":{"outline":"fa56"}},"brand-tether":{"category":"Brand","name":"brand-tether","tags":["coin","crypto","cryptocurrency","digital"],"variants":{"outline":"f5a3"}},"brand-thingiverse":{"category":"Brand","name":"brand-thingiverse","tags":[],"variants":{"outline":"fd1c"}},"brand-threads":{"category":"Brand","name":"brand-threads","tags":[],"variants":{"outline":"fb02"}},"brand-threejs":{"category":"Brand","name":"brand-threejs","tags":["javascript","3d","library","interface","software","make","animation"],"variants":{"outline":"f5f0"}},"brand-tidal":{"category":"Brand","name":"brand-tidal","tags":["technology","subscription","music","podcast","video","streaming","playlist","party","track","song"],"variants":{"outline":"ed70"}},"brand-tiktok":{"category":"Brand","name":"brand-tiktok","tags":["logo","app","application","mobile","video","music"],"variants":{"filled":"f7ea","outline":"ec73"}},"brand-tinder":{"category":"Brand","name":"brand-tinder","tags":["date","dating","app","love","affection","affair","couple","technology","networking","swipe","match"],"variants":{"outline":"ed71"}},"brand-topbuzz":{"category":"Brand","name":"brand-topbuzz","tags":["video","gif","articles","news"],"variants":{"outline":"f50d"}},"brand-torchain":{"category":"Brand","name":"brand-torchain","tags":["coin","crypto","cryptocurrency","digital"],"variants":{"outline":"f5a4"}},"brand-toyota":{"category":"Brand","name":"brand-toyota","tags":["car","transport","transportation"],"variants":{"outline":"f262"}},"brand-trello":{"category":"Brand","name":"brand-trello","tags":["visual","tool","board","kanban"],"variants":{"outline":"f39d"}},"brand-tripadvisor":{"category":"Brand","name":"brand-tripadvisor","tags":["travel","trip","tourism","website"],"variants":{"outline":"f002"}},"brand-tumblr":{"category":"Brand","name":"brand-tumblr","tags":["logo","website","platform","blog","community"],"variants":{"outline":"ed04"}},"brand-twilio":{"category":"Brand","name":"brand-twilio","tags":["communication","answering","calls","messages"],"variants":{"outline":"f617"}},"brand-twitch":{"category":"Brand","name":"brand-twitch","tags":["logo","platform","streaming","streamers","videos","films","chat","subs"],"variants":{"outline":"ed05"}},"brand-twitter":{"category":"Brand","name":"brand-twitter","tags":["logo","app","application","community","social","communication","website","user","post","images","photos","comment","feedback"],"variants":{"filled":"f7eb","outline":"ec27"}},"brand-typescript":{"category":"Brand","name":"brand-typescript","tags":["language","programmers","opensource","javascript"],"variants":{"outline":"f5f1"}},"brand-uber":{"category":"Brand","name":"brand-uber","tags":["taxi","transport","car","food"],"variants":{"outline":"ef75"}},"brand-ubuntu":{"category":"Brand","name":"brand-ubuntu","tags":["os","operating","system","linux","gnu"],"variants":{"outline":"ef59"}},"brand-unity":{"category":"Brand","name":"brand-unity","tags":["engine","creation","3d","2d"],"variants":{"outline":"f49d"}},"brand-unsplash":{"category":"Brand","name":"brand-unsplash","tags":["picture","photo","photography","search","image","stock"],"variants":{"outline":"edd8"}},"brand-upwork":{"category":"Brand","name":"brand-upwork","tags":["freelancer","software","finance"],"variants":{"outline":"f39e"}},"brand-valorant":{"category":"Brand","name":"brand-valorant","tags":["game","fps","videogame","shooter"],"variants":{"outline":"f39f"}},"brand-vercel":{"category":"Brand","name":"brand-vercel","tags":["develop","preview","programmers","build","publish"],"variants":{"outline":"ef24"}},"brand-vimeo":{"category":"Brand","name":"brand-vimeo","tags":["logo","website","sharing","watching","video","users"],"variants":{"outline":"ed06"}},"brand-vinted":{"category":"Brand","name":"brand-vinted","tags":["website","clothes","trading","exchange","sale","shopping"],"variants":{"outline":"f20f"}},"brand-visa":{"category":"Brand","name":"brand-visa","tags":["payment","card","method","pay"],"variants":{"outline":"f380"}},"brand-visual-studio":{"category":"Brand","name":"brand-visual-studio","tags":["software","microsoft","programming","developers","coding"],"variants":{"outline":"ef76"}},"brand-vite":{"category":"Brand","name":"brand-vite","tags":["software","building","tool","programming","web","projects"],"variants":{"outline":"f5f2"}},"brand-vivaldi":{"category":"Brand","name":"brand-vivaldi","tags":["browser","internet","web","free","program"],"variants":{"outline":"f210"}},"brand-vk":{"category":"Brand","name":"brand-vk","tags":["technology","social","media","networking","service","russian"],"variants":{"outline":"ed72"}},"brand-vlc":{"category":"Brand","name":"brand-vlc","tags":[],"variants":{"outline":"fa78"}},"brand-volkswagen":{"category":"Brand","name":"brand-volkswagen","tags":["car","vehicle","transportation","van","traveling"],"variants":{"outline":"f50e"}},"brand-vsco":{"category":"Brand","name":"brand-vsco","tags":["photography","image","application"],"variants":{"outline":"f334"}},"brand-vscode":{"category":"Brand","name":"brand-vscode","tags":["code","editor","software"],"variants":{"outline":"f3a0"}},"brand-vue":{"category":"Brand","name":"brand-vue","tags":["programming","coding","javascript","document","software"],"variants":{"outline":"f0e0"}},"brand-walmart":{"category":"Brand","name":"brand-walmart","tags":["shop","supermarket","food","drinking","groceries","shopping"],"variants":{"outline":"f211"}},"brand-waze":{"category":"Brand","name":"brand-waze","tags":["software","navigation","satellite","mobile","phone"],"variants":{"outline":"f5d8"}},"brand-webflow":{"category":"Brand","name":"brand-webflow","tags":["web","website","creation"],"variants":{"outline":"f2d2"}},"brand-wechat":{"category":"Brand","name":"brand-wechat","tags":["china","communicator","social","media","software"],"variants":{"outline":"f5f3"}},"brand-weibo":{"category":"Brand","name":"brand-weibo","tags":["china","share","messages","internet","service"],"variants":{"outline":"f609"}},"brand-whatsapp":{"category":"Brand","name":"brand-whatsapp","tags":["logo","app","application","communication","text","messages","communicator","photos","images","videos","giphy"],"variants":{"outline":"ec74"}},"brand-wikipedia":{"category":"Brand","name":"brand-wikipedia","tags":[],"variants":{"outline":"fa79"}},"brand-windows":{"category":"Brand","name":"brand-windows","tags":["logo","system","os","computer","microsoft"],"variants":{"outline":"ecd8"}},"brand-windy":{"category":"Brand","name":"brand-windy","tags":["weather","sun","cold","hot","rain","forecast"],"variants":{"outline":"f4dd"}},"brand-wish":{"category":"Brand","name":"brand-wish","tags":["shopping","online","tools","gadgets","toys"],"variants":{"outline":"f212"}},"brand-wix":{"category":"Brand","name":"brand-wix","tags":["logo","maker","web","website"],"variants":{"outline":"f3a1"}},"brand-wordpress":{"category":"Brand","name":"brand-wordpress","tags":["logotype","web","website","glyph","social"],"variants":{"outline":"f2d3"}},"brand-x":{"category":"Brand","name":"brand-x","tags":["twitter"],"variants":{"filled":"fc21","outline":"fc0f"}},"brand-xamarin":{"category":"Brand","name":"brand-xamarin","tags":[],"variants":{"outline":"fa7a"}},"brand-xbox":{"category":"Brand","name":"brand-xbox","tags":["game","console","videogame","controller"],"variants":{"outline":"f298"}},"brand-xdeep":{"category":"Brand","name":"brand-xdeep","tags":[],"variants":{"outline":"fc10"}},"brand-xing":{"category":"Brand","name":"brand-xing","tags":["web","media","network","site","social"],"variants":{"outline":"f21a"}},"brand-yahoo":{"category":"Brand","name":"brand-yahoo","tags":["web","services","technology","inbox","mail","news","search"],"variants":{"outline":"ed73"}},"brand-yandex":{"category":"Brand","name":"brand-yandex","tags":[],"variants":{"outline":"fae1"}},"brand-yarn":{"category":"Brand","name":"brand-yarn","tags":[],"variants":{"outline":"fd79"}},"brand-yatse":{"category":"Brand","name":"brand-yatse","tags":["multimedia","technology","pilot","software","android"],"variants":{"outline":"f213"}},"brand-ycombinator":{"category":"Brand","name":"brand-ycombinator","tags":["startup","accelerator","seed","money","launch","company","business","invest","funding"],"variants":{"outline":"edd9"}},"brand-youtube":{"category":"Brand","name":"brand-youtube","tags":["logo","platform","channel","film","video","youtuber","maker","comments","stream","streamer"],"variants":{"filled":"fc22","outline":"ec90"}},"brand-youtube-kids":{"category":"Brand","name":"brand-youtube-kids","tags":["video","program","young","children","maker","stories","youtuber"],"variants":{"outline":"f214"}},"brand-zalando":{"category":"Brand","name":"brand-zalando","tags":["footwear","shoes","clotches","app","online","shop"],"variants":{"outline":"f49e"}},"brand-zapier":{"category":"Brand","name":"brand-zapier","tags":["automated","create","app","buissnes"],"variants":{"outline":"f49f"}},"brand-zeit":{"category":"Brand","name":"brand-zeit","tags":["consulting","software"],"variants":{"outline":"f335"}},"brand-zhihu":{"category":"Brand","name":"brand-zhihu","tags":["forum","make","question","answers","website"],"variants":{"outline":"f60a"}},"brand-zoom":{"category":"Brand","name":"brand-zoom","tags":["program","video","chat","meetings","online"],"variants":{"outline":"f215"}},"brand-zulip":{"category":"Brand","name":"brand-zulip","tags":["chat","software","phyton","javascript"],"variants":{"outline":"f4de"}},"brand-zwift":{"category":"Brand","name":"brand-zwift","tags":["technology","bike","sport","movement","game"],"variants":{"outline":"f216"}},"bread":{"category":"Food","name":"bread","tags":["food","breakfast","sandwich","toast","baking"],"variants":{"filled":"fe85","outline":"efa3"}},"bread-off":{"category":"Food","name":"bread-off","tags":["food","breakfast","sandwich","toast","baking"],"variants":{"outline":"f3cb"}},"briefcase":{"category":"","name":"briefcase","tags":["bag","baggage","folder","carrier","documents","suitcase","job","work","luggage"],"variants":{"filled":"fd00","outline":"ea46"}},"briefcase-2":{"category":"","name":"briefcase-2","tags":["bag","baggage","folder","carrier","documents","suitcase","job","work","luggage"],"variants":{"filled":"fe84","outline":"fb03"}},"briefcase-off":{"category":"","name":"briefcase-off","tags":["bag","baggage","folder","carrier","documents"],"variants":{"outline":"f3cc"}},"brightness":{"category":"Photography","name":"brightness","tags":["light","dark","screen"],"variants":{"filled":"fe82","outline":"eb7f"}},"brightness-2":{"category":"Photography","name":"brightness-2","tags":["light","screen","level","daytime","sun"],"variants":{"outline":"ee19"}},"brightness-auto":{"category":"","name":"brightness-auto","tags":[],"variants":{"filled":"fe83","outline":"fd99"}},"brightness-down":{"category":"Photography","name":"brightness-down","tags":["dark","darker","screen"],"variants":{"filled":"fb23","outline":"eb7d"}},"brightness-half":{"category":"Photography","name":"brightness-half","tags":["light","screen","level","daytime","sun"],"variants":{"outline":"ee1a"}},"brightness-off":{"category":"Photography","name":"brightness-off","tags":["light","dark","screen"],"variants":{"outline":"f3cd"}},"brightness-up":{"category":"Photography","name":"brightness-up","tags":["light","screen"],"variants":{"filled":"fb24","outline":"eb7e"}},"broadcast":{"category":"Devices","name":"broadcast","tags":["communication","tv","signal","media","sound","connection","network"],"variants":{"outline":"f1e9"}},"broadcast-off":{"category":"Devices","name":"broadcast-off","tags":["communication","tv","signal","media","sound","connection","network"],"variants":{"outline":"f1e8"}},"browser":{"category":"Devices","name":"browser","tags":["internet","web","display"],"variants":{"outline":"ebb7"}},"browser-check":{"category":"Devices","name":"browser-check","tags":["internet","web","display","done","tick"],"variants":{"outline":"efd6"}},"browser-off":{"category":"Devices","name":"browser-off","tags":["internet","web","display"],"variants":{"outline":"f0c1"}},"browser-plus":{"category":"Devices","name":"browser-plus","tags":["internet","web","display","new","add"],"variants":{"outline":"efd7"}},"browser-x":{"category":"Devices","name":"browser-x","tags":["internet","web","display","close"],"variants":{"outline":"efd8"}},"brush":{"category":"Design","name":"brush","tags":["paint","art","picture","paintbrush","painter","theme"],"variants":{"outline":"ebb8"}},"brush-off":{"category":"Design","name":"brush-off","tags":["paint","art","picture","paintbrush","painter","theme"],"variants":{"outline":"f0c2"}},"bubble":{"category":"Communication","name":"bubble","tags":["comment","chat","reply","communication","conversation","faq","message","text"],"variants":{"filled":"fec3","outline":"feba"}},"bubble-minus":{"category":"Communication","name":"bubble-minus","tags":["comment","chat","reply","communication","conversation","faq","message","text"],"variants":{"outline":"febe"}},"bubble-plus":{"category":"Communication","name":"bubble-plus","tags":["comment","chat","reply","communication","conversation","faq","message","text"],"variants":{"outline":"febd"}},"bubble-tea":{"category":"","name":"bubble-tea","tags":[],"variants":{"outline":"ff51"}},"bubble-tea-2":{"category":"","name":"bubble-tea-2","tags":[],"variants":{"outline":"ff52"}},"bubble-text":{"category":"Communication","name":"bubble-text","tags":["comment","chat","reply","communication","conversation","faq","message","text"],"variants":{"outline":"febc"}},"bubble-x":{"category":"Communication","name":"bubble-x","tags":["comment","chat","reply","communication","conversation","faq","message","text"],"variants":{"outline":"febb"}},"bucket":{"category":"Design","name":"bucket","tags":["collection","container","water","liquid"],"variants":{"outline":"ea47"}},"bucket-droplet":{"category":"Design","name":"bucket-droplet","tags":["water","liquid","drop","tool","fill"],"variants":{"outline":"f56a"}},"bucket-off":{"category":"Design","name":"bucket-off","tags":["collection","container","water","liquid"],"variants":{"outline":"f103"}},"bug":{"category":"Development","name":"bug","tags":["germ","insect","error","nature"],"variants":{"filled":"fd01","outline":"ea48"}},"bug-off":{"category":"Development","name":"bug-off","tags":["germ","insect","error","nature"],"variants":{"outline":"f0c3"}},"building":{"category":"Buildings","name":"building","tags":["flat","office","city","urban","scyscraper","architecture","construction"],"variants":{"outline":"ea4f"}},"building-arch":{"category":"Buildings","name":"building-arch","tags":["arc","curve","dome","monument","history","architecture"],"variants":{"outline":"ea49"}},"building-bank":{"category":"Buildings","name":"building-bank","tags":["architecture","city","urban","construction","money","credit","loan","workplace"],"variants":{"outline":"ebe2"}},"building-bridge":{"category":"Buildings","name":"building-bridge","tags":["architecture","urban","river","overpass","city","countryside"],"variants":{"outline":"ea4b"}},"building-bridge-2":{"category":"Buildings","name":"building-bridge-2","tags":["architecture","urban","river","overpass","city","countryside"],"variants":{"outline":"ea4a"}},"building-broadcast-tower":{"category":"Buildings","name":"building-broadcast-tower","tags":["communication","internet","signal"],"variants":{"filled":"fe81","outline":"f4be"}},"building-burj-al-arab":{"category":"","name":"building-burj-al-arab","tags":[],"variants":{"outline":"ff50"}},"building-carousel":{"category":"Buildings","name":"building-carousel","tags":["amusement","park","fair","merry-go-round","fun","entertaianment"],"variants":{"outline":"ed87"}},"building-castle":{"category":"Buildings","name":"building-castle","tags":["king","queen","royal","architecture","medieval","middle","ages","nobility","tower","fortress","fort","fortification","princess","prince"],"variants":{"outline":"ed88"}},"building-church":{"category":"Buildings","name":"building-church","tags":["religion","chapel","sanctuary","temple","cathedral","pray","prayer"],"variants":{"outline":"ea4c"}},"building-circus":{"category":"Buildings","name":"building-circus","tags":["tent","show","carnival","clown"],"variants":{"outline":"f4bf"}},"building-community":{"category":"Buildings","name":"building-community","tags":["place","skyscraper","district neighborhood","area"],"variants":{"outline":"ebf6"}},"building-cottage":{"category":"Buildings","name":"building-cottage","tags":["small","house","countryside","live","farm","rural","outskirts"],"variants":{"outline":"ee1b"}},"building-estate":{"category":"Buildings","name":"building-estate","tags":["office","property","work","architecture"],"variants":{"outline":"f5a5"}},"building-factory":{"category":"Buildings","name":"building-factory","tags":["goods","manufature","machine","trade","produce","product","worker","industry","industrial","site"],"variants":{"outline":"ee1c"}},"building-factory-2":{"category":"Buildings","name":"building-factory-2","tags":["goods","manufature","machine","trade","produce","product","worker","industry","industrial","site"],"variants":{"outline":"f082"}},"building-fortress":{"category":"Buildings","name":"building-fortress","tags":["military","town","defend","attack","stronghold","protect","protection","medieval"],"variants":{"outline":"ed89"}},"building-hospital":{"category":"Buildings","name":"building-hospital","tags":["doctor","sickness","illness","nurse","medication","emergency","treat","surgery"],"variants":{"outline":"ea4d"}},"building-lighthouse":{"category":"Buildings","name":"building-lighthouse","tags":["light","sea","tower","beacon","flash","ship","guide","lightship","leading","watchtower","signal"],"variants":{"outline":"ed8a"}},"building-monument":{"category":"Buildings","name":"building-monument","tags":["history","memorial","commemorative"],"variants":{"outline":"ed26"}},"building-mosque":{"category":"Buildings","name":"building-mosque","tags":[],"variants":{"outline":"fa57"}},"building-off":{"category":"Buildings","name":"building-off","tags":["flat","office","city","urban","scyscraper","architecture","construction"],"variants":{"outline":"fefd"}},"building-pavilion":{"category":"Buildings","name":"building-pavilion","tags":["place","party","residence","ornamentation"],"variants":{"outline":"ebf7"}},"building-skyscraper":{"category":"Buildings","name":"building-skyscraper","tags":["city","urban","office","workplace","corporation","hotel","apartments"],"variants":{"outline":"ec39"}},"building-stadium":{"category":"Buildings","name":"building-stadium","tags":["construciton","estate","football","supporters"],"variants":{"outline":"f641"}},"building-store":{"category":"Buildings","name":"building-store","tags":["shopping","shop","supermarket","market","products","retail","buy","sell"],"variants":{"outline":"ea4e"}},"building-tunnel":{"category":"Buildings","name":"building-tunnel","tags":["train","road","underground","subway"],"variants":{"outline":"f5a6"}},"building-warehouse":{"category":"Buildings","name":"building-warehouse","tags":["store","inventory","stuff","things","machinery"],"variants":{"outline":"ebe3"}},"building-wind-turbine":{"category":"Buildings","name":"building-wind-turbine","tags":["power","ecology","electricy","energy"],"variants":{"outline":"f4c0"}},"buildings":{"category":"Buildings","name":"buildings","tags":["flat","office","city","urban","scyscraper","architecture","construction"],"variants":{"outline":"ff40"}},"bulb":{"category":"","name":"bulb","tags":["energy","power","electricity","creativity","light","idea"],"variants":{"filled":"f66a","outline":"ea51"}},"bulb-off":{"category":"","name":"bulb-off","tags":["energy","power","electricity","creativity","light","idea"],"variants":{"outline":"ea50"}},"bulldozer":{"category":"Vehicles","name":"bulldozer","tags":["tractor","construction","site","build","rear","machine"],"variants":{"outline":"ee1d"}},"burger":{"category":"","name":"burger","tags":[],"variants":{"outline":"fcb4"}},"bus":{"category":"Vehicles","name":"bus","tags":["vehicle","drive","driver","engine","motor","journey","trip"],"variants":{"outline":"ebe4"}},"bus-off":{"category":"Vehicles","name":"bus-off","tags":["vehicle","drive","driver","engine","motor","journey","trip"],"variants":{"outline":"f3ce"}},"bus-stop":{"category":"Vehicles","name":"bus-stop","tags":["transport","station","city","travel"],"variants":{"outline":"f2d4"}},"businessplan":{"category":"","name":"businessplan","tags":["business","money","corporate","document","goal","achieve","manage","roadmap","grow"],"variants":{"outline":"ee1e"}},"butterfly":{"category":"Nature","name":"butterfly","tags":["animal","insect","nature","fly","wings"],"variants":{"outline":"efd9"}},"cactus":{"category":"Nature","name":"cactus","tags":["plant","desert","spikes","nature","garden"],"variants":{"filled":"fb25","outline":"f21b"}},"cactus-off":{"category":"Nature","name":"cactus-off","tags":["plant","desert","spikes","nature","garden"],"variants":{"outline":"f3cf"}},"cake":{"category":"","name":"cake","tags":["baking","birthday","party","chocolate","sweet"],"variants":{"outline":"f00f"}},"cake-off":{"category":"","name":"cake-off","tags":["baking","birthday","party","chocolate","sweet"],"variants":{"outline":"f104"}},"calculator":{"category":"Devices","name":"calculator","tags":["math","count","add","subtract","multiply","divide","amount"],"variants":{"filled":"fb26","outline":"eb80"}},"calculator-off":{"category":"Devices","name":"calculator-off","tags":["math","count","add","subtract","multiply","divide","amount"],"variants":{"outline":"f0c4"}},"calendar":{"category":"System","name":"calendar","tags":["date","day","plan","schedule","agenda","calender"],"variants":{"filled":"fb27","outline":"ea53"}},"calendar-bolt":{"category":"System","name":"calendar-bolt","tags":[],"variants":{"outline":"f822"}},"calendar-cancel":{"category":"System","name":"calendar-cancel","tags":[],"variants":{"outline":"f823"}},"calendar-check":{"category":"System","name":"calendar-check","tags":[],"variants":{"outline":"f824"}},"calendar-clock":{"category":"","name":"calendar-clock","tags":["time-calendar","schedule-clock","appointment","date-time","event-schedule","timing","calendar-clock","agenda","time-management","calendar-event"],"variants":{"outline":"fd2e"}},"calendar-code":{"category":"System","name":"calendar-code","tags":[],"variants":{"outline":"f825"}},"calendar-cog":{"category":"System","name":"calendar-cog","tags":[],"variants":{"outline":"f826"}},"calendar-dollar":{"category":"System","name":"calendar-dollar","tags":[],"variants":{"outline":"f827"}},"calendar-dot":{"category":"","name":"calendar-dot","tags":[],"variants":{"outline":"fd3e"}},"calendar-down":{"category":"System","name":"calendar-down","tags":[],"variants":{"outline":"f828"}},"calendar-due":{"category":"System","name":"calendar-due","tags":["date","deadline","schedule"],"variants":{"outline":"f621"}},"calendar-event":{"category":"System","name":"calendar-event","tags":["date","day","plan","schedule","agenda","calender"],"variants":{"outline":"ea52"}},"calendar-exclamation":{"category":"System","name":"calendar-exclamation","tags":[],"variants":{"outline":"f829"}},"calendar-heart":{"category":"System","name":"calendar-heart","tags":[],"variants":{"outline":"f82a"}},"calendar-minus":{"category":"System","name":"calendar-minus","tags":["date","day","plan","schedule","agenda","calender"],"variants":{"outline":"ebb9"}},"calendar-month":{"category":"","name":"calendar-month","tags":["monthly-calendar","month-view","date-month","monthly-schedule","timeframe","calendar-grid","month","month-planner","monthly","date-grid"],"variants":{"outline":"fd2f"}},"calendar-off":{"category":"System","name":"calendar-off","tags":["date","day","plan","schedule","agenda","calender"],"variants":{"outline":"ee1f"}},"calendar-pause":{"category":"System","name":"calendar-pause","tags":[],"variants":{"outline":"f82b"}},"calendar-pin":{"category":"System","name":"calendar-pin","tags":[],"variants":{"outline":"f82c"}},"calendar-plus":{"category":"System","name":"calendar-plus","tags":["date","day","plan","schedule","agenda","add","calender"],"variants":{"outline":"ebba"}},"calendar-question":{"category":"System","name":"calendar-question","tags":[],"variants":{"outline":"f82d"}},"calendar-repeat":{"category":"System","name":"calendar-repeat","tags":[],"variants":{"outline":"fad2"}},"calendar-sad":{"category":"","name":"calendar-sad","tags":[],"variants":{"outline":"fd1d"}},"calendar-search":{"category":"System","name":"calendar-search","tags":[],"variants":{"outline":"f82e"}},"calendar-share":{"category":"System","name":"calendar-share","tags":[],"variants":{"outline":"f82f"}},"calendar-smile":{"category":"","name":"calendar-smile","tags":[],"variants":{"outline":"fd1e"}},"calendar-star":{"category":"System","name":"calendar-star","tags":[],"variants":{"outline":"f830"}},"calendar-stats":{"category":"System","name":"calendar-stats","tags":["plan","timetable","schedule","meeting","busy","month","year","date","statistics","calender"],"variants":{"outline":"ee20"}},"calendar-time":{"category":"System","name":"calendar-time","tags":["plan","timetable","schedule","meeting","busy","month","year","date","calender"],"variants":{"outline":"ee21"}},"calendar-up":{"category":"System","name":"calendar-up","tags":[],"variants":{"outline":"f831"}},"calendar-user":{"category":"","name":"calendar-user","tags":[],"variants":{"outline":"fd1f"}},"calendar-week":{"category":"","name":"calendar-week","tags":["weekly-calendar","week-view","date-week","weekly-schedule","timeframe","calendar-grid","week","week-planner","weekly","date-grid"],"variants":{"outline":"fd30"}},"calendar-x":{"category":"System","name":"calendar-x","tags":[],"variants":{"outline":"f832"}},"camera":{"category":"Media","name":"camera","tags":["video","photo","aperture"],"variants":{"filled":"fa37","outline":"ea54"}},"camera-bolt":{"category":"Media","name":"camera-bolt","tags":[],"variants":{"outline":"f833"}},"camera-cancel":{"category":"Media","name":"camera-cancel","tags":[],"variants":{"outline":"f834"}},"camera-check":{"category":"Media","name":"camera-check","tags":[],"variants":{"outline":"f835"}},"camera-code":{"category":"Media","name":"camera-code","tags":[],"variants":{"outline":"f836"}},"camera-cog":{"category":"Media","name":"camera-cog","tags":[],"variants":{"outline":"f837"}},"camera-dollar":{"category":"Media","name":"camera-dollar","tags":[],"variants":{"outline":"f838"}},"camera-down":{"category":"Media","name":"camera-down","tags":[],"variants":{"outline":"f839"}},"camera-exclamation":{"category":"Media","name":"camera-exclamation","tags":[],"variants":{"outline":"f83a"}},"camera-heart":{"category":"Media","name":"camera-heart","tags":[],"variants":{"outline":"f83b"}},"camera-minus":{"category":"Media","name":"camera-minus","tags":["video","photo","aperture"],"variants":{"outline":"ec3a"}},"camera-off":{"category":"Media","name":"camera-off","tags":["video","photo","aperture"],"variants":{"outline":"ecee"}},"camera-pause":{"category":"Media","name":"camera-pause","tags":[],"variants":{"outline":"f83c"}},"camera-pin":{"category":"Media","name":"camera-pin","tags":[],"variants":{"outline":"f83d"}},"camera-plus":{"category":"Media","name":"camera-plus","tags":["video","photo","aperture"],"variants":{"outline":"ec3b"}},"camera-question":{"category":"Media","name":"camera-question","tags":[],"variants":{"outline":"f83e"}},"camera-rotate":{"category":"Photography","name":"camera-rotate","tags":["photo","photography","picture","face","instagram","portrait","digital","smartphone","selfie"],"variants":{"outline":"ee22"}},"camera-search":{"category":"Media","name":"camera-search","tags":[],"variants":{"outline":"f83f"}},"camera-selfie":{"category":"Photography","name":"camera-selfie","tags":["photo","photography","picture","face","instagram","portrait","digital","smartphone"],"variants":{"outline":"ee23"}},"camera-share":{"category":"Media","name":"camera-share","tags":[],"variants":{"outline":"f840"}},"camera-star":{"category":"Media","name":"camera-star","tags":[],"variants":{"outline":"f841"}},"camera-up":{"category":"Media","name":"camera-up","tags":[],"variants":{"outline":"f842"}},"camera-x":{"category":"Media","name":"camera-x","tags":[],"variants":{"outline":"f843"}},"camper":{"category":"Vehicles","name":"camper","tags":[],"variants":{"outline":"fa25"}},"campfire":{"category":"Map","name":"campfire","tags":["camping","bonfire","wood","camp","burn","flame"],"variants":{"filled":"fb28","outline":"f5a7"}},"cancel":{"category":"Shapes","name":"cancel","tags":["cancel","no"],"variants":{"outline":"ff11"}},"candle":{"category":"","name":"candle","tags":["light","birthday","decoration","halloween","fire","christmas"],"variants":{"filled":"fc23","outline":"efc6"}},"candy":{"category":"Food","name":"candy","tags":["sweet","food","sugar","cane","halloween"],"variants":{"outline":"ef0d"}},"candy-off":{"category":"Food","name":"candy-off","tags":["sweet","food","sugar","cane","halloween"],"variants":{"outline":"f0c5"}},"cane":{"category":"Health","name":"cane","tags":["candy","christmas","sweet","food","decoration"],"variants":{"outline":"f50f"}},"cannabis":{"category":"Nature","name":"cannabis","tags":["marijuana","weed","drug","cbd","medical"],"variants":{"outline":"f4c1"}},"cap-projecting":{"category":"Design","name":"cap-projecting","tags":[],"variants":{"outline":"ff22"}},"cap-rounded":{"category":"Design","name":"cap-rounded","tags":[],"variants":{"outline":"ff21"}},"cap-straight":{"category":"Design","name":"cap-straight","tags":[],"variants":{"outline":"ff20"}},"capsule":{"category":"Shapes","name":"capsule","tags":[],"variants":{"filled":"fc24","outline":"fae3"}},"capsule-horizontal":{"category":"Shapes","name":"capsule-horizontal","tags":[],"variants":{"filled":"fc25","outline":"fae2"}},"capture":{"category":"Media","name":"capture","tags":["photo","photographer","sharpen"],"variants":{"filled":"fb29","outline":"ec3c"}},"capture-off":{"category":"Media","name":"capture-off","tags":["photo","photographer","sharpen"],"variants":{"outline":"f0c6"}},"car":{"category":"Vehicles","name":"car","tags":["vehicle","drive","driver","engine","motor","journey","trip"],"variants":{"outline":"ebbb"}},"car-4wd":{"category":"","name":"car-4wd","tags":[],"variants":{"outline":"fdb8"}},"car-crane":{"category":"Vehicles","name":"car-crane","tags":["transport","truck","machine","lifter"],"variants":{"outline":"ef25"}},"car-crash":{"category":"Vehicles","name":"car-crash","tags":["accident","collision","damage","insurance"],"variants":{"outline":"efa4"}},"car-fan":{"category":"","name":"car-fan","tags":[],"variants":{"outline":"fdb3"}},"car-fan-1":{"category":"","name":"car-fan-1","tags":[],"variants":{"outline":"fdb7"}},"car-fan-2":{"category":"","name":"car-fan-2","tags":[],"variants":{"outline":"fdb6"}},"car-fan-3":{"category":"","name":"car-fan-3","tags":[],"variants":{"outline":"fdb5"}},"car-fan-auto":{"category":"","name":"car-fan-auto","tags":[],"variants":{"outline":"fdb4"}},"car-garage":{"category":"","name":"car-garage","tags":["auto-shop","vehicle-repair","automobile-maintenance","parking-garage","car-storage","automotive","garage-service","car-park","vehicle-maintenance","car-repair"],"variants":{"outline":"fc77"}},"car-off":{"category":"Vehicles","name":"car-off","tags":["vehicle","drive","driver","engine","motor","journey","trip"],"variants":{"outline":"f0c7"}},"car-suv":{"category":"Vehicles","name":"car-suv","tags":["sport-utility","crossover","automobile","suv","off-road","four-wheel-drive","vehicle","transportation","auto","truck"],"variants":{"outline":"fc8b"}},"car-turbine":{"category":"Vehicles","name":"car-turbine","tags":["detail","service","mechanic","part","power"],"variants":{"outline":"f4fd"}},"carambola":{"category":"Food","name":"carambola","tags":["fruit","starfruit","carambola","tropical","exotic","five","five-pointed","star","healthy","vitamin","nutrition","diet"],"variants":{"outline":"feb9"}},"caravan":{"category":"Vehicles","name":"caravan","tags":["journey","trip","holidays","camping","trailer"],"variants":{"outline":"ec7c"}},"cardboards":{"category":"Devices","name":"cardboards","tags":["vr","virtual reality","watch","viewer","technology"],"variants":{"outline":"ed74"}},"cardboards-off":{"category":"Devices","name":"cardboards-off","tags":["vr","virtual reality","watch","viewer","technology"],"variants":{"outline":"f0c8"}},"cards":{"category":"Design","name":"cards","tags":["game","poker","credit","peyment","casino"],"variants":{"filled":"fc26","outline":"f510"}},"caret-down":{"category":"Arrows","name":"caret-down","tags":["next","bottom","dropdown","show","more"],"variants":{"filled":"fb2a","outline":"eb5d"}},"caret-left":{"category":"Arrows","name":"caret-left","tags":["back","previous"],"variants":{"filled":"fb2b","outline":"eb5e"}},"caret-left-right":{"category":"","name":"caret-left-right","tags":["arrow-horizontal","double-arrow","side-arrow","left-right","horizontal-pointer","directional","horizontal-caret","bidirectional","opposite","horizontal-arrow"],"variants":{"filled":"fd02","outline":"fc43"}},"caret-right":{"category":"Arrows","name":"caret-right","tags":["next","play","more"],"variants":{"filled":"fb2c","outline":"eb5f"}},"caret-up":{"category":"Arrows","name":"caret-up","tags":["dropdown","less","up"],"variants":{"filled":"fb2d","outline":"eb60"}},"caret-up-down":{"category":"","name":"caret-up-down","tags":[],"variants":{"filled":"fd03","outline":"fc44"}},"carousel-horizontal":{"category":"Design","name":"carousel-horizontal","tags":["app","mobile","display","preview"],"variants":{"filled":"fa92","outline":"f659"}},"carousel-vertical":{"category":"Design","name":"carousel-vertical","tags":["app","mobile","display","preview"],"variants":{"filled":"fa93","outline":"f65a"}},"carrot":{"category":"Food","name":"carrot","tags":["food","healthy","rabbit","vegetable"],"variants":{"outline":"f21c"}},"carrot-off":{"category":"Food","name":"carrot-off","tags":["food","healthy","rabbit","vegetable"],"variants":{"outline":"f3d0"}},"cash":{"category":"E-commerce","name":"cash","tags":["currency","payment","money","pay"],"variants":{"outline":"ea55"}},"cash-banknote":{"category":"E-commerce","name":"cash-banknote","tags":["money","pay","bank","dollar","pound","yen","business"],"variants":{"filled":"fe80","outline":"ee25"}},"cash-banknote-off":{"category":"E-commerce","name":"cash-banknote-off","tags":["money","pay","bank","dollar","pound","yen","business"],"variants":{"outline":"ee24"}},"cash-off":{"category":"E-commerce","name":"cash-off","tags":["currency","payment","money","pay"],"variants":{"outline":"f105"}},"cash-register":{"category":"E-commerce","name":"cash-register","tags":["payment","money","pay","cashier","register","purchase","checkout","transaction"],"variants":{"outline":"fee6"}},"cast":{"category":"Media","name":"cast","tags":["broadcast","stream","mirroring","apple","airplay","chromecast"],"variants":{"outline":"ea56"}},"cast-off":{"category":"Media","name":"cast-off","tags":["broadcast","stream","mirroring","apple","airplay","chromecast"],"variants":{"outline":"f0c9"}},"cat":{"category":"Animals","name":"cat","tags":["animal","pet","kitty","cute"],"variants":{"outline":"f65b"}},"category":{"category":"Shapes","name":"category","tags":["folder","menu","tag","game"],"variants":{"filled":"fb2e","outline":"f1f6"}},"category-2":{"category":"Shapes","name":"category-2","tags":["folder","menu","tag","game"],"variants":{"outline":"f1f5"}},"category-minus":{"category":"","name":"category-minus","tags":[],"variants":{"outline":"fd20"}},"category-plus":{"category":"","name":"category-plus","tags":[],"variants":{"outline":"fd21"}},"ce":{"category":"Symbols","name":"ce","tags":["sign","marking","administration","administrative","conformity","health","safety","environment","protection","standards","product","europe","eea","economic","area","manufacture"],"variants":{"outline":"ed75"}},"ce-off":{"category":"Symbols","name":"ce-off","tags":["sign","marking","administration","administrative","conformity","health","safety","environment","protection","standards","product","europe","eea","economic","area","manufacture"],"variants":{"outline":"f0ca"}},"cell":{"category":"","name":"cell","tags":["biology","molecule","chemistry","human","laboratory"],"variants":{"outline":"f05f"}},"cell-signal-1":{"category":"Devices","name":"cell-signal-1","tags":["mobile","phone","connetcion","wireless","network"],"variants":{"outline":"f083"}},"cell-signal-2":{"category":"Devices","name":"cell-signal-2","tags":["mobile","phone","connetcion","wireless","network"],"variants":{"outline":"f084"}},"cell-signal-3":{"category":"Devices","name":"cell-signal-3","tags":["mobile","phone","connetcion","wireless","network"],"variants":{"outline":"f085"}},"cell-signal-4":{"category":"Devices","name":"cell-signal-4","tags":["mobile","phone","connetcion","wireless","network"],"variants":{"outline":"f086"}},"cell-signal-5":{"category":"Devices","name":"cell-signal-5","tags":["mobile","phone","connetcion","wireless","network"],"variants":{"outline":"f087"}},"cell-signal-off":{"category":"Devices","name":"cell-signal-off","tags":["mobile","phone","connetcion","wireless","network"],"variants":{"outline":"f088"}},"certificate":{"category":"Document","name":"certificate","tags":["document","official","attest","signature","birth","death","gift","authenticity","seal","course","complete","qualification"],"variants":{"outline":"ed76"}},"certificate-2":{"category":"Document","name":"certificate-2","tags":["award","license","document","achievement","course","complete"],"variants":{"outline":"f073"}},"certificate-2-off":{"category":"Document","name":"certificate-2-off","tags":["award","license","document","achievement","course","complete"],"variants":{"outline":"f0cb"}},"certificate-off":{"category":"Document","name":"certificate-off","tags":["document","official","attest","signature","birth","death","gift","authenticity","seal","course","complete","qualification"],"variants":{"outline":"f0cc"}},"chair-director":{"category":"","name":"chair-director","tags":["film","seat","furniture","interior"],"variants":{"outline":"f2d5"}},"chalkboard":{"category":"Document","name":"chalkboard","tags":["school","classroom","education","learn"],"variants":{"outline":"f34d"}},"chalkboard-off":{"category":"Document","name":"chalkboard-off","tags":["school","classroom","education","learn"],"variants":{"outline":"f3d1"}},"charging-pile":{"category":"Vehicles","name":"charging-pile","tags":["electric","electricity","hybrid","tesla","station","electronic","point"],"variants":{"outline":"ee26"}},"chart-arcs":{"category":"Charts","name":"chart-arcs","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"outline":"ee28"}},"chart-arcs-3":{"category":"Charts","name":"chart-arcs-3","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"outline":"ee27"}},"chart-area":{"category":"Charts","name":"chart-area","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"filled":"f66b","outline":"ea58"}},"chart-area-line":{"category":"Charts","name":"chart-area-line","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"filled":"f66c","outline":"ea57"}},"chart-arrows":{"category":"Charts","name":"chart-arrows","tags":["statistics","data","value","variable","scale","statistical","level","increase","decrease"],"variants":{"outline":"ee2a"}},"chart-arrows-vertical":{"category":"Charts","name":"chart-arrows-vertical","tags":["statistics","data","value","variable","scale","statistical","level","increase","decrease"],"variants":{"outline":"ee29"}},"chart-bar":{"category":"Charts","name":"chart-bar","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"outline":"ea59"}},"chart-bar-off":{"category":"Charts","name":"chart-bar-off","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"outline":"f3d2"}},"chart-bar-popular":{"category":"","name":"chart-bar-popular","tags":[],"variants":{"outline":"fef7"}},"chart-bubble":{"category":"Charts","name":"chart-bubble","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"filled":"f66d","outline":"ec75"}},"chart-candle":{"category":"Charts","name":"chart-candle","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"filled":"f66e","outline":"ea5a"}},"chart-circles":{"category":"Charts","name":"chart-circles","tags":["statistics","analysis","analyse","graph"],"variants":{"outline":"ee2b"}},"chart-cohort":{"category":"","name":"chart-cohort","tags":[],"variants":{"outline":"fef6"}},"chart-donut":{"category":"Charts","name":"chart-donut","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"filled":"f66f","outline":"ea5b"}},"chart-donut-2":{"category":"Charts","name":"chart-donut-2","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"outline":"ee2c"}},"chart-donut-3":{"category":"Charts","name":"chart-donut-3","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"outline":"ee2d"}},"chart-donut-4":{"category":"Charts","name":"chart-donut-4","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"outline":"ee2e"}},"chart-dots":{"category":"Charts","name":"chart-dots","tags":["statistics","data","value","variable","scale","statistical"],"variants":{"filled":"fd04","outline":"ee2f"}},"chart-dots-2":{"category":"Charts","name":"chart-dots-2","tags":["graph","diagram","analyticks","statistics","data","value","variable","scale","statistical"],"variants":{"outline":"f097"}},"chart-dots-3":{"category":"Charts","name":"chart-dots-3","tags":["graph","diagram","analyticks","statistics","data","value","variable","scale","statistical"],"variants":{"outline":"f098"}},"chart-funnel":{"category":"","name":"chart-funnel","tags":[],"variants":{"outline":"fef5"}},"chart-grid-dots":{"category":"Charts","name":"chart-grid-dots","tags":["graph","diagram","analytics","statistics","data"],"variants":{"filled":"fd05","outline":"f4c2"}},"chart-histogram":{"category":"Charts","name":"chart-histogram","tags":["graph","diagram","curves","analytics"],"variants":{"outline":"f65c"}},"chart-infographic":{"category":"Charts","name":"chart-infographic","tags":["statistics","data","value","variable","scale","statistical","bar","information","report"],"variants":{"outline":"ee30"}},"chart-line":{"category":"Charts","name":"chart-line","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"outline":"ea5c"}},"chart-pie":{"category":"Charts","name":"chart-pie","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"filled":"f670","outline":"ea5d"}},"chart-pie-2":{"category":"Charts","name":"chart-pie-2","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"outline":"ee31"}},"chart-pie-3":{"category":"Charts","name":"chart-pie-3","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"outline":"ee32"}},"chart-pie-4":{"category":"Charts","name":"chart-pie-4","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"outline":"ee33"}},"chart-pie-off":{"category":"Charts","name":"chart-pie-off","tags":["statistics","diagram","graph","rhythm","data","analysis"],"variants":{"outline":"f3d3"}},"chart-ppf":{"category":"Charts","name":"chart-ppf","tags":["graph","diagram","curves"],"variants":{"outline":"f618"}},"chart-radar":{"category":"Charts","name":"chart-radar","tags":["statistics","data","value","two","dimensions","variable","report","points"],"variants":{"outline":"ed77"}},"chart-sankey":{"category":"Charts","name":"chart-sankey","tags":["graph","diagram","curves","analytics"],"variants":{"outline":"f619"}},"chart-scatter":{"category":"","name":"chart-scatter","tags":[],"variants":{"outline":"fd93"}},"chart-scatter-3d":{"category":"","name":"chart-scatter-3d","tags":[],"variants":{"outline":"fd92"}},"chart-treemap":{"category":"Charts","name":"chart-treemap","tags":["diagram","analytics","buisness","data"],"variants":{"outline":"f381"}},"check":{"category":"System","name":"check","tags":["tick","yes","confirm"],"variants":{"outline":"ea5e"}},"checkbox":{"category":"System","name":"checkbox","tags":["survey","confirm","tick","yes","to-do"],"variants":{"outline":"eba6"}},"checklist":{"category":"","name":"checklist","tags":["task","delivery","clipboard","document","plan"],"variants":{"outline":"f074"}},"checks":{"category":"System","name":"checks","tags":["tick","yes","confirm"],"variants":{"outline":"ebaa"}},"checkup-list":{"category":"Health","name":"checkup-list","tags":["car","hospital","health","report"],"variants":{"outline":"ef5a"}},"cheese":{"category":"Food","name":"cheese","tags":["food","mouse","cooking","pizza","sandwiches","product","edam","gouda"],"variants":{"outline":"ef26"}},"chef-hat":{"category":"Food","name":"chef-hat","tags":["cooking","kitchen","restaurant","food","job"],"variants":{"outline":"f21d"}},"chef-hat-off":{"category":"Food","name":"chef-hat-off","tags":["cooking","kitchen","restaurant","food","job"],"variants":{"outline":"f3d4"}},"cherry":{"category":"Nature","name":"cherry","tags":["fruit","food","sweet","healthy"],"variants":{"filled":"f728","outline":"f511"}},"chess":{"category":"Sport","name":"chess","tags":["game","strategy","pawn","figure"],"variants":{"filled":"f72a","outline":"f382"}},"chess-bishop":{"category":"Sport","name":"chess-bishop","tags":["game","figure","strategy","pawn"],"variants":{"filled":"f729","outline":"f56b"}},"chess-king":{"category":"Sport","name":"chess-king","tags":["game","figure","strategy","pawn"],"variants":{"filled":"f72b","outline":"f56c"}},"chess-knight":{"category":"Sport","name":"chess-knight","tags":["game","figure","strategy","pawn"],"variants":{"filled":"f72c","outline":"f56d"}},"chess-queen":{"category":"Sport","name":"chess-queen","tags":["game","figure","strategy","pawn"],"variants":{"filled":"f72d","outline":"f56e"}},"chess-rook":{"category":"Sport","name":"chess-rook","tags":["game","figure","strategy","pawn"],"variants":{"filled":"f72e","outline":"f56f"}},"chevron-compact-down":{"category":"Arrows","name":"chevron-compact-down","tags":[],"variants":{"outline":"faf0"}},"chevron-compact-left":{"category":"Arrows","name":"chevron-compact-left","tags":[],"variants":{"outline":"faf1"}},"chevron-compact-right":{"category":"Arrows","name":"chevron-compact-right","tags":[],"variants":{"outline":"faf2"}},"chevron-compact-up":{"category":"Arrows","name":"chevron-compact-up","tags":[],"variants":{"outline":"faf3"}},"chevron-down":{"category":"Arrows","name":"chevron-down","tags":["move","next","swipe","bottom"],"variants":{"outline":"ea5f"}},"chevron-down-left":{"category":"Arrows","name":"chevron-down-left","tags":["move","aside","bottom"],"variants":{"outline":"ed09"}},"chevron-down-right":{"category":"Arrows","name":"chevron-down-right","tags":["move","aside","bottom"],"variants":{"outline":"ed0a"}},"chevron-left":{"category":"Arrows","name":"chevron-left","tags":["move","previous","back"],"variants":{"outline":"ea60"}},"chevron-left-pipe":{"category":"Arrows","name":"chevron-left-pipe","tags":[],"variants":{"outline":"fae4"}},"chevron-right":{"category":"Arrows","name":"chevron-right","tags":["move","checklist","next"],"variants":{"outline":"ea61"}},"chevron-right-pipe":{"category":"Arrows","name":"chevron-right-pipe","tags":[],"variants":{"outline":"fae5"}},"chevron-up":{"category":"Arrows","name":"chevron-up","tags":["move","top"],"variants":{"outline":"ea62"}},"chevron-up-left":{"category":"Arrows","name":"chevron-up-left","tags":["move","aside","top"],"variants":{"outline":"ed0b"}},"chevron-up-right":{"category":"Arrows","name":"chevron-up-right","tags":["move","aside","top"],"variants":{"outline":"ed0c"}},"chevrons-down":{"category":"Arrows","name":"chevrons-down","tags":["move","bottom"],"variants":{"outline":"ea63"}},"chevrons-down-left":{"category":"Arrows","name":"chevrons-down-left","tags":["move","aside","bottom"],"variants":{"outline":"ed0d"}},"chevrons-down-right":{"category":"Arrows","name":"chevrons-down-right","tags":["move","aside","bottom"],"variants":{"outline":"ed0e"}},"chevrons-left":{"category":"Arrows","name":"chevrons-left","tags":["move","back","roll"],"variants":{"outline":"ea64"}},"chevrons-right":{"category":"Arrows","name":"chevrons-right","tags":["move","next","checklist"],"variants":{"outline":"ea65"}},"chevrons-up":{"category":"Arrows","name":"chevrons-up","tags":["move","top"],"variants":{"outline":"ea66"}},"chevrons-up-left":{"category":"Arrows","name":"chevrons-up-left","tags":["move","aside","top"],"variants":{"outline":"ed0f"}},"chevrons-up-right":{"category":"Arrows","name":"chevrons-up-right","tags":["move","aside","top"],"variants":{"outline":"ed10"}},"chisel":{"category":"","name":"chisel","tags":["tool","equipment","work","wood"],"variants":{"outline":"f383"}},"christmas-ball":{"category":"","name":"christmas-ball","tags":["holiday-ball","festive","ornament","decoration","christmas","bauble","celebration","seasonal","holiday","decorative"],"variants":{"outline":"fd31"}},"christmas-tree":{"category":"Nature","name":"christmas-tree","tags":["holidays","pine","decorate","decoration","gift","present","carol","evergreen","spruce","fir","winter"],"variants":{"outline":"ed78"}},"christmas-tree-off":{"category":"Nature","name":"christmas-tree-off","tags":["holidays","pine","decorate","decoration","gift","present","carol","evergreen","spruce","fir","winter"],"variants":{"outline":"f3d5"}},"circle":{"category":"Shapes","name":"circle","tags":["off","zero"],"variants":{"filled":"f671","outline":"ea6b"}},"circle-arrow-down":{"category":"Arrows","name":"circle-arrow-down","tags":["shape","direction","bottom","south"],"variants":{"filled":"f6f4","outline":"f6f9"}},"circle-arrow-down-left":{"category":"Arrows","name":"circle-arrow-down-left","tags":["shape","direction","west","bottom","south"],"variants":{"filled":"f6f5","outline":"f6f6"}},"circle-arrow-down-right":{"category":"Arrows","name":"circle-arrow-down-right","tags":["shape","direction","bottom","south","east"],"variants":{"filled":"f6f7","outline":"f6f8"}},"circle-arrow-left":{"category":"Arrows","name":"circle-arrow-left","tags":["shape","direction","west"],"variants":{"filled":"f6fa","outline":"f6fb"}},"circle-arrow-right":{"category":"Arrows","name":"circle-arrow-right","tags":["shape","direction","east"],"variants":{"filled":"f6fc","outline":"f6fd"}},"circle-arrow-up":{"category":"Arrows","name":"circle-arrow-up","tags":["shape","direction","north","top"],"variants":{"filled":"f6fe","outline":"f703"}},"circle-arrow-up-left":{"category":"Arrows","name":"circle-arrow-up-left","tags":["shape","direction","north","top","west"],"variants":{"filled":"f6ff","outline":"f700"}},"circle-arrow-up-right":{"category":"Arrows","name":"circle-arrow-up-right","tags":["shape","direction","north","top","east"],"variants":{"filled":"f701","outline":"f702"}},"circle-caret-down":{"category":"Arrows","name":"circle-caret-down","tags":["direction","shape","south","bottom"],"variants":{"outline":"f4a9"}},"circle-caret-left":{"category":"Arrows","name":"circle-caret-left","tags":["direction","shape","west"],"variants":{"outline":"f4aa"}},"circle-caret-right":{"category":"Arrows","name":"circle-caret-right","tags":["direction","shape","east"],"variants":{"outline":"f4ab"}},"circle-caret-up":{"category":"Arrows","name":"circle-caret-up","tags":["direction","shape","north","top"],"variants":{"outline":"f4ac"}},"circle-check":{"category":"Shapes","name":"circle-check","tags":["accept","yes","tick","done"],"variants":{"filled":"f704","outline":"ea67"}},"circle-chevron-down":{"category":"Arrows","name":"circle-chevron-down","tags":["shape","south","bottom","direction"],"variants":{"outline":"f622"}},"circle-chevron-left":{"category":"Arrows","name":"circle-chevron-left","tags":["shape","direction","west"],"variants":{"outline":"f623"}},"circle-chevron-right":{"category":"Arrows","name":"circle-chevron-right","tags":["shape","direction","east"],"variants":{"outline":"f624"}},"circle-chevron-up":{"category":"Arrows","name":"circle-chevron-up","tags":["shape","direction","north","top"],"variants":{"outline":"f625"}},"circle-chevrons-down":{"category":"Arrows","name":"circle-chevrons-down","tags":["shape","south","bottom","direction"],"variants":{"outline":"f642"}},"circle-chevrons-left":{"category":"Arrows","name":"circle-chevrons-left","tags":["shape","direction","west"],"variants":{"outline":"f643"}},"circle-chevrons-right":{"category":"Arrows","name":"circle-chevrons-right","tags":["shape","direction","east"],"variants":{"outline":"f644"}},"circle-chevrons-up":{"category":"Arrows","name":"circle-chevrons-up","tags":["shape","direction","north","top"],"variants":{"outline":"f645"}},"circle-dashed":{"category":"Shapes","name":"circle-dashed","tags":["shape","line","check"],"variants":{"outline":"ed27"}},"circle-dashed-check":{"category":"Shapes","name":"circle-dashed-check","tags":["check","success","done","complete","tick","correct","confirm","approved","verified","valid","yes","circle","dashed"],"variants":{"outline":"feb8"}},"circle-dashed-letter-a":{"category":"Letters","name":"circle-dashed-letter-a","tags":[],"variants":{"outline":"ff9a"}},"circle-dashed-letter-b":{"category":"Letters","name":"circle-dashed-letter-b","tags":[],"variants":{"outline":"ff99"}},"circle-dashed-letter-c":{"category":"Letters","name":"circle-dashed-letter-c","tags":[],"variants":{"outline":"ff98"}},"circle-dashed-letter-d":{"category":"Letters","name":"circle-dashed-letter-d","tags":[],"variants":{"outline":"ff97"}},"circle-dashed-letter-e":{"category":"Letters","name":"circle-dashed-letter-e","tags":[],"variants":{"outline":"ff96"}},"circle-dashed-letter-f":{"category":"Letters","name":"circle-dashed-letter-f","tags":[],"variants":{"outline":"ff95"}},"circle-dashed-letter-g":{"category":"Letters","name":"circle-dashed-letter-g","tags":[],"variants":{"outline":"ff94"}},"circle-dashed-letter-h":{"category":"Letters","name":"circle-dashed-letter-h","tags":[],"variants":{"outline":"ff93"}},"circle-dashed-letter-i":{"category":"Letters","name":"circle-dashed-letter-i","tags":[],"variants":{"outline":"ff92"}},"circle-dashed-letter-j":{"category":"Letters","name":"circle-dashed-letter-j","tags":[],"variants":{"outline":"ff91"}},"circle-dashed-letter-k":{"category":"Letters","name":"circle-dashed-letter-k","tags":[],"variants":{"outline":"ff90"}},"circle-dashed-letter-l":{"category":"Letters","name":"circle-dashed-letter-l","tags":[],"variants":{"outline":"ff8f"}},"circle-dashed-letter-letter-v":{"category":"Letters","name":"circle-dashed-letter-letter-v","tags":[],"variants":{"outline":"ff8e"}},"circle-dashed-letter-m":{"category":"Letters","name":"circle-dashed-letter-m","tags":[],"variants":{"outline":"ff8d"}},"circle-dashed-letter-n":{"category":"Letters","name":"circle-dashed-letter-n","tags":[],"variants":{"outline":"ff8c"}},"circle-dashed-letter-o":{"category":"Letters","name":"circle-dashed-letter-o","tags":[],"variants":{"outline":"ff8b"}},"circle-dashed-letter-p":{"category":"Letters","name":"circle-dashed-letter-p","tags":[],"variants":{"outline":"ff8a"}},"circle-dashed-letter-q":{"category":"Letters","name":"circle-dashed-letter-q","tags":[],"variants":{"outline":"ff89"}},"circle-dashed-letter-r":{"category":"Letters","name":"circle-dashed-letter-r","tags":[],"variants":{"outline":"ff88"}},"circle-dashed-letter-s":{"category":"Letters","name":"circle-dashed-letter-s","tags":[],"variants":{"outline":"ff87"}},"circle-dashed-letter-t":{"category":"Letters","name":"circle-dashed-letter-t","tags":[],"variants":{"outline":"ff86"}},"circle-dashed-letter-u":{"category":"Letters","name":"circle-dashed-letter-u","tags":[],"variants":{"outline":"ff85"}},"circle-dashed-letter-v":{"category":"Letters","name":"circle-dashed-letter-v","tags":[],"variants":{"outline":"ff84"}},"circle-dashed-letter-w":{"category":"Letters","name":"circle-dashed-letter-w","tags":[],"variants":{"outline":"ff83"}},"circle-dashed-letter-x":{"category":"Letters","name":"circle-dashed-letter-x","tags":[],"variants":{"outline":"ff82"}},"circle-dashed-letter-y":{"category":"Letters","name":"circle-dashed-letter-y","tags":[],"variants":{"outline":"ff81"}},"circle-dashed-letter-z":{"category":"Letters","name":"circle-dashed-letter-z","tags":[],"variants":{"outline":"ff80"}},"circle-dashed-minus":{"category":"Shapes","name":"circle-dashed-minus","tags":[],"variants":{"outline":"feb7"}},"circle-dashed-number-0":{"category":"Numbers","name":"circle-dashed-number-0","tags":[],"variants":{"outline":"fc6b"}},"circle-dashed-number-1":{"category":"Numbers","name":"circle-dashed-number-1","tags":[],"variants":{"outline":"fc6c"}},"circle-dashed-number-2":{"category":"Numbers","name":"circle-dashed-number-2","tags":[],"variants":{"outline":"fc6d"}},"circle-dashed-number-3":{"category":"Numbers","name":"circle-dashed-number-3","tags":[],"variants":{"outline":"fc6e"}},"circle-dashed-number-4":{"category":"Numbers","name":"circle-dashed-number-4","tags":[],"variants":{"outline":"fc6f"}},"circle-dashed-number-5":{"category":"Numbers","name":"circle-dashed-number-5","tags":[],"variants":{"outline":"fc70"}},"circle-dashed-number-6":{"category":"Numbers","name":"circle-dashed-number-6","tags":[],"variants":{"outline":"fc71"}},"circle-dashed-number-7":{"category":"Numbers","name":"circle-dashed-number-7","tags":[],"variants":{"outline":"fc72"}},"circle-dashed-number-8":{"category":"Numbers","name":"circle-dashed-number-8","tags":[],"variants":{"outline":"fc73"}},"circle-dashed-number-9":{"category":"Numbers","name":"circle-dashed-number-9","tags":[],"variants":{"outline":"fc74"}},"circle-dashed-percentage":{"category":"","name":"circle-dashed-percentage","tags":[],"variants":{"outline":"fd7a"}},"circle-dashed-plus":{"category":"Shapes","name":"circle-dashed-plus","tags":[],"variants":{"outline":"feb6"}},"circle-dashed-x":{"category":"Shapes","name":"circle-dashed-x","tags":[],"variants":{"outline":"fc75"}},"circle-dot":{"category":"Shapes","name":"circle-dot","tags":["crosshair","shape","geometry"],"variants":{"filled":"f705","outline":"efb1"}},"circle-dotted":{"category":"Shapes","name":"circle-dotted","tags":["shape","point","check"],"variants":{"outline":"ed28"}},"circle-dotted-letter-a":{"category":"Letters","name":"circle-dotted-letter-a","tags":[],"variants":{"outline":"ff7f"}},"circle-dotted-letter-b":{"category":"Letters","name":"circle-dotted-letter-b","tags":[],"variants":{"outline":"ff7e"}},"circle-dotted-letter-c":{"category":"Letters","name":"circle-dotted-letter-c","tags":[],"variants":{"outline":"ff7d"}},"circle-dotted-letter-d":{"category":"Letters","name":"circle-dotted-letter-d","tags":[],"variants":{"outline":"ff7c"}},"circle-dotted-letter-e":{"category":"Letters","name":"circle-dotted-letter-e","tags":[],"variants":{"outline":"ff7b"}},"circle-dotted-letter-f":{"category":"Letters","name":"circle-dotted-letter-f","tags":[],"variants":{"outline":"ff7a"}},"circle-dotted-letter-g":{"category":"Letters","name":"circle-dotted-letter-g","tags":[],"variants":{"outline":"ff79"}},"circle-dotted-letter-h":{"category":"Letters","name":"circle-dotted-letter-h","tags":[],"variants":{"outline":"ff78"}},"circle-dotted-letter-i":{"category":"Letters","name":"circle-dotted-letter-i","tags":[],"variants":{"outline":"ff77"}},"circle-dotted-letter-j":{"category":"Letters","name":"circle-dotted-letter-j","tags":[],"variants":{"outline":"ff76"}},"circle-dotted-letter-k":{"category":"Letters","name":"circle-dotted-letter-k","tags":[],"variants":{"outline":"ff75"}},"circle-dotted-letter-l":{"category":"Letters","name":"circle-dotted-letter-l","tags":[],"variants":{"outline":"ff74"}},"circle-dotted-letter-m":{"category":"Letters","name":"circle-dotted-letter-m","tags":[],"variants":{"outline":"ff73"}},"circle-dotted-letter-n":{"category":"Letters","name":"circle-dotted-letter-n","tags":[],"variants":{"outline":"ff72"}},"circle-dotted-letter-o":{"category":"Letters","name":"circle-dotted-letter-o","tags":[],"variants":{"outline":"ff71"}},"circle-dotted-letter-p":{"category":"Letters","name":"circle-dotted-letter-p","tags":[],"variants":{"outline":"ff70"}},"circle-dotted-letter-q":{"category":"Letters","name":"circle-dotted-letter-q","tags":[],"variants":{"outline":"ff6f"}},"circle-dotted-letter-r":{"category":"Letters","name":"circle-dotted-letter-r","tags":[],"variants":{"outline":"ff6e"}},"circle-dotted-letter-s":{"category":"Letters","name":"circle-dotted-letter-s","tags":[],"variants":{"outline":"ff6d"}},"circle-dotted-letter-t":{"category":"Letters","name":"circle-dotted-letter-t","tags":[],"variants":{"outline":"ff6c"}},"circle-dotted-letter-u":{"category":"Letters","name":"circle-dotted-letter-u","tags":[],"variants":{"outline":"ff6b"}},"circle-dotted-letter-v":{"category":"Letters","name":"circle-dotted-letter-v","tags":[],"variants":{"outline":"ff6a"}},"circle-dotted-letter-w":{"category":"Letters","name":"circle-dotted-letter-w","tags":[],"variants":{"outline":"ff69"}},"circle-dotted-letter-x":{"category":"Letters","name":"circle-dotted-letter-x","tags":[],"variants":{"outline":"ff68"}},"circle-dotted-letter-y":{"category":"Letters","name":"circle-dotted-letter-y","tags":[],"variants":{"outline":"ff67"}},"circle-dotted-letter-z":{"category":"Letters","name":"circle-dotted-letter-z","tags":[],"variants":{"outline":"ff66"}},"circle-half":{"category":"Shapes","name":"circle-half","tags":["shape","split","slash"],"variants":{"outline":"ee3f"}},"circle-half-2":{"category":"Shapes","name":"circle-half-2","tags":["shape","split","slash"],"variants":{"outline":"eff3"}},"circle-half-vertical":{"category":"Shapes","name":"circle-half-vertical","tags":["shape","split","slash"],"variants":{"outline":"ee3e"}},"circle-key":{"category":"","name":"circle-key","tags":["shape","lock","door","acsses"],"variants":{"filled":"f706","outline":"f633"}},"circle-letter-a":{"category":"Letters","name":"circle-letter-a","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe7f","outline":"f441"}},"circle-letter-b":{"category":"Letters","name":"circle-letter-b","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe7e","outline":"f442"}},"circle-letter-c":{"category":"Letters","name":"circle-letter-c","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe7d","outline":"f443"}},"circle-letter-d":{"category":"Letters","name":"circle-letter-d","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe7c","outline":"f444"}},"circle-letter-e":{"category":"Letters","name":"circle-letter-e","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe7b","outline":"f445"}},"circle-letter-f":{"category":"Letters","name":"circle-letter-f","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe7a","outline":"f446"}},"circle-letter-g":{"category":"Letters","name":"circle-letter-g","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe79","outline":"f447"}},"circle-letter-h":{"category":"Letters","name":"circle-letter-h","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe78","outline":"f448"}},"circle-letter-i":{"category":"Letters","name":"circle-letter-i","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe77","outline":"f449"}},"circle-letter-j":{"category":"Letters","name":"circle-letter-j","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe76","outline":"f44a"}},"circle-letter-k":{"category":"Letters","name":"circle-letter-k","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe75","outline":"f44b"}},"circle-letter-l":{"category":"Letters","name":"circle-letter-l","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe74","outline":"f44c"}},"circle-letter-m":{"category":"Letters","name":"circle-letter-m","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe73","outline":"f44d"}},"circle-letter-n":{"category":"Letters","name":"circle-letter-n","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe72","outline":"f44e"}},"circle-letter-o":{"category":"Letters","name":"circle-letter-o","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe71","outline":"f44f"}},"circle-letter-p":{"category":"Letters","name":"circle-letter-p","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe70","outline":"f450"}},"circle-letter-q":{"category":"Letters","name":"circle-letter-q","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe6f","outline":"f451"}},"circle-letter-r":{"category":"Letters","name":"circle-letter-r","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe6e","outline":"f452"}},"circle-letter-s":{"category":"Letters","name":"circle-letter-s","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe6d","outline":"f453"}},"circle-letter-t":{"category":"Letters","name":"circle-letter-t","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe6c","outline":"f454"}},"circle-letter-u":{"category":"Letters","name":"circle-letter-u","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe6b","outline":"f455"}},"circle-letter-v":{"category":"Letters","name":"circle-letter-v","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe6a","outline":"f4ad"}},"circle-letter-w":{"category":"Letters","name":"circle-letter-w","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe69","outline":"f456"}},"circle-letter-x":{"category":"Letters","name":"circle-letter-x","tags":["cancel","no"],"variants":{"filled":"fe68","outline":"f4ae"}},"circle-letter-y":{"category":"Letters","name":"circle-letter-y","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe67","outline":"f457"}},"circle-letter-z":{"category":"Letters","name":"circle-letter-z","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe66","outline":"f458"}},"circle-minus":{"category":"Shapes","name":"circle-minus","tags":["remove","delete"],"variants":{"outline":"ea68"}},"circle-minus-2":{"category":"Shapes","name":"circle-minus-2","tags":[],"variants":{"outline":"fc8c"}},"circle-number-0":{"category":"Numbers","name":"circle-number-0","tags":["zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f72f","outline":"ee34"}},"circle-number-1":{"category":"Numbers","name":"circle-number-1","tags":["one","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f730","outline":"ee35"}},"circle-number-2":{"category":"Numbers","name":"circle-number-2","tags":["two","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f731","outline":"ee36"}},"circle-number-3":{"category":"Numbers","name":"circle-number-3","tags":["three","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f732","outline":"ee37"}},"circle-number-4":{"category":"Numbers","name":"circle-number-4","tags":["four","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f733","outline":"ee38"}},"circle-number-5":{"category":"Numbers","name":"circle-number-5","tags":["five","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f734","outline":"ee39"}},"circle-number-6":{"category":"Numbers","name":"circle-number-6","tags":["six","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f735","outline":"ee3a"}},"circle-number-7":{"category":"Numbers","name":"circle-number-7","tags":["seven","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f736","outline":"ee3b"}},"circle-number-8":{"category":"Numbers","name":"circle-number-8","tags":["eight","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f737","outline":"ee3c"}},"circle-number-9":{"category":"Numbers","name":"circle-number-9","tags":["nine","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f738","outline":"ee3d"}},"circle-off":{"category":"Shapes","name":"circle-off","tags":["off","zero"],"variants":{"outline":"ee40"}},"circle-percentage":{"category":"","name":"circle-percentage","tags":[],"variants":{"filled":"fed5","outline":"fd7b"}},"circle-plus":{"category":"Shapes","name":"circle-plus","tags":["add","create","new"],"variants":{"filled":"fef9","outline":"ea69"}},"circle-plus-2":{"category":"Shapes","name":"circle-plus-2","tags":[],"variants":{"outline":"fc8d"}},"circle-rectangle":{"category":"Shapes","name":"circle-rectangle","tags":["shape","geometric","geometry","figure"],"variants":{"filled":"ff63","outline":"f010"}},"circle-rectangle-off":{"category":"Shapes","name":"circle-rectangle-off","tags":["shape","geometric","geometry","figure"],"variants":{"outline":"f0cd"}},"circle-square":{"category":"Shapes","name":"circle-square","tags":["shape","spot","math"],"variants":{"outline":"ece4"}},"circle-triangle":{"category":"","name":"circle-triangle","tags":["arrow","down","shape","geometry"],"variants":{"outline":"f011"}},"circle-x":{"category":"Shapes","name":"circle-x","tags":["cancel","no"],"variants":{"filled":"f739","outline":"ea6a"}},"circles":{"category":"Shapes","name":"circles","tags":["shape","marbles","balls","juggle","spots"],"variants":{"filled":"f672","outline":"ece5"}},"circles-relation":{"category":"","name":"circles-relation","tags":["connection","link","shape","hyperlink"],"variants":{"outline":"f4c3"}},"circuit-ammeter":{"category":"Electrical","name":"circuit-ammeter","tags":["diagram","electric","electricity"],"variants":{"outline":"f271"}},"circuit-battery":{"category":"Electrical","name":"circuit-battery","tags":["diagram","electric","electricity","power"],"variants":{"outline":"f272"}},"circuit-bulb":{"category":"Electrical","name":"circuit-bulb","tags":["lamp","light","electric","electrical"],"variants":{"outline":"f273"}},"circuit-capacitor":{"category":"Electrical","name":"circuit-capacitor","tags":["diagram","electric","electrity"],"variants":{"outline":"f275"}},"circuit-capacitor-polarized":{"category":"Electrical","name":"circuit-capacitor-polarized","tags":["diagram","electric","electrity"],"variants":{"outline":"f274"}},"circuit-cell":{"category":"Electrical","name":"circuit-cell","tags":["electirc","diagram","electrity","battery","power"],"variants":{"outline":"f277"}},"circuit-cell-plus":{"category":"Electrical","name":"circuit-cell-plus","tags":["electirc","diagram","electrity","battery","power"],"variants":{"outline":"f276"}},"circuit-changeover":{"category":"Electrical","name":"circuit-changeover","tags":["electirc","diagram","electrity","change"],"variants":{"outline":"f278"}},"circuit-diode":{"category":"Electrical","name":"circuit-diode","tags":["diagram","electic","electronic","led"],"variants":{"outline":"f27a"}},"circuit-diode-zener":{"category":"Electrical","name":"circuit-diode-zener","tags":["electirc","electrity","diagram","digital"],"variants":{"outline":"f279"}},"circuit-ground":{"category":"Electrical","name":"circuit-ground","tags":["electirc","electrity","diagram"],"variants":{"outline":"f27c"}},"circuit-ground-digital":{"category":"Electrical","name":"circuit-ground-digital","tags":["electirc","electrity","diagram"],"variants":{"outline":"f27b"}},"circuit-inductor":{"category":"Electrical","name":"circuit-inductor","tags":["electirc","electrity","diagram","coil"],"variants":{"outline":"f27d"}},"circuit-motor":{"category":"Electrical","name":"circuit-motor","tags":["circuity","diagram","electric","electricy"],"variants":{"outline":"f27e"}},"circuit-pushbutton":{"category":"Electrical","name":"circuit-pushbutton","tags":["diagram","electric","electricy","open"],"variants":{"outline":"f27f"}},"circuit-resistor":{"category":"Electrical","name":"circuit-resistor","tags":["diagram","electric","electricy","nema"],"variants":{"outline":"f280"}},"circuit-switch-closed":{"category":"Electrical","name":"circuit-switch-closed","tags":["diagram","electric","electricy","locked"],"variants":{"outline":"f281"}},"circuit-switch-open":{"category":"Electrical","name":"circuit-switch-open","tags":["diagram","electric","electricy","opened"],"variants":{"outline":"f282"}},"circuit-voltmeter":{"category":"Electrical","name":"circuit-voltmeter","tags":["diagram","electric","electricy","component"],"variants":{"outline":"f283"}},"clear-all":{"category":"","name":"clear-all","tags":["app","clear","all","emails","phone"],"variants":{"outline":"ee41"}},"clear-formatting":{"category":"Text","name":"clear-formatting","tags":["text","return","default"],"variants":{"outline":"ebe5"}},"click":{"category":"","name":"click","tags":["select","cursor"],"variants":{"outline":"ebbc"}},"cliff-jumping":{"category":"Sport","name":"cliff-jumping","tags":["rock","fall","movement","motion","trampoline","height"],"variants":{"outline":"fefc"}},"clipboard":{"category":"Document","name":"clipboard","tags":["copy","clipboard","paste","document","file","paper","note","text","page","sheet","blank"],"variants":{"outline":"ea6f"}},"clipboard-check":{"category":"Document","name":"clipboard-check","tags":["copy","yes"],"variants":{"outline":"ea6c"}},"clipboard-copy":{"category":"Document","name":"clipboard-copy","tags":["duplicate","paste","document","task"],"variants":{"outline":"f299"}},"clipboard-data":{"category":"Document","name":"clipboard-data","tags":["document","report","file","list","analytics"],"variants":{"outline":"f563"}},"clipboard-heart":{"category":"Document","name":"clipboard-heart","tags":["medical","health","healthcare","medicine","hospital"],"variants":{"outline":"f34e"}},"clipboard-list":{"category":"Document","name":"clipboard-list","tags":["copy","items"],"variants":{"outline":"ea6d"}},"clipboard-off":{"category":"Document","name":"clipboard-off","tags":["copy","clipboard","paste","document","file","paper","note","text","page","sheet","blank"],"variants":{"outline":"f0ce"}},"clipboard-plus":{"category":"Document","name":"clipboard-plus","tags":["document","file","add","new"],"variants":{"outline":"efb2"}},"clipboard-smile":{"category":"","name":"clipboard-smile","tags":[],"variants":{"outline":"fd9a"}},"clipboard-text":{"category":"Document","name":"clipboard-text","tags":["document","file","report","page","note"],"variants":{"outline":"f089"}},"clipboard-typography":{"category":"Document","name":"clipboard-typography","tags":["document","list","raport","paper"],"variants":{"outline":"f34f"}},"clipboard-x":{"category":"Document","name":"clipboard-x","tags":["copy","no"],"variants":{"outline":"ea6e"}},"clock":{"category":"System","name":"clock","tags":["time","watch","alarm"],"variants":{"filled":"f73a","outline":"ea70"}},"clock-12":{"category":"System","name":"clock-12","tags":["time","hour","watch","timepiece","twelve-hour","am/pm","noon","midday","daytime","clock-face"],"variants":{"outline":"fc56"}},"clock-2":{"category":"System","name":"clock-2","tags":["time","watch","timer","alarm","date","hour","schedule"],"variants":{"outline":"f099"}},"clock-24":{"category":"System","name":"clock-24","tags":["time","hour","watch","timepiece","twenty-four-hour","24-hour","military","clock-face","round-clock","day-night"],"variants":{"outline":"fc57"}},"clock-bitcoin":{"category":"","name":"clock-bitcoin","tags":[],"variants":{"outline":"ff3f"}},"clock-bolt":{"category":"System","name":"clock-bolt","tags":[],"variants":{"outline":"f844"}},"clock-cancel":{"category":"System","name":"clock-cancel","tags":["time","delete","remove","close","alarm"],"variants":{"outline":"f546"}},"clock-check":{"category":"System","name":"clock-check","tags":[],"variants":{"outline":"f7c1"}},"clock-code":{"category":"System","name":"clock-code","tags":[],"variants":{"outline":"f845"}},"clock-cog":{"category":"System","name":"clock-cog","tags":[],"variants":{"outline":"f7c2"}},"clock-dollar":{"category":"System","name":"clock-dollar","tags":[],"variants":{"outline":"f846"}},"clock-down":{"category":"System","name":"clock-down","tags":[],"variants":{"outline":"f7c3"}},"clock-edit":{"category":"System","name":"clock-edit","tags":["time","edit","create","alarm"],"variants":{"outline":"f547"}},"clock-exclamation":{"category":"System","name":"clock-exclamation","tags":[],"variants":{"outline":"f847"}},"clock-heart":{"category":"System","name":"clock-heart","tags":[],"variants":{"outline":"f7c4"}},"clock-hour-1":{"category":"System","name":"clock-hour-1","tags":["time","watch","timer","alarm","minutes","seconds"],"variants":{"filled":"fe65","outline":"f313"}},"clock-hour-10":{"category":"System","name":"clock-hour-10","tags":["time","watch","timer","alarm","minutes","seconds"],"variants":{"filled":"fe64","outline":"f314"}},"clock-hour-11":{"category":"System","name":"clock-hour-11","tags":["time","watch","timer","alarm","minutes","seconds"],"variants":{"filled":"fe63","outline":"f315"}},"clock-hour-12":{"category":"System","name":"clock-hour-12","tags":["time","watch","timer","alarm","minutes","seconds"],"variants":{"filled":"fe62","outline":"f316"}},"clock-hour-2":{"category":"System","name":"clock-hour-2","tags":["time","watch","timer","alarm","minutes","seconds"],"variants":{"filled":"fe61","outline":"f317"}},"clock-hour-3":{"category":"System","name":"clock-hour-3","tags":["time","watch","timer","alarm","minutes","seconds"],"variants":{"filled":"fe60","outline":"f318"}},"clock-hour-4":{"category":"System","name":"clock-hour-4","tags":["time","watch","timer","alarm","minutes","seconds"],"variants":{"filled":"fe5f","outline":"f319"}},"clock-hour-5":{"category":"System","name":"clock-hour-5","tags":["time","watch","timer","alarm","minutes","seconds"],"variants":{"filled":"fe5e","outline":"f31a"}},"clock-hour-6":{"category":"System","name":"clock-hour-6","tags":["time","watch","timer","alarm","minutes","seconds"],"variants":{"filled":"fe5d","outline":"f31b"}},"clock-hour-7":{"category":"System","name":"clock-hour-7","tags":["time","watch","timer","alarm","minutes","seconds"],"variants":{"filled":"fe5c","outline":"f31c"}},"clock-hour-8":{"category":"System","name":"clock-hour-8","tags":["time","watch","timer","alarm","minutes","seconds"],"variants":{"filled":"fe5b","outline":"f31d"}},"clock-hour-9":{"category":"System","name":"clock-hour-9","tags":["time","watch","timer","alarm","minutes","seconds"],"variants":{"filled":"fe5a","outline":"f31e"}},"clock-minus":{"category":"System","name":"clock-minus","tags":[],"variants":{"outline":"f848"}},"clock-off":{"category":"System","name":"clock-off","tags":["time","watch","alarm"],"variants":{"outline":"f0cf"}},"clock-pause":{"category":"System","name":"clock-pause","tags":["time","stop","pause","wait","rest","off"],"variants":{"outline":"f548"}},"clock-pin":{"category":"System","name":"clock-pin","tags":[],"variants":{"outline":"f849"}},"clock-play":{"category":"System","name":"clock-play","tags":["time","hour","work","alarm","on"],"variants":{"outline":"f549"}},"clock-plus":{"category":"System","name":"clock-plus","tags":[],"variants":{"outline":"f7c5"}},"clock-question":{"category":"System","name":"clock-question","tags":[],"variants":{"outline":"f7c6"}},"clock-record":{"category":"System","name":"clock-record","tags":["time","watch","alarm","recording"],"variants":{"outline":"f54a"}},"clock-search":{"category":"System","name":"clock-search","tags":[],"variants":{"outline":"f7c7"}},"clock-share":{"category":"System","name":"clock-share","tags":[],"variants":{"outline":"f84a"}},"clock-shield":{"category":"System","name":"clock-shield","tags":[],"variants":{"outline":"f7c8"}},"clock-star":{"category":"System","name":"clock-star","tags":[],"variants":{"outline":"f7c9"}},"clock-stop":{"category":"System","name":"clock-stop","tags":["time","watch","alarm","pause","off"],"variants":{"outline":"f54b"}},"clock-up":{"category":"System","name":"clock-up","tags":[],"variants":{"outline":"f7ca"}},"clock-x":{"category":"System","name":"clock-x","tags":[],"variants":{"outline":"f7cb"}},"clothes-rack":{"category":"","name":"clothes-rack","tags":["hanger","furniture","fashion","clothing","stand"],"variants":{"outline":"f285"}},"clothes-rack-off":{"category":"","name":"clothes-rack-off","tags":["hanger","furniture","fashion","clothing","stand"],"variants":{"outline":"f3d6"}},"cloud":{"category":"Weather","name":"cloud","tags":["weather","online"],"variants":{"filled":"f673","outline":"ea76"}},"cloud-bitcoin":{"category":"","name":"cloud-bitcoin","tags":[],"variants":{"outline":"ff3e"}},"cloud-bolt":{"category":"Weather","name":"cloud-bolt","tags":[],"variants":{"outline":"f84b"}},"cloud-cancel":{"category":"Weather","name":"cloud-cancel","tags":[],"variants":{"outline":"f84c"}},"cloud-check":{"category":"Weather","name":"cloud-check","tags":[],"variants":{"outline":"f84d"}},"cloud-code":{"category":"Weather","name":"cloud-code","tags":[],"variants":{"outline":"f84e"}},"cloud-cog":{"category":"Weather","name":"cloud-cog","tags":[],"variants":{"outline":"f84f"}},"cloud-computing":{"category":"Computers","name":"cloud-computing","tags":["server","network","data","storage","share","internet"],"variants":{"outline":"f1d0"}},"cloud-data-connection":{"category":"Computers","name":"cloud-data-connection","tags":["media","network","storage","access"],"variants":{"outline":"f1d1"}},"cloud-dollar":{"category":"Weather","name":"cloud-dollar","tags":[],"variants":{"outline":"f850"}},"cloud-down":{"category":"Weather","name":"cloud-down","tags":[],"variants":{"outline":"f851"}},"cloud-download":{"category":"System","name":"cloud-download","tags":["files"],"variants":{"outline":"ea71"}},"cloud-exclamation":{"category":"Weather","name":"cloud-exclamation","tags":[],"variants":{"outline":"f852"}},"cloud-fog":{"category":"Weather","name":"cloud-fog","tags":["weather","online"],"variants":{"outline":"ecd9"}},"cloud-heart":{"category":"Weather","name":"cloud-heart","tags":[],"variants":{"outline":"f853"}},"cloud-lock":{"category":"System","name":"cloud-lock","tags":["security","secure","locked","password"],"variants":{"outline":"efdb"}},"cloud-lock-open":{"category":"System","name":"cloud-lock-open","tags":["unlock","password","private","pass"],"variants":{"outline":"efda"}},"cloud-minus":{"category":"Weather","name":"cloud-minus","tags":[],"variants":{"outline":"f854"}},"cloud-network":{"category":"","name":"cloud-network","tags":[],"variants":{"outline":"fc78"}},"cloud-off":{"category":"Weather","name":"cloud-off","tags":["weather","online"],"variants":{"outline":"ed3e"}},"cloud-pause":{"category":"Weather","name":"cloud-pause","tags":[],"variants":{"outline":"f855"}},"cloud-pin":{"category":"Weather","name":"cloud-pin","tags":[],"variants":{"outline":"f856"}},"cloud-plus":{"category":"Weather","name":"cloud-plus","tags":[],"variants":{"outline":"f857"}},"cloud-question":{"category":"Weather","name":"cloud-question","tags":[],"variants":{"outline":"f858"}},"cloud-rain":{"category":"Weather","name":"cloud-rain","tags":["weather","dry"],"variants":{"outline":"ea72"}},"cloud-search":{"category":"Weather","name":"cloud-search","tags":[],"variants":{"outline":"f859"}},"cloud-share":{"category":"Weather","name":"cloud-share","tags":[],"variants":{"outline":"f85a"}},"cloud-snow":{"category":"Weather","name":"cloud-snow","tags":["weather","blizzard"],"variants":{"outline":"ea73"}},"cloud-star":{"category":"Weather","name":"cloud-star","tags":[],"variants":{"outline":"f85b"}},"cloud-storm":{"category":"Weather","name":"cloud-storm","tags":["weather","lightning"],"variants":{"outline":"ea74"}},"cloud-up":{"category":"Weather","name":"cloud-up","tags":[],"variants":{"outline":"f85c"}},"cloud-upload":{"category":"System","name":"cloud-upload","tags":["files"],"variants":{"outline":"ea75"}},"cloud-x":{"category":"Weather","name":"cloud-x","tags":[],"variants":{"outline":"f85d"}},"clover":{"category":"Nature","name":"clover","tags":["luck","leaf","patrick","irleand","irish"],"variants":{"outline":"f1ea"}},"clover-2":{"category":"Nature","name":"clover-2","tags":["luck","leaf","patrick","irleand","irish"],"variants":{"outline":"f21e"}},"clubs":{"category":"Shapes","name":"clubs","tags":["card","game","casino","gambling","poker"],"variants":{"filled":"f674","outline":"eff4"}},"code":{"category":"Text","name":"code","tags":["brackets","source","programming","command"],"variants":{"outline":"ea77"}},"code-asterisk":{"category":"Text","name":"code-asterisk","tags":["coding","programming","html"],"variants":{"outline":"f312"}},"code-circle":{"category":"Text","name":"code-circle","tags":["coding","programming","development","shape","technology"],"variants":{"filled":"fed3","outline":"f4ff"}},"code-circle-2":{"category":"Text","name":"code-circle-2","tags":["coding","programming","development","shape","technology"],"variants":{"filled":"fed4","outline":"f4fe"}},"code-dots":{"category":"Text","name":"code-dots","tags":["program","script","programmer"],"variants":{"outline":"f61a"}},"code-minus":{"category":"Text","name":"code-minus","tags":["remove","delete","insert","braces"],"variants":{"outline":"ee42"}},"code-off":{"category":"Text","name":"code-off","tags":["brackets","source","programming","command"],"variants":{"outline":"f0d0"}},"code-plus":{"category":"Text","name":"code-plus","tags":["add","insert","braces"],"variants":{"outline":"ee43"}},"coffee":{"category":"Food","name":"coffee","tags":["espresso","hot","cup","latte","cafe","drink"],"variants":{"outline":"ef0e"}},"coffee-off":{"category":"Food","name":"coffee-off","tags":["espresso","hot","cup","latte","cafe","drink"],"variants":{"outline":"f106"}},"coffin":{"category":"","name":"coffin","tags":["halloween","death","scary","horror","cementry"],"variants":{"outline":"f579"}},"coin":{"category":"E-commerce","name":"coin","tags":["money","earn","salary","change","dollar"],"variants":{"filled":"fd08","outline":"eb82"}},"coin-bitcoin":{"category":"E-commerce","name":"coin-bitcoin","tags":["money","earn","salary","change"],"variants":{"filled":"fd06","outline":"f2be"}},"coin-euro":{"category":"E-commerce","name":"coin-euro","tags":["money","earn","salary","change"],"variants":{"filled":"fd07","outline":"f2bf"}},"coin-monero":{"category":"E-commerce","name":"coin-monero","tags":["money","earn","salary","change"],"variants":{"filled":"fd09","outline":"f4a0"}},"coin-off":{"category":"E-commerce","name":"coin-off","tags":["money","earn","salary","change","dollar"],"variants":{"outline":"f0d1"}},"coin-pound":{"category":"E-commerce","name":"coin-pound","tags":["money","earn","salary","change"],"variants":{"filled":"fd0a","outline":"f2c0"}},"coin-rupee":{"category":"E-commerce","name":"coin-rupee","tags":["money","earn","salary","change"],"variants":{"filled":"fd0b","outline":"f2c1"}},"coin-taka":{"category":"","name":"coin-taka","tags":[],"variants":{"filled":"fd0c","outline":"fd0d"}},"coin-yen":{"category":"E-commerce","name":"coin-yen","tags":["money","earn","salary","change"],"variants":{"filled":"fd0e","outline":"f2c2"}},"coin-yuan":{"category":"E-commerce","name":"coin-yuan","tags":["money","earn","salary","change"],"variants":{"filled":"fd0f","outline":"f2c3"}},"coins":{"category":"E-commerce","name":"coins","tags":["money","cash","finance","currency","dollar"],"variants":{"outline":"f65d"}},"color-filter":{"category":"Design","name":"color-filter","tags":["hue","brightness","effects","sotring","tools"],"variants":{"outline":"f5a8"}},"color-picker":{"category":"Design","name":"color-picker","tags":["timbre","saturation","paint","image","brush","choice","selection","sample"],"variants":{"outline":"ebe6"}},"color-picker-off":{"category":"Design","name":"color-picker-off","tags":["timbre","saturation","paint","image","brush","choice","selection","sample"],"variants":{"outline":"f0d2"}},"color-swatch":{"category":"Design","name":"color-swatch","tags":["sample","choice","selection"],"variants":{"outline":"eb61"}},"color-swatch-off":{"category":"Design","name":"color-swatch-off","tags":["sample","choice","selection"],"variants":{"outline":"f0d3"}},"column-insert-left":{"category":"Database","name":"column-insert-left","tags":["database","table","cells","arrow"],"variants":{"outline":"ee44"}},"column-insert-right":{"category":"Database","name":"column-insert-right","tags":["database","table","cells","arrow"],"variants":{"outline":"ee45"}},"column-remove":{"category":"Database","name":"column-remove","tags":[],"variants":{"outline":"faf4"}},"columns":{"category":"Text","name":"columns","tags":["text","gap","table"],"variants":{"outline":"eb83"}},"columns-1":{"category":"Text","name":"columns-1","tags":["layout","grid","design","arranegment"],"variants":{"outline":"f6d4"}},"columns-2":{"category":"Text","name":"columns-2","tags":["layout","grid","design","arranegment"],"variants":{"outline":"f6d5"}},"columns-3":{"category":"Text","name":"columns-3","tags":["layout","grid","design","arranegment"],"variants":{"outline":"f6d6"}},"columns-off":{"category":"Text","name":"columns-off","tags":["text","gap","table"],"variants":{"outline":"f0d4"}},"comet":{"category":"Weather","name":"comet","tags":["space","universe","star","orb","glow","night"],"variants":{"outline":"ec76"}},"command":{"category":"Symbols","name":"command","tags":["apple","key","keyboard","cmd"],"variants":{"outline":"ea78"}},"command-off":{"category":"Symbols","name":"command-off","tags":["apple","key","keyboard","cmd"],"variants":{"outline":"f3d7"}},"compass":{"category":"Map","name":"compass","tags":["navigation","safari","travel","direction","discover"],"variants":{"filled":"fd10","outline":"ea79"}},"compass-off":{"category":"Map","name":"compass-off","tags":["navigation","safari","travel","direction","discover"],"variants":{"outline":"f0d5"}},"components":{"category":"Design","name":"components","tags":["hardware","technology","electronic","computer","design","ux","figma"],"variants":{"outline":"efa5"}},"components-off":{"category":"Design","name":"components-off","tags":["hardware","technology","electronic","computer","design","ux","figma"],"variants":{"outline":"f0d6"}},"cone":{"category":"Shapes","name":"cone","tags":["geometry","math","object","shape"],"variants":{"filled":"fe58","outline":"efdd"}},"cone-2":{"category":"Shapes","name":"cone-2","tags":["geometry","math","object","shape"],"variants":{"filled":"fe59","outline":"efdc"}},"cone-off":{"category":"Shapes","name":"cone-off","tags":["geometry","math","object","shape"],"variants":{"outline":"f3d8"}},"cone-plus":{"category":"Shapes","name":"cone-plus","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fa94"}},"confetti":{"category":"","name":"confetti","tags":["party","celebrate","streamers","paper","parade","wedding","celebration"],"variants":{"outline":"ee46"}},"confetti-off":{"category":"","name":"confetti-off","tags":["party","celebrate","streamers","paper","parade","wedding","celebration"],"variants":{"outline":"f3d9"}},"confucius":{"category":"Symbols","name":"confucius","tags":["culture","religion","philosophy","tradition"],"variants":{"outline":"f58a"}},"container":{"category":"Design","name":"container","tags":["element","html","block","store","inside"],"variants":{"outline":"ee47"}},"container-off":{"category":"Design","name":"container-off","tags":["element","html","block","store","inside"],"variants":{"outline":"f107"}},"contract":{"category":"","name":"contract","tags":[],"variants":{"outline":"fefb"}},"contrast":{"category":"Photography","name":"contrast","tags":["edit","paint","photo"],"variants":{"filled":"fe56","outline":"ec4e"}},"contrast-2":{"category":"Photography","name":"contrast-2","tags":["edit","paint","photo"],"variants":{"filled":"fe57","outline":"efc7"}},"contrast-2-off":{"category":"Photography","name":"contrast-2-off","tags":["edit","paint","photo"],"variants":{"outline":"f3da"}},"contrast-off":{"category":"Photography","name":"contrast-off","tags":["edit","paint","photo"],"variants":{"outline":"f3db"}},"cooker":{"category":"Food","name":"cooker","tags":["kitchen","cook","oven","chef"],"variants":{"outline":"f57a"}},"cookie":{"category":"","name":"cookie","tags":[],"variants":{"filled":"fe54","outline":"fdb1"}},"cookie-man":{"category":"","name":"cookie-man","tags":[],"variants":{"filled":"fe55","outline":"fdb2"}},"cookie-off":{"category":"Food","name":"cookie-off","tags":["food","sweet","cooking","snack","internet","privacy"],"variants":{"outline":"f0d7"}},"copy":{"category":"Text","name":"copy","tags":["clipboard","clone","duplicate"],"variants":{"outline":"ea7a"}},"copy-check":{"category":"","name":"copy-check","tags":[],"variants":{"filled":"fe53","outline":"fdb0"}},"copy-minus":{"category":"","name":"copy-minus","tags":[],"variants":{"filled":"fe52","outline":"fdaf"}},"copy-off":{"category":"Text","name":"copy-off","tags":["clipboard","clone","duplicate"],"variants":{"outline":"f0d8"}},"copy-plus":{"category":"","name":"copy-plus","tags":[],"variants":{"filled":"fe51","outline":"fdae"}},"copy-x":{"category":"","name":"copy-x","tags":[],"variants":{"filled":"fe50","outline":"fdad"}},"copyleft":{"category":"Symbols","name":"copyleft","tags":["licence","license"],"variants":{"filled":"f73b","outline":"ec3d"}},"copyleft-off":{"category":"Symbols","name":"copyleft-off","tags":["licence","license"],"variants":{"outline":"f0d9"}},"copyright":{"category":"Symbols","name":"copyright","tags":["licence","license"],"variants":{"filled":"f73c","outline":"ea7b"}},"copyright-off":{"category":"Symbols","name":"copyright-off","tags":["licence","license"],"variants":{"outline":"f0da"}},"corner-down-left":{"category":"Arrows","name":"corner-down-left","tags":["move","arrow"],"variants":{"outline":"ea7c"}},"corner-down-left-double":{"category":"Arrows","name":"corner-down-left-double","tags":["arrow","previous","back","return","below","point"],"variants":{"outline":"ee48"}},"corner-down-right":{"category":"Arrows","name":"corner-down-right","tags":["move","arrow"],"variants":{"outline":"ea7d"}},"corner-down-right-double":{"category":"Arrows","name":"corner-down-right-double","tags":["arrow","next","below","forward","point"],"variants":{"outline":"ee49"}},"corner-left-down":{"category":"Arrows","name":"corner-left-down","tags":["move","arrow"],"variants":{"outline":"ea7e"}},"corner-left-down-double":{"category":"Arrows","name":"corner-left-down-double","tags":["arrow","point","below","bottom"],"variants":{"outline":"ee4a"}},"corner-left-up":{"category":"Arrows","name":"corner-left-up","tags":["move","arrow"],"variants":{"outline":"ea7f"}},"corner-left-up-double":{"category":"Arrows","name":"corner-left-up-double","tags":["arrow","point","above","top"],"variants":{"outline":"ee4b"}},"corner-right-down":{"category":"Arrows","name":"corner-right-down","tags":["move","arrow"],"variants":{"outline":"ea80"}},"corner-right-down-double":{"category":"Arrows","name":"corner-right-down-double","tags":["arrow","point","below","bottom"],"variants":{"outline":"ee4c"}},"corner-right-up":{"category":"Arrows","name":"corner-right-up","tags":["move","arrow"],"variants":{"outline":"ea81"}},"corner-right-up-double":{"category":"Arrows","name":"corner-right-up-double","tags":["arrow","point","above","top"],"variants":{"outline":"ee4d"}},"corner-up-left":{"category":"Arrows","name":"corner-up-left","tags":["move","arrow"],"variants":{"outline":"ea82"}},"corner-up-left-double":{"category":"Arrows","name":"corner-up-left-double","tags":["arrow","point","side","previous","back","return"],"variants":{"outline":"ee4e"}},"corner-up-right":{"category":"Arrows","name":"corner-up-right","tags":["move","arrow"],"variants":{"outline":"ea83"}},"corner-up-right-double":{"category":"Arrows","name":"corner-up-right-double","tags":["arrow","next","above","forward","point"],"variants":{"outline":"ee4f"}},"cpu":{"category":"Devices","name":"cpu","tags":["processor","computer","chip","hardware","technology","electronic"],"variants":{"outline":"ef8e"}},"cpu-2":{"category":"Devices","name":"cpu-2","tags":["processor","computer","chip","hardware","technology","electronic"],"variants":{"outline":"f075"}},"cpu-off":{"category":"Devices","name":"cpu-off","tags":["processor","computer","chip","hardware","technology","electronic"],"variants":{"outline":"f108"}},"crane":{"category":"Vehicles","name":"crane","tags":["construction","building","machine","lifting"],"variants":{"outline":"ef27"}},"crane-off":{"category":"Vehicles","name":"crane-off","tags":["construction","building","machine","lifting"],"variants":{"outline":"f109"}},"creative-commons":{"category":"System","name":"creative-commons","tags":["licence","license"],"variants":{"outline":"efb3"}},"creative-commons-by":{"category":"System","name":"creative-commons-by","tags":["licence","license"],"variants":{"outline":"f21f"}},"creative-commons-nc":{"category":"System","name":"creative-commons-nc","tags":["licence","license"],"variants":{"outline":"f220"}},"creative-commons-nd":{"category":"System","name":"creative-commons-nd","tags":["licence","license"],"variants":{"outline":"f221"}},"creative-commons-off":{"category":"System","name":"creative-commons-off","tags":["licence","license"],"variants":{"outline":"f10a"}},"creative-commons-sa":{"category":"System","name":"creative-commons-sa","tags":["licence","license"],"variants":{"outline":"f222"}},"creative-commons-zero":{"category":"System","name":"creative-commons-zero","tags":["licence","license"],"variants":{"outline":"f223"}},"credit-card":{"category":"E-commerce","name":"credit-card","tags":["money","purchase","payment","cc"],"variants":{"filled":"fd11","outline":"ea84"}},"credit-card-off":{"category":"E-commerce","name":"credit-card-off","tags":["money","purchase","payment","cc"],"variants":{"outline":"ed11"}},"credit-card-pay":{"category":"","name":"credit-card-pay","tags":["payment-card","credit-pay","card-payment","transaction","credit-transaction","purchase","buy","payment","credit","card"],"variants":{"outline":"fd32"}},"credit-card-refund":{"category":"","name":"credit-card-refund","tags":["refund-card","credit-refund","card-refund","transaction","credit-transaction","return","money-back","credit","refund","card"],"variants":{"outline":"fd33"}},"cricket":{"category":"Sport","name":"cricket","tags":["ball","game","sport"],"variants":{"outline":"f09a"}},"crop":{"category":"Design","name":"crop","tags":["photo","image"],"variants":{"outline":"ea85"}},"crop-1-1":{"category":"Design","name":"crop-1-1","tags":["square-crop","aspect-ratio-1-1","equal-proportion","image-square","crop-square","box-crop","square-frame","uniform-crop","balanced-crop","equal-crop"],"variants":{"filled":"fe4f","outline":"fd50"}},"crop-16-9":{"category":"Design","name":"crop-16-9","tags":["wide-crop","aspect-ratio-16-9","landscape-crop","wide-screen","video-crop","16-by-9","wide-format","cinematic-crop","panorama","landscape-aspect"],"variants":{"filled":"fe4e","outline":"fd51"}},"crop-3-2":{"category":"Design","name":"crop-3-2","tags":["portrait-crop","aspect-ratio-3-2","vertical-crop","portrait-mode","tall-crop","3-by-2","portrait-format","vertical-aspect","vertical-frame","portrait"],"variants":{"filled":"fe4d","outline":"fd52"}},"crop-5-4":{"category":"Design","name":"crop-5-4","tags":["custom-crop","aspect-ratio-5-4","fixed-crop","image-format","5-by-4","customized-crop","fixed-aspect","dimensional-crop","specific-crop","custom-aspect"],"variants":{"filled":"fe4c","outline":"fd53"}},"crop-7-5":{"category":"Design","name":"crop-7-5","tags":["custom-crop","aspect-ratio-7-5","fixed-crop","image-format","7-by-5","customized-crop","fixed-aspect","dimensional-crop","specific-crop","custom-aspect"],"variants":{"filled":"fe4b","outline":"fd54"}},"crop-landscape":{"category":"Design","name":"crop-landscape","tags":["landscape-crop","aspect-ratio-landscape","wide-crop","landscape-mode","horizontal-crop","landscape-format","wide-aspect","horizontal-frame","landscape"],"variants":{"filled":"fe4a","outline":"fd55"}},"crop-portrait":{"category":"Design","name":"crop-portrait","tags":["portrait-crop","aspect-ratio-portrait","vertical-crop","portrait-mode","tall-crop","portrait-format","vertical-aspect","vertical-frame","portrait"],"variants":{"filled":"fe49","outline":"fd56"}},"cross":{"category":"Symbols","name":"cross","tags":["prayer","church","catholic","jezus","religion"],"variants":{"filled":"f675","outline":"ef8f"}},"cross-off":{"category":"Symbols","name":"cross-off","tags":["prayer","church","catholic","jezus","religion"],"variants":{"outline":"f10b"}},"crosshair":{"category":"","name":"crosshair","tags":["reticle","tag","tracer","measurement","target"],"variants":{"outline":"ec3e"}},"crown":{"category":"","name":"crown","tags":["symbol","queen","king","prince","princess","dynasty","royalty"],"variants":{"outline":"ed12"}},"crown-off":{"category":"","name":"crown-off","tags":["symbol","queen","king","prince","princess","dynasty","royalty"],"variants":{"outline":"ee50"}},"crutches":{"category":"Health","name":"crutches","tags":["hospital","medical","disability","health","leg"],"variants":{"outline":"ef5b"}},"crutches-off":{"category":"Health","name":"crutches-off","tags":["hospital","medical","disability","health","leg"],"variants":{"outline":"f10c"}},"crystal-ball":{"category":"","name":"crystal-ball","tags":["magic","fortune","christmas","witch","future"],"variants":{"outline":"f57b"}},"csv":{"category":"Extensions","name":"csv","tags":["file","document","format","type","folder"],"variants":{"outline":"f791"}},"cube":{"category":"Shapes","name":"cube","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fa97"}},"cube-3d-sphere":{"category":"","name":"cube-3d-sphere","tags":["printing","vector","shape"],"variants":{"outline":"ecd7"}},"cube-3d-sphere-off":{"category":"","name":"cube-3d-sphere-off","tags":["printing","vector","shape"],"variants":{"outline":"f3b5"}},"cube-off":{"category":"Shapes","name":"cube-off","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fa95"}},"cube-plus":{"category":"Shapes","name":"cube-plus","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fa96"}},"cube-send":{"category":"","name":"cube-send","tags":["box","delivery","package","shipping"],"variants":{"outline":"f61b"}},"cube-unfolded":{"category":"","name":"cube-unfolded","tags":["folding","filed","box","unwrapped"],"variants":{"outline":"f61c"}},"cup":{"category":"Food","name":"cup","tags":["coffee","drink","water","food"],"variants":{"outline":"ef28"}},"cup-off":{"category":"Food","name":"cup-off","tags":["coffee","drink","water","food"],"variants":{"outline":"f10d"}},"curling":{"category":"Sport","name":"curling","tags":["game","sport","olympic","winter","snow"],"variants":{"outline":"efc8"}},"curly-loop":{"category":"","name":"curly-loop","tags":["voicemail","power","infinity"],"variants":{"outline":"ecda"}},"currency":{"category":"Currencies","name":"currency","tags":["target","goal","focus","marketing"],"variants":{"outline":"efa6"}},"currency-afghani":{"category":"Currencies","name":"currency-afghani","tags":["money","coin","cash","commerce","afghanistan"],"variants":{"outline":"f65e"}},"currency-bahraini":{"category":"Currencies","name":"currency-bahraini","tags":["bahraini","bhd","commerce","dinar","money","banknote","pay"],"variants":{"outline":"ee51"}},"currency-baht":{"category":"Currencies","name":"currency-baht","tags":["thb","thai","baht","money","banknote","pay"],"variants":{"outline":"f08a"}},"currency-bitcoin":{"category":"Currencies","name":"currency-bitcoin","tags":["crypto","bitcoin","lightning network","mining","digital","blockchain","p2p","peer","money","banknote","pay"],"variants":{"outline":"ebab"}},"currency-cent":{"category":"Currencies","name":"currency-cent","tags":["cent","coin","money","centavo","penny","banknote","pay"],"variants":{"outline":"ee53"}},"currency-dinar":{"category":"Currencies","name":"currency-dinar","tags":["kwd","dinar","kuwait","money","banknote","pay"],"variants":{"outline":"ee54"}},"currency-dirham":{"category":"Currencies","name":"currency-dirham","tags":["trade","aed","uae","dirham","money","banknote","pay"],"variants":{"outline":"ee55"}},"currency-dogecoin":{"category":"Currencies","name":"currency-dogecoin","tags":["crypto","bitcoin","lightning network","mining","digital","blockchain","p2p","peer","money","banknote","pay"],"variants":{"outline":"ef4b"}},"currency-dollar":{"category":"Currencies","name":"currency-dollar","tags":["american","us","dollar","usd","sign","bucks","usa","money","banknote","pay"],"variants":{"outline":"eb84"}},"currency-dollar-australian":{"category":"Currencies","name":"currency-dollar-australian","tags":["dollar","aud","australian","money","banknote","pay"],"variants":{"outline":"ee56"}},"currency-dollar-brunei":{"category":"Currencies","name":"currency-dollar-brunei","tags":["exchange","buisness","commerce"],"variants":{"outline":"f36c"}},"currency-dollar-canadian":{"category":"Currencies","name":"currency-dollar-canadian","tags":["trade","dollar","cad","canadian","money","banknote","pay"],"variants":{"outline":"ee57"}},"currency-dollar-guyanese":{"category":"Currencies","name":"currency-dollar-guyanese","tags":["exchange","buisness","commerce"],"variants":{"outline":"f36d"}},"currency-dollar-off":{"category":"Currencies","name":"currency-dollar-off","tags":["american","us","dollar","usd","sign","bucks","usa","money","banknote","pay"],"variants":{"outline":"f3dc"}},"currency-dollar-singapore":{"category":"Currencies","name":"currency-dollar-singapore","tags":["singapore","dollar","exchange","sgd","money","banknote","pay"],"variants":{"outline":"ee58"}},"currency-dollar-zimbabwean":{"category":"Currencies","name":"currency-dollar-zimbabwean","tags":["exchange","buisness","commerce"],"variants":{"outline":"f36e"}},"currency-dong":{"category":"Currencies","name":"currency-dong","tags":["vietnam","exchange","finance","money","cash"],"variants":{"outline":"f36f"}},"currency-dram":{"category":"Currencies","name":"currency-dram","tags":["exchange","finance","money","cash","armenia"],"variants":{"outline":"f370"}},"currency-ethereum":{"category":"Currencies","name":"currency-ethereum","tags":["ethereum","digital","crypto","ether","blockchain","money","banknote","pay"],"variants":{"outline":"ee59"}},"currency-euro":{"category":"Currencies","name":"currency-euro","tags":["euro","eur","trade","finance","europe","eu","money","banknote","pay"],"variants":{"outline":"eb85"}},"currency-euro-off":{"category":"Currencies","name":"currency-euro-off","tags":["euro","eur","trade","finance","europe","eu","money","banknote","pay"],"variants":{"outline":"f3dd"}},"currency-florin":{"category":"Currencies","name":"currency-florin","tags":[],"variants":{"outline":"faf5"}},"currency-forint":{"category":"Currencies","name":"currency-forint","tags":["huf","hungarian","business","forint","money","banknote","pay"],"variants":{"outline":"ee5a"}},"currency-frank":{"category":"Currencies","name":"currency-frank","tags":["chf","business","swiss","franc","money","banknote","pay"],"variants":{"outline":"ee5b"}},"currency-guarani":{"category":"Currencies","name":"currency-guarani","tags":["exchange","finance","money","cash","paraguay"],"variants":{"outline":"f371"}},"currency-hryvnia":{"category":"Currencies","name":"currency-hryvnia","tags":["exchange","finance","money","cash","ukraine"],"variants":{"outline":"f372"}},"currency-iranian-rial":{"category":"Currencies","name":"currency-iranian-rial","tags":[],"variants":{"outline":"fa58"}},"currency-kip":{"category":"Currencies","name":"currency-kip","tags":["exchange","finance","money","cash","laos"],"variants":{"outline":"f373"}},"currency-krone-czech":{"category":"Currencies","name":"currency-krone-czech","tags":["czech","czk","koruna","money","banknote","pay"],"variants":{"outline":"ee5c"}},"currency-krone-danish":{"category":"Currencies","name":"currency-krone-danish","tags":["krone","dkk","danish","finance","money","banknote","pay"],"variants":{"outline":"ee5d"}},"currency-krone-swedish":{"category":"Currencies","name":"currency-krone-swedish","tags":["krone","kronor","krona","swedish","icelandic","norwegian","estonian","money","banknote","pay"],"variants":{"outline":"ee5e"}},"currency-lari":{"category":"Currencies","name":"currency-lari","tags":["exchange","finance","money","cash","georgia"],"variants":{"outline":"f374"}},"currency-leu":{"category":"Currencies","name":"currency-leu","tags":["leu","loti","lempira","lek","lilangani","money","banknote","pay"],"variants":{"outline":"ee5f"}},"currency-lira":{"category":"Currencies","name":"currency-lira","tags":["lira","trade","turkish","try","money","banknote","pay"],"variants":{"outline":"ee60"}},"currency-litecoin":{"category":"Currencies","name":"currency-litecoin","tags":["litecoin","crypto","segwit","lightning network","blockchain","p2p","peer","transaction","money","banknote","pay"],"variants":{"outline":"ee61"}},"currency-lyd":{"category":"Currencies","name":"currency-lyd","tags":["exchange","finance","money","cash","libya"],"variants":{"outline":"f375"}},"currency-manat":{"category":"Currencies","name":"currency-manat","tags":["exchange","finance","money","cash","azerbaijan"],"variants":{"outline":"f376"}},"currency-monero":{"category":"Currencies","name":"currency-monero","tags":["exchange","finance","money","cash","cryptocurrency"],"variants":{"outline":"f377"}},"currency-naira":{"category":"Currencies","name":"currency-naira","tags":["naira","ngn","nigerian","trade","money","banknote","pay"],"variants":{"outline":"ee62"}},"currency-nano":{"category":"Currencies","name":"currency-nano","tags":["money","nano","crypto","blockchain","pay","p2p","digital"],"variants":{"outline":"f7a6"}},"currency-off":{"category":"Currencies","name":"currency-off","tags":["target","goal","focus","marketing"],"variants":{"outline":"f3de"}},"currency-paanga":{"category":"Currencies","name":"currency-paanga","tags":["exchange","finance","money","cash","tonga"],"variants":{"outline":"f378"}},"currency-peso":{"category":"Currencies","name":"currency-peso","tags":["money","coin","cash","commerce","mexico"],"variants":{"outline":"f65f"}},"currency-pound":{"category":"Currencies","name":"currency-pound","tags":["gbp","pound","sterling","british","britain","uk","money","banknote","pay"],"variants":{"outline":"ebac"}},"currency-pound-off":{"category":"Currencies","name":"currency-pound-off","tags":["gbp","pound","sterling","british","britain","uk","money","banknote","pay"],"variants":{"outline":"f3df"}},"currency-quetzal":{"category":"Currencies","name":"currency-quetzal","tags":["exchange","finance","money","cash","guatemala"],"variants":{"outline":"f379"}},"currency-real":{"category":"Currencies","name":"currency-real","tags":["brl","brazilian","real","finance","money","banknote","pay"],"variants":{"outline":"ee63"}},"currency-renminbi":{"category":"Currencies","name":"currency-renminbi","tags":["renminbi","cny","chinese","yuan","money","banknote","pay"],"variants":{"outline":"ee64"}},"currency-ripple":{"category":"Currencies","name":"currency-ripple","tags":["ripple","xrp","digital","crypto","money","banknote","pay"],"variants":{"outline":"ee65"}},"currency-riyal":{"category":"Currencies","name":"currency-riyal","tags":["riyal","sar","saudi","money","banknote","pay"],"variants":{"outline":"ee66"}},"currency-rubel":{"category":"Currencies","name":"currency-rubel","tags":["rub","russian","ruble","money","banknote","pay"],"variants":{"outline":"ee67"}},"currency-rufiyaa":{"category":"Currencies","name":"currency-rufiyaa","tags":["exchange","finance","money","cash","maldives"],"variants":{"outline":"f37a"}},"currency-rupee":{"category":"Currencies","name":"currency-rupee","tags":["inr","indian","rupee","exchange","money","banknote","pay"],"variants":{"outline":"ebad"}},"currency-rupee-nepalese":{"category":"Currencies","name":"currency-rupee-nepalese","tags":["exchange","finance","money","cash","nepal"],"variants":{"outline":"f37b"}},"currency-shekel":{"category":"Currencies","name":"currency-shekel","tags":["curency","ils","israeli","shekel","money","banknote","pay"],"variants":{"outline":"ee68"}},"currency-solana":{"category":"Currencies","name":"currency-solana","tags":["crypto","bitcoin","mining","digital","cryptocurrency"],"variants":{"outline":"f4a1"}},"currency-som":{"category":"Currencies","name":"currency-som","tags":["exchange","finance","money","cash","kyrgyzstan"],"variants":{"outline":"f37c"}},"currency-taka":{"category":"Currencies","name":"currency-taka","tags":["trade","bangladesh","bdt","taka","money","banknote","pay"],"variants":{"outline":"ee69"}},"currency-tenge":{"category":"Currencies","name":"currency-tenge","tags":["exchange","finance","money","cash","kazakhstan"],"variants":{"outline":"f37d"}},"currency-tugrik":{"category":"Currencies","name":"currency-tugrik","tags":["tgrg","mnt","tugrik","mongolian","money","banknote","pay"],"variants":{"outline":"ee6a"}},"currency-won":{"category":"Currencies","name":"currency-won","tags":["korean","kpw","north","won","money","banknote","pay"],"variants":{"outline":"ee6b"}},"currency-xrp":{"category":"","name":"currency-xrp","tags":["xrp","cryptocurrency","digital-currency","blockchain","ripple","crypto","virtual-currency","xrp-coin","financial","digital-money"],"variants":{"outline":"fd34"}},"currency-yen":{"category":"Currencies","name":"currency-yen","tags":["japanese","yen","jpy","chinese","money","banknote","pay"],"variants":{"outline":"ebae"}},"currency-yen-off":{"category":"Currencies","name":"currency-yen-off","tags":["japanese","yen","jpy","chinese","money","banknote","pay"],"variants":{"outline":"f3e0"}},"currency-yuan":{"category":"Currencies","name":"currency-yuan","tags":["exchange","finance","money","cash","china"],"variants":{"outline":"f29a"}},"currency-zloty":{"category":"Currencies","name":"currency-zloty","tags":["poland","pln","zloty","polish","money","banknote","pay"],"variants":{"outline":"ee6c"}},"current-location":{"category":"Map","name":"current-location","tags":["localization","maps","navigation","pin","target"],"variants":{"outline":"ecef"}},"current-location-off":{"category":"Map","name":"current-location-off","tags":["localization","maps","navigation","pin","target"],"variants":{"outline":"f10e"}},"cursor-off":{"category":"","name":"cursor-off","tags":["editor","indicate","position","input","mouse","type"],"variants":{"outline":"f10f"}},"cursor-text":{"category":"Text","name":"cursor-text","tags":["editor","indicate","position","input","mouse","type"],"variants":{"outline":"ee6d"}},"cut":{"category":"Design","name":"cut","tags":["scissors","divide","hairdresser","sharp"],"variants":{"outline":"ea86"}},"cylinder":{"category":"Shapes","name":"cylinder","tags":["geometry","gas","tube","object","piston"],"variants":{"outline":"f54c"}},"cylinder-off":{"category":"Shapes","name":"cylinder-off","tags":["geometry","gas","tube","object","piston"],"variants":{"outline":"fa98"}},"cylinder-plus":{"category":"Shapes","name":"cylinder-plus","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fa99"}},"dashboard":{"category":"System","name":"dashboard","tags":["home","car"],"variants":{"outline":"ea87"}},"dashboard-off":{"category":"System","name":"dashboard-off","tags":["home","car"],"variants":{"outline":"f3e1"}},"database":{"category":"Database","name":"database","tags":["storage","data","memory"],"variants":{"outline":"ea88"}},"database-cog":{"category":"Database","name":"database-cog","tags":[],"variants":{"outline":"fa10"}},"database-dollar":{"category":"Database","name":"database-dollar","tags":[],"variants":{"outline":"fa11"}},"database-edit":{"category":"Database","name":"database-edit","tags":[],"variants":{"outline":"fa12"}},"database-exclamation":{"category":"Database","name":"database-exclamation","tags":[],"variants":{"outline":"fa13"}},"database-export":{"category":"Database","name":"database-export","tags":["data","backup","file","storage","system"],"variants":{"outline":"ee6e"}},"database-heart":{"category":"Database","name":"database-heart","tags":[],"variants":{"outline":"fa14"}},"database-import":{"category":"Database","name":"database-import","tags":["data","file","storage","backup","system"],"variants":{"outline":"ee6f"}},"database-leak":{"category":"Database","name":"database-leak","tags":[],"variants":{"outline":"fa15"}},"database-minus":{"category":"Database","name":"database-minus","tags":[],"variants":{"outline":"fa16"}},"database-off":{"category":"Database","name":"database-off","tags":["storage","data","memory"],"variants":{"outline":"ee70"}},"database-plus":{"category":"Database","name":"database-plus","tags":[],"variants":{"outline":"fa17"}},"database-search":{"category":"Database","name":"database-search","tags":[],"variants":{"outline":"fa18"}},"database-share":{"category":"Database","name":"database-share","tags":[],"variants":{"outline":"fa19"}},"database-smile":{"category":"","name":"database-smile","tags":[],"variants":{"outline":"fd9b"}},"database-star":{"category":"Database","name":"database-star","tags":[],"variants":{"outline":"fa1a"}},"database-x":{"category":"Database","name":"database-x","tags":[],"variants":{"outline":"fa1b"}},"decimal":{"category":"Math","name":"decimal","tags":["point","fraction","numeric","number","mathematics","decimal-point","decimal-system","fractional","math","dot"],"variants":{"outline":"fa26"}},"deer":{"category":"Animals","name":"deer","tags":["animal","christmas","santa","forest"],"variants":{"outline":"f4c5"}},"delta":{"category":"Letters","name":"delta","tags":["letter","alphabet","greek","math"],"variants":{"outline":"f53c"}},"dental":{"category":"Health","name":"dental","tags":["tooth","toothbrush","mouth","hygiene"],"variants":{"outline":"f025"}},"dental-broken":{"category":"","name":"dental-broken","tags":["tooth","dentist","medical","care","caries"],"variants":{"outline":"f286"}},"dental-off":{"category":"Health","name":"dental-off","tags":["tooth","toothbrush","mouth","hygiene"],"variants":{"outline":"f110"}},"deselect":{"category":"","name":"deselect","tags":["unselect","clear-selection","deselection","unpick","uncheck","deactivate","unmark","remove-selection","untag","unchoose"],"variants":{"outline":"f9f3"}},"desk":{"category":"","name":"desk","tags":["workspace","workstation","table","office-desk","workplace","furniture","desk-setup","desktop","office-furniture","working"],"variants":{"outline":"fd35"}},"details":{"category":"","name":"details","tags":["geometric","half","shape","highlight","triangle"],"variants":{"outline":"ee71"}},"details-off":{"category":"","name":"details-off","tags":["geometric","half","shape","highlight","triangle"],"variants":{"outline":"f3e2"}},"device-airpods":{"category":"Devices","name":"device-airpods","tags":["music","iphone","apple","wireless","headphones","sound","earbuds"],"variants":{"outline":"f5a9"}},"device-airpods-case":{"category":"Devices","name":"device-airpods-case","tags":["music","audio","apple","iphone","wireless","sound"],"variants":{"outline":"f646"}},"device-airtag":{"category":"Devices","name":"device-airtag","tags":[],"variants":{"outline":"fae6"}},"device-analytics":{"category":"Devices","name":"device-analytics","tags":["analyze","analyse","data","traffic","user"],"variants":{"outline":"ee72"}},"device-audio-tape":{"category":"Devices","name":"device-audio-tape","tags":["record","music","radio","cassette","recording","play"],"variants":{"outline":"ee73"}},"device-camera-phone":{"category":"Devices","name":"device-camera-phone","tags":["smartphone","technology","photo","gadget","photography"],"variants":{"outline":"f233"}},"device-cctv":{"category":"Devices","name":"device-cctv","tags":["closed","circuit","television","video","surveillance","signal","monitor","record"],"variants":{"outline":"ee74"}},"device-cctv-off":{"category":"Devices","name":"device-cctv-off","tags":["closed","circuit","television","video","surveillance","signal","monitor","record"],"variants":{"outline":"f3e3"}},"device-computer-camera":{"category":"Devices","name":"device-computer-camera","tags":["video","meeting","record","recording","webcam"],"variants":{"outline":"ee76"}},"device-computer-camera-off":{"category":"Devices","name":"device-computer-camera-off","tags":["video","meeting","record","recording","webcam"],"variants":{"outline":"ee75"}},"device-desktop":{"category":"Devices","name":"device-desktop","tags":["monitor","computer","imac"],"variants":{"outline":"ea89"}},"device-desktop-analytics":{"category":"Devices","name":"device-desktop-analytics","tags":["monitor","computer","imac","stats","charts"],"variants":{"outline":"ee77"}},"device-desktop-bolt":{"category":"Devices","name":"device-desktop-bolt","tags":[],"variants":{"outline":"f85e"}},"device-desktop-cancel":{"category":"Devices","name":"device-desktop-cancel","tags":[],"variants":{"outline":"f85f"}},"device-desktop-check":{"category":"Devices","name":"device-desktop-check","tags":[],"variants":{"outline":"f860"}},"device-desktop-code":{"category":"Devices","name":"device-desktop-code","tags":[],"variants":{"outline":"f861"}},"device-desktop-cog":{"category":"Devices","name":"device-desktop-cog","tags":[],"variants":{"outline":"f862"}},"device-desktop-dollar":{"category":"Devices","name":"device-desktop-dollar","tags":[],"variants":{"outline":"f863"}},"device-desktop-down":{"category":"Devices","name":"device-desktop-down","tags":[],"variants":{"outline":"f864"}},"device-desktop-exclamation":{"category":"Devices","name":"device-desktop-exclamation","tags":[],"variants":{"outline":"f865"}},"device-desktop-heart":{"category":"Devices","name":"device-desktop-heart","tags":[],"variants":{"outline":"f866"}},"device-desktop-minus":{"category":"Devices","name":"device-desktop-minus","tags":[],"variants":{"outline":"f867"}},"device-desktop-off":{"category":"Devices","name":"device-desktop-off","tags":["monitor","computer","imac"],"variants":{"outline":"ee78"}},"device-desktop-pause":{"category":"Devices","name":"device-desktop-pause","tags":[],"variants":{"outline":"f868"}},"device-desktop-pin":{"category":"Devices","name":"device-desktop-pin","tags":[],"variants":{"outline":"f869"}},"device-desktop-plus":{"category":"Devices","name":"device-desktop-plus","tags":[],"variants":{"outline":"f86a"}},"device-desktop-question":{"category":"Devices","name":"device-desktop-question","tags":[],"variants":{"outline":"f86b"}},"device-desktop-search":{"category":"Devices","name":"device-desktop-search","tags":[],"variants":{"outline":"f86c"}},"device-desktop-share":{"category":"Devices","name":"device-desktop-share","tags":[],"variants":{"outline":"f86d"}},"device-desktop-star":{"category":"Devices","name":"device-desktop-star","tags":[],"variants":{"outline":"f86e"}},"device-desktop-up":{"category":"Devices","name":"device-desktop-up","tags":[],"variants":{"outline":"f86f"}},"device-desktop-x":{"category":"Devices","name":"device-desktop-x","tags":[],"variants":{"outline":"f870"}},"device-floppy":{"category":"Devices","name":"device-floppy","tags":["save","file","disk"],"variants":{"outline":"eb62"}},"device-gamepad":{"category":"Devices","name":"device-gamepad","tags":["game","play","entertainment","console","joystick","joypad","controller"],"variants":{"outline":"eb63"}},"device-gamepad-2":{"category":"Devices","name":"device-gamepad-2","tags":["game","play","entertainment","console","joystick","joypad","controller"],"variants":{"outline":"f1d2"}},"device-gamepad-3":{"category":"Devices","name":"device-gamepad-3","tags":[],"variants":{"outline":"fc58"}},"device-heart-monitor":{"category":"Devices","name":"device-heart-monitor","tags":["hospital","rate","healthcare","health"],"variants":{"filled":"fa38","outline":"f060"}},"device-imac":{"category":"Devices","name":"device-imac","tags":["computer","monitor","apple","desktop","pc"],"variants":{"outline":"f7a7"}},"device-imac-bolt":{"category":"Devices","name":"device-imac-bolt","tags":[],"variants":{"outline":"f871"}},"device-imac-cancel":{"category":"Devices","name":"device-imac-cancel","tags":[],"variants":{"outline":"f872"}},"device-imac-check":{"category":"Devices","name":"device-imac-check","tags":[],"variants":{"outline":"f873"}},"device-imac-code":{"category":"Devices","name":"device-imac-code","tags":[],"variants":{"outline":"f874"}},"device-imac-cog":{"category":"Devices","name":"device-imac-cog","tags":[],"variants":{"outline":"f875"}},"device-imac-dollar":{"category":"Devices","name":"device-imac-dollar","tags":[],"variants":{"outline":"f876"}},"device-imac-down":{"category":"Devices","name":"device-imac-down","tags":[],"variants":{"outline":"f877"}},"device-imac-exclamation":{"category":"Devices","name":"device-imac-exclamation","tags":[],"variants":{"outline":"f878"}},"device-imac-heart":{"category":"Devices","name":"device-imac-heart","tags":[],"variants":{"outline":"f879"}},"device-imac-minus":{"category":"Devices","name":"device-imac-minus","tags":[],"variants":{"outline":"f87a"}},"device-imac-off":{"category":"Devices","name":"device-imac-off","tags":["computer","monitor","apple","desktop","pc"],"variants":{"outline":"f87b"}},"device-imac-pause":{"category":"Devices","name":"device-imac-pause","tags":[],"variants":{"outline":"f87c"}},"device-imac-pin":{"category":"Devices","name":"device-imac-pin","tags":[],"variants":{"outline":"f87d"}},"device-imac-plus":{"category":"Devices","name":"device-imac-plus","tags":[],"variants":{"outline":"f87e"}},"device-imac-question":{"category":"Devices","name":"device-imac-question","tags":[],"variants":{"outline":"f87f"}},"device-imac-search":{"category":"Devices","name":"device-imac-search","tags":[],"variants":{"outline":"f880"}},"device-imac-share":{"category":"Devices","name":"device-imac-share","tags":[],"variants":{"outline":"f881"}},"device-imac-star":{"category":"Devices","name":"device-imac-star","tags":[],"variants":{"outline":"f882"}},"device-imac-up":{"category":"Devices","name":"device-imac-up","tags":[],"variants":{"outline":"f883"}},"device-imac-x":{"category":"Devices","name":"device-imac-x","tags":[],"variants":{"outline":"f884"}},"device-ipad":{"category":"Devices","name":"device-ipad","tags":["tablet","apple","mobile","technology","ios"],"variants":{"outline":"f648"}},"device-ipad-bolt":{"category":"Devices","name":"device-ipad-bolt","tags":[],"variants":{"outline":"f885"}},"device-ipad-cancel":{"category":"Devices","name":"device-ipad-cancel","tags":[],"variants":{"outline":"f886"}},"device-ipad-check":{"category":"Devices","name":"device-ipad-check","tags":[],"variants":{"outline":"f887"}},"device-ipad-code":{"category":"Devices","name":"device-ipad-code","tags":[],"variants":{"outline":"f888"}},"device-ipad-cog":{"category":"Devices","name":"device-ipad-cog","tags":[],"variants":{"outline":"f889"}},"device-ipad-dollar":{"category":"Devices","name":"device-ipad-dollar","tags":[],"variants":{"outline":"f88a"}},"device-ipad-down":{"category":"Devices","name":"device-ipad-down","tags":[],"variants":{"outline":"f88b"}},"device-ipad-exclamation":{"category":"Devices","name":"device-ipad-exclamation","tags":[],"variants":{"outline":"f88c"}},"device-ipad-heart":{"category":"Devices","name":"device-ipad-heart","tags":[],"variants":{"outline":"f88d"}},"device-ipad-horizontal":{"category":"Devices","name":"device-ipad-horizontal","tags":["tablet","apple","mobile","technology","ios"],"variants":{"outline":"f647"}},"device-ipad-horizontal-bolt":{"category":"Devices","name":"device-ipad-horizontal-bolt","tags":[],"variants":{"outline":"f88e"}},"device-ipad-horizontal-cancel":{"category":"Devices","name":"device-ipad-horizontal-cancel","tags":[],"variants":{"outline":"f88f"}},"device-ipad-horizontal-check":{"category":"Devices","name":"device-ipad-horizontal-check","tags":[],"variants":{"outline":"f890"}},"device-ipad-horizontal-code":{"category":"Devices","name":"device-ipad-horizontal-code","tags":[],"variants":{"outline":"f891"}},"device-ipad-horizontal-cog":{"category":"Devices","name":"device-ipad-horizontal-cog","tags":[],"variants":{"outline":"f892"}},"device-ipad-horizontal-dollar":{"category":"Devices","name":"device-ipad-horizontal-dollar","tags":[],"variants":{"outline":"f893"}},"device-ipad-horizontal-down":{"category":"Devices","name":"device-ipad-horizontal-down","tags":[],"variants":{"outline":"f894"}},"device-ipad-horizontal-exclamation":{"category":"Devices","name":"device-ipad-horizontal-exclamation","tags":[],"variants":{"outline":"f895"}},"device-ipad-horizontal-heart":{"category":"Devices","name":"device-ipad-horizontal-heart","tags":[],"variants":{"outline":"f896"}},"device-ipad-horizontal-minus":{"category":"Devices","name":"device-ipad-horizontal-minus","tags":[],"variants":{"outline":"f897"}},"device-ipad-horizontal-off":{"category":"Devices","name":"device-ipad-horizontal-off","tags":["tablet","apple","mobile","technology","ios"],"variants":{"outline":"f898"}},"device-ipad-horizontal-pause":{"category":"Devices","name":"device-ipad-horizontal-pause","tags":[],"variants":{"outline":"f899"}},"device-ipad-horizontal-pin":{"category":"Devices","name":"device-ipad-horizontal-pin","tags":[],"variants":{"outline":"f89a"}},"device-ipad-horizontal-plus":{"category":"Devices","name":"device-ipad-horizontal-plus","tags":[],"variants":{"outline":"f89b"}},"device-ipad-horizontal-question":{"category":"Devices","name":"device-ipad-horizontal-question","tags":[],"variants":{"outline":"f89c"}},"device-ipad-horizontal-search":{"category":"Devices","name":"device-ipad-horizontal-search","tags":[],"variants":{"outline":"f89d"}},"device-ipad-horizontal-share":{"category":"Devices","name":"device-ipad-horizontal-share","tags":[],"variants":{"outline":"f89e"}},"device-ipad-horizontal-star":{"category":"Devices","name":"device-ipad-horizontal-star","tags":[],"variants":{"outline":"f89f"}},"device-ipad-horizontal-up":{"category":"Devices","name":"device-ipad-horizontal-up","tags":[],"variants":{"outline":"f8a0"}},"device-ipad-horizontal-x":{"category":"Devices","name":"device-ipad-horizontal-x","tags":[],"variants":{"outline":"f8a1"}},"device-ipad-minus":{"category":"Devices","name":"device-ipad-minus","tags":[],"variants":{"outline":"f8a2"}},"device-ipad-off":{"category":"Devices","name":"device-ipad-off","tags":["tablet","apple","mobile","technology","ios"],"variants":{"outline":"f8a3"}},"device-ipad-pause":{"category":"Devices","name":"device-ipad-pause","tags":[],"variants":{"outline":"f8a4"}},"device-ipad-pin":{"category":"Devices","name":"device-ipad-pin","tags":[],"variants":{"outline":"f8a5"}},"device-ipad-plus":{"category":"Devices","name":"device-ipad-plus","tags":[],"variants":{"outline":"f8a6"}},"device-ipad-question":{"category":"Devices","name":"device-ipad-question","tags":[],"variants":{"outline":"f8a7"}},"device-ipad-search":{"category":"Devices","name":"device-ipad-search","tags":[],"variants":{"outline":"f8a8"}},"device-ipad-share":{"category":"Devices","name":"device-ipad-share","tags":[],"variants":{"outline":"f8a9"}},"device-ipad-star":{"category":"Devices","name":"device-ipad-star","tags":[],"variants":{"outline":"f8aa"}},"device-ipad-up":{"category":"Devices","name":"device-ipad-up","tags":[],"variants":{"outline":"f8ab"}},"device-ipad-x":{"category":"Devices","name":"device-ipad-x","tags":[],"variants":{"outline":"f8ac"}},"device-landline-phone":{"category":"Devices","name":"device-landline-phone","tags":["telephone","call","comunication","digital"],"variants":{"outline":"f649"}},"device-laptop":{"category":"Devices","name":"device-laptop","tags":["workstation","mac","notebook","portable","screen","computer"],"variants":{"outline":"eb64"}},"device-laptop-off":{"category":"Devices","name":"device-laptop-off","tags":["workstation","mac","notebook","portable","screen","computer"],"variants":{"outline":"f061"}},"device-mobile":{"category":"Devices","name":"device-mobile","tags":["iphone","phone","smartphone","cellphone"],"variants":{"filled":"fa39","outline":"ea8a"}},"device-mobile-bolt":{"category":"Devices","name":"device-mobile-bolt","tags":[],"variants":{"outline":"f8ad"}},"device-mobile-cancel":{"category":"Devices","name":"device-mobile-cancel","tags":[],"variants":{"outline":"f8ae"}},"device-mobile-charging":{"category":"Devices","name":"device-mobile-charging","tags":["battery","charge","wireless","cable"],"variants":{"outline":"f224"}},"device-mobile-check":{"category":"Devices","name":"device-mobile-check","tags":[],"variants":{"outline":"f8af"}},"device-mobile-code":{"category":"Devices","name":"device-mobile-code","tags":[],"variants":{"outline":"f8b0"}},"device-mobile-cog":{"category":"Devices","name":"device-mobile-cog","tags":[],"variants":{"outline":"f8b1"}},"device-mobile-dollar":{"category":"Devices","name":"device-mobile-dollar","tags":[],"variants":{"outline":"f8b2"}},"device-mobile-down":{"category":"Devices","name":"device-mobile-down","tags":[],"variants":{"outline":"f8b3"}},"device-mobile-exclamation":{"category":"Devices","name":"device-mobile-exclamation","tags":[],"variants":{"outline":"f8b4"}},"device-mobile-heart":{"category":"Devices","name":"device-mobile-heart","tags":[],"variants":{"outline":"f8b5"}},"device-mobile-message":{"category":"Devices","name":"device-mobile-message","tags":["iphone","phone","smartphone","cellphone","sms","texting","chat","text"],"variants":{"outline":"ee79"}},"device-mobile-minus":{"category":"Devices","name":"device-mobile-minus","tags":[],"variants":{"outline":"f8b6"}},"device-mobile-off":{"category":"Devices","name":"device-mobile-off","tags":["iphone","phone","smartphone","cellphone"],"variants":{"outline":"f062"}},"device-mobile-pause":{"category":"Devices","name":"device-mobile-pause","tags":[],"variants":{"outline":"f8b7"}},"device-mobile-pin":{"category":"Devices","name":"device-mobile-pin","tags":[],"variants":{"outline":"f8b8"}},"device-mobile-plus":{"category":"Devices","name":"device-mobile-plus","tags":[],"variants":{"outline":"f8b9"}},"device-mobile-question":{"category":"Devices","name":"device-mobile-question","tags":[],"variants":{"outline":"f8ba"}},"device-mobile-rotated":{"category":"Devices","name":"device-mobile-rotated","tags":["iphone","phone","smartphone","cellphone"],"variants":{"outline":"ecdb"}},"device-mobile-search":{"category":"Devices","name":"device-mobile-search","tags":[],"variants":{"outline":"f8bb"}},"device-mobile-share":{"category":"Devices","name":"device-mobile-share","tags":[],"variants":{"outline":"f8bc"}},"device-mobile-star":{"category":"Devices","name":"device-mobile-star","tags":[],"variants":{"outline":"f8bd"}},"device-mobile-up":{"category":"Devices","name":"device-mobile-up","tags":[],"variants":{"outline":"f8be"}},"device-mobile-vibration":{"category":"Devices","name":"device-mobile-vibration","tags":["iphone","phone","smartphone","cellphone"],"variants":{"outline":"eb86"}},"device-mobile-x":{"category":"Devices","name":"device-mobile-x","tags":[],"variants":{"outline":"f8bf"}},"device-nintendo":{"category":"Devices","name":"device-nintendo","tags":["gamepad","technology","game","console","controller"],"variants":{"outline":"f026"}},"device-nintendo-off":{"category":"Devices","name":"device-nintendo-off","tags":["gamepad","technology","game","console","controller"],"variants":{"outline":"f111"}},"device-projector":{"category":"","name":"device-projector","tags":[],"variants":{"outline":"fc11"}},"device-remote":{"category":"Devices","name":"device-remote","tags":["control","tv","home","television"],"variants":{"outline":"f792"}},"device-sd-card":{"category":"Devices","name":"device-sd-card","tags":["memory","storage","technology","data"],"variants":{"outline":"f384"}},"device-sim":{"category":"Devices","name":"device-sim","tags":["card","phone","mobile","smartphone"],"variants":{"outline":"f4b2"}},"device-sim-1":{"category":"Devices","name":"device-sim-1","tags":["card","phone","mobile","smartphone"],"variants":{"outline":"f4af"}},"device-sim-2":{"category":"Devices","name":"device-sim-2","tags":["card","phone","mobile","smartphone"],"variants":{"outline":"f4b0"}},"device-sim-3":{"category":"Devices","name":"device-sim-3","tags":["card","phone","mobile","smartphone"],"variants":{"outline":"f4b1"}},"device-speaker":{"category":"Devices","name":"device-speaker","tags":["sound","music","loud","audio","media"],"variants":{"outline":"ea8b"}},"device-speaker-off":{"category":"Devices","name":"device-speaker-off","tags":["sound","music","loud","audio","media"],"variants":{"outline":"f112"}},"device-tablet":{"category":"Devices","name":"device-tablet","tags":["ipad","mobile","touchscreen","portable"],"variants":{"filled":"fa3a","outline":"ea8c"}},"device-tablet-bolt":{"category":"Devices","name":"device-tablet-bolt","tags":[],"variants":{"outline":"f8c0"}},"device-tablet-cancel":{"category":"Devices","name":"device-tablet-cancel","tags":[],"variants":{"outline":"f8c1"}},"device-tablet-check":{"category":"Devices","name":"device-tablet-check","tags":[],"variants":{"outline":"f8c2"}},"device-tablet-code":{"category":"Devices","name":"device-tablet-code","tags":[],"variants":{"outline":"f8c3"}},"device-tablet-cog":{"category":"Devices","name":"device-tablet-cog","tags":[],"variants":{"outline":"f8c4"}},"device-tablet-dollar":{"category":"Devices","name":"device-tablet-dollar","tags":[],"variants":{"outline":"f8c5"}},"device-tablet-down":{"category":"Devices","name":"device-tablet-down","tags":[],"variants":{"outline":"f8c6"}},"device-tablet-exclamation":{"category":"Devices","name":"device-tablet-exclamation","tags":[],"variants":{"outline":"f8c7"}},"device-tablet-heart":{"category":"Devices","name":"device-tablet-heart","tags":[],"variants":{"outline":"f8c8"}},"device-tablet-minus":{"category":"Devices","name":"device-tablet-minus","tags":[],"variants":{"outline":"f8c9"}},"device-tablet-off":{"category":"Devices","name":"device-tablet-off","tags":["ipad","mobile","touchscreen","portable"],"variants":{"outline":"f063"}},"device-tablet-pause":{"category":"Devices","name":"device-tablet-pause","tags":[],"variants":{"outline":"f8ca"}},"device-tablet-pin":{"category":"Devices","name":"device-tablet-pin","tags":[],"variants":{"outline":"f8cb"}},"device-tablet-plus":{"category":"Devices","name":"device-tablet-plus","tags":[],"variants":{"outline":"f8cc"}},"device-tablet-question":{"category":"Devices","name":"device-tablet-question","tags":[],"variants":{"outline":"f8cd"}},"device-tablet-search":{"category":"Devices","name":"device-tablet-search","tags":[],"variants":{"outline":"f8ce"}},"device-tablet-share":{"category":"Devices","name":"device-tablet-share","tags":[],"variants":{"outline":"f8cf"}},"device-tablet-star":{"category":"Devices","name":"device-tablet-star","tags":[],"variants":{"outline":"f8d0"}},"device-tablet-up":{"category":"Devices","name":"device-tablet-up","tags":[],"variants":{"outline":"f8d1"}},"device-tablet-x":{"category":"Devices","name":"device-tablet-x","tags":[],"variants":{"outline":"f8d2"}},"device-tv":{"category":"Devices","name":"device-tv","tags":["screen","display","movie","film","watch","audio","video","media"],"variants":{"outline":"ea8d"}},"device-tv-off":{"category":"Devices","name":"device-tv-off","tags":["screen","display","movie","film","watch","audio","video","media"],"variants":{"outline":"f064"}},"device-tv-old":{"category":"Devices","name":"device-tv-old","tags":["film","watch","audio","video","media","retro","antenna"],"variants":{"outline":"f1d3"}},"device-unknown":{"category":"","name":"device-unknown","tags":[],"variants":{"outline":"fef4"}},"device-usb":{"category":"Devices","name":"device-usb","tags":[],"variants":{"outline":"fc59"}},"device-vision-pro":{"category":"Devices","name":"device-vision-pro","tags":[],"variants":{"outline":"fae7"}},"device-watch":{"category":"Devices","name":"device-watch","tags":["arm","hour","date","minutes","sec.","timer"],"variants":{"outline":"ebf9"}},"device-watch-bolt":{"category":"Devices","name":"device-watch-bolt","tags":[],"variants":{"outline":"f8d3"}},"device-watch-cancel":{"category":"Devices","name":"device-watch-cancel","tags":[],"variants":{"outline":"f8d4"}},"device-watch-check":{"category":"Devices","name":"device-watch-check","tags":[],"variants":{"outline":"f8d5"}},"device-watch-code":{"category":"Devices","name":"device-watch-code","tags":[],"variants":{"outline":"f8d6"}},"device-watch-cog":{"category":"Devices","name":"device-watch-cog","tags":[],"variants":{"outline":"f8d7"}},"device-watch-dollar":{"category":"Devices","name":"device-watch-dollar","tags":[],"variants":{"outline":"f8d8"}},"device-watch-down":{"category":"Devices","name":"device-watch-down","tags":[],"variants":{"outline":"f8d9"}},"device-watch-exclamation":{"category":"Devices","name":"device-watch-exclamation","tags":[],"variants":{"outline":"f8da"}},"device-watch-heart":{"category":"Devices","name":"device-watch-heart","tags":[],"variants":{"outline":"f8db"}},"device-watch-minus":{"category":"Devices","name":"device-watch-minus","tags":[],"variants":{"outline":"f8dc"}},"device-watch-off":{"category":"Devices","name":"device-watch-off","tags":["arm","hour","date","minutes","sec.","timer"],"variants":{"outline":"f065"}},"device-watch-pause":{"category":"Devices","name":"device-watch-pause","tags":[],"variants":{"outline":"f8dd"}},"device-watch-pin":{"category":"Devices","name":"device-watch-pin","tags":[],"variants":{"outline":"f8de"}},"device-watch-plus":{"category":"Devices","name":"device-watch-plus","tags":[],"variants":{"outline":"f8df"}},"device-watch-question":{"category":"Devices","name":"device-watch-question","tags":[],"variants":{"outline":"f8e0"}},"device-watch-search":{"category":"Devices","name":"device-watch-search","tags":[],"variants":{"outline":"f8e1"}},"device-watch-share":{"category":"Devices","name":"device-watch-share","tags":[],"variants":{"outline":"f8e2"}},"device-watch-star":{"category":"Devices","name":"device-watch-star","tags":[],"variants":{"outline":"f8e3"}},"device-watch-stats":{"category":"Devices","name":"device-watch-stats","tags":["steps","pulse","hour","date"],"variants":{"outline":"ef7d"}},"device-watch-stats-2":{"category":"Devices","name":"device-watch-stats-2","tags":["steps","pulse","hour","date"],"variants":{"outline":"ef7c"}},"device-watch-up":{"category":"Devices","name":"device-watch-up","tags":[],"variants":{"outline":"f8e4"}},"device-watch-x":{"category":"Devices","name":"device-watch-x","tags":[],"variants":{"outline":"f8e5"}},"devices":{"category":"Devices","name":"devices","tags":["computer","laptop","notebook","tablet","phone","mobile","mac","iphone"],"variants":{"outline":"eb87"}},"devices-2":{"category":"Devices","name":"devices-2","tags":["computer","monitor","keyboard"],"variants":{"outline":"ed29"}},"devices-bolt":{"category":"Devices","name":"devices-bolt","tags":[],"variants":{"outline":"f8e6"}},"devices-cancel":{"category":"Devices","name":"devices-cancel","tags":[],"variants":{"outline":"f8e7"}},"devices-check":{"category":"Devices","name":"devices-check","tags":[],"variants":{"outline":"f8e8"}},"devices-code":{"category":"Devices","name":"devices-code","tags":[],"variants":{"outline":"f8e9"}},"devices-cog":{"category":"Devices","name":"devices-cog","tags":[],"variants":{"outline":"f8ea"}},"devices-dollar":{"category":"Devices","name":"devices-dollar","tags":[],"variants":{"outline":"f8eb"}},"devices-down":{"category":"Devices","name":"devices-down","tags":[],"variants":{"outline":"f8ec"}},"devices-exclamation":{"category":"Devices","name":"devices-exclamation","tags":[],"variants":{"outline":"f8ed"}},"devices-heart":{"category":"Devices","name":"devices-heart","tags":[],"variants":{"outline":"f8ee"}},"devices-minus":{"category":"Devices","name":"devices-minus","tags":[],"variants":{"outline":"f8ef"}},"devices-off":{"category":"Devices","name":"devices-off","tags":["computer","laptop","notebook","tablet","phone","mobile","mac","iphone"],"variants":{"outline":"f3e4"}},"devices-pause":{"category":"Devices","name":"devices-pause","tags":[],"variants":{"outline":"f8f0"}},"devices-pc":{"category":"Devices","name":"devices-pc","tags":["computer","monitor","keyboard"],"variants":{"outline":"ee7a"}},"devices-pc-off":{"category":"Devices","name":"devices-pc-off","tags":["computer","monitor","keyboard"],"variants":{"outline":"f113"}},"devices-pin":{"category":"Devices","name":"devices-pin","tags":[],"variants":{"outline":"f8f1"}},"devices-plus":{"category":"Devices","name":"devices-plus","tags":[],"variants":{"outline":"f8f2"}},"devices-question":{"category":"Devices","name":"devices-question","tags":[],"variants":{"outline":"f8f3"}},"devices-search":{"category":"Devices","name":"devices-search","tags":[],"variants":{"outline":"f8f4"}},"devices-share":{"category":"Devices","name":"devices-share","tags":[],"variants":{"outline":"f8f5"}},"devices-star":{"category":"Devices","name":"devices-star","tags":[],"variants":{"outline":"f8f6"}},"devices-up":{"category":"Devices","name":"devices-up","tags":[],"variants":{"outline":"f8f7"}},"devices-x":{"category":"Devices","name":"devices-x","tags":[],"variants":{"outline":"f8f8"}},"diabolo":{"category":"Shapes","name":"diabolo","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fa9c"}},"diabolo-off":{"category":"Shapes","name":"diabolo-off","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fa9a"}},"diabolo-plus":{"category":"Shapes","name":"diabolo-plus","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fa9b"}},"dialpad":{"category":"Devices","name":"dialpad","tags":["keypad","telephone","phone","call","number"],"variants":{"filled":"fa3b","outline":"f067"}},"dialpad-off":{"category":"Devices","name":"dialpad-off","tags":["keypad","telephone","phone","call","number"],"variants":{"outline":"f114"}},"diamond":{"category":"","name":"diamond","tags":["jewellery","crystal","mineral","jewelry","ring"],"variants":{"filled":"f73d","outline":"eb65"}},"diamond-off":{"category":"","name":"diamond-off","tags":["jewellery","crystal","mineral","jewelry","ring"],"variants":{"outline":"f115"}},"diamonds":{"category":"Shapes","name":"diamonds","tags":["gambling","game","casino","cards","poker"],"variants":{"filled":"f676","outline":"eff5"}},"dice":{"category":"Games","name":"dice","tags":["game","boardgame","roll","throw","cube","numbers","gambling"],"variants":{"filled":"f744","outline":"eb66"}},"dice-1":{"category":"Games","name":"dice-1","tags":["game","boardgame","roll","throw","cube","numbers","gambling"],"variants":{"filled":"f73e","outline":"f08b"}},"dice-2":{"category":"Games","name":"dice-2","tags":["game","boardgame","roll","throw","cube","numbers","gambling"],"variants":{"filled":"f73f","outline":"f08c"}},"dice-3":{"category":"Games","name":"dice-3","tags":["game","boardgame","roll","throw","cube","numbers","gambling"],"variants":{"filled":"f740","outline":"f08d"}},"dice-4":{"category":"Games","name":"dice-4","tags":["game","boardgame","roll","throw","cube","numbers","gambling"],"variants":{"filled":"f741","outline":"f08e"}},"dice-5":{"category":"Games","name":"dice-5","tags":["game","boardgame","roll","throw","cube","numbers","gambling"],"variants":{"filled":"f742","outline":"f08f"}},"dice-6":{"category":"Games","name":"dice-6","tags":["game","boardgame","roll","throw","cube","numbers","gambling"],"variants":{"filled":"f743","outline":"f090"}},"dimensions":{"category":"Design","name":"dimensions","tags":["width","height","size","breadth","depth"],"variants":{"outline":"ee7b"}},"direction":{"category":"","name":"direction","tags":["travel","navigation discover"],"variants":{"outline":"ebfb"}},"direction-arrows":{"category":"","name":"direction-arrows","tags":["arrows","directional","navigate","wayfinding","pointing","route","orientation","arrow-sign","guidance","direction"],"variants":{"outline":"fd36"}},"direction-horizontal":{"category":"","name":"direction-horizontal","tags":["travel","navigation discover","plane"],"variants":{"outline":"ebfa"}},"direction-sign":{"category":"","name":"direction-sign","tags":["arrow","navigation","forward","right"],"variants":{"filled":"f745","outline":"f1f7"}},"direction-sign-off":{"category":"","name":"direction-sign-off","tags":["arrow","navigation","forward","right"],"variants":{"outline":"f3e5"}},"directions":{"category":"Map","name":"directions","tags":["travel","navigation","discover"],"variants":{"outline":"ea8e"}},"directions-off":{"category":"Map","name":"directions-off","tags":["travel","navigation","discover"],"variants":{"outline":"f116"}},"disabled":{"category":"Health","name":"disabled","tags":["wheelchair","handicapped"],"variants":{"outline":"ea8f"}},"disabled-2":{"category":"Health","name":"disabled-2","tags":["wheelchair","accessible","handicapped"],"variants":{"outline":"ebaf"}},"disabled-off":{"category":"Health","name":"disabled-off","tags":["wheelchair","handicapped"],"variants":{"outline":"f117"}},"disc":{"category":"Devices","name":"disc","tags":["cd","music","album"],"variants":{"outline":"ea90"}},"disc-golf":{"category":"Sport","name":"disc-golf","tags":["frisbee","throw","sport","activity"],"variants":{"outline":"f385"}},"disc-off":{"category":"Devices","name":"disc-off","tags":["cd","music","album"],"variants":{"outline":"f118"}},"discount":{"category":"E-commerce","name":"discount","tags":["sale","reduction","price","cost","money","shopping","bargain"],"variants":{"outline":"ebbd"}},"discount-off":{"category":"E-commerce","name":"discount-off","tags":["sale","reduction","price","cost","money","shopping","bargain"],"variants":{"outline":"f3e7"}},"divide":{"category":"Math","name":"divide","tags":["separate","element","multiple","apart","separator","parts"],"variants":{"outline":"ed5c"}},"dna":{"category":"Health","name":"dna","tags":["genetics","biology","chain","genetic","code","virus","organism"],"variants":{"outline":"ee7d"}},"dna-2":{"category":"Health","name":"dna-2","tags":["genetics","biology","chain","genetic","code","virus","organism"],"variants":{"outline":"ef5c"}},"dna-2-off":{"category":"Health","name":"dna-2-off","tags":["genetics","biology","chain","genetic","code","virus","organism"],"variants":{"outline":"f119"}},"dna-off":{"category":"Health","name":"dna-off","tags":["genetics","biology","chain","genetic","code","virus","organism"],"variants":{"outline":"f11a"}},"dog":{"category":"Animals","name":"dog","tags":["pet","animal","cute","bone","home","puppy"],"variants":{"outline":"f660"}},"dog-bowl":{"category":"Food","name":"dog-bowl","tags":["pet","food","animal","bone"],"variants":{"outline":"ef29"}},"door":{"category":"","name":"door","tags":["entrance","home","house","room"],"variants":{"outline":"ef4e"}},"door-enter":{"category":"","name":"door-enter","tags":["entrance","open","in","entry"],"variants":{"outline":"ef4c"}},"door-exit":{"category":"","name":"door-exit","tags":["out","close","leave"],"variants":{"outline":"ef4d"}},"door-off":{"category":"","name":"door-off","tags":["entrance","home","house","room"],"variants":{"outline":"f11b"}},"dots":{"category":"System","name":"dots","tags":["hellip","more","ellipsis"],"variants":{"outline":"ea95"}},"dots-circle-horizontal":{"category":"System","name":"dots-circle-horizontal","tags":["more","options"],"variants":{"outline":"ea91"}},"dots-diagonal":{"category":"System","name":"dots-diagonal","tags":["hellip","more","ellipsis"],"variants":{"outline":"ea93"}},"dots-diagonal-2":{"category":"System","name":"dots-diagonal-2","tags":["hellip","more","ellipsis"],"variants":{"outline":"ea92"}},"dots-vertical":{"category":"System","name":"dots-vertical","tags":["hellip","more","ellipsis"],"variants":{"outline":"ea94"}},"download":{"category":"Arrows","name":"download","tags":["save","arrow"],"variants":{"outline":"ea96"}},"download-off":{"category":"Arrows","name":"download-off","tags":["save","arrow"],"variants":{"outline":"f11c"}},"drag-drop":{"category":"Design","name":"drag-drop","tags":["location","gesture","move"],"variants":{"outline":"eb89"}},"drag-drop-2":{"category":"Design","name":"drag-drop-2","tags":["location","gesture","move"],"variants":{"outline":"eb88"}},"drone":{"category":"Vehicles","name":"drone","tags":["device","fly","aircraft","surveillance","control","autonomous"],"variants":{"outline":"ed79"}},"drone-off":{"category":"Vehicles","name":"drone-off","tags":["device","fly","aircraft","surveillance","control","autonomous"],"variants":{"outline":"ee7e"}},"drop-circle":{"category":"","name":"drop-circle","tags":["water","rain","droplet","oil"],"variants":{"outline":"efde"}},"droplet":{"category":"Design","name":"droplet","tags":["water","rain","liquid"],"variants":{"filled":"ee80","outline":"ea97"}},"droplet-bolt":{"category":"Design","name":"droplet-bolt","tags":[],"variants":{"outline":"f8f9"}},"droplet-cancel":{"category":"Design","name":"droplet-cancel","tags":[],"variants":{"outline":"f8fa"}},"droplet-check":{"category":"Design","name":"droplet-check","tags":[],"variants":{"outline":"f8fb"}},"droplet-code":{"category":"Design","name":"droplet-code","tags":[],"variants":{"outline":"f8fc"}},"droplet-cog":{"category":"Design","name":"droplet-cog","tags":[],"variants":{"outline":"f8fd"}},"droplet-dollar":{"category":"Design","name":"droplet-dollar","tags":[],"variants":{"outline":"f8fe"}},"droplet-down":{"category":"Design","name":"droplet-down","tags":[],"variants":{"outline":"f8ff"}},"droplet-exclamation":{"category":"Design","name":"droplet-exclamation","tags":[],"variants":{"outline":"f900"}},"droplet-half":{"category":"Design","name":"droplet-half","tags":["water","rain","liquid","fill"],"variants":{"filled":"f6c5","outline":"ee82"}},"droplet-half-2":{"category":"Design","name":"droplet-half-2","tags":["water","rain","liquid","fill"],"variants":{"filled":"fb6c","outline":"ee81"}},"droplet-heart":{"category":"Design","name":"droplet-heart","tags":[],"variants":{"outline":"f901"}},"droplet-minus":{"category":"Design","name":"droplet-minus","tags":[],"variants":{"outline":"f902"}},"droplet-off":{"category":"Design","name":"droplet-off","tags":["water","rain","liquid"],"variants":{"outline":"ee83"}},"droplet-pause":{"category":"Design","name":"droplet-pause","tags":[],"variants":{"outline":"f903"}},"droplet-pin":{"category":"Design","name":"droplet-pin","tags":[],"variants":{"outline":"f904"}},"droplet-plus":{"category":"Design","name":"droplet-plus","tags":[],"variants":{"outline":"f905"}},"droplet-question":{"category":"Design","name":"droplet-question","tags":[],"variants":{"outline":"f906"}},"droplet-search":{"category":"Design","name":"droplet-search","tags":[],"variants":{"outline":"f907"}},"droplet-share":{"category":"Design","name":"droplet-share","tags":[],"variants":{"outline":"f908"}},"droplet-star":{"category":"Design","name":"droplet-star","tags":[],"variants":{"outline":"f909"}},"droplet-up":{"category":"Design","name":"droplet-up","tags":[],"variants":{"outline":"f90a"}},"droplet-x":{"category":"Design","name":"droplet-x","tags":[],"variants":{"outline":"f90b"}},"droplets":{"category":"","name":"droplets","tags":[],"variants":{"outline":"fc12"}},"dual-screen":{"category":"Devices","name":"dual-screen","tags":[],"variants":{"outline":"fa59"}},"dumpling":{"category":"Food","name":"dumpling","tags":["food","chinese","asian","meal","snack","dough","meat","vegetable","steamed","boiled","fried","cuisine","traditional","delicious","tasty"],"variants":{"outline":"feb5"}},"e-passport":{"category":"E-commerce","name":"e-passport","tags":["id","online","mobile","app","travel"],"variants":{"outline":"f4df"}},"ear":{"category":"Health","name":"ear","tags":["sound","listen","music","hear","loud","speakers"],"variants":{"outline":"ebce"}},"ear-off":{"category":"Health","name":"ear-off","tags":["sound","listen","music","hear","loud","speakers"],"variants":{"outline":"ee84"}},"ear-scan":{"category":"","name":"ear-scan","tags":["ear","scan","audiology","hearing-test","ear-exam","medical","healthcare","ear-scan","diagnosis","hearing-health"],"variants":{"outline":"fd57"}},"ease-in":{"category":"Design","name":"ease-in","tags":["animation","graph","curve","function"],"variants":{"outline":"f573"}},"ease-in-control-point":{"category":"Design","name":"ease-in-control-point","tags":["animation","graph","curve","function"],"variants":{"outline":"f570"}},"ease-in-out":{"category":"Design","name":"ease-in-out","tags":["animation","graph","curve","function"],"variants":{"outline":"f572"}},"ease-in-out-control-points":{"category":"Design","name":"ease-in-out-control-points","tags":["animation","graph","curve","function"],"variants":{"outline":"f571"}},"ease-out":{"category":"Design","name":"ease-out","tags":["animation","graph","curve","function"],"variants":{"outline":"f575"}},"ease-out-control-point":{"category":"Design","name":"ease-out-control-point","tags":["animation","graph","curve","function"],"variants":{"outline":"f574"}},"edit":{"category":"Design","name":"edit","tags":["pencil","change","update"],"variants":{"outline":"ea98"}},"edit-circle":{"category":"Design","name":"edit-circle","tags":["pencil","change","update"],"variants":{"outline":"ee85"}},"edit-circle-off":{"category":"Design","name":"edit-circle-off","tags":["pencil","change","update"],"variants":{"outline":"f11d"}},"edit-off":{"category":"Design","name":"edit-off","tags":["pencil","change","update"],"variants":{"outline":"f11e"}},"egg":{"category":"Food","name":"egg","tags":["food","easter","chicken"],"variants":{"filled":"f678","outline":"eb8a"}},"egg-cracked":{"category":"Food","name":"egg-cracked","tags":["breaking","broken","food","breakfast"],"variants":{"outline":"f2d6"}},"egg-fried":{"category":"Food","name":"egg-fried","tags":["food","breakfast","cooking","kitchen"],"variants":{"outline":"f386"}},"egg-off":{"category":"Food","name":"egg-off","tags":["food","easter","chicken"],"variants":{"outline":"f11f"}},"eggs":{"category":"Food","name":"eggs","tags":["food","chicken","easter"],"variants":{"outline":"f500"}},"elevator":{"category":"","name":"elevator","tags":["hotel","up","down","service","door","lift"],"variants":{"outline":"efdf"}},"elevator-off":{"category":"","name":"elevator-off","tags":["hotel","up","down","service","door","lift"],"variants":{"outline":"f3e8"}},"emergency-bed":{"category":"Health","name":"emergency-bed","tags":["hospital","medical","patient","medicine"],"variants":{"outline":"ef5d"}},"empathize":{"category":"Health","name":"empathize","tags":["pepole","understund","thinking","care"],"variants":{"outline":"f29b"}},"empathize-off":{"category":"Health","name":"empathize-off","tags":["pepole","understund","thinking","care"],"variants":{"outline":"f3e9"}},"emphasis":{"category":"Text","name":"emphasis","tags":["highlight","priority","stress"],"variants":{"outline":"ebcf"}},"engine":{"category":"Vehicles","name":"engine","tags":["car","motor","automotive","dashboard"],"variants":{"outline":"ef7e"}},"engine-off":{"category":"Vehicles","name":"engine-off","tags":["car","motor","automotive","dashboard"],"variants":{"outline":"f120"}},"equal":{"category":"Math","name":"equal","tags":["maths","mathematics","equation","same","value"],"variants":{"outline":"ee87"}},"equal-double":{"category":"Math","name":"equal-double","tags":["coding","programming","code","sign"],"variants":{"outline":"f4e1"}},"equal-not":{"category":"Math","name":"equal-not","tags":["maths","mathematics","equation","different","value"],"variants":{"outline":"ee86"}},"eraser":{"category":"Text","name":"eraser","tags":["delete","remove","eliminate","wipe-out"],"variants":{"outline":"eb8b"}},"eraser-off":{"category":"Text","name":"eraser-off","tags":["delete","remove","eliminate","wipe-out"],"variants":{"outline":"f121"}},"error-404":{"category":"Computers","name":"error-404","tags":["web","page","not","found","message"],"variants":{"outline":"f027"}},"error-404-off":{"category":"Computers","name":"error-404-off","tags":["web","page","not","found","message"],"variants":{"outline":"f122"}},"escalator":{"category":"Map","name":"escalator","tags":[],"variants":{"outline":"fb06"}},"escalator-down":{"category":"Map","name":"escalator-down","tags":[],"variants":{"outline":"fb04"}},"escalator-up":{"category":"Map","name":"escalator-up","tags":[],"variants":{"outline":"fb05"}},"exchange":{"category":"","name":"exchange","tags":["cantor","money","product","student"],"variants":{"outline":"ebe7"}},"exchange-off":{"category":"","name":"exchange-off","tags":["cantor","money","product","student"],"variants":{"outline":"f123"}},"exclamation-circle":{"category":"","name":"exclamation-circle","tags":["warning","error","shape","caution","alert"],"variants":{"filled":"ff62","outline":"f634"}},"exclamation-mark":{"category":"","name":"exclamation-mark","tags":["warning","caution","alert","danger","!"],"variants":{"outline":"efb4"}},"exclamation-mark-off":{"category":"","name":"exclamation-mark-off","tags":["warning","caution","alert","danger","!"],"variants":{"outline":"f124"}},"explicit":{"category":"","name":"explicit","tags":["adult","content","xxx","curse","words","porn"],"variants":{"outline":"f256"}},"explicit-off":{"category":"","name":"explicit-off","tags":["adult","content","xxx","curse","words","porn"],"variants":{"outline":"f3ea"}},"exposure":{"category":"Photography","name":"exposure","tags":["light","bright","dark","camera"],"variants":{"outline":"eb8c"}},"exposure-0":{"category":"Photography","name":"exposure-0","tags":["digit","math","number","evaluation"],"variants":{"outline":"f29c"}},"exposure-minus-1":{"category":"Photography","name":"exposure-minus-1","tags":["digit","math","number","evaluation"],"variants":{"outline":"f29d"}},"exposure-minus-2":{"category":"Photography","name":"exposure-minus-2","tags":["digit","math","number","evaluation"],"variants":{"outline":"f29e"}},"exposure-off":{"category":"Photography","name":"exposure-off","tags":["light","bright","dark","camera"],"variants":{"outline":"f3eb"}},"exposure-plus-1":{"category":"Photography","name":"exposure-plus-1","tags":["digit","math","number","evaluation"],"variants":{"outline":"f29f"}},"exposure-plus-2":{"category":"Photography","name":"exposure-plus-2","tags":["digit","math","number","evaluation"],"variants":{"outline":"f2a0"}},"external-link":{"category":"System","name":"external-link","tags":["connection","outbound","redirect"],"variants":{"outline":"ea99"}},"external-link-off":{"category":"System","name":"external-link-off","tags":["connection","outbound","redirect"],"variants":{"outline":"f125"}},"eye":{"category":"System","name":"eye","tags":["view","watch"],"variants":{"filled":"f679","outline":"ea9a"}},"eye-bitcoin":{"category":"","name":"eye-bitcoin","tags":[],"variants":{"outline":"ff3d"}},"eye-bolt":{"category":"","name":"eye-bolt","tags":[],"variants":{"outline":"fb6d"}},"eye-cancel":{"category":"","name":"eye-cancel","tags":[],"variants":{"outline":"fb6e"}},"eye-check":{"category":"System","name":"eye-check","tags":["sight","visual","view","public","approve"],"variants":{"outline":"ee88"}},"eye-closed":{"category":"System","name":"eye-closed","tags":[],"variants":{"outline":"f7ec"}},"eye-code":{"category":"","name":"eye-code","tags":[],"variants":{"outline":"fb6f"}},"eye-cog":{"category":"System","name":"eye-cog","tags":[],"variants":{"outline":"f7ed"}},"eye-discount":{"category":"","name":"eye-discount","tags":[],"variants":{"outline":"fb70"}},"eye-dollar":{"category":"","name":"eye-dollar","tags":[],"variants":{"outline":"fb71"}},"eye-dotted":{"category":"","name":"eye-dotted","tags":[],"variants":{"outline":"fead"}},"eye-down":{"category":"","name":"eye-down","tags":[],"variants":{"outline":"fb72"}},"eye-edit":{"category":"System","name":"eye-edit","tags":[],"variants":{"outline":"f7ee"}},"eye-exclamation":{"category":"System","name":"eye-exclamation","tags":[],"variants":{"outline":"f7ef"}},"eye-heart":{"category":"System","name":"eye-heart","tags":[],"variants":{"outline":"f7f0"}},"eye-minus":{"category":"","name":"eye-minus","tags":[],"variants":{"outline":"fb73"}},"eye-off":{"category":"System","name":"eye-off","tags":["view","watch"],"variants":{"outline":"ecf0"}},"eye-pause":{"category":"","name":"eye-pause","tags":[],"variants":{"outline":"fb74"}},"eye-pin":{"category":"","name":"eye-pin","tags":[],"variants":{"outline":"fb75"}},"eye-plus":{"category":"","name":"eye-plus","tags":[],"variants":{"outline":"fb76"}},"eye-question":{"category":"","name":"eye-question","tags":[],"variants":{"outline":"fb77"}},"eye-search":{"category":"","name":"eye-search","tags":[],"variants":{"outline":"fb78"}},"eye-share":{"category":"","name":"eye-share","tags":[],"variants":{"outline":"fb79"}},"eye-star":{"category":"","name":"eye-star","tags":[],"variants":{"outline":"fb7a"}},"eye-table":{"category":"Health","name":"eye-table","tags":["vision","sight","text","ophthalmology","disease"],"variants":{"outline":"ef5e"}},"eye-up":{"category":"","name":"eye-up","tags":[],"variants":{"outline":"fb7b"}},"eye-x":{"category":"System","name":"eye-x","tags":[],"variants":{"outline":"f7f1"}},"eyeglass":{"category":"Health","name":"eyeglass","tags":["sight","defect","see","vision","frames","lenses","visually","impaired","myopia","far-sighted"],"variants":{"outline":"ee8a"}},"eyeglass-2":{"category":"Health","name":"eyeglass-2","tags":["sight","defect","see","vision","frames","lenses","visually","impaired","myopia","far-sighted"],"variants":{"outline":"ee89"}},"eyeglass-off":{"category":"Health","name":"eyeglass-off","tags":["sight","defect","see","vision","frames","lenses","visually","impaired","myopia","far-sighted"],"variants":{"outline":"f126"}},"face-id":{"category":"","name":"face-id","tags":["apple","iphone","ipad"],"variants":{"outline":"ea9b"}},"face-id-error":{"category":"","name":"face-id-error","tags":["scan","apple","iphone","ipad"],"variants":{"outline":"efa7"}},"face-mask":{"category":"Health","name":"face-mask","tags":["coronavirus","virus","medical","hospital","doctor"],"variants":{"outline":"efb5"}},"face-mask-off":{"category":"Health","name":"face-mask-off","tags":["coronavirus","virus","medical","hospital","doctor"],"variants":{"outline":"f127"}},"fall":{"category":"Health","name":"fall","tags":["collapse","damage","cliff","height"],"variants":{"outline":"ecb9"}},"favicon":{"category":"Design","name":"favicon","tags":[],"variants":{"outline":"fd65"}},"feather":{"category":"Nature","name":"feather","tags":["bird","animal","nature"],"variants":{"outline":"ee8b"}},"feather-off":{"category":"Nature","name":"feather-off","tags":["bird","animal","nature"],"variants":{"outline":"f128"}},"fence":{"category":"Buildings","name":"fence","tags":["garden","home","house","farm","wood","barrier"],"variants":{"outline":"ef2a"}},"fence-off":{"category":"Buildings","name":"fence-off","tags":["garden","home","house","farm","wood","barrier"],"variants":{"outline":"f129"}},"fidget-spinner":{"category":"","name":"fidget-spinner","tags":["toy","spinning","gadget","kids","children","loader","loading"],"variants":{"outline":"f068"}},"file":{"category":"Document","name":"file","tags":["paper","new"],"variants":{"filled":"f747","outline":"eaa4"}},"file-3d":{"category":"Document","name":"file-3d","tags":["model","document"],"variants":{"outline":"f032"}},"file-alert":{"category":"Document","name":"file-alert","tags":["danger","risk","warning","check","caution","document","error"],"variants":{"outline":"ede6"}},"file-analytics":{"category":"Document","name":"file-analytics","tags":["data","statistics","report","chart","document","paper"],"variants":{"outline":"ede7"}},"file-arrow-left":{"category":"Document","name":"file-arrow-left","tags":["document","import","page","move"],"variants":{"outline":"f033"}},"file-arrow-right":{"category":"Document","name":"file-arrow-right","tags":["document","export","page","move"],"variants":{"outline":"f034"}},"file-barcode":{"category":"Document","name":"file-barcode","tags":["document","code","qr","ticket","scan"],"variants":{"outline":"f035"}},"file-broken":{"category":"Document","name":"file-broken","tags":["document","error","demaged","delete"],"variants":{"outline":"f501"}},"file-certificate":{"category":"Document","name":"file-certificate","tags":["certificate","license","diploma","document","format","data","paper"],"variants":{"outline":"ed4d"}},"file-chart":{"category":"Document","name":"file-chart","tags":["data","graph","analytics"],"variants":{"outline":"f036"}},"file-check":{"category":"Document","name":"file-check","tags":["list","document","accept","done","tick","checkmark"],"variants":{"outline":"ea9c"}},"file-code":{"category":"Document","name":"file-code","tags":["paper","new"],"variants":{"outline":"ebd0"}},"file-code-2":{"category":"Document","name":"file-code-2","tags":["programming","document","developer","technology"],"variants":{"outline":"ede8"}},"file-cv":{"category":"Document","name":"file-cv","tags":[],"variants":{"outline":"fa5a"}},"file-database":{"category":"Document","name":"file-database","tags":["data","storage","folder","format","server"],"variants":{"outline":"f037"}},"file-delta":{"category":"Document","name":"file-delta","tags":["data","document","extension","paper"],"variants":{"outline":"f53d"}},"file-description":{"category":"Document","name":"file-description","tags":["text","paper","report","details","job"],"variants":{"outline":"f028"}},"file-diff":{"category":"Document","name":"file-diff","tags":["add","create","new"],"variants":{"outline":"ecf1"}},"file-digit":{"category":"Document","name":"file-digit","tags":["boolean","binary","exe"],"variants":{"outline":"efa8"}},"file-dislike":{"category":"Document","name":"file-dislike","tags":["rejected","document"],"variants":{"outline":"ed2a"}},"file-dollar":{"category":"Document","name":"file-dollar","tags":["money","finance","invoice"],"variants":{"outline":"efe0"}},"file-dots":{"category":"Document","name":"file-dots","tags":["more","menu","info"],"variants":{"outline":"f038"}},"file-download":{"category":"Document","name":"file-download","tags":["save","transfer","input"],"variants":{"outline":"ea9d"}},"file-euro":{"category":"Document","name":"file-euro","tags":["money","finance","buisness"],"variants":{"outline":"efe1"}},"file-excel":{"category":"","name":"file-excel","tags":[],"variants":{"outline":"fef3"}},"file-export":{"category":"Document","name":"file-export","tags":["arrow","data","paper","document","format"],"variants":{"outline":"ede9"}},"file-function":{"category":"Document","name":"file-function","tags":["data","document","extension","paper"],"variants":{"outline":"f53e"}},"file-horizontal":{"category":"Document","name":"file-horizontal","tags":["paper","new"],"variants":{"outline":"ebb0"}},"file-import":{"category":"Document","name":"file-import","tags":["arrow","data","paper","document","format"],"variants":{"outline":"edea"}},"file-infinity":{"category":"Document","name":"file-infinity","tags":["document","eternity","sync","loop"],"variants":{"outline":"f502"}},"file-info":{"category":"Document","name":"file-info","tags":["info","information","informations","paper","file","document","page"],"variants":{"outline":"edec"}},"file-invoice":{"category":"Document","name":"file-invoice","tags":["accounting","bill","statement","settlement","finance"],"variants":{"outline":"eb67"}},"file-isr":{"category":"Document","name":"file-isr","tags":[],"variants":{"outline":"feac"}},"file-lambda":{"category":"Document","name":"file-lambda","tags":["data","document","extension","paper"],"variants":{"outline":"f53f"}},"file-like":{"category":"Document","name":"file-like","tags":["approved","document"],"variants":{"outline":"ed2b"}},"file-minus":{"category":"Document","name":"file-minus","tags":["remove","delete"],"variants":{"outline":"ea9e"}},"file-music":{"category":"Document","name":"file-music","tags":["mp3","wma","wav"],"variants":{"outline":"ea9f"}},"file-neutral":{"category":"","name":"file-neutral","tags":[],"variants":{"outline":"fd22"}},"file-off":{"category":"Document","name":"file-off","tags":["paper","new"],"variants":{"outline":"ecf2"}},"file-orientation":{"category":"Document","name":"file-orientation","tags":["document","arrow","change","modify","page"],"variants":{"outline":"f2a1"}},"file-pencil":{"category":"Document","name":"file-pencil","tags":["edit","write","editing","text"],"variants":{"outline":"f039"}},"file-percent":{"category":"Document","name":"file-percent","tags":["data","document","extension","paper"],"variants":{"outline":"f540"}},"file-phone":{"category":"Document","name":"file-phone","tags":["save","transfer","input"],"variants":{"outline":"ecdc"}},"file-plus":{"category":"Document","name":"file-plus","tags":["add","create","new"],"variants":{"outline":"eaa0"}},"file-power":{"category":"Document","name":"file-power","tags":["archive","energy","battery","ecology"],"variants":{"outline":"f03a"}},"file-report":{"category":"Document","name":"file-report","tags":["stats","data","paper","document","chart","format"],"variants":{"outline":"eded"}},"file-rss":{"category":"Document","name":"file-rss","tags":["extension","format","news"],"variants":{"outline":"f03b"}},"file-sad":{"category":"","name":"file-sad","tags":[],"variants":{"outline":"fd23"}},"file-scissors":{"category":"Document","name":"file-scissors","tags":["cut","cutting","tool","cutter","office"],"variants":{"outline":"f03c"}},"file-search":{"category":"Document","name":"file-search","tags":["search","data","paper","document","format"],"variants":{"outline":"ed5d"}},"file-settings":{"category":"Document","name":"file-settings","tags":["edit","options","configuration","control"],"variants":{"outline":"f029"}},"file-shredder":{"category":"Document","name":"file-shredder","tags":["shred","destroy","cut"],"variants":{"outline":"eaa1"}},"file-signal":{"category":"Document","name":"file-signal","tags":["wi-fi","connection","internet","online","connected"],"variants":{"outline":"f03d"}},"file-smile":{"category":"","name":"file-smile","tags":[],"variants":{"outline":"fd24"}},"file-spreadsheet":{"category":"Document","name":"file-spreadsheet","tags":["table","extension","excel","format"],"variants":{"outline":"f03e"}},"file-stack":{"category":"Document","name":"file-stack","tags":["document","duplicate","data","add"],"variants":{"outline":"f503"}},"file-star":{"category":"Document","name":"file-star","tags":["favourite","bookmark","like"],"variants":{"outline":"f03f"}},"file-symlink":{"category":"Document","name":"file-symlink","tags":["text","format","extension","document"],"variants":{"outline":"ed53"}},"file-text":{"category":"Document","name":"file-text","tags":["data","pdf","txt"],"variants":{"outline":"eaa2"}},"file-text-ai":{"category":"Document","name":"file-text-ai","tags":[],"variants":{"outline":"fa27"}},"file-time":{"category":"Document","name":"file-time","tags":["clock","planning","history","watch"],"variants":{"outline":"f040"}},"file-type-bmp":{"category":"Document","name":"file-type-bmp","tags":[],"variants":{"outline":"fb07"}},"file-type-css":{"category":"Document","name":"file-type-css","tags":[],"variants":{"outline":"fb08"}},"file-type-csv":{"category":"Document","name":"file-type-csv","tags":[],"variants":{"outline":"fb09"}},"file-type-doc":{"category":"Document","name":"file-type-doc","tags":[],"variants":{"outline":"fb0a"}},"file-type-docx":{"category":"Document","name":"file-type-docx","tags":[],"variants":{"outline":"fb0b"}},"file-type-html":{"category":"Document","name":"file-type-html","tags":[],"variants":{"outline":"fb0c"}},"file-type-jpg":{"category":"Document","name":"file-type-jpg","tags":[],"variants":{"outline":"fb0d"}},"file-type-js":{"category":"Document","name":"file-type-js","tags":[],"variants":{"outline":"fb0e"}},"file-type-jsx":{"category":"Document","name":"file-type-jsx","tags":[],"variants":{"outline":"fb0f"}},"file-type-pdf":{"category":"Document","name":"file-type-pdf","tags":[],"variants":{"outline":"fb10"}},"file-type-php":{"category":"Document","name":"file-type-php","tags":[],"variants":{"outline":"fb11"}},"file-type-png":{"category":"Document","name":"file-type-png","tags":[],"variants":{"outline":"fb12"}},"file-type-ppt":{"category":"Document","name":"file-type-ppt","tags":[],"variants":{"outline":"fb13"}},"file-type-rs":{"category":"Document","name":"file-type-rs","tags":[],"variants":{"outline":"fb14"}},"file-type-sql":{"category":"Document","name":"file-type-sql","tags":[],"variants":{"outline":"fb15"}},"file-type-svg":{"category":"Document","name":"file-type-svg","tags":[],"variants":{"outline":"fb16"}},"file-type-ts":{"category":"Document","name":"file-type-ts","tags":[],"variants":{"outline":"fb17"}},"file-type-tsx":{"category":"Document","name":"file-type-tsx","tags":[],"variants":{"outline":"fb18"}},"file-type-txt":{"category":"Document","name":"file-type-txt","tags":[],"variants":{"outline":"fb19"}},"file-type-vue":{"category":"Document","name":"file-type-vue","tags":[],"variants":{"outline":"fb1a"}},"file-type-xls":{"category":"Document","name":"file-type-xls","tags":[],"variants":{"outline":"fb1b"}},"file-type-xml":{"category":"Document","name":"file-type-xml","tags":[],"variants":{"outline":"fb1c"}},"file-type-zip":{"category":"Document","name":"file-type-zip","tags":[],"variants":{"outline":"fb1d"}},"file-typography":{"category":"Document","name":"file-typography","tags":["font","text","format","type","size"],"variants":{"outline":"f041"}},"file-unknown":{"category":"Document","name":"file-unknown","tags":["missing","unidentified","anonymous"],"variants":{"outline":"f042"}},"file-upload":{"category":"Document","name":"file-upload","tags":["save","transfer","input"],"variants":{"outline":"ec91"}},"file-vector":{"category":"Document","name":"file-vector","tags":["graphic","eps","format","svg"],"variants":{"outline":"f043"}},"file-word":{"category":"","name":"file-word","tags":[],"variants":{"outline":"fef2"}},"file-x":{"category":"Document","name":"file-x","tags":["remove","delete","erase"],"variants":{"filled":"f748","outline":"eaa3"}},"file-zip":{"category":"Document","name":"file-zip","tags":["forms","documents","stack","letter","archive","rar","zipped","extention","bundle","format"],"variants":{"outline":"ed4e"}},"files":{"category":"Document","name":"files","tags":["forms","documents","stack","letter"],"variants":{"outline":"edef"}},"files-off":{"category":"Document","name":"files-off","tags":["forms","documents","stack","letter"],"variants":{"outline":"edee"}},"filter":{"category":"System","name":"filter","tags":["funnel","hopper","filtration"],"variants":{"filled":"fc27","outline":"eaa5"}},"filter-bolt":{"category":"","name":"filter-bolt","tags":[],"variants":{"outline":"fb7c"}},"filter-cancel":{"category":"","name":"filter-cancel","tags":[],"variants":{"outline":"fb7d"}},"filter-check":{"category":"","name":"filter-check","tags":[],"variants":{"outline":"fb7e"}},"filter-code":{"category":"","name":"filter-code","tags":[],"variants":{"outline":"fb7f"}},"filter-cog":{"category":"System","name":"filter-cog","tags":[],"variants":{"outline":"f9fe"}},"filter-discount":{"category":"","name":"filter-discount","tags":[],"variants":{"outline":"fb80"}},"filter-dollar":{"category":"System","name":"filter-dollar","tags":[],"variants":{"outline":"f9ff"}},"filter-down":{"category":"","name":"filter-down","tags":[],"variants":{"outline":"fb81"}},"filter-edit":{"category":"System","name":"filter-edit","tags":[],"variants":{"outline":"fa00"}},"filter-exclamation":{"category":"","name":"filter-exclamation","tags":[],"variants":{"outline":"fb82"}},"filter-heart":{"category":"","name":"filter-heart","tags":[],"variants":{"outline":"fb83"}},"filter-minus":{"category":"System","name":"filter-minus","tags":[],"variants":{"outline":"fa01"}},"filter-off":{"category":"System","name":"filter-off","tags":["funnel","hopper","filtration"],"variants":{"outline":"ed2c"}},"filter-pause":{"category":"","name":"filter-pause","tags":[],"variants":{"outline":"fb84"}},"filter-pin":{"category":"","name":"filter-pin","tags":[],"variants":{"outline":"fb85"}},"filter-plus":{"category":"System","name":"filter-plus","tags":[],"variants":{"outline":"fa02"}},"filter-question":{"category":"","name":"filter-question","tags":[],"variants":{"outline":"fb86"}},"filter-search":{"category":"","name":"filter-search","tags":[],"variants":{"outline":"fb87"}},"filter-share":{"category":"","name":"filter-share","tags":[],"variants":{"outline":"fb88"}},"filter-star":{"category":"System","name":"filter-star","tags":[],"variants":{"outline":"fa03"}},"filter-up":{"category":"","name":"filter-up","tags":[],"variants":{"outline":"fb89"}},"filter-x":{"category":"System","name":"filter-x","tags":[],"variants":{"outline":"fa04"}},"filters":{"category":"","name":"filters","tags":["design","editing","effects"],"variants":{"outline":"f793"}},"fingerprint":{"category":"System","name":"fingerprint","tags":["indentify","mark","surface","security","access"],"variants":{"outline":"ebd1"}},"fingerprint-off":{"category":"System","name":"fingerprint-off","tags":["indentify","mark","surface","security","access"],"variants":{"outline":"f12a"}},"fingerprint-scan":{"category":"","name":"fingerprint-scan","tags":[],"variants":{"outline":"fcb5"}},"fire-extinguisher":{"category":"","name":"fire-extinguisher","tags":[],"variants":{"outline":"faf6"}},"fire-hydrant":{"category":"Map","name":"fire-hydrant","tags":["water","emergency","fireman","safety","urban"],"variants":{"outline":"f3a9"}},"fire-hydrant-off":{"category":"Map","name":"fire-hydrant-off","tags":["water","emergency","fireman","safety","urban"],"variants":{"outline":"f3ec"}},"firetruck":{"category":"Vehicles","name":"firetruck","tags":["help","rescuer","vehicle","fireman","extinguishing"],"variants":{"outline":"ebe8"}},"first-aid-kit":{"category":"Health","name":"first-aid-kit","tags":["medical","healthcare","hospital","health"],"variants":{"outline":"ef5f"}},"first-aid-kit-off":{"category":"Health","name":"first-aid-kit-off","tags":["medical","healthcare","hospital","health"],"variants":{"outline":"f3ed"}},"fish":{"category":"Animals","name":"fish","tags":["food","sea","animal","fishing","ocean","sushi"],"variants":{"outline":"ef2b"}},"fish-bone":{"category":"Animals","name":"fish-bone","tags":["food","skeleton","cat","sea"],"variants":{"outline":"f287"}},"fish-christianity":{"category":"Symbols","name":"fish-christianity","tags":["religion","jesus","faith","christian"],"variants":{"outline":"f58b"}},"fish-hook":{"category":"","name":"fish-hook","tags":["fishing","bait","hanging","catch","water"],"variants":{"outline":"f1f9"}},"fish-hook-off":{"category":"","name":"fish-hook-off","tags":["fishing","bait","hanging","catch","water"],"variants":{"outline":"f3ee"}},"fish-off":{"category":"Animals","name":"fish-off","tags":["food","sea","animal","fishing","ocean","sushi"],"variants":{"outline":"f12b"}},"flag":{"category":"Map","name":"flag","tags":["banner","pin","report","map","warning","alert"],"variants":{"filled":"f67a","outline":"eaa6"}},"flag-2":{"category":"Map","name":"flag-2","tags":["banner","pin","report","map","warning","alert"],"variants":{"filled":"f707","outline":"ee8c"}},"flag-2-off":{"category":"Map","name":"flag-2-off","tags":["banner","pin","report","map","warning","alert"],"variants":{"outline":"f12c"}},"flag-3":{"category":"Map","name":"flag-3","tags":["banner","pin","report","map","warning","alert"],"variants":{"filled":"f708","outline":"ee8d"}},"flag-bitcoin":{"category":"","name":"flag-bitcoin","tags":[],"variants":{"outline":"ff3c"}},"flag-bolt":{"category":"","name":"flag-bolt","tags":[],"variants":{"outline":"fb8a"}},"flag-cancel":{"category":"","name":"flag-cancel","tags":[],"variants":{"outline":"fb8b"}},"flag-check":{"category":"","name":"flag-check","tags":[],"variants":{"outline":"fb8c"}},"flag-code":{"category":"","name":"flag-code","tags":[],"variants":{"outline":"fb8d"}},"flag-cog":{"category":"","name":"flag-cog","tags":[],"variants":{"outline":"fb8e"}},"flag-discount":{"category":"","name":"flag-discount","tags":[],"variants":{"outline":"fb8f"}},"flag-dollar":{"category":"","name":"flag-dollar","tags":[],"variants":{"outline":"fb90"}},"flag-down":{"category":"","name":"flag-down","tags":[],"variants":{"outline":"fb91"}},"flag-exclamation":{"category":"","name":"flag-exclamation","tags":[],"variants":{"outline":"fb92"}},"flag-heart":{"category":"","name":"flag-heart","tags":[],"variants":{"outline":"fb93"}},"flag-minus":{"category":"","name":"flag-minus","tags":[],"variants":{"outline":"fb94"}},"flag-off":{"category":"Map","name":"flag-off","tags":["banner","pin","report","map","warning","alert"],"variants":{"outline":"f12d"}},"flag-pause":{"category":"","name":"flag-pause","tags":[],"variants":{"outline":"fb95"}},"flag-pin":{"category":"","name":"flag-pin","tags":[],"variants":{"outline":"fb96"}},"flag-plus":{"category":"","name":"flag-plus","tags":[],"variants":{"outline":"fb97"}},"flag-question":{"category":"","name":"flag-question","tags":[],"variants":{"outline":"fb98"}},"flag-search":{"category":"","name":"flag-search","tags":[],"variants":{"outline":"fb99"}},"flag-share":{"category":"","name":"flag-share","tags":[],"variants":{"outline":"fb9a"}},"flag-star":{"category":"","name":"flag-star","tags":[],"variants":{"outline":"fb9b"}},"flag-up":{"category":"","name":"flag-up","tags":[],"variants":{"outline":"fb9c"}},"flag-x":{"category":"","name":"flag-x","tags":[],"variants":{"outline":"fb9d"}},"flame":{"category":"","name":"flame","tags":["fire","fireplace","light","burn","bonfire","smoke","barbecue"],"variants":{"outline":"ec2c"}},"flame-off":{"category":"","name":"flame-off","tags":["fire","fireplace","light","burn","bonfire","smoke","barbecue"],"variants":{"outline":"f12e"}},"flare":{"category":"Weather","name":"flare","tags":["shine","flare","heat","sunlight","hot","sun"],"variants":{"outline":"ee8e"}},"flask":{"category":"Health","name":"flask","tags":["liquid","container","glass","chemistry","test","laboratory","experimental","beta"],"variants":{"filled":"fd13","outline":"ebd2"}},"flask-2":{"category":"Health","name":"flask-2","tags":["liquid","container","glass","chemistry","test","laboratory","experimental","beta"],"variants":{"filled":"fd12","outline":"ef60"}},"flask-2-off":{"category":"Health","name":"flask-2-off","tags":["liquid","container","glass","chemistry","test","laboratory","experimental","beta"],"variants":{"outline":"f12f"}},"flask-off":{"category":"Health","name":"flask-off","tags":["liquid","container","glass","chemistry"],"variants":{"outline":"f130"}},"flip-flops":{"category":"","name":"flip-flops","tags":["summer","sand","sandals","beach","shoes"],"variants":{"outline":"f564"}},"flip-horizontal":{"category":"Design","name":"flip-horizontal","tags":["mirror","rotate"],"variants":{"outline":"eaa7"}},"flip-vertical":{"category":"Design","name":"flip-vertical","tags":["mirror","rotate"],"variants":{"outline":"eaa8"}},"float-center":{"category":"Text","name":"float-center","tags":["position"],"variants":{"outline":"ebb1"}},"float-left":{"category":"Text","name":"float-left","tags":["position"],"variants":{"outline":"ebb2"}},"float-none":{"category":"Text","name":"float-none","tags":["position"],"variants":{"outline":"ed13"}},"float-right":{"category":"Text","name":"float-right","tags":["position"],"variants":{"outline":"ebb3"}},"flower":{"category":"Nature","name":"flower","tags":["plant","garden","rose","lotus"],"variants":{"outline":"eff6"}},"flower-off":{"category":"Nature","name":"flower-off","tags":["plant","garden","rose","lotus"],"variants":{"outline":"f131"}},"focus":{"category":"Photography","name":"focus","tags":["target","bullseye","aim"],"variants":{"outline":"eb8d"}},"focus-2":{"category":"Photography","name":"focus-2","tags":["spotlight","attention","center","aim","target"],"variants":{"outline":"ebd3"}},"focus-auto":{"category":"Photography","name":"focus-auto","tags":[],"variants":{"outline":"fa62"}},"focus-centered":{"category":"","name":"focus-centered","tags":["filter","photo","photography","camera","image"],"variants":{"outline":"f02a"}},"fold":{"category":"Arrows","name":"fold","tags":["arrow","move","merge"],"variants":{"outline":"ed56"}},"fold-down":{"category":"Arrows","name":"fold-down","tags":["arrow","move","toggle"],"variants":{"outline":"ed54"}},"fold-up":{"category":"Arrows","name":"fold-up","tags":["arrow","move","toggle"],"variants":{"outline":"ed55"}},"folder":{"category":"Document","name":"folder","tags":["cancel","no","directory","dir"],"variants":{"filled":"f749","outline":"eaad"}},"folder-bolt":{"category":"Document","name":"folder-bolt","tags":[],"variants":{"outline":"f90c"}},"folder-cancel":{"category":"Document","name":"folder-cancel","tags":[],"variants":{"outline":"f90d"}},"folder-check":{"category":"Document","name":"folder-check","tags":[],"variants":{"outline":"f90e"}},"folder-code":{"category":"Document","name":"folder-code","tags":[],"variants":{"outline":"f90f"}},"folder-cog":{"category":"Document","name":"folder-cog","tags":[],"variants":{"outline":"f910"}},"folder-dollar":{"category":"Document","name":"folder-dollar","tags":[],"variants":{"outline":"f911"}},"folder-down":{"category":"Document","name":"folder-down","tags":[],"variants":{"outline":"f912"}},"folder-exclamation":{"category":"Document","name":"folder-exclamation","tags":[],"variants":{"outline":"f913"}},"folder-heart":{"category":"Document","name":"folder-heart","tags":[],"variants":{"outline":"f914"}},"folder-minus":{"category":"Document","name":"folder-minus","tags":["directory","dir"],"variants":{"outline":"eaaa"}},"folder-off":{"category":"Document","name":"folder-off","tags":["cancel","no","directory","dir"],"variants":{"outline":"ed14"}},"folder-open":{"category":"","name":"folder-open","tags":[],"variants":{"outline":"faf7"}},"folder-pause":{"category":"Document","name":"folder-pause","tags":[],"variants":{"outline":"f915"}},"folder-pin":{"category":"Document","name":"folder-pin","tags":[],"variants":{"outline":"f916"}},"folder-plus":{"category":"Document","name":"folder-plus","tags":["add","create","new","directory","dir"],"variants":{"outline":"eaab"}},"folder-question":{"category":"Document","name":"folder-question","tags":[],"variants":{"outline":"f917"}},"folder-root":{"category":"","name":"folder-root","tags":[],"variants":{"outline":"fd43"}},"folder-search":{"category":"Document","name":"folder-search","tags":[],"variants":{"outline":"f918"}},"folder-share":{"category":"Document","name":"folder-share","tags":[],"variants":{"outline":"f919"}},"folder-star":{"category":"Document","name":"folder-star","tags":[],"variants":{"outline":"f91a"}},"folder-symlink":{"category":"","name":"folder-symlink","tags":[],"variants":{"outline":"f91b"}},"folder-up":{"category":"Document","name":"folder-up","tags":[],"variants":{"outline":"f91c"}},"folder-x":{"category":"Document","name":"folder-x","tags":["directory","dir"],"variants":{"outline":"eaac"}},"folders":{"category":"Document","name":"folders","tags":["directory","dir","clone","copy"],"variants":{"outline":"eaae"}},"folders-off":{"category":"Document","name":"folders-off","tags":["directory","dir","clone","copy"],"variants":{"outline":"f133"}},"forbid":{"category":"","name":"forbid","tags":[],"variants":{"filled":"fc29","outline":"ebd5"}},"forbid-2":{"category":"","name":"forbid-2","tags":[],"variants":{"filled":"fc28","outline":"ebd4"}},"forklift":{"category":"Vehicles","name":"forklift","tags":["store","warehouse","inventory","exporting"],"variants":{"outline":"ebe9"}},"forms":{"category":"Text","name":"forms","tags":["formbuilder","input","url","textarea"],"variants":{"outline":"ee8f"}},"fountain":{"category":"Map","name":"fountain","tags":["park","decoration","water","spring","public"],"variants":{"filled":"fc2a","outline":"f09b"}},"fountain-off":{"category":"Map","name":"fountain-off","tags":["park","decoration","water","spring","public"],"variants":{"outline":"f134"}},"frame":{"category":"Design","name":"frame","tags":["border","outline","enclosure","surround","edge","boundary","perimeter","framework","structure","container","crop"],"variants":{"outline":"eaaf"}},"frame-off":{"category":"Design","name":"frame-off","tags":["borderless","outlineless","no-border","unframed","unbordered","bare","naked","borderless-frame","no-outline","remove-frame","crop"],"variants":{"outline":"f135"}},"free-rights":{"category":"","name":"free-rights","tags":["justice","inviolability","freedom"],"variants":{"outline":"efb6"}},"freeze-column":{"category":"Design","name":"freeze-column","tags":[],"variants":{"outline":"fa63"}},"freeze-row":{"category":"Design","name":"freeze-row","tags":[],"variants":{"outline":"fa65"}},"freeze-row-column":{"category":"Design","name":"freeze-row-column","tags":[],"variants":{"outline":"fa64"}},"fridge":{"category":"Devices","name":"fridge","tags":["kitchen","cooler","control","freezer","food"],"variants":{"outline":"f1fa"}},"fridge-off":{"category":"Devices","name":"fridge-off","tags":["kitchen","cooler","control","freezer","food"],"variants":{"outline":"f3ef"}},"friends":{"category":"","name":"friends","tags":["people","boy","girl","man","woman"],"variants":{"outline":"eab0"}},"friends-off":{"category":"","name":"friends-off","tags":["people","boy","girl","man","woman"],"variants":{"outline":"f136"}},"frustum":{"category":"Shapes","name":"frustum","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fa9f"}},"frustum-off":{"category":"Shapes","name":"frustum-off","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fa9d"}},"frustum-plus":{"category":"Shapes","name":"frustum-plus","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fa9e"}},"function":{"category":"Math","name":"function","tags":["math","linear","statyscics","graph"],"variants":{"filled":"fc2b","outline":"f225"}},"function-off":{"category":"Math","name":"function-off","tags":["math","linear","statyscics","graph"],"variants":{"outline":"f3f0"}},"galaxy":{"category":"","name":"galaxy","tags":[],"variants":{"outline":"fcb6"}},"garden-cart":{"category":"Vehicles","name":"garden-cart","tags":["gardening","conctruction","wheel","wheelbarrow"],"variants":{"outline":"f23e"}},"garden-cart-off":{"category":"Vehicles","name":"garden-cart-off","tags":["gardening","conctruction","wheel","wheelbarrow"],"variants":{"outline":"f3f1"}},"gas-station":{"category":"Vehicles","name":"gas-station","tags":["fuel","oil","cars","vehicles","shop","distributor"],"variants":{"outline":"ec7d"}},"gas-station-off":{"category":"Map","name":"gas-station-off","tags":["fuel","oil","cars","vehicles","shop","distributor"],"variants":{"outline":"f137"}},"gauge":{"category":"System","name":"gauge","tags":["car","dashboard"],"variants":{"filled":"fc2c","outline":"eab1"}},"gauge-off":{"category":"System","name":"gauge-off","tags":["car","dashboard"],"variants":{"outline":"f138"}},"gavel":{"category":"","name":"gavel","tags":["justice","law","hammer","legal","auction"],"variants":{"outline":"ef90"}},"gender-agender":{"category":"Gender","name":"gender-agender","tags":["identity","genderless"],"variants":{"outline":"f0e1"}},"gender-androgyne":{"category":"Gender","name":"gender-androgyne","tags":["identity","intersex","feminine","genderqueer"],"variants":{"outline":"f0e2"}},"gender-bigender":{"category":"Gender","name":"gender-bigender","tags":["identity","female","bi","sexual"],"variants":{"outline":"f0e3"}},"gender-demiboy":{"category":"Gender","name":"gender-demiboy","tags":["identity","demimale","demi"],"variants":{"outline":"f0e4"}},"gender-demigirl":{"category":"Gender","name":"gender-demigirl","tags":["identity","demiwoman","demifemale"],"variants":{"outline":"f0e5"}},"gender-epicene":{"category":"Gender","name":"gender-epicene","tags":["identity","genderqueer","transgender"],"variants":{"outline":"f0e6"}},"gender-female":{"category":"Gender","name":"gender-female","tags":["identity","woman","girl"],"variants":{"outline":"f0e7"}},"gender-femme":{"category":"Gender","name":"gender-femme","tags":["identity","lesbian"],"variants":{"outline":"f0e8"}},"gender-genderfluid":{"category":"Gender","name":"gender-genderfluid","tags":["identity","indefinite"],"variants":{"outline":"f0e9"}},"gender-genderless":{"category":"Gender","name":"gender-genderless","tags":["identity","unisex"],"variants":{"outline":"f0ea"}},"gender-genderqueer":{"category":"Gender","name":"gender-genderqueer","tags":["identity","non binary"],"variants":{"outline":"f0eb"}},"gender-hermaphrodite":{"category":"Gender","name":"gender-hermaphrodite","tags":["identify","intersexuality","hybrid"],"variants":{"outline":"f0ec"}},"gender-intergender":{"category":"Gender","name":"gender-intergender","tags":["identity","transgender","intersex"],"variants":{"outline":"f0ed"}},"gender-male":{"category":"Gender","name":"gender-male","tags":["identity","man","boy","person"],"variants":{"outline":"f0ee"}},"gender-neutrois":{"category":"Gender","name":"gender-neutrois","tags":["identity","none","transgender"],"variants":{"outline":"f0ef"}},"gender-third":{"category":"Gender","name":"gender-third","tags":["identity","none","female"],"variants":{"outline":"f0f0"}},"gender-transgender":{"category":"Gender","name":"gender-transgender","tags":["identity","ladyboy","lgbt","gay","homosexual"],"variants":{"outline":"f0f1"}},"gender-trasvesti":{"category":"Gender","name":"gender-trasvesti","tags":["identity","birth","male","female","heterosexual","homosexual"],"variants":{"outline":"f0f2"}},"geometry":{"category":"Map","name":"geometry","tags":["build","architecture","create","compass"],"variants":{"outline":"ee90"}},"ghost":{"category":"","name":"ghost","tags":["spirit","transparent","fairytale","horror","movie","shadow","haunt"],"variants":{"filled":"f74b","outline":"eb8e"}},"ghost-2":{"category":"","name":"ghost-2","tags":["spirit","transparent","fairytale","horror","movie","shadow","haunt"],"variants":{"filled":"f74a","outline":"f57c"}},"ghost-3":{"category":"","name":"ghost-3","tags":[],"variants":{"outline":"fc13"}},"ghost-off":{"category":"","name":"ghost-off","tags":["spirit","transparent","fairytale","horror","movie","shadow","haunt"],"variants":{"outline":"f3f2"}},"gif":{"category":"Extensions","name":"gif","tags":["file","format","animation","image","extension","filetype"],"variants":{"outline":"f257"}},"gift":{"category":"","name":"gift","tags":["present","birthday","celebration","wish","bonus","souvenire","surprise"],"variants":{"filled":"fd14","outline":"eb68"}},"gift-card":{"category":"","name":"gift-card","tags":["coupon","present","voucher","shopping","birthday"],"variants":{"filled":"fc2d","outline":"f3aa"}},"gift-off":{"category":"","name":"gift-off","tags":["present","birthday","celebration","wish","bonus","souvenire","surprise"],"variants":{"outline":"f3f3"}},"git-branch":{"category":"Version control","name":"git-branch","tags":["code","version control","command"],"variants":{"outline":"eab2"}},"git-branch-deleted":{"category":"Version control","name":"git-branch-deleted","tags":["code","version control","command"],"variants":{"outline":"f57d"}},"git-cherry-pick":{"category":"Version control","name":"git-cherry-pick","tags":["code","version control","command"],"variants":{"outline":"f57e"}},"git-commit":{"category":"Version control","name":"git-commit","tags":["code","version control","command"],"variants":{"outline":"eab3"}},"git-compare":{"category":"Version control","name":"git-compare","tags":["code","version control","command"],"variants":{"outline":"eab4"}},"git-fork":{"category":"Version control","name":"git-fork","tags":["code","version control","command"],"variants":{"outline":"eb8f"}},"git-merge":{"category":"Version control","name":"git-merge","tags":["code","version control","command"],"variants":{"outline":"eab5"}},"git-pull-request":{"category":"Version control","name":"git-pull-request","tags":["code","version control","command"],"variants":{"outline":"eab6"}},"git-pull-request-closed":{"category":"Version control","name":"git-pull-request-closed","tags":["code","version control","command"],"variants":{"outline":"ef7f"}},"git-pull-request-draft":{"category":"Version control","name":"git-pull-request-draft","tags":["code","version control","command"],"variants":{"outline":"efb7"}},"gizmo":{"category":"","name":"gizmo","tags":["system","network","tech","connection"],"variants":{"outline":"f02b"}},"glass":{"category":"Food","name":"glass","tags":["wine","cup","goblet"],"variants":{"outline":"eab8"}},"glass-champagne":{"category":"","name":"glass-champagne","tags":[],"variants":{"outline":"fd9c"}},"glass-cocktail":{"category":"","name":"glass-cocktail","tags":[],"variants":{"outline":"fd9d"}},"glass-full":{"category":"Food","name":"glass-full","tags":["wine","cup","goblet"],"variants":{"filled":"fc2e","outline":"eab7"}},"glass-gin":{"category":"","name":"glass-gin","tags":[],"variants":{"outline":"fd9e"}},"glass-off":{"category":"Food","name":"glass-off","tags":["wine","cup","goblet"],"variants":{"outline":"ee91"}},"globe":{"category":"Map","name":"globe","tags":["world","travel","journey","trip","planet","earth"],"variants":{"filled":"fc2f","outline":"eab9"}},"globe-off":{"category":"Map","name":"globe-off","tags":["world","travel","journey","trip","planet","earth"],"variants":{"outline":"f139"}},"go-game":{"category":"","name":"go-game","tags":["strategy","board","mind"],"variants":{"outline":"f512"}},"golf":{"category":"Sport","name":"golf","tags":["game","ball","play","hole","club-and-ball","stroke","luxury","pitch"],"variants":{"outline":"ed8c"}},"golf-off":{"category":"Sport","name":"golf-off","tags":["game","ball","play","hole","club-and-ball","stroke","luxury","pitch"],"variants":{"outline":"f13a"}},"gps":{"category":"Map","name":"gps","tags":["navigation","directions","global","positioning","system","satnav","radionavigation","travel","car"],"variants":{"filled":"fe48","outline":"ed7a"}},"gradienter":{"category":"","name":"gradienter","tags":[],"variants":{"outline":"f3ab"}},"grain":{"category":"","name":"grain","tags":["dots","pattern","random","round","circle","nodes"],"variants":{"outline":"ee92"}},"graph":{"category":"","name":"graph","tags":["analytics","raport","statistics","chart"],"variants":{"filled":"fd15","outline":"f288"}},"graph-off":{"category":"","name":"graph-off","tags":["analytics","raport","statistics","chart"],"variants":{"outline":"f3f4"}},"grave":{"category":"Map","name":"grave","tags":["cemetery","halloween","death","dead","tomb"],"variants":{"outline":"f580"}},"grave-2":{"category":"Map","name":"grave-2","tags":["cementry","halloween","death","dead","tomb"],"variants":{"outline":"f57f"}},"grid-3x3":{"category":"Design","name":"grid-3x3","tags":["layout","pattern","matrix","arrangement","gridlines","cell","structure","block","squares","grid-pattern"],"variants":{"outline":"fca4"}},"grid-4x4":{"category":"Design","name":"grid-4x4","tags":["layout","matrix","pattern","gridlines","arrangement","structure","block","squares","four-by-four","grid-pattern"],"variants":{"outline":"fca5"}},"grid-dots":{"category":"System","name":"grid-dots","tags":["network","pattern","layout"],"variants":{"outline":"eaba"}},"grid-goldenratio":{"category":"Design","name":"grid-goldenratio","tags":["layout","pattern","matrix","arrangement","golden-ratio","cell","structure","ratio","gridlines","grid-structure"],"variants":{"outline":"fca6"}},"grid-pattern":{"category":"","name":"grid-pattern","tags":["grid","mesh","net","line"],"variants":{"outline":"efc9"}},"grid-scan":{"category":"System","name":"grid-scan","tags":["data","matrix","layout","pattern","dimension","analysis","structure","mapping","inspection","grid-data"],"variants":{"outline":"fca7"}},"grill":{"category":"Food","name":"grill","tags":["food","sasuage","beef","steak","bbq","cooking"],"variants":{"outline":"efa9"}},"grill-fork":{"category":"Food","name":"grill-fork","tags":["cook","cooking","bbq","meat","tool"],"variants":{"outline":"f35b"}},"grill-off":{"category":"Food","name":"grill-off","tags":["food","sasuage","beef","steak","bbq","cooking"],"variants":{"outline":"f3f5"}},"grill-spatula":{"category":"Food","name":"grill-spatula","tags":["cook","cooking","bbq","meat","tool"],"variants":{"outline":"f35c"}},"grip-horizontal":{"category":"System","name":"grip-horizontal","tags":["picture","abstract","symbol","design","across","dots","drag"],"variants":{"outline":"ec00"}},"grip-vertical":{"category":"System","name":"grip-vertical","tags":["picture","abstract","symbol","design","upright","dots","drag"],"variants":{"outline":"ec01"}},"growth":{"category":"Nature","name":"growth","tags":["seed","harvest","plant","tree","flower","grain","greenery","garden"],"variants":{"outline":"ee93"}},"guitar-pick":{"category":"","name":"guitar-pick","tags":["music","instrument","melody","accesories"],"variants":{"filled":"f67b","outline":"f4c6"}},"gymnastics":{"category":"","name":"gymnastics","tags":[],"variants":{"outline":"fd44"}},"h-1":{"category":"Text","name":"h-1","tags":["header","text","editor","h1","heading","typography"],"variants":{"outline":"ec94"}},"h-2":{"category":"Text","name":"h-2","tags":["header","text","editor","h2","heading","typography"],"variants":{"outline":"ec95"}},"h-3":{"category":"Text","name":"h-3","tags":["header","text","editor","h3","heading","typography"],"variants":{"outline":"ec96"}},"h-4":{"category":"Text","name":"h-4","tags":["header","text","editor","h4","heading","typography"],"variants":{"outline":"ec97"}},"h-5":{"category":"Text","name":"h-5","tags":["header","text","editor","h5","heading","typography"],"variants":{"outline":"ec98"}},"h-6":{"category":"Text","name":"h-6","tags":["header","text","editor","h6","heading","typography"],"variants":{"outline":"ec99"}},"hammer":{"category":"","name":"hammer","tags":["tool","repair","building","construction"],"variants":{"outline":"ef91"}},"hammer-off":{"category":"","name":"hammer-off","tags":["tool","repair","building","construction"],"variants":{"outline":"f13c"}},"hand-click":{"category":"Gestures","name":"hand-click","tags":["gesture","touch","press","phone"],"variants":{"outline":"ef4f"}},"hand-finger":{"category":"Gestures","name":"hand-finger","tags":["point","show","index","forefinger","body","human","palm"],"variants":{"outline":"ee94"}},"hand-finger-down":{"category":"","name":"hand-finger-down","tags":[],"variants":{"outline":"ff4f"}},"hand-finger-left":{"category":"","name":"hand-finger-left","tags":[],"variants":{"outline":"ff4e"}},"hand-finger-off":{"category":"Gestures","name":"hand-finger-off","tags":["point","show","index","forefinger","body","human","palm"],"variants":{"outline":"f13d"}},"hand-finger-right":{"category":"","name":"hand-finger-right","tags":[],"variants":{"outline":"ff4d"}},"hand-grab":{"category":"Gestures","name":"hand-grab","tags":["hold","fist","drop","catch"],"variants":{"outline":"f091"}},"hand-little-finger":{"category":"Gestures","name":"hand-little-finger","tags":["small","body","human","palm"],"variants":{"outline":"ee95"}},"hand-love-you":{"category":"Gestures","name":"hand-love-you","tags":["heavy","metal","party","concert","rebel"],"variants":{"outline":"ee97"}},"hand-middle-finger":{"category":"Gestures","name":"hand-middle-finger","tags":["signal","gesture","curse","vulgarism","abuse"],"variants":{"outline":"ec2d"}},"hand-move":{"category":"Gestures","name":"hand-move","tags":["gesture","swipe","right","left","up","down"],"variants":{"outline":"ef50"}},"hand-off":{"category":"Gestures","name":"hand-off","tags":["disclaimer","body"],"variants":{"outline":"ed15"}},"hand-ring-finger":{"category":"Gestures","name":"hand-ring-finger","tags":["body","human","palm"],"variants":{"outline":"ee96"}},"hand-sanitizer":{"category":"Health","name":"hand-sanitizer","tags":["hygiene","gel","alcohol","wash","virus"],"variants":{"outline":"f5f4"}},"hand-stop":{"category":"Gestures","name":"hand-stop","tags":["forbiddance","nixing","ban","interdicting"],"variants":{"outline":"ec2e"}},"hand-three-fingers":{"category":"Gestures","name":"hand-three-fingers","tags":["body","human","palm"],"variants":{"outline":"ee98"}},"hand-two-fingers":{"category":"Gestures","name":"hand-two-fingers","tags":["body","human","palm","gesture"],"variants":{"outline":"ee99"}},"hanger":{"category":"","name":"hanger","tags":["clothes","wardrobe","hook","hang","wooden","plastic","wire","shop","store","clothing","fashion"],"variants":{"outline":"ee9a"}},"hanger-2":{"category":"","name":"hanger-2","tags":["clothes","wardrobe","hook","hang","wooden","plastic","wire","shop","store","clothing","fashion"],"variants":{"filled":"ff61","outline":"f09c"}},"hanger-off":{"category":"","name":"hanger-off","tags":["clothes","wardrobe","hook","hang","wooden","plastic","wire","shop","store","clothing","fashion"],"variants":{"outline":"f13e"}},"hash":{"category":"","name":"hash","tags":["hashtag","#","instagram"],"variants":{"outline":"eabc"}},"haze":{"category":"Weather","name":"haze","tags":["climate","meterology","weather","morning"],"variants":{"outline":"efaa"}},"haze-moon":{"category":"","name":"haze-moon","tags":[],"variants":{"outline":"faf8"}},"hdr":{"category":"Photography","name":"hdr","tags":[],"variants":{"outline":"fa7b"}},"heading":{"category":"Text","name":"heading","tags":["main","text","headline","style","styling","html"],"variants":{"outline":"ee9b"}},"heading-off":{"category":"Text","name":"heading-off","tags":["main","text","headline","style","styling","html"],"variants":{"outline":"f13f"}},"headphones":{"category":"Media","name":"headphones","tags":["music","headset","audio","sound","customer"],"variants":{"filled":"fa3c","outline":"eabd"}},"headphones-off":{"category":"Media","name":"headphones-off","tags":["music","headset","audio","sound","customer"],"variants":{"outline":"ed1d"}},"headset":{"category":"Media","name":"headset","tags":["music","headphones","audio","sound","customer"],"variants":{"outline":"eb90"}},"headset-off":{"category":"Media","name":"headset-off","tags":["music","headphones","audio","sound","customer"],"variants":{"outline":"f3f6"}},"health-recognition":{"category":"","name":"health-recognition","tags":["life","doctor","healthy"],"variants":{"outline":"f1fb"}},"heart":{"category":"Shapes","name":"heart","tags":["love","emotion","like","favorite","relationship"],"variants":{"filled":"f67c","outline":"eabe"}},"heart-bitcoin":{"category":"","name":"heart-bitcoin","tags":[],"variants":{"outline":"ff3b"}},"heart-bolt":{"category":"","name":"heart-bolt","tags":[],"variants":{"outline":"fb9e"}},"heart-broken":{"category":"Health","name":"heart-broken","tags":["love","emotion","like","favorite","relationship"],"variants":{"outline":"ecba"}},"heart-cancel":{"category":"","name":"heart-cancel","tags":[],"variants":{"outline":"fb9f"}},"heart-check":{"category":"","name":"heart-check","tags":[],"variants":{"outline":"fba0"}},"heart-code":{"category":"","name":"heart-code","tags":[],"variants":{"outline":"fba1"}},"heart-cog":{"category":"","name":"heart-cog","tags":[],"variants":{"outline":"fba2"}},"heart-discount":{"category":"","name":"heart-discount","tags":[],"variants":{"outline":"fba3"}},"heart-dollar":{"category":"","name":"heart-dollar","tags":[],"variants":{"outline":"fba4"}},"heart-down":{"category":"","name":"heart-down","tags":[],"variants":{"outline":"fba5"}},"heart-exclamation":{"category":"","name":"heart-exclamation","tags":[],"variants":{"outline":"fba6"}},"heart-handshake":{"category":"","name":"heart-handshake","tags":["support","care","friends","couple","relation"],"variants":{"outline":"f0f3"}},"heart-minus":{"category":"Shapes","name":"heart-minus","tags":["delete","unfavourite","remove"],"variants":{"outline":"f140"}},"heart-off":{"category":"Shapes","name":"heart-off","tags":["love","emotion","like","favorite","relationship"],"variants":{"outline":"f141"}},"heart-pause":{"category":"","name":"heart-pause","tags":[],"variants":{"outline":"fba7"}},"heart-pin":{"category":"","name":"heart-pin","tags":[],"variants":{"outline":"fba8"}},"heart-plus":{"category":"Shapes","name":"heart-plus","tags":["add","love","favourite","like"],"variants":{"outline":"f142"}},"heart-question":{"category":"","name":"heart-question","tags":[],"variants":{"outline":"fba9"}},"heart-rate-monitor":{"category":"Health","name":"heart-rate-monitor","tags":["medical","pulse","health","hospital","healthcare"],"variants":{"outline":"ef61"}},"heart-search":{"category":"","name":"heart-search","tags":[],"variants":{"outline":"fbaa"}},"heart-share":{"category":"","name":"heart-share","tags":[],"variants":{"outline":"fbab"}},"heart-star":{"category":"","name":"heart-star","tags":[],"variants":{"outline":"fbac"}},"heart-up":{"category":"","name":"heart-up","tags":[],"variants":{"outline":"fbad"}},"heart-x":{"category":"","name":"heart-x","tags":[],"variants":{"outline":"fbae"}},"heartbeat":{"category":"Health","name":"heartbeat","tags":["pulse","medical","ecg","cardiology","fitness","chart"],"variants":{"outline":"ef92"}},"hearts":{"category":"Shapes","name":"hearts","tags":["love","valentine","romantic","romance","marriage"],"variants":{"outline":"f387"}},"hearts-off":{"category":"Shapes","name":"hearts-off","tags":["love","valentine","romantic","romance","marriage"],"variants":{"outline":"f3f7"}},"helicopter":{"category":"Vehicles","name":"helicopter","tags":["land","takeoff","navy","travel","aircraft","platform","fly","pilot","journey","rotorcraft","hover"],"variants":{"outline":"ed8e"}},"helicopter-landing":{"category":"Vehicles","name":"helicopter-landing","tags":["pad","helipad","land","takeoff","navy","travel","aircraft","platform","fly"],"variants":{"outline":"ed8d"}},"helmet":{"category":"Sport","name":"helmet","tags":["safety","f1","racing","motorcycle","builder"],"variants":{"outline":"efca"}},"helmet-off":{"category":"Sport","name":"helmet-off","tags":["safety","f1","racing","motorcycle","builder"],"variants":{"outline":"f143"}},"help":{"category":"System","name":"help","tags":["tooltip","assistance","advice","support"],"variants":{"outline":"eabf"}},"help-circle":{"category":"System","name":"help-circle","tags":[],"variants":{"filled":"fa3d","outline":"f91d"}},"help-hexagon":{"category":"System","name":"help-hexagon","tags":["support","question","shape","faq","info"],"variants":{"filled":"fa3e","outline":"f7a8"}},"help-octagon":{"category":"System","name":"help-octagon","tags":["support","question","shape","faq","info"],"variants":{"filled":"fa3f","outline":"f7a9"}},"help-off":{"category":"System","name":"help-off","tags":["tooltip","assistance","advice","support"],"variants":{"outline":"f3f8"}},"help-small":{"category":"System","name":"help-small","tags":[],"variants":{"outline":"f91e"}},"help-square":{"category":"System","name":"help-square","tags":[],"variants":{"filled":"fa40","outline":"f920"}},"help-square-rounded":{"category":"System","name":"help-square-rounded","tags":[],"variants":{"filled":"fa41","outline":"f91f"}},"help-triangle":{"category":"System","name":"help-triangle","tags":[],"variants":{"filled":"fa42","outline":"f921"}},"hemisphere":{"category":"Shapes","name":"hemisphere","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faa2"}},"hemisphere-off":{"category":"Shapes","name":"hemisphere-off","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faa0"}},"hemisphere-plus":{"category":"Shapes","name":"hemisphere-plus","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faa1"}},"hexagon":{"category":"Shapes","name":"hexagon","tags":["shape","geometric","math","2d"],"variants":{"filled":"f67d","outline":"ec02"}},"hexagon-3d":{"category":"","name":"hexagon-3d","tags":["geometry","six","dimensional","shape"],"variants":{"outline":"f4c7"}},"hexagon-letter-a":{"category":"Letters","name":"hexagon-letter-a","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe47","outline":"f463"}},"hexagon-letter-b":{"category":"Letters","name":"hexagon-letter-b","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe46","outline":"f464"}},"hexagon-letter-c":{"category":"Letters","name":"hexagon-letter-c","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe45","outline":"f465"}},"hexagon-letter-d":{"category":"Letters","name":"hexagon-letter-d","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe44","outline":"f466"}},"hexagon-letter-e":{"category":"Letters","name":"hexagon-letter-e","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe43","outline":"f467"}},"hexagon-letter-f":{"category":"Letters","name":"hexagon-letter-f","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe42","outline":"f468"}},"hexagon-letter-g":{"category":"Letters","name":"hexagon-letter-g","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe41","outline":"f469"}},"hexagon-letter-h":{"category":"Letters","name":"hexagon-letter-h","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe40","outline":"f46a"}},"hexagon-letter-i":{"category":"Letters","name":"hexagon-letter-i","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe3f","outline":"f46b"}},"hexagon-letter-j":{"category":"Letters","name":"hexagon-letter-j","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe3e","outline":"f46c"}},"hexagon-letter-k":{"category":"Letters","name":"hexagon-letter-k","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe3d","outline":"f46d"}},"hexagon-letter-l":{"category":"Letters","name":"hexagon-letter-l","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe3c","outline":"f46e"}},"hexagon-letter-m":{"category":"Letters","name":"hexagon-letter-m","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe3b","outline":"f46f"}},"hexagon-letter-n":{"category":"Letters","name":"hexagon-letter-n","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe3a","outline":"f470"}},"hexagon-letter-o":{"category":"Letters","name":"hexagon-letter-o","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe39","outline":"f471"}},"hexagon-letter-p":{"category":"Letters","name":"hexagon-letter-p","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe38","outline":"f472"}},"hexagon-letter-q":{"category":"Letters","name":"hexagon-letter-q","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe37","outline":"f473"}},"hexagon-letter-r":{"category":"Letters","name":"hexagon-letter-r","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe36","outline":"f474"}},"hexagon-letter-s":{"category":"Letters","name":"hexagon-letter-s","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe35","outline":"f475"}},"hexagon-letter-t":{"category":"Letters","name":"hexagon-letter-t","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe34","outline":"f476"}},"hexagon-letter-u":{"category":"Letters","name":"hexagon-letter-u","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe33","outline":"f477"}},"hexagon-letter-v":{"category":"Letters","name":"hexagon-letter-v","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe32","outline":"f4b3"}},"hexagon-letter-w":{"category":"Letters","name":"hexagon-letter-w","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe31","outline":"f478"}},"hexagon-letter-x":{"category":"Letters","name":"hexagon-letter-x","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe30","outline":"f479"}},"hexagon-letter-y":{"category":"Letters","name":"hexagon-letter-y","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe2f","outline":"f47a"}},"hexagon-letter-z":{"category":"Letters","name":"hexagon-letter-z","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe2e","outline":"f47b"}},"hexagon-minus":{"category":"Shapes","name":"hexagon-minus","tags":[],"variants":{"filled":"fe2d","outline":"fc8f"}},"hexagon-minus-2":{"category":"Shapes","name":"hexagon-minus-2","tags":[],"variants":{"outline":"fc8e"}},"hexagon-number-0":{"category":"Numbers","name":"hexagon-number-0","tags":["shape","number","digit"],"variants":{"filled":"f74c","outline":"f459"}},"hexagon-number-1":{"category":"Numbers","name":"hexagon-number-1","tags":["shape","number","digit"],"variants":{"filled":"f74d","outline":"f45a"}},"hexagon-number-2":{"category":"Numbers","name":"hexagon-number-2","tags":["shape","number","digit"],"variants":{"filled":"f74e","outline":"f45b"}},"hexagon-number-3":{"category":"Numbers","name":"hexagon-number-3","tags":["shape","number","digit"],"variants":{"filled":"f74f","outline":"f45c"}},"hexagon-number-4":{"category":"Numbers","name":"hexagon-number-4","tags":["shape","number","digit"],"variants":{"filled":"f750","outline":"f45d"}},"hexagon-number-5":{"category":"Numbers","name":"hexagon-number-5","tags":["shape","number","digit"],"variants":{"filled":"f751","outline":"f45e"}},"hexagon-number-6":{"category":"Numbers","name":"hexagon-number-6","tags":["shape","number","digit"],"variants":{"filled":"f752","outline":"f45f"}},"hexagon-number-7":{"category":"Numbers","name":"hexagon-number-7","tags":["shape","number","digit"],"variants":{"filled":"f753","outline":"f460"}},"hexagon-number-8":{"category":"Numbers","name":"hexagon-number-8","tags":["shape","number","digit"],"variants":{"filled":"f754","outline":"f461"}},"hexagon-number-9":{"category":"Numbers","name":"hexagon-number-9","tags":["shape","number","digit"],"variants":{"filled":"f755","outline":"f462"}},"hexagon-off":{"category":"Shapes","name":"hexagon-off","tags":["shape","geometric","math","2d"],"variants":{"outline":"ee9c"}},"hexagon-plus":{"category":"","name":"hexagon-plus","tags":[],"variants":{"filled":"fe2c","outline":"fc45"}},"hexagon-plus-2":{"category":"Shapes","name":"hexagon-plus-2","tags":[],"variants":{"outline":"fc90"}},"hexagonal-prism":{"category":"Shapes","name":"hexagonal-prism","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faa5"}},"hexagonal-prism-off":{"category":"Shapes","name":"hexagonal-prism-off","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faa3"}},"hexagonal-prism-plus":{"category":"Shapes","name":"hexagonal-prism-plus","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faa4"}},"hexagonal-pyramid":{"category":"Shapes","name":"hexagonal-pyramid","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faa8"}},"hexagonal-pyramid-off":{"category":"Shapes","name":"hexagonal-pyramid-off","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faa6"}},"hexagonal-pyramid-plus":{"category":"Shapes","name":"hexagonal-pyramid-plus","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faa7"}},"hexagons":{"category":"Shapes","name":"hexagons","tags":["diagram","chemistry","modules","geometric"],"variants":{"outline":"f09d"}},"hexagons-off":{"category":"Shapes","name":"hexagons-off","tags":["diagram","chemistry","modules","geometric"],"variants":{"outline":"f3f9"}},"hierarchy":{"category":"Design","name":"hierarchy","tags":["relation","above","below","status","society","important"],"variants":{"outline":"ee9e"}},"hierarchy-2":{"category":"Design","name":"hierarchy-2","tags":["relation","above","below","status","society","important"],"variants":{"outline":"ee9d"}},"hierarchy-3":{"category":"Design","name":"hierarchy-3","tags":["relation","above","below","status","society","important"],"variants":{"outline":"f289"}},"hierarchy-off":{"category":"Design","name":"hierarchy-off","tags":["relation","above","below","status","society","important"],"variants":{"outline":"f3fa"}},"highlight":{"category":"Text","name":"highlight","tags":["marker","important","highlighter","pen"],"variants":{"outline":"ef3f"}},"highlight-off":{"category":"Text","name":"highlight-off","tags":["marker","important","highlighter","pen"],"variants":{"outline":"f144"}},"history":{"category":"System","name":"history","tags":["search","see","past","card","website"],"variants":{"outline":"ebea"}},"history-off":{"category":"System","name":"history-off","tags":["search","see","past","card","website"],"variants":{"outline":"f3fb"}},"history-toggle":{"category":"","name":"history-toggle","tags":["on","off","control","interface"],"variants":{"outline":"f1fc"}},"home":{"category":"Buildings","name":"home","tags":["house","dashboard","living","building"],"variants":{"filled":"fe2b","outline":"eac1"}},"home-2":{"category":"Buildings","name":"home-2","tags":["house","dashboard","living","building"],"variants":{"outline":"eac0"}},"home-bitcoin":{"category":"","name":"home-bitcoin","tags":[],"variants":{"outline":"ff3a"}},"home-bolt":{"category":"Buildings","name":"home-bolt","tags":["electrity","energy","power","lightning","energetic","house"],"variants":{"outline":"f336"}},"home-cancel":{"category":"Buildings","name":"home-cancel","tags":["delete","house","building","close"],"variants":{"outline":"f350"}},"home-check":{"category":"Buildings","name":"home-check","tags":["house","tick","mark","assure","safety"],"variants":{"outline":"f337"}},"home-cog":{"category":"Buildings","name":"home-cog","tags":["gear","house","building","settings","renovation"],"variants":{"outline":"f338"}},"home-dollar":{"category":"Buildings","name":"home-dollar","tags":["buisness","house","estate","finance","building","money"],"variants":{"outline":"f339"}},"home-dot":{"category":"Buildings","name":"home-dot","tags":["notification","alert","monitor"],"variants":{"outline":"f33a"}},"home-down":{"category":"Buildings","name":"home-down","tags":["property","estate","bottom","south","house"],"variants":{"outline":"f33b"}},"home-eco":{"category":"Buildings","name":"home-eco","tags":["ecology","energy","nature","leaf","house"],"variants":{"outline":"f351"}},"home-edit":{"category":"Buildings","name":"home-edit","tags":["house","building","renovation","estate"],"variants":{"outline":"f352"}},"home-exclamation":{"category":"Buildings","name":"home-exclamation","tags":["warning","danger","accident","house"],"variants":{"outline":"f33c"}},"home-hand":{"category":"Buildings","name":"home-hand","tags":["house","dashboard","living","building","care"],"variants":{"outline":"f504"}},"home-heart":{"category":"Buildings","name":"home-heart","tags":["love","sweet","dating","care","safety"],"variants":{"outline":"f353"}},"home-infinity":{"category":"Buildings","name":"home-infinity","tags":["house","dashboard","living","building","endless"],"variants":{"outline":"f505"}},"home-link":{"category":"Buildings","name":"home-link","tags":["address","technology","smart","internet"],"variants":{"outline":"f354"}},"home-minus":{"category":"Buildings","name":"home-minus","tags":["remove","delete","cancel","close"],"variants":{"outline":"f33d"}},"home-move":{"category":"Buildings","name":"home-move","tags":["relocation","moving","house","change","exchange"],"variants":{"outline":"f33e"}},"home-off":{"category":"Buildings","name":"home-off","tags":["house","dashboard","living","building"],"variants":{"outline":"f145"}},"home-plus":{"category":"Buildings","name":"home-plus","tags":["add","building","new","create"],"variants":{"outline":"f33f"}},"home-question":{"category":"Buildings","name":"home-question","tags":["support","help","information","ask","anwser","?"],"variants":{"outline":"f340"}},"home-ribbon":{"category":"Buildings","name":"home-ribbon","tags":["contract","certifited","achievement"],"variants":{"outline":"f355"}},"home-search":{"category":"Buildings","name":"home-search","tags":["find","estate","house","building"],"variants":{"outline":"f341"}},"home-share":{"category":"Buildings","name":"home-share","tags":["house","dashboard","living","building","network","link","connection"],"variants":{"outline":"f342"}},"home-shield":{"category":"Buildings","name":"home-shield","tags":["security","safety","secure","safe"],"variants":{"outline":"f343"}},"home-signal":{"category":"Buildings","name":"home-signal","tags":["wi-fi","communication","internet","wireless"],"variants":{"outline":"f356"}},"home-star":{"category":"Buildings","name":"home-star","tags":["best","favourite","like","house"],"variants":{"outline":"f344"}},"home-stats":{"category":"Buildings","name":"home-stats","tags":["analytics","business","finance"],"variants":{"outline":"f345"}},"home-up":{"category":"Buildings","name":"home-up","tags":["arrow","higher","house","north"],"variants":{"outline":"f346"}},"home-x":{"category":"Buildings","name":"home-x","tags":["off","sale","commerce"],"variants":{"outline":"f347"}},"horse":{"category":"","name":"horse","tags":["equine","equestrian","stallion","mare","pony","steed","riding","hoofed-animal","horseback","thoroughbred"],"variants":{"outline":"fc46"}},"horse-toy":{"category":"","name":"horse-toy","tags":["baby","child","kid","rocking","fun"],"variants":{"outline":"f28a"}},"horseshoe":{"category":"","name":"horseshoe","tags":[],"variants":{"outline":"fcb7"}},"hospital":{"category":"","name":"hospital","tags":["medical-facility","healthcare","clinic","emergency","hospital-building","health","care","medical-center","hospital-structure","health-center"],"variants":{"outline":"fd59"}},"hospital-circle":{"category":"","name":"hospital-circle","tags":["medical-center","healthcare","clinic","emergency","hospital-round","health","care","medical-facility","circle-hospital","health-center"],"variants":{"filled":"fed2","outline":"fd58"}},"hotel-service":{"category":"","name":"hotel-service","tags":["food","reception","accommodation","room","bell"],"variants":{"outline":"ef80"}},"hourglass":{"category":"System","name":"hourglass","tags":["time","timer","sand","clock"],"variants":{"filled":"f756","outline":"ef93"}},"hourglass-empty":{"category":"System","name":"hourglass-empty","tags":["material","measure","time","timer","clock","sand"],"variants":{"outline":"f146"}},"hourglass-high":{"category":"System","name":"hourglass-high","tags":["simple","time","timer","clock","sand"],"variants":{"outline":"f092"}},"hourglass-low":{"category":"System","name":"hourglass-low","tags":["simple","time","timer","clock","sand"],"variants":{"outline":"f093"}},"hourglass-off":{"category":"System","name":"hourglass-off","tags":["time","timer","sand","clock"],"variants":{"outline":"f147"}},"hours-12":{"category":"System","name":"hours-12","tags":[],"variants":{"outline":"fc53"}},"hours-24":{"category":"System","name":"hours-24","tags":["clock","time","day","support","service"],"variants":{"outline":"f5e7"}},"html":{"category":"Extensions","name":"html","tags":["code","coding","file","web","programming","page"],"variants":{"outline":"f7b1"}},"http-connect":{"category":"Computers","name":"http-connect","tags":[],"variants":{"outline":"fa28"}},"http-delete":{"category":"Computers","name":"http-delete","tags":[],"variants":{"outline":"fa29"}},"http-get":{"category":"Computers","name":"http-get","tags":[],"variants":{"outline":"fa2a"}},"http-head":{"category":"Computers","name":"http-head","tags":[],"variants":{"outline":"fa2b"}},"http-options":{"category":"Computers","name":"http-options","tags":[],"variants":{"outline":"fa2c"}},"http-patch":{"category":"Computers","name":"http-patch","tags":[],"variants":{"outline":"fa2d"}},"http-post":{"category":"Computers","name":"http-post","tags":[],"variants":{"outline":"fa2e"}},"http-put":{"category":"Computers","name":"http-put","tags":[],"variants":{"outline":"fa2f"}},"http-que":{"category":"Computers","name":"http-que","tags":[],"variants":{"outline":"fa5b"}},"http-trace":{"category":"Computers","name":"http-trace","tags":[],"variants":{"outline":"fa30"}},"ice-cream":{"category":"Food","name":"ice-cream","tags":["candy","dessert","frozen","sweet"],"variants":{"outline":"eac2"}},"ice-cream-2":{"category":"Food","name":"ice-cream-2","tags":["sweet","cold","dessert","food","taste","frozen","snack","flavour","flavor","cone"],"variants":{"outline":"ee9f"}},"ice-cream-off":{"category":"Food","name":"ice-cream-off","tags":["candy","dessert","frozen","sweet"],"variants":{"outline":"f148"}},"ice-skating":{"category":"Sport","name":"ice-skating","tags":["winter","skate","sport","figure","activity","hockey"],"variants":{"outline":"efcb"}},"icons":{"category":"Shapes","name":"icons","tags":["design","image","picture"],"variants":{"outline":"f1d4"}},"icons-off":{"category":"Shapes","name":"icons-off","tags":["design","image","picture"],"variants":{"outline":"f3fc"}},"id":{"category":"System","name":"id","tags":["identification","card","personal details"],"variants":{"outline":"eac3"}},"id-badge":{"category":"System","name":"id-badge","tags":["identification","pass","card","identity"],"variants":{"outline":"eff7"}},"id-badge-2":{"category":"System","name":"id-badge-2","tags":["identification","pass","card","identity"],"variants":{"outline":"f076"}},"id-badge-off":{"category":"System","name":"id-badge-off","tags":["identification","pass","card","identity"],"variants":{"outline":"f3fd"}},"id-off":{"category":"System","name":"id-off","tags":["identification","card","personal details"],"variants":{"outline":"f149"}},"ikosaedr":{"category":"","name":"ikosaedr","tags":[],"variants":{"outline":"fec6"}},"image-in-picture":{"category":"","name":"image-in-picture","tags":[],"variants":{"outline":"fd9f"}},"inbox":{"category":"","name":"inbox","tags":["mail","gmail","email","envelope","post"],"variants":{"outline":"eac4"}},"inbox-off":{"category":"","name":"inbox-off","tags":["mail","gmail","email","envelope","post"],"variants":{"outline":"f14a"}},"indent-decrease":{"category":"Text","name":"indent-decrease","tags":["line","position","block","margin","paragraph"],"variants":{"outline":"eb91"}},"indent-increase":{"category":"Text","name":"indent-increase","tags":["line","position","block","margin","paragraph"],"variants":{"outline":"eb92"}},"infinity":{"category":"Math","name":"infinity","tags":["endless","eternity","continuum","time"],"variants":{"outline":"eb69"}},"infinity-off":{"category":"Math","name":"infinity-off","tags":["endless","eternity","continuum","time"],"variants":{"outline":"f3fe"}},"info-circle":{"category":"System","name":"info-circle","tags":["information","advice","news","tip","sign"],"variants":{"filled":"f6d8","outline":"eac5"}},"info-hexagon":{"category":"System","name":"info-hexagon","tags":["help","support","shape","information","question"],"variants":{"filled":"fa43","outline":"f7aa"}},"info-octagon":{"category":"System","name":"info-octagon","tags":["help","support","shape","information","question"],"variants":{"filled":"fa44","outline":"f7ab"}},"info-small":{"category":"System","name":"info-small","tags":[],"variants":{"outline":"f922"}},"info-square":{"category":"System","name":"info-square","tags":["information","advice","news","tip","sign"],"variants":{"filled":"fa45","outline":"eac6"}},"info-square-rounded":{"category":"System","name":"info-square-rounded","tags":["help","support","shape","information","question"],"variants":{"filled":"f6d9","outline":"f635"}},"info-triangle":{"category":"System","name":"info-triangle","tags":[],"variants":{"filled":"fa46","outline":"f923"}},"inner-shadow-bottom":{"category":"Design","name":"inner-shadow-bottom","tags":["shape","circle","down","south"],"variants":{"filled":"f757","outline":"f520"}},"inner-shadow-bottom-left":{"category":"Design","name":"inner-shadow-bottom-left","tags":["shape","circle","down","south","west"],"variants":{"filled":"f758","outline":"f51e"}},"inner-shadow-bottom-right":{"category":"Design","name":"inner-shadow-bottom-right","tags":["shape","circle","down","south","east"],"variants":{"filled":"f759","outline":"f51f"}},"inner-shadow-left":{"category":"Design","name":"inner-shadow-left","tags":["shape","circle","west"],"variants":{"filled":"f75a","outline":"f521"}},"inner-shadow-right":{"category":"Design","name":"inner-shadow-right","tags":["shape","circle","east"],"variants":{"filled":"f75b","outline":"f522"}},"inner-shadow-top":{"category":"Design","name":"inner-shadow-top","tags":["shape","circle","up","north"],"variants":{"filled":"f75c","outline":"f525"}},"inner-shadow-top-left":{"category":"Design","name":"inner-shadow-top-left","tags":["shape","circle","up","north","west"],"variants":{"filled":"f75d","outline":"f523"}},"inner-shadow-top-right":{"category":"Design","name":"inner-shadow-top-right","tags":["shape","circle","up","north","east"],"variants":{"filled":"f75e","outline":"f524"}},"input-ai":{"category":"","name":"input-ai","tags":[],"variants":{"outline":"fc5a"}},"input-check":{"category":"","name":"input-check","tags":[],"variants":{"outline":"fc5b"}},"input-search":{"category":"Text","name":"input-search","tags":["find","website","field","explore"],"variants":{"outline":"f2a2"}},"input-x":{"category":"","name":"input-x","tags":[],"variants":{"outline":"fc5c"}},"invoice":{"category":"Document","name":"invoice","tags":[],"variants":{"outline":"feab"}},"ironing":{"category":"Laundry","name":"ironing","tags":[],"variants":{"filled":"fe2a","outline":"fa7c"}},"ironing-1":{"category":"Laundry","name":"ironing-1","tags":["clotches","housework","iron","smooth"],"variants":{"outline":"f2f4"}},"ironing-2":{"category":"Laundry","name":"ironing-2","tags":["clotches","housework","iron","smooth"],"variants":{"outline":"f2f5"}},"ironing-3":{"category":"Laundry","name":"ironing-3","tags":["clotches","housework","iron","smooth"],"variants":{"outline":"f2f6"}},"ironing-off":{"category":"Laundry","name":"ironing-off","tags":["clotches","housework","iron","smooth"],"variants":{"outline":"f2f7"}},"ironing-steam":{"category":"Laundry","name":"ironing-steam","tags":["clotches","housework","iron","smooth","water"],"variants":{"outline":"f2f9"}},"ironing-steam-off":{"category":"Laundry","name":"ironing-steam-off","tags":["clotches","housework","iron","smooth","water"],"variants":{"outline":"f2f8"}},"irregular-polyhedron":{"category":"Shapes","name":"irregular-polyhedron","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faab"}},"irregular-polyhedron-off":{"category":"Shapes","name":"irregular-polyhedron-off","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faa9"}},"irregular-polyhedron-plus":{"category":"Shapes","name":"irregular-polyhedron-plus","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faaa"}},"italic":{"category":"Text","name":"italic","tags":["typography","font","typeface","emphasise"],"variants":{"outline":"eb93"}},"jacket":{"category":"","name":"jacket","tags":["clotches","winter","life","coat"],"variants":{"outline":"f661"}},"jetpack":{"category":"","name":"jetpack","tags":["fly","rocket","transport","space","future"],"variants":{"filled":"fe29","outline":"f581"}},"jewish-star":{"category":"Shapes","name":"jewish-star","tags":["judaism","israel","religion","bright"],"variants":{"filled":"f67e","outline":"f3ff"}},"join-bevel":{"category":"","name":"join-bevel","tags":[],"variants":{"outline":"ff4c"}},"join-round":{"category":"","name":"join-round","tags":[],"variants":{"outline":"ff4b"}},"join-straight":{"category":"","name":"join-straight","tags":[],"variants":{"outline":"ff4a"}},"jpg":{"category":"Extensions","name":"jpg","tags":["file","format","type","document","filetype"],"variants":{"outline":"f3ac"}},"json":{"category":"Extensions","name":"json","tags":["file","document","type","format","extencion"],"variants":{"outline":"f7b2"}},"jump-rope":{"category":"Sport","name":"jump-rope","tags":["sport","fitness","workout","gym","skipping","cardio","fit","shape"],"variants":{"outline":"ed8f"}},"karate":{"category":"Sport","name":"karate","tags":["martial","art","self","defence","defend","strike","compat","oriental","fight","kick"],"variants":{"outline":"ed32"}},"kayak":{"category":"Sport","name":"kayak","tags":["water","adventure","river","camp","sport","summer","activity"],"variants":{"outline":"f1d6"}},"kerning":{"category":"Text","name":"kerning","tags":["text","editor","font","calligraphy"],"variants":{"outline":"efb8"}},"key":{"category":"","name":"key","tags":["password","login","authentication","secure"],"variants":{"filled":"fe28","outline":"eac7"}},"key-off":{"category":"","name":"key-off","tags":["password","login","authentication","secure"],"variants":{"outline":"f14b"}},"keyboard":{"category":"Devices","name":"keyboard","tags":["computer","laptop","device","type"],"variants":{"outline":"ebd6"}},"keyboard-hide":{"category":"Devices","name":"keyboard-hide","tags":["computer","laptop","device","type"],"variants":{"outline":"ec7e"}},"keyboard-off":{"category":"Devices","name":"keyboard-off","tags":["computer","laptop","device","type"],"variants":{"outline":"eea0"}},"keyboard-show":{"category":"Devices","name":"keyboard-show","tags":["computer","laptop","device","type"],"variants":{"outline":"ec7f"}},"keyframe":{"category":"Media","name":"keyframe","tags":["animation","shape","design","align"],"variants":{"filled":"fc33","outline":"f576"}},"keyframe-align-center":{"category":"Media","name":"keyframe-align-center","tags":["middle","animation","shape"],"variants":{"filled":"fc30","outline":"f582"}},"keyframe-align-horizontal":{"category":"Media","name":"keyframe-align-horizontal","tags":["animation","shape"],"variants":{"filled":"fc31","outline":"f583"}},"keyframe-align-vertical":{"category":"Media","name":"keyframe-align-vertical","tags":["animation","shape"],"variants":{"filled":"fc32","outline":"f584"}},"keyframes":{"category":"Media","name":"keyframes","tags":["animation","shape","design","align"],"variants":{"filled":"fc34","outline":"f585"}},"label":{"category":"","name":"label","tags":[],"variants":{"filled":"ff41","outline":"ff38"}},"label-important":{"category":"","name":"label-important","tags":[],"variants":{"filled":"ff60","outline":"ff49"}},"label-off":{"category":"","name":"label-off","tags":[],"variants":{"outline":"ff39"}},"ladder":{"category":"","name":"ladder","tags":["up","equipment","garden","climb","climbing"],"variants":{"outline":"efe2"}},"ladder-off":{"category":"","name":"ladder-off","tags":["up","equipment","garden","climb","climbing"],"variants":{"outline":"f14c"}},"ladle":{"category":"","name":"ladle","tags":[],"variants":{"outline":"fc14"}},"lambda":{"category":"Letters","name":"lambda","tags":["letter","alphabet","greek","math"],"variants":{"outline":"f541"}},"lamp":{"category":"","name":"lamp","tags":["light","room","decoration","electic","energy"],"variants":{"outline":"efab"}},"lamp-2":{"category":"","name":"lamp-2","tags":["light","room","decoration","electic","energy"],"variants":{"outline":"f09e"}},"lamp-off":{"category":"","name":"lamp-off","tags":["light","room","decoration","electic","energy"],"variants":{"outline":"f14d"}},"lane":{"category":"","name":"lane","tags":[],"variants":{"outline":"faf9"}},"language":{"category":"Text","name":"language","tags":["tongue","country","speech","speak","translate","communication","communicate","english","dialect","dictionary","word"],"variants":{"outline":"ebbe"}},"language-hiragana":{"category":"Text","name":"language-hiragana","tags":["tongue","country","speech","speak","translate","communication","communicate","english","dialect","dictionary","word"],"variants":{"outline":"ef77"}},"language-katakana":{"category":"Text","name":"language-katakana","tags":["tongue","country","speech","speak","translate","communication","communicate","english","dialect","dictionary","word"],"variants":{"outline":"ef78"}},"language-off":{"category":"Text","name":"language-off","tags":["tongue","country","speech","speak","translate","communication","communicate","english","dialect","dictionary","word"],"variants":{"outline":"f14e"}},"lasso":{"category":"Design","name":"lasso","tags":["cowboy","western","sheriff","man","tool","west"],"variants":{"outline":"efac"}},"lasso-off":{"category":"Design","name":"lasso-off","tags":["cowboy","western","sheriff","man","tool","west"],"variants":{"outline":"f14f"}},"lasso-polygon":{"category":"Design","name":"lasso-polygon","tags":["geometry","adobe","tool","shape"],"variants":{"filled":"ff5f","outline":"f388"}},"laurel-wreath":{"category":"","name":"laurel-wreath","tags":[],"variants":{"outline":"ff45"}},"laurel-wreath-1":{"category":"","name":"laurel-wreath-1","tags":[],"variants":{"outline":"ff48"}},"laurel-wreath-2":{"category":"","name":"laurel-wreath-2","tags":[],"variants":{"outline":"ff47"}},"laurel-wreath-3":{"category":"","name":"laurel-wreath-3","tags":[],"variants":{"outline":"ff46"}},"layers-difference":{"category":"Design","name":"layers-difference","tags":["layered-difference","layer-intersect","intersecting-layers","layer-subtract","difference","overlap","comparison","layer-blend","merge-layers","layer-comparison","stack"],"variants":{"outline":"eac8"}},"layers-intersect":{"category":"Design","name":"layers-intersect","tags":["layered-intersection","layer-difference","intersecting","layer-overlap","intersection","intersecting-layers","layer-interaction","layer-cross","layers-crossing","layer-junction","stack"],"variants":{"outline":"eac9"}},"layers-intersect-2":{"category":"Design","name":"layers-intersect-2","tags":["merge","stack","graphic"],"variants":{"outline":"eff8"}},"layers-linked":{"category":"Design","name":"layers-linked","tags":["data","network"],"variants":{"outline":"eea1"}},"layers-off":{"category":"Design","name":"layers-off","tags":["stack","document","file","pages","graphic"],"variants":{"outline":"f150"}},"layers-selected":{"category":"Design","name":"layers-selected","tags":[],"variants":{"outline":"fea9"}},"layers-selected-bottom":{"category":"Design","name":"layers-selected-bottom","tags":[],"variants":{"outline":"feaa"}},"layers-subtract":{"category":"Design","name":"layers-subtract","tags":["layered-subtraction","layer-removal","remove-layer","subtract-layers","subtracting","layer-reduction","layer-elimination","layer-reduce","layer-removing","remove","stack"],"variants":{"outline":"eaca"}},"layers-union":{"category":"Design","name":"layers-union","tags":["stack","join"],"variants":{"outline":"eacb"}},"layout":{"category":"Design","name":"layout","tags":["grid","columns","masonry","collage"],"variants":{"filled":"fe17","outline":"eadb"}},"layout-2":{"category":"Design","name":"layout-2","tags":["grid","columns","masonry","collage"],"variants":{"filled":"fe27","outline":"eacc"}},"layout-align-bottom":{"category":"Design","name":"layout-align-bottom","tags":["position","element","design"],"variants":{"filled":"fe26","outline":"eacd"}},"layout-align-center":{"category":"Design","name":"layout-align-center","tags":["position","element","design"],"variants":{"filled":"fe25","outline":"eace"}},"layout-align-left":{"category":"Design","name":"layout-align-left","tags":["position","element","design"],"variants":{"filled":"fe24","outline":"eacf"}},"layout-align-middle":{"category":"Design","name":"layout-align-middle","tags":["position","element","design"],"variants":{"filled":"fe23","outline":"ead0"}},"layout-align-right":{"category":"Design","name":"layout-align-right","tags":["position","element","design"],"variants":{"filled":"fe22","outline":"ead1"}},"layout-align-top":{"category":"Design","name":"layout-align-top","tags":["position","element","design"],"variants":{"filled":"fe21","outline":"ead2"}},"layout-board":{"category":"Design","name":"layout-board","tags":["grid","columns","masonry","collage"],"variants":{"outline":"ef95"}},"layout-board-split":{"category":"Design","name":"layout-board-split","tags":["grid","columns","masonry","collage"],"variants":{"outline":"ef94"}},"layout-bottombar":{"category":"Design","name":"layout-bottombar","tags":["position","element","design","grid","footer"],"variants":{"filled":"fc37","outline":"ead3"}},"layout-bottombar-collapse":{"category":"Design","name":"layout-bottombar-collapse","tags":["grid","aside","column","columns","menu","navigation"],"variants":{"filled":"fc35","outline":"f28b"}},"layout-bottombar-expand":{"category":"Design","name":"layout-bottombar-expand","tags":["grid","aside","column","columns","menu","navigation"],"variants":{"filled":"fc36","outline":"f28c"}},"layout-bottombar-inactive":{"category":"","name":"layout-bottombar-inactive","tags":[],"variants":{"outline":"fd45"}},"layout-cards":{"category":"Design","name":"layout-cards","tags":["position","element","design","arrangement"],"variants":{"filled":"fe20","outline":"ec13"}},"layout-collage":{"category":"Design","name":"layout-collage","tags":["grid","dashboard","image","interface","editing"],"variants":{"outline":"f389"}},"layout-columns":{"category":"Design","name":"layout-columns","tags":["grid","column","rows"],"variants":{"outline":"ead4"}},"layout-dashboard":{"category":"Design","name":"layout-dashboard","tags":["grid","view","display","page","masonry"],"variants":{"filled":"fe1f","outline":"f02c"}},"layout-distribute-horizontal":{"category":"Design","name":"layout-distribute-horizontal","tags":["position","element","design","around"],"variants":{"filled":"fe1e","outline":"ead5"}},"layout-distribute-vertical":{"category":"Design","name":"layout-distribute-vertical","tags":["position","element","design","around"],"variants":{"filled":"fe1d","outline":"ead6"}},"layout-grid":{"category":"Design","name":"layout-grid","tags":["layout","table","network","pattern"],"variants":{"filled":"fe1c","outline":"edba"}},"layout-grid-add":{"category":"Design","name":"layout-grid-add","tags":["layout","table","network","pattern"],"variants":{"outline":"edb9"}},"layout-grid-remove":{"category":"Design","name":"layout-grid-remove","tags":[],"variants":{"outline":"fa7d"}},"layout-kanban":{"category":"Design","name":"layout-kanban","tags":["position","element","design","board","processing","task"],"variants":{"filled":"fe1b","outline":"ec3f"}},"layout-list":{"category":"Design","name":"layout-list","tags":["position","design","element","doable"],"variants":{"filled":"fe1a","outline":"ec14"}},"layout-navbar":{"category":"Design","name":"layout-navbar","tags":["grid","row","header"],"variants":{"filled":"fc3a","outline":"ead7"}},"layout-navbar-collapse":{"category":"Design","name":"layout-navbar-collapse","tags":["grid","aside","column","columns","menu","navigation"],"variants":{"filled":"fc38","outline":"f28d"}},"layout-navbar-expand":{"category":"Design","name":"layout-navbar-expand","tags":["grid","aside","column","columns","menu","navigation"],"variants":{"filled":"fc39","outline":"f28e"}},"layout-navbar-inactive":{"category":"","name":"layout-navbar-inactive","tags":[],"variants":{"outline":"fd46"}},"layout-off":{"category":"Design","name":"layout-off","tags":["grid","columns","masonry","collage"],"variants":{"outline":"f151"}},"layout-rows":{"category":"Design","name":"layout-rows","tags":["grid","masonry","collage"],"variants":{"outline":"ead8"}},"layout-sidebar":{"category":"Design","name":"layout-sidebar","tags":["grid","aside","column","columns"],"variants":{"filled":"fe18","outline":"eada"}},"layout-sidebar-inactive":{"category":"","name":"layout-sidebar-inactive","tags":[],"variants":{"outline":"fd47"}},"layout-sidebar-left-collapse":{"category":"Design","name":"layout-sidebar-left-collapse","tags":["grid","aside","column","columns","menu","navigation"],"variants":{"filled":"fc3b","outline":"f004"}},"layout-sidebar-left-expand":{"category":"Design","name":"layout-sidebar-left-expand","tags":["grid","aside","column","columns","menu","navigation"],"variants":{"filled":"fc3c","outline":"f005"}},"layout-sidebar-right":{"category":"Design","name":"layout-sidebar-right","tags":["grid","aside","column","columns"],"variants":{"filled":"fe19","outline":"ead9"}},"layout-sidebar-right-collapse":{"category":"Design","name":"layout-sidebar-right-collapse","tags":["grid","aside","column","columns","menu","navigation"],"variants":{"filled":"fc3d","outline":"f006"}},"layout-sidebar-right-expand":{"category":"Design","name":"layout-sidebar-right-expand","tags":["grid","aside","column","columns","menu","navigation"],"variants":{"filled":"fc3e","outline":"f007"}},"layout-sidebar-right-inactive":{"category":"","name":"layout-sidebar-right-inactive","tags":[],"variants":{"outline":"fd48"}},"leaf":{"category":"Nature","name":"leaf","tags":["nature","plant","tree","autumn","fall","greenery","flower","forest","garden"],"variants":{"outline":"ed4f"}},"leaf-2":{"category":"","name":"leaf-2","tags":[],"variants":{"outline":"ff44"}},"leaf-off":{"category":"Nature","name":"leaf-off","tags":["nature","plant","tree","autumn","fall","greenery","flower","forest","garden"],"variants":{"outline":"f400"}},"lego":{"category":"","name":"lego","tags":["toy","boy","face","play"],"variants":{"filled":"fe16","outline":"eadc"}},"lego-off":{"category":"","name":"lego-off","tags":["toy","boy","face","play"],"variants":{"outline":"f401"}},"lemon":{"category":"Food","name":"lemon","tags":["fruit","citrus","lime","food","vitamin","slice"],"variants":{"outline":"ef10"}},"lemon-2":{"category":"Food","name":"lemon-2","tags":["fruit","citrus","lime","food","vitamin"],"variants":{"outline":"ef81"}},"letter-a":{"category":"Letters","name":"letter-a","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec50"}},"letter-a-small":{"category":"Letters","name":"letter-a-small","tags":["a","alpha","alphabet","first","letter","initial","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcc7"}},"letter-b":{"category":"Letters","name":"letter-b","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec51"}},"letter-b-small":{"category":"Letters","name":"letter-b-small","tags":["b","beta","second","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcc8"}},"letter-c":{"category":"Letters","name":"letter-c","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec52"}},"letter-c-small":{"category":"Letters","name":"letter-c-small","tags":["c","charlie","third","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcc9"}},"letter-case":{"category":"Text","name":"letter-case","tags":["typography","font","text","style","content"],"variants":{"outline":"eea5"}},"letter-case-lower":{"category":"Text","name":"letter-case-lower","tags":["typography","font","text","style","content"],"variants":{"outline":"eea2"}},"letter-case-toggle":{"category":"Text","name":"letter-case-toggle","tags":["typography","font","text","style","content"],"variants":{"outline":"eea3"}},"letter-case-upper":{"category":"Text","name":"letter-case-upper","tags":["typography","font","text","style","content"],"variants":{"outline":"eea4"}},"letter-d":{"category":"Letters","name":"letter-d","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec53"}},"letter-d-small":{"category":"Letters","name":"letter-d-small","tags":["d","delta","fourth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcca"}},"letter-e":{"category":"Letters","name":"letter-e","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec54"}},"letter-e-small":{"category":"Letters","name":"letter-e-small","tags":["e","echo","fifth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fccb"}},"letter-f":{"category":"Letters","name":"letter-f","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec55"}},"letter-f-small":{"category":"Letters","name":"letter-f-small","tags":["f","foxtrot","sixth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fccc"}},"letter-g":{"category":"Letters","name":"letter-g","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec56"}},"letter-g-small":{"category":"Letters","name":"letter-g-small","tags":["g","golf","seventh","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fccd"}},"letter-h":{"category":"Letters","name":"letter-h","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec57"}},"letter-h-small":{"category":"Letters","name":"letter-h-small","tags":["h","hotel","eighth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcce"}},"letter-i":{"category":"Letters","name":"letter-i","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec58"}},"letter-i-small":{"category":"Letters","name":"letter-i-small","tags":["i","india","ninth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fccf"}},"letter-j":{"category":"Letters","name":"letter-j","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec59"}},"letter-j-small":{"category":"Letters","name":"letter-j-small","tags":["j","juliett","tenth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcd0"}},"letter-k":{"category":"Letters","name":"letter-k","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec5a"}},"letter-k-small":{"category":"Letters","name":"letter-k-small","tags":["k","kilo","eleventh","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcd1"}},"letter-l":{"category":"Letters","name":"letter-l","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec5b"}},"letter-l-small":{"category":"Letters","name":"letter-l-small","tags":["l","lima","twelfth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcd2"}},"letter-m":{"category":"Letters","name":"letter-m","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec5c"}},"letter-m-small":{"category":"Letters","name":"letter-m-small","tags":["m","mike","thirteenth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcd3"}},"letter-n":{"category":"Letters","name":"letter-n","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec5d"}},"letter-n-small":{"category":"Letters","name":"letter-n-small","tags":["n","november","fourteenth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcd4"}},"letter-o":{"category":"Letters","name":"letter-o","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec5e"}},"letter-o-small":{"category":"Letters","name":"letter-o-small","tags":["o","oscar","fifteenth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcd5"}},"letter-p":{"category":"Letters","name":"letter-p","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec5f"}},"letter-p-small":{"category":"Letters","name":"letter-p-small","tags":["p","papa","sixteenth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcd6"}},"letter-q":{"category":"Letters","name":"letter-q","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec60"}},"letter-q-small":{"category":"Letters","name":"letter-q-small","tags":["q","quebec","seventeenth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcd7"}},"letter-r":{"category":"Letters","name":"letter-r","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec61"}},"letter-r-small":{"category":"Letters","name":"letter-r-small","tags":["r","romeo","eighteenth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcd8"}},"letter-s":{"category":"Letters","name":"letter-s","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec62"}},"letter-s-small":{"category":"Letters","name":"letter-s-small","tags":["s","sierra","nineteenth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcd9"}},"letter-spacing":{"category":"Text","name":"letter-spacing","tags":["typography","font","space","character","word"],"variants":{"outline":"eea6"}},"letter-t":{"category":"Letters","name":"letter-t","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec63"}},"letter-t-small":{"category":"Letters","name":"letter-t-small","tags":["t","tango","twentieth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcda"}},"letter-u":{"category":"Letters","name":"letter-u","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec64"}},"letter-u-small":{"category":"Letters","name":"letter-u-small","tags":["u","uniform","twenty-first","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcdb"}},"letter-v":{"category":"Letters","name":"letter-v","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec65"}},"letter-v-small":{"category":"Letters","name":"letter-v-small","tags":["v","victor","twenty-second","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcdc"}},"letter-w":{"category":"Letters","name":"letter-w","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec66"}},"letter-w-small":{"category":"Letters","name":"letter-w-small","tags":["w","whiskey","twenty-third","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcdd"}},"letter-x":{"category":"Letters","name":"letter-x","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec67"}},"letter-x-small":{"category":"Letters","name":"letter-x-small","tags":["x","x-ray","twenty-fourth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcde"}},"letter-y":{"category":"Letters","name":"letter-y","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec68"}},"letter-y-small":{"category":"Letters","name":"letter-y-small","tags":["y","yankee","twenty-fifth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fcdf"}},"letter-z":{"category":"Letters","name":"letter-z","tags":["alphabet","symbol","text","code"],"variants":{"outline":"ec69"}},"letter-z-small":{"category":"Letters","name":"letter-z-small","tags":["z","zulu","twenty-sixth","letter","alphabet","character","typeface","glyph","script","symbol"],"variants":{"outline":"fce0"}},"library":{"category":"","name":"library","tags":[],"variants":{"outline":"fd4c"}},"library-minus":{"category":"","name":"library-minus","tags":[],"variants":{"outline":"fd49"}},"library-photo":{"category":"","name":"library-photo","tags":[],"variants":{"outline":"fd4a"}},"library-plus":{"category":"","name":"library-plus","tags":[],"variants":{"outline":"fd4b"}},"license":{"category":"","name":"license","tags":["authorisation","permission","consent","permit","document","agree"],"variants":{"outline":"ebc0"}},"license-off":{"category":"","name":"license-off","tags":["authorisation","permission","consent","permit","document","agree"],"variants":{"outline":"f153"}},"lifebuoy":{"category":"","name":"lifebuoy","tags":["life ring","help","support"],"variants":{"outline":"eadd"}},"lifebuoy-off":{"category":"","name":"lifebuoy-off","tags":["life ring","help","support"],"variants":{"outline":"f154"}},"lighter":{"category":"","name":"lighter","tags":["fire","flame","camping","light","burn","adventure"],"variants":{"outline":"f794"}},"line":{"category":"Design","name":"line","tags":["geometric","segment","link","connection"],"variants":{"outline":"ec40"}},"line-dashed":{"category":"Design","name":"line-dashed","tags":["geometric","segment","link","connection"],"variants":{"outline":"eea7"}},"line-dotted":{"category":"Design","name":"line-dotted","tags":["geometric","segment","link","connection"],"variants":{"outline":"eea8"}},"line-height":{"category":"Text","name":"line-height","tags":["space","inline","display"],"variants":{"outline":"eb94"}},"line-scan":{"category":"","name":"line-scan","tags":[],"variants":{"outline":"fcb8"}},"link":{"category":"Text","name":"link","tags":["zoom-filled"],"variants":{"outline":"eade"}},"link-minus":{"category":"","name":"link-minus","tags":[],"variants":{"outline":"fd16"}},"link-off":{"category":"Text","name":"link-off","tags":["zoom-filled"],"variants":{"outline":"f402"}},"link-plus":{"category":"","name":"link-plus","tags":[],"variants":{"outline":"fd17"}},"list":{"category":"Text","name":"list","tags":["task","unordered","bullets","agenda","shopping"],"variants":{"outline":"eb6b"}},"list-check":{"category":"Text","name":"list-check","tags":["to-do","checklist","form","template","task","reminder","schedule","agenda"],"variants":{"outline":"eb6a"}},"list-details":{"category":"Text","name":"list-details","tags":["to-do","checklist","form","template","task","reminder","schedule","agenda"],"variants":{"outline":"ef40"}},"list-letters":{"category":"","name":"list-letters","tags":[],"variants":{"outline":"fc47"}},"list-numbers":{"category":"Text","name":"list-numbers","tags":["to-do","checklist","form","template","task","reminder","schedule","agenda"],"variants":{"outline":"ef11"}},"list-search":{"category":"Text","name":"list-search","tags":["find","agenda","shopping"],"variants":{"outline":"eea9"}},"list-tree":{"category":"","name":"list-tree","tags":[],"variants":{"outline":"fafa"}},"live-photo":{"category":"Photography","name":"live-photo","tags":["capture","photo","movement","sound","memory","image","camera"],"variants":{"filled":"fed1","outline":"eadf"}},"live-photo-off":{"category":"Photography","name":"live-photo-off","tags":["capture","photo","movement","sound","memory","image","camera"],"variants":{"outline":"f403"}},"live-view":{"category":"Map","name":"live-view","tags":["camera","preview","image","photo"],"variants":{"outline":"ec6b"}},"load-balancer":{"category":"Computers","name":"load-balancer","tags":[],"variants":{"outline":"fa5c"}},"loader":{"category":"System","name":"loader","tags":["process","download","upload","loader","loading"],"variants":{"outline":"eca3"}},"loader-2":{"category":"System","name":"loader-2","tags":["process","download","upload","loader","loading"],"variants":{"outline":"f226"}},"loader-3":{"category":"System","name":"loader-3","tags":["process","download","upload","loader","loading"],"variants":{"outline":"f513"}},"loader-quarter":{"category":"System","name":"loader-quarter","tags":["process","download","upload","loader","loading"],"variants":{"outline":"eca2"}},"location":{"category":"Map","name":"location","tags":["navigation","map","direction","discover","travel"],"variants":{"filled":"f67f","outline":"eae0"}},"location-bolt":{"category":"","name":"location-bolt","tags":[],"variants":{"outline":"fbaf"}},"location-broken":{"category":"Map","name":"location-broken","tags":["delete","map","navigation","pin"],"variants":{"outline":"f2c4"}},"location-cancel":{"category":"","name":"location-cancel","tags":[],"variants":{"outline":"fbb0"}},"location-check":{"category":"","name":"location-check","tags":[],"variants":{"outline":"fbb1"}},"location-code":{"category":"","name":"location-code","tags":[],"variants":{"outline":"fbb2"}},"location-cog":{"category":"","name":"location-cog","tags":[],"variants":{"outline":"fbb3"}},"location-discount":{"category":"","name":"location-discount","tags":[],"variants":{"outline":"fbb4"}},"location-dollar":{"category":"","name":"location-dollar","tags":[],"variants":{"outline":"fbb5"}},"location-down":{"category":"","name":"location-down","tags":[],"variants":{"outline":"fbb6"}},"location-exclamation":{"category":"","name":"location-exclamation","tags":[],"variants":{"outline":"fbb7"}},"location-heart":{"category":"","name":"location-heart","tags":[],"variants":{"outline":"fbb8"}},"location-minus":{"category":"","name":"location-minus","tags":[],"variants":{"outline":"fbb9"}},"location-off":{"category":"Map","name":"location-off","tags":["navigation","map","direction","discover","travel"],"variants":{"outline":"f155"}},"location-pause":{"category":"","name":"location-pause","tags":[],"variants":{"outline":"fbba"}},"location-pin":{"category":"","name":"location-pin","tags":[],"variants":{"outline":"fbbb"}},"location-plus":{"category":"","name":"location-plus","tags":[],"variants":{"outline":"fbbc"}},"location-question":{"category":"","name":"location-question","tags":[],"variants":{"outline":"fbbd"}},"location-search":{"category":"","name":"location-search","tags":[],"variants":{"outline":"fbbe"}},"location-share":{"category":"","name":"location-share","tags":[],"variants":{"outline":"fbbf"}},"location-star":{"category":"","name":"location-star","tags":[],"variants":{"outline":"fbc0"}},"location-up":{"category":"","name":"location-up","tags":[],"variants":{"outline":"fbc1"}},"location-x":{"category":"","name":"location-x","tags":[],"variants":{"outline":"fbc2"}},"lock":{"category":"System","name":"lock","tags":["security","password","secure"],"variants":{"filled":"fe15","outline":"eae2"}},"lock-access":{"category":"System","name":"lock-access","tags":["block","limited","restricted","unavailable","confidential"],"variants":{"outline":"eeaa"}},"lock-access-off":{"category":"System","name":"lock-access-off","tags":["block","limited","restricted","unavailable","confidential"],"variants":{"outline":"f404"}},"lock-bitcoin":{"category":"","name":"lock-bitcoin","tags":[],"variants":{"outline":"ff37"}},"lock-bolt":{"category":"System","name":"lock-bolt","tags":[],"variants":{"outline":"f924"}},"lock-cancel":{"category":"System","name":"lock-cancel","tags":[],"variants":{"outline":"f925"}},"lock-check":{"category":"System","name":"lock-check","tags":[],"variants":{"outline":"f926"}},"lock-code":{"category":"System","name":"lock-code","tags":[],"variants":{"outline":"f927"}},"lock-cog":{"category":"System","name":"lock-cog","tags":[],"variants":{"outline":"f928"}},"lock-dollar":{"category":"System","name":"lock-dollar","tags":[],"variants":{"outline":"f929"}},"lock-down":{"category":"System","name":"lock-down","tags":[],"variants":{"outline":"f92a"}},"lock-exclamation":{"category":"System","name":"lock-exclamation","tags":[],"variants":{"outline":"f92b"}},"lock-heart":{"category":"System","name":"lock-heart","tags":[],"variants":{"outline":"f92c"}},"lock-minus":{"category":"System","name":"lock-minus","tags":[],"variants":{"outline":"f92d"}},"lock-off":{"category":"System","name":"lock-off","tags":["security","password","secure"],"variants":{"outline":"ed1e"}},"lock-open":{"category":"System","name":"lock-open","tags":["security","password","secure","unprotected"],"variants":{"outline":"eae1"}},"lock-open-2":{"category":"","name":"lock-open-2","tags":[],"variants":{"outline":"fea8"}},"lock-open-off":{"category":"System","name":"lock-open-off","tags":["security","password","secure","unprotected"],"variants":{"outline":"f156"}},"lock-pause":{"category":"System","name":"lock-pause","tags":[],"variants":{"outline":"f92e"}},"lock-pin":{"category":"System","name":"lock-pin","tags":[],"variants":{"outline":"f92f"}},"lock-plus":{"category":"System","name":"lock-plus","tags":[],"variants":{"outline":"f930"}},"lock-question":{"category":"System","name":"lock-question","tags":[],"variants":{"outline":"f931"}},"lock-search":{"category":"System","name":"lock-search","tags":[],"variants":{"outline":"f932"}},"lock-share":{"category":"System","name":"lock-share","tags":[],"variants":{"outline":"f933"}},"lock-square":{"category":"System","name":"lock-square","tags":["privaty","safe","secure","privacy"],"variants":{"outline":"ef51"}},"lock-square-rounded":{"category":"System","name":"lock-square-rounded","tags":["security","secure","locked","password","shape","safe"],"variants":{"filled":"f6da","outline":"f636"}},"lock-star":{"category":"System","name":"lock-star","tags":[],"variants":{"outline":"f934"}},"lock-up":{"category":"System","name":"lock-up","tags":[],"variants":{"outline":"f935"}},"lock-x":{"category":"System","name":"lock-x","tags":[],"variants":{"outline":"f936"}},"logic-and":{"category":"Logic","name":"logic-and","tags":["gate","technology","electirical","it"],"variants":{"outline":"f240"}},"logic-buffer":{"category":"Logic","name":"logic-buffer","tags":["gate","technology","electirical","it"],"variants":{"outline":"f241"}},"logic-nand":{"category":"Logic","name":"logic-nand","tags":["gate","technology","electirical","it"],"variants":{"outline":"f242"}},"logic-nor":{"category":"Logic","name":"logic-nor","tags":["gate","technology","electirical","it"],"variants":{"outline":"f243"}},"logic-not":{"category":"Logic","name":"logic-not","tags":["gate","technology","electirical","it"],"variants":{"outline":"f244"}},"logic-or":{"category":"Logic","name":"logic-or","tags":["gate","technology","electirical","it"],"variants":{"outline":"f245"}},"logic-xnor":{"category":"Logic","name":"logic-xnor","tags":["gate","technology","electirical","it"],"variants":{"outline":"f246"}},"logic-xor":{"category":"Logic","name":"logic-xor","tags":["gate","technology","electirical","it"],"variants":{"outline":"f247"}},"login":{"category":"Arrows","name":"login","tags":["initialize","password","enter","account","permission"],"variants":{"outline":"eba7"}},"login-2":{"category":"","name":"login-2","tags":[],"variants":{"outline":"fc76"}},"logout":{"category":"System","name":"logout","tags":["exit","shut","unplug","close"],"variants":{"outline":"eba8"}},"logout-2":{"category":"System","name":"logout-2","tags":[],"variants":{"outline":"fa7e"}},"logs":{"category":"","name":"logs","tags":[],"variants":{"outline":"fea7"}},"lollipop":{"category":"Food","name":"lollipop","tags":["candy","food","sweet","halloween","dessert","sugar"],"variants":{"outline":"efcc"}},"lollipop-off":{"category":"Food","name":"lollipop-off","tags":["candy","food","sweet","halloween","dessert","sugar"],"variants":{"outline":"f157"}},"luggage":{"category":"","name":"luggage","tags":["travel","vacation","suitcase","bag","holiday","baggage"],"variants":{"outline":"efad"}},"luggage-off":{"category":"","name":"luggage-off","tags":["travel","vacation","suitcase","bag","holiday","baggage"],"variants":{"outline":"f158"}},"lungs":{"category":"Health","name":"lungs","tags":["anatomy","human","medical","respiratory","breathe","organ"],"variants":{"filled":"fe14","outline":"ef62"}},"lungs-off":{"category":"Health","name":"lungs-off","tags":["anatomy","human","medical","respiratory","breathe","organ"],"variants":{"outline":"f405"}},"macro":{"category":"Photography","name":"macro","tags":["video","photography","photo","camera"],"variants":{"filled":"fe13","outline":"eeab"}},"macro-off":{"category":"Photography","name":"macro-off","tags":["video","photography","photo","camera"],"variants":{"outline":"f406"}},"magnet":{"category":"","name":"magnet","tags":["magnetic field","pole","iron","attract"],"variants":{"filled":"fe12","outline":"eae3"}},"magnet-off":{"category":"","name":"magnet-off","tags":["magnetic field","pole","iron","attract"],"variants":{"outline":"f159"}},"magnetic":{"category":"","name":"magnetic","tags":[],"variants":{"outline":"fcb9"}},"mail":{"category":"Communication","name":"mail","tags":["inbox","gmail","email","envelope","message"],"variants":{"filled":"fa47","outline":"eae5"}},"mail-ai":{"category":"Communication","name":"mail-ai","tags":[],"variants":{"outline":"fa31"}},"mail-bitcoin":{"category":"","name":"mail-bitcoin","tags":[],"variants":{"outline":"ff36"}},"mail-bolt":{"category":"Communication","name":"mail-bolt","tags":[],"variants":{"outline":"f937"}},"mail-cancel":{"category":"Communication","name":"mail-cancel","tags":[],"variants":{"outline":"f938"}},"mail-check":{"category":"Communication","name":"mail-check","tags":[],"variants":{"outline":"f939"}},"mail-code":{"category":"Communication","name":"mail-code","tags":[],"variants":{"outline":"f93a"}},"mail-cog":{"category":"Communication","name":"mail-cog","tags":[],"variants":{"outline":"f93b"}},"mail-dollar":{"category":"Communication","name":"mail-dollar","tags":[],"variants":{"outline":"f93c"}},"mail-down":{"category":"Communication","name":"mail-down","tags":[],"variants":{"outline":"f93d"}},"mail-exclamation":{"category":"Communication","name":"mail-exclamation","tags":[],"variants":{"outline":"f93e"}},"mail-fast":{"category":"Communication","name":"mail-fast","tags":["send","massage","quick","delivery","speed","communication"],"variants":{"outline":"f069"}},"mail-forward":{"category":"Communication","name":"mail-forward","tags":["send","recipient","email","inbox","message"],"variants":{"outline":"eeac"}},"mail-heart":{"category":"Communication","name":"mail-heart","tags":[],"variants":{"outline":"f93f"}},"mail-minus":{"category":"Communication","name":"mail-minus","tags":[],"variants":{"outline":"f940"}},"mail-off":{"category":"Communication","name":"mail-off","tags":["inbox","gmail","email","envelope","message"],"variants":{"outline":"f15a"}},"mail-opened":{"category":"Communication","name":"mail-opened","tags":["inbox","gmail","email","envelope","message","read"],"variants":{"filled":"fa48","outline":"eae4"}},"mail-pause":{"category":"Communication","name":"mail-pause","tags":[],"variants":{"outline":"f941"}},"mail-pin":{"category":"Communication","name":"mail-pin","tags":[],"variants":{"outline":"f942"}},"mail-plus":{"category":"Communication","name":"mail-plus","tags":[],"variants":{"outline":"f943"}},"mail-question":{"category":"Communication","name":"mail-question","tags":[],"variants":{"outline":"f944"}},"mail-search":{"category":"Communication","name":"mail-search","tags":[],"variants":{"outline":"f945"}},"mail-share":{"category":"Communication","name":"mail-share","tags":[],"variants":{"outline":"f946"}},"mail-star":{"category":"Communication","name":"mail-star","tags":[],"variants":{"outline":"f947"}},"mail-up":{"category":"Communication","name":"mail-up","tags":[],"variants":{"outline":"f948"}},"mail-x":{"category":"Communication","name":"mail-x","tags":[],"variants":{"outline":"f949"}},"mailbox":{"category":"Communication","name":"mailbox","tags":["send","recipient","email","inbox","message","reply","post"],"variants":{"outline":"eead"}},"mailbox-off":{"category":"Communication","name":"mailbox-off","tags":["send","recipient","email","inbox","message","reply","post"],"variants":{"outline":"f15b"}},"man":{"category":"","name":"man","tags":["guy","boy","male","gender"],"variants":{"filled":"fe11","outline":"eae6"}},"manual-gearbox":{"category":"","name":"manual-gearbox","tags":["car","vehicle","torque","transmission","mechanics","motor","engine"],"variants":{"filled":"fe10","outline":"ed7b"}},"map":{"category":"Map","name":"map","tags":["navigation","location","travel"],"variants":{"outline":"eae9"}},"map-2":{"category":"Map","name":"map-2","tags":["navigation","location","travel","pin","position","marker"],"variants":{"outline":"eae7"}},"map-bolt":{"category":"","name":"map-bolt","tags":[],"variants":{"outline":"fbc3"}},"map-cancel":{"category":"","name":"map-cancel","tags":[],"variants":{"outline":"fbc4"}},"map-check":{"category":"","name":"map-check","tags":[],"variants":{"outline":"fbc5"}},"map-code":{"category":"","name":"map-code","tags":[],"variants":{"outline":"fbc6"}},"map-cog":{"category":"","name":"map-cog","tags":[],"variants":{"outline":"fbc7"}},"map-discount":{"category":"","name":"map-discount","tags":[],"variants":{"outline":"fbc8"}},"map-dollar":{"category":"","name":"map-dollar","tags":[],"variants":{"outline":"fbc9"}},"map-down":{"category":"","name":"map-down","tags":[],"variants":{"outline":"fbca"}},"map-east":{"category":"Map","name":"map-east","tags":[],"variants":{"outline":"fc5d"}},"map-exclamation":{"category":"","name":"map-exclamation","tags":[],"variants":{"outline":"fbcb"}},"map-heart":{"category":"","name":"map-heart","tags":[],"variants":{"outline":"fbcc"}},"map-minus":{"category":"","name":"map-minus","tags":[],"variants":{"outline":"fbcd"}},"map-north":{"category":"Map","name":"map-north","tags":[],"variants":{"outline":"fc5e"}},"map-off":{"category":"Map","name":"map-off","tags":["navigation","location","travel"],"variants":{"outline":"f15c"}},"map-pause":{"category":"","name":"map-pause","tags":[],"variants":{"outline":"fbce"}},"map-pin":{"category":"Map","name":"map-pin","tags":["navigation","location","travel","pin","position","marker"],"variants":{"filled":"f680","outline":"eae8"}},"map-pin-2":{"category":"","name":"map-pin-2","tags":[],"variants":{"outline":"fc48"}},"map-pin-bolt":{"category":"Map","name":"map-pin-bolt","tags":[],"variants":{"outline":"f94a"}},"map-pin-cancel":{"category":"Map","name":"map-pin-cancel","tags":[],"variants":{"outline":"f94b"}},"map-pin-check":{"category":"Map","name":"map-pin-check","tags":[],"variants":{"outline":"f94c"}},"map-pin-code":{"category":"Map","name":"map-pin-code","tags":[],"variants":{"outline":"f94d"}},"map-pin-cog":{"category":"Map","name":"map-pin-cog","tags":[],"variants":{"outline":"f94e"}},"map-pin-dollar":{"category":"Map","name":"map-pin-dollar","tags":[],"variants":{"outline":"f94f"}},"map-pin-down":{"category":"Map","name":"map-pin-down","tags":[],"variants":{"outline":"f950"}},"map-pin-exclamation":{"category":"Map","name":"map-pin-exclamation","tags":[],"variants":{"outline":"f951"}},"map-pin-heart":{"category":"Map","name":"map-pin-heart","tags":[],"variants":{"outline":"f952"}},"map-pin-minus":{"category":"Map","name":"map-pin-minus","tags":[],"variants":{"outline":"f953"}},"map-pin-off":{"category":"Map","name":"map-pin-off","tags":["navigation","location","travel","pin","position","marker"],"variants":{"outline":"ecf3"}},"map-pin-pause":{"category":"Map","name":"map-pin-pause","tags":[],"variants":{"outline":"f954"}},"map-pin-pin":{"category":"Map","name":"map-pin-pin","tags":[],"variants":{"outline":"f955"}},"map-pin-plus":{"category":"Map","name":"map-pin-plus","tags":[],"variants":{"outline":"f956"}},"map-pin-question":{"category":"Map","name":"map-pin-question","tags":[],"variants":{"outline":"f957"}},"map-pin-search":{"category":"Map","name":"map-pin-search","tags":[],"variants":{"outline":"f958"}},"map-pin-share":{"category":"Map","name":"map-pin-share","tags":["location","gps","pointer","marker","place","send"],"variants":{"outline":"f795"}},"map-pin-star":{"category":"Map","name":"map-pin-star","tags":[],"variants":{"outline":"f959"}},"map-pin-up":{"category":"Map","name":"map-pin-up","tags":[],"variants":{"outline":"f95a"}},"map-pin-x":{"category":"Map","name":"map-pin-x","tags":[],"variants":{"outline":"f95b"}},"map-pins":{"category":"Map","name":"map-pins","tags":["place","direction","travel","destination","mark","location","address"],"variants":{"outline":"ed5e"}},"map-plus":{"category":"","name":"map-plus","tags":[],"variants":{"outline":"fbcf"}},"map-question":{"category":"","name":"map-question","tags":[],"variants":{"outline":"fbd0"}},"map-route":{"category":"","name":"map-route","tags":[],"variants":{"outline":"fc79"}},"map-search":{"category":"Map","name":"map-search","tags":["location","navigation","gps","find","pin"],"variants":{"outline":"ef82"}},"map-share":{"category":"","name":"map-share","tags":[],"variants":{"outline":"fbd1"}},"map-south":{"category":"Map","name":"map-south","tags":[],"variants":{"outline":"fc5f"}},"map-star":{"category":"","name":"map-star","tags":[],"variants":{"outline":"fbd2"}},"map-up":{"category":"","name":"map-up","tags":[],"variants":{"outline":"fbd3"}},"map-west":{"category":"Map","name":"map-west","tags":[],"variants":{"outline":"fc60"}},"map-x":{"category":"","name":"map-x","tags":[],"variants":{"outline":"fbd4"}},"markdown":{"category":"Text","name":"markdown","tags":["price","valuation","cost","exchange"],"variants":{"outline":"ec41"}},"markdown-off":{"category":"Text","name":"markdown-off","tags":["price","valuation","cost","exchange"],"variants":{"outline":"f407"}},"marquee":{"category":"","name":"marquee","tags":["tag","tracer","html","animation","text","graphic"],"variants":{"outline":"ec77"}},"marquee-2":{"category":"","name":"marquee-2","tags":["tag","tracer","html","animation","text","graphic"],"variants":{"outline":"eeae"}},"marquee-off":{"category":"","name":"marquee-off","tags":["tag","tracer","html","animation","text","graphic"],"variants":{"outline":"f15d"}},"mars":{"category":"Symbols","name":"mars","tags":["male"],"variants":{"outline":"ec80"}},"mask":{"category":"Design","name":"mask","tags":["edit","layer","mask","tool","design"],"variants":{"outline":"eeb0"}},"mask-off":{"category":"Design","name":"mask-off","tags":["edit","layer","mask","tool","design"],"variants":{"outline":"eeaf"}},"masks-theater":{"category":"Map","name":"masks-theater","tags":["cinema","comedy","acting","face","art"],"variants":{"outline":"f263"}},"masks-theater-off":{"category":"Map","name":"masks-theater-off","tags":["cinema","comedy","acting","face","art"],"variants":{"outline":"f408"}},"massage":{"category":"Health","name":"massage","tags":["physiotherapy","spa","relax","sports","therapy","treatment","spine"],"variants":{"outline":"eeb1"}},"matchstick":{"category":"","name":"matchstick","tags":["fire","flame","burn","spark"],"variants":{"outline":"f577"}},"math":{"category":"Math","name":"math","tags":["subject","count","plus","minus","times"],"variants":{"outline":"ebeb"}},"math-1-divide-2":{"category":"Math","name":"math-1-divide-2","tags":["calculations","half","mathematic"],"variants":{"outline":"f4e2"}},"math-1-divide-3":{"category":"Math","name":"math-1-divide-3","tags":["calculations","mathematic","quarter"],"variants":{"outline":"f4e3"}},"math-avg":{"category":"Math","name":"math-avg","tags":["symbol"],"variants":{"outline":"f0f4"}},"math-cos":{"category":"Math","name":"math-cos","tags":["mathematic","cosinus","trigonometry","function"],"variants":{"outline":"ff1f"}},"math-ctg":{"category":"","name":"math-ctg","tags":[],"variants":{"outline":"ff35"}},"math-equal-greater":{"category":"Math","name":"math-equal-greater","tags":["mathematic","than","more","equation","sign"],"variants":{"outline":"f4e4"}},"math-equal-lower":{"category":"Math","name":"math-equal-lower","tags":["mathematic","less","than","equation","sign"],"variants":{"outline":"f4e5"}},"math-function":{"category":"Math","name":"math-function","tags":["linear","statyscics","graph"],"variants":{"outline":"eeb2"}},"math-function-off":{"category":"Math","name":"math-function-off","tags":["linear","statyscics","graph"],"variants":{"outline":"f15e"}},"math-function-y":{"category":"Math","name":"math-function-y","tags":["mathematic","sign","x","expression"],"variants":{"outline":"f4e6"}},"math-greater":{"category":"Math","name":"math-greater","tags":["mathematic","sign","expression","more"],"variants":{"outline":"f4e7"}},"math-integral":{"category":"Math","name":"math-integral","tags":["mathematic","sign","expression"],"variants":{"outline":"f4e9"}},"math-integral-x":{"category":"Math","name":"math-integral-x","tags":["mathematic","sign","y","expression"],"variants":{"outline":"f4e8"}},"math-integrals":{"category":"Math","name":"math-integrals","tags":["mathematic","sign","expression"],"variants":{"outline":"f4ea"}},"math-lower":{"category":"Math","name":"math-lower","tags":["mathematic","sign","expressionm","less"],"variants":{"outline":"f4eb"}},"math-max":{"category":"Math","name":"math-max","tags":["symbol"],"variants":{"outline":"f0f5"}},"math-max-min":{"category":"","name":"math-max-min","tags":[],"variants":{"outline":"fda0"}},"math-min":{"category":"Math","name":"math-min","tags":["symbol"],"variants":{"outline":"f0f6"}},"math-not":{"category":"Math","name":"math-not","tags":["mathematic","sign","expression"],"variants":{"outline":"f4ec"}},"math-off":{"category":"Math","name":"math-off","tags":["subject","count","plus","minus","times"],"variants":{"outline":"f409"}},"math-pi":{"category":"Math","name":"math-pi","tags":["mathematic","sign","expression"],"variants":{"outline":"f4ee"}},"math-pi-divide-2":{"category":"Math","name":"math-pi-divide-2","tags":["mathematic","sign","expression"],"variants":{"outline":"f4ed"}},"math-sec":{"category":"","name":"math-sec","tags":[],"variants":{"outline":"ff34"}},"math-sin":{"category":"Math","name":"math-sin","tags":["mathematic","sinus","trigonometry","function"],"variants":{"outline":"ff1e"}},"math-symbols":{"category":"Math","name":"math-symbols","tags":["calculator","equal","plus","multiplication","minus","math"],"variants":{"outline":"eeb3"}},"math-tg":{"category":"","name":"math-tg","tags":[],"variants":{"outline":"ff33"}},"math-x-divide-2":{"category":"Math","name":"math-x-divide-2","tags":["mathematic","expression","equation"],"variants":{"outline":"f4ef"}},"math-x-divide-y":{"category":"Math","name":"math-x-divide-y","tags":["mathematic","expression","equation"],"variants":{"outline":"f4f1"}},"math-x-divide-y-2":{"category":"Math","name":"math-x-divide-y-2","tags":["mathematic","expression","equation"],"variants":{"outline":"f4f0"}},"math-x-minus-x":{"category":"Math","name":"math-x-minus-x","tags":["mathematic","expression","equation"],"variants":{"outline":"f4f2"}},"math-x-minus-y":{"category":"Math","name":"math-x-minus-y","tags":["mathematic","expression","equation"],"variants":{"outline":"f4f3"}},"math-x-plus-x":{"category":"Math","name":"math-x-plus-x","tags":["mathematic","expression","equation"],"variants":{"outline":"f4f4"}},"math-x-plus-y":{"category":"Math","name":"math-x-plus-y","tags":["mathematic","expression","equation"],"variants":{"outline":"f4f5"}},"math-xy":{"category":"Math","name":"math-xy","tags":["mathematic","expression","equation"],"variants":{"outline":"f4f6"}},"math-y-minus-y":{"category":"Math","name":"math-y-minus-y","tags":["mathematic","expression","equation"],"variants":{"outline":"f4f7"}},"math-y-plus-y":{"category":"Math","name":"math-y-plus-y","tags":["mathematic","expression","equation"],"variants":{"outline":"f4f8"}},"maximize":{"category":"Media","name":"maximize","tags":["fullscreen","maximize","expand","window","size","resize","direction"],"variants":{"outline":"eaea"}},"maximize-off":{"category":"Media","name":"maximize-off","tags":["fullscreen","maximize","expand","window","size","resize","direction"],"variants":{"outline":"f15f"}},"meat":{"category":"Food","name":"meat","tags":["food","beef","steak","chicken","sasuage","dinner"],"variants":{"outline":"ef12"}},"meat-off":{"category":"Food","name":"meat-off","tags":["food","beef","steak","chicken","sasuage","dinner"],"variants":{"outline":"f40a"}},"medal":{"category":"","name":"medal","tags":["decorate","uniform"],"variants":{"outline":"ec78"}},"medal-2":{"category":"","name":"medal-2","tags":["decorate","uniform"],"variants":{"outline":"efcd"}},"medical-cross":{"category":"Map","name":"medical-cross","tags":["sign","hospital","help","indication"],"variants":{"filled":"f681","outline":"ec2f"}},"medical-cross-circle":{"category":"Map","name":"medical-cross-circle","tags":[],"variants":{"outline":"fae8"}},"medical-cross-off":{"category":"Map","name":"medical-cross-off","tags":["sign","hospital","help","indication"],"variants":{"outline":"f160"}},"medicine-syrup":{"category":"Health","name":"medicine-syrup","tags":["bottle","pharmacy","healthcare","health","mixture","drug"],"variants":{"outline":"ef63"}},"meeple":{"category":"Sport","name":"meeple","tags":["pawn","board","game","wood"],"variants":{"outline":"f514"}},"melon":{"category":"Food","name":"melon","tags":[],"variants":{"outline":"fc7a"}},"menorah":{"category":"Symbols","name":"menorah","tags":["judaism","religion","cultures","jewish"],"variants":{"outline":"f58c"}},"menu":{"category":"System","name":"menu","tags":["bars","hamburger","navigation","burger"],"variants":{"outline":"eaeb"}},"menu-2":{"category":"System","name":"menu-2","tags":["bars","hamburger","navigation","burger"],"variants":{"outline":"ec42"}},"menu-3":{"category":"","name":"menu-3","tags":[],"variants":{"outline":"ff43"}},"menu-4":{"category":"","name":"menu-4","tags":[],"variants":{"outline":"ff42"}},"menu-deep":{"category":"","name":"menu-deep","tags":[],"variants":{"outline":"fafb"}},"menu-order":{"category":"System","name":"menu-order","tags":["move","arrows","up","down","south","north","bottom","top"],"variants":{"outline":"f5f5"}},"message":{"category":"Communication","name":"message","tags":["comment","chat","reply","communication","conversation","faq"],"variants":{"filled":"fecd","outline":"eaef"}},"message-2":{"category":"Communication","name":"message-2","tags":["comment","chat","reply","faq"],"variants":{"outline":"eaec"}},"message-2-bolt":{"category":"Communication","name":"message-2-bolt","tags":[],"variants":{"outline":"f95c"}},"message-2-cancel":{"category":"Communication","name":"message-2-cancel","tags":[],"variants":{"outline":"f95d"}},"message-2-check":{"category":"Communication","name":"message-2-check","tags":[],"variants":{"outline":"f95e"}},"message-2-code":{"category":"Communication","name":"message-2-code","tags":["coding","programming","chat","program"],"variants":{"outline":"f012"}},"message-2-cog":{"category":"Communication","name":"message-2-cog","tags":[],"variants":{"outline":"f95f"}},"message-2-dollar":{"category":"Communication","name":"message-2-dollar","tags":[],"variants":{"outline":"f960"}},"message-2-down":{"category":"Communication","name":"message-2-down","tags":[],"variants":{"outline":"f961"}},"message-2-exclamation":{"category":"Communication","name":"message-2-exclamation","tags":[],"variants":{"outline":"f962"}},"message-2-heart":{"category":"Communication","name":"message-2-heart","tags":[],"variants":{"outline":"f963"}},"message-2-minus":{"category":"Communication","name":"message-2-minus","tags":[],"variants":{"outline":"f964"}},"message-2-off":{"category":"Communication","name":"message-2-off","tags":["comment","chat","reply","faq"],"variants":{"outline":"f40b"}},"message-2-pause":{"category":"Communication","name":"message-2-pause","tags":[],"variants":{"outline":"f965"}},"message-2-pin":{"category":"Communication","name":"message-2-pin","tags":[],"variants":{"outline":"f966"}},"message-2-plus":{"category":"Communication","name":"message-2-plus","tags":[],"variants":{"outline":"f967"}},"message-2-question":{"category":"Communication","name":"message-2-question","tags":[],"variants":{"outline":"f968"}},"message-2-search":{"category":"Communication","name":"message-2-search","tags":[],"variants":{"outline":"f969"}},"message-2-share":{"category":"Communication","name":"message-2-share","tags":["sharing","email","mail","communication","post"],"variants":{"outline":"f077"}},"message-2-star":{"category":"Communication","name":"message-2-star","tags":[],"variants":{"outline":"f96a"}},"message-2-up":{"category":"Communication","name":"message-2-up","tags":[],"variants":{"outline":"f96b"}},"message-2-x":{"category":"Communication","name":"message-2-x","tags":[],"variants":{"outline":"f96c"}},"message-bolt":{"category":"Communication","name":"message-bolt","tags":[],"variants":{"outline":"f96d"}},"message-cancel":{"category":"Communication","name":"message-cancel","tags":[],"variants":{"outline":"f96e"}},"message-chatbot":{"category":"Communication","name":"message-chatbot","tags":["automatic","robot","assistant","support"],"variants":{"filled":"fed0","outline":"f38a"}},"message-check":{"category":"Communication","name":"message-check","tags":[],"variants":{"outline":"f96f"}},"message-circle":{"category":"Communication","name":"message-circle","tags":["comment","chat","reply"],"variants":{"filled":"fecf","outline":"eaed"}},"message-circle-bolt":{"category":"Communication","name":"message-circle-bolt","tags":[],"variants":{"outline":"f970"}},"message-circle-cancel":{"category":"Communication","name":"message-circle-cancel","tags":[],"variants":{"outline":"f971"}},"message-circle-check":{"category":"Communication","name":"message-circle-check","tags":[],"variants":{"outline":"f972"}},"message-circle-code":{"category":"Communication","name":"message-circle-code","tags":[],"variants":{"outline":"f973"}},"message-circle-cog":{"category":"Communication","name":"message-circle-cog","tags":[],"variants":{"outline":"f974"}},"message-circle-dollar":{"category":"Communication","name":"message-circle-dollar","tags":[],"variants":{"outline":"f975"}},"message-circle-down":{"category":"Communication","name":"message-circle-down","tags":[],"variants":{"outline":"f976"}},"message-circle-exclamation":{"category":"Communication","name":"message-circle-exclamation","tags":[],"variants":{"outline":"f977"}},"message-circle-heart":{"category":"Communication","name":"message-circle-heart","tags":[],"variants":{"outline":"f978"}},"message-circle-minus":{"category":"Communication","name":"message-circle-minus","tags":[],"variants":{"outline":"f979"}},"message-circle-off":{"category":"Communication","name":"message-circle-off","tags":["comment","chat","reply"],"variants":{"outline":"ed40"}},"message-circle-pause":{"category":"Communication","name":"message-circle-pause","tags":[],"variants":{"outline":"f97a"}},"message-circle-pin":{"category":"Communication","name":"message-circle-pin","tags":[],"variants":{"outline":"f97b"}},"message-circle-plus":{"category":"Communication","name":"message-circle-plus","tags":[],"variants":{"outline":"f97c"}},"message-circle-question":{"category":"Communication","name":"message-circle-question","tags":[],"variants":{"outline":"f97d"}},"message-circle-search":{"category":"Communication","name":"message-circle-search","tags":[],"variants":{"outline":"f97e"}},"message-circle-share":{"category":"Communication","name":"message-circle-share","tags":[],"variants":{"outline":"f97f"}},"message-circle-star":{"category":"Communication","name":"message-circle-star","tags":[],"variants":{"outline":"f980"}},"message-circle-up":{"category":"Communication","name":"message-circle-up","tags":[],"variants":{"outline":"f981"}},"message-circle-user":{"category":"","name":"message-circle-user","tags":[],"variants":{"outline":"fec5"}},"message-circle-x":{"category":"Communication","name":"message-circle-x","tags":[],"variants":{"outline":"f982"}},"message-code":{"category":"Communication","name":"message-code","tags":["coding","programming","chat","program"],"variants":{"outline":"f013"}},"message-cog":{"category":"Communication","name":"message-cog","tags":[],"variants":{"outline":"f983"}},"message-dollar":{"category":"Communication","name":"message-dollar","tags":[],"variants":{"outline":"f984"}},"message-dots":{"category":"Communication","name":"message-dots","tags":["comment","chat","reply"],"variants":{"outline":"eaee"}},"message-down":{"category":"Communication","name":"message-down","tags":[],"variants":{"outline":"f985"}},"message-exclamation":{"category":"Communication","name":"message-exclamation","tags":[],"variants":{"outline":"f986"}},"message-forward":{"category":"Communication","name":"message-forward","tags":["email","mail","send","chat","communication","arrow"],"variants":{"outline":"f28f"}},"message-heart":{"category":"Communication","name":"message-heart","tags":[],"variants":{"outline":"f987"}},"message-language":{"category":"Communication","name":"message-language","tags":["communication","translate","alphabet","letter"],"variants":{"outline":"efae"}},"message-minus":{"category":"Communication","name":"message-minus","tags":[],"variants":{"outline":"f988"}},"message-off":{"category":"Communication","name":"message-off","tags":["comment","chat","reply","communication","conversation","faq"],"variants":{"outline":"ed41"}},"message-pause":{"category":"Communication","name":"message-pause","tags":[],"variants":{"outline":"f989"}},"message-pin":{"category":"Communication","name":"message-pin","tags":[],"variants":{"outline":"f98a"}},"message-plus":{"category":"Communication","name":"message-plus","tags":["comment","chat","reply","communication","conversation"],"variants":{"outline":"ec9a"}},"message-question":{"category":"Communication","name":"message-question","tags":[],"variants":{"outline":"f98b"}},"message-reply":{"category":"","name":"message-reply","tags":[],"variants":{"outline":"fd4d"}},"message-report":{"category":"Communication","name":"message-report","tags":["comment","chat","reply","communication","conversation"],"variants":{"filled":"fece","outline":"ec9b"}},"message-search":{"category":"Communication","name":"message-search","tags":[],"variants":{"outline":"f98c"}},"message-share":{"category":"Communication","name":"message-share","tags":["sharing","email","mail","communication","post"],"variants":{"outline":"f078"}},"message-star":{"category":"Communication","name":"message-star","tags":[],"variants":{"outline":"f98d"}},"message-up":{"category":"Communication","name":"message-up","tags":[],"variants":{"outline":"f98e"}},"message-user":{"category":"","name":"message-user","tags":[],"variants":{"outline":"fec4"}},"message-x":{"category":"Communication","name":"message-x","tags":[],"variants":{"outline":"f98f"}},"messages":{"category":"Communication","name":"messages","tags":["chat","reply","comment","conversation","communication","faq"],"variants":{"outline":"eb6c"}},"messages-off":{"category":"Communication","name":"messages-off","tags":["chat","reply","comment","conversation","communication","faq"],"variants":{"outline":"ed42"}},"meteor":{"category":"Nature","name":"meteor","tags":["space","comet","astronomy","galaxy","cosmos"],"variants":{"outline":"f1fd"}},"meteor-off":{"category":"Nature","name":"meteor-off","tags":["space","comet","astronomy","galaxy","cosmos"],"variants":{"outline":"f40c"}},"meter-cube":{"category":"","name":"meter-cube","tags":[],"variants":{"outline":"fd7c"}},"meter-square":{"category":"","name":"meter-square","tags":[],"variants":{"outline":"fd7d"}},"metronome":{"category":"","name":"metronome","tags":[],"variants":{"outline":"fd25"}},"michelin-bib-gourmand":{"category":"Food","name":"michelin-bib-gourmand","tags":[],"variants":{"outline":"fae9"}},"michelin-star":{"category":"Food","name":"michelin-star","tags":[],"variants":{"outline":"faeb"}},"michelin-star-green":{"category":"Food","name":"michelin-star-green","tags":[],"variants":{"outline":"faea"}},"mickey":{"category":"","name":"mickey","tags":["fable","cartoon","mouse","kids"],"variants":{"filled":"f683","outline":"f2a3"}},"microphone":{"category":"Media","name":"microphone","tags":["record","sound","listen"],"variants":{"filled":"fe0f","outline":"eaf0"}},"microphone-2":{"category":"Media","name":"microphone-2","tags":["record","sound","listen","sing"],"variants":{"outline":"ef2c"}},"microphone-2-off":{"category":"Media","name":"microphone-2-off","tags":["record","sound","listen","sing"],"variants":{"outline":"f40d"}},"microphone-off":{"category":"Media","name":"microphone-off","tags":["record","sound","listen"],"variants":{"outline":"ed16"}},"microscope":{"category":"Health","name":"microscope","tags":["school","education","learning","laboratory","experimental","chemistry","biology","medical","bacteria","technology","test"],"variants":{"outline":"ef64"}},"microscope-off":{"category":"Health","name":"microscope-off","tags":["school","education","learning","laboratory","experimental","chemistry","biology","medical","bacteria","technology","test"],"variants":{"outline":"f40e"}},"microwave":{"category":"Food","name":"microwave","tags":["oven","kitchen","cooking","food","cook"],"variants":{"filled":"fe0e","outline":"f248"}},"microwave-off":{"category":"Food","name":"microwave-off","tags":["oven","kitchen","cooking","food","cook"],"variants":{"outline":"f264"}},"military-award":{"category":"","name":"military-award","tags":["achievement","honor","badge","medal","prize","army"],"variants":{"outline":"f079"}},"military-rank":{"category":"","name":"military-rank","tags":["soldier","army","private","private second class","private first class","specialist","corporal","sergeant","staff sergeant"],"variants":{"filled":"ff5e","outline":"efcf"}},"milk":{"category":"Food","name":"milk","tags":["food","drink","cow","healthy","breakfast","bottle","coffee"],"variants":{"outline":"ef13"}},"milk-off":{"category":"Food","name":"milk-off","tags":["food","drink","cow","healthy","breakfast","bottle","coffee"],"variants":{"outline":"f40f"}},"milkshake":{"category":"Food","name":"milkshake","tags":["drink","sweet","food","cocktail","cream"],"variants":{"outline":"f4c8"}},"minimize":{"category":"Media","name":"minimize","tags":["exit","close"],"variants":{"outline":"eaf1"}},"minus":{"category":"Math","name":"minus","tags":["subtract","less"],"variants":{"outline":"eaf2"}},"minus-vertical":{"category":"","name":"minus-vertical","tags":["subtract","less","divide"],"variants":{"outline":"eeb4"}},"mist":{"category":"Weather","name":"mist","tags":["weather","visibility"],"variants":{"outline":"ec30"}},"mist-off":{"category":"Weather","name":"mist-off","tags":["weather","visibility"],"variants":{"outline":"f410"}},"mobiledata":{"category":"","name":"mobiledata","tags":[],"variants":{"outline":"f9f5"}},"mobiledata-off":{"category":"","name":"mobiledata-off","tags":[],"variants":{"outline":"f9f4"}},"moneybag":{"category":"","name":"moneybag","tags":["finance","cash","dollar","currency","bank"],"variants":{"outline":"f506"}},"monkeybar":{"category":"Maps","name":"monkeybar","tags":["playground","park","monkey","bar","jungle","gym","exercise","fitness","outdoor","fun","children","kids","play","swing","jungle gym"],"variants":{"outline":"feb4"}},"mood-angry":{"category":"Mood","name":"mood-angry","tags":["mad","feeling","face","nervous"],"variants":{"filled":"ff0a","outline":"f2de"}},"mood-annoyed":{"category":"Mood","name":"mood-annoyed","tags":["appalled","agitated","upset","angry","face"],"variants":{"outline":"f2e0"}},"mood-annoyed-2":{"category":"Mood","name":"mood-annoyed-2","tags":["appalled","agitated","upset","angry","face"],"variants":{"outline":"f2df"}},"mood-bitcoin":{"category":"","name":"mood-bitcoin","tags":[],"variants":{"outline":"ff32"}},"mood-boy":{"category":"Mood","name":"mood-boy","tags":["face","emoji","emotion"],"variants":{"outline":"ed2d"}},"mood-check":{"category":"Mood","name":"mood-check","tags":["emotion","feeling","happy","tick","accept","face"],"variants":{"outline":"f7b3"}},"mood-cog":{"category":"Mood","name":"mood-cog","tags":["emotion","feeling","happy","gear","preferences","face"],"variants":{"outline":"f7b4"}},"mood-confuzed":{"category":"Mood","name":"mood-confuzed","tags":["face","emoji","emotion","frown"],"variants":{"filled":"f7f2","outline":"eaf3"}},"mood-crazy-happy":{"category":"Mood","name":"mood-crazy-happy","tags":["good","excited","cheerful","jolly","delighted","lucky"],"variants":{"filled":"ff09","outline":"ed90"}},"mood-cry":{"category":"Mood","name":"mood-cry","tags":["face","emoji","emotion","mad"],"variants":{"outline":"ecbb"}},"mood-dollar":{"category":"Mood","name":"mood-dollar","tags":["emotion","feeling","happy","face","money","coin"],"variants":{"outline":"f7b5"}},"mood-edit":{"category":"Mood","name":"mood-edit","tags":[],"variants":{"outline":"fa05"}},"mood-empty":{"category":"Mood","name":"mood-empty","tags":["face","emoji","emotion"],"variants":{"filled":"f7f3","outline":"eeb5"}},"mood-happy":{"category":"Mood","name":"mood-happy","tags":["face","emoji","emotion"],"variants":{"filled":"f7f4","outline":"eaf4"}},"mood-heart":{"category":"Mood","name":"mood-heart","tags":["emotion","feeling","happy","face","love","care","romantic"],"variants":{"outline":"f7b6"}},"mood-kid":{"category":"Mood","name":"mood-kid","tags":["face","emoji","emotion"],"variants":{"filled":"f7f5","outline":"ec03"}},"mood-look-down":{"category":"","name":"mood-look-down","tags":["downward-look","gaze-down","low-mood","sad","disheartened","dejected","downcast","downward-glance","melancholy","blue"],"variants":{"outline":"fd37"}},"mood-look-left":{"category":"Mood","name":"mood-look-left","tags":["west","face","direction"],"variants":{"outline":"f2c5"}},"mood-look-right":{"category":"Mood","name":"mood-look-right","tags":["east","face","direction"],"variants":{"outline":"f2c6"}},"mood-look-up":{"category":"","name":"mood-look-up","tags":["upward-look","gaze-up","optimistic","positive-mood","cheerful","uplifting","hopeful","skyward-glance","inspired","joyful"],"variants":{"outline":"fd38"}},"mood-minus":{"category":"Mood","name":"mood-minus","tags":["emotion","feeling","happy","face","cancel","remove","delete"],"variants":{"outline":"f7b7"}},"mood-nerd":{"category":"Mood","name":"mood-nerd","tags":["geek","face","bore"],"variants":{"outline":"f2e1"}},"mood-nervous":{"category":"Mood","name":"mood-nervous","tags":["angry","stressed","worry","frustrated"],"variants":{"outline":"ef96"}},"mood-neutral":{"category":"Mood","name":"mood-neutral","tags":["face","emoji","emotion"],"variants":{"filled":"f7f6","outline":"eaf5"}},"mood-off":{"category":"Mood","name":"mood-off","tags":["sad","happy","emoji","smiley","neutral","face"],"variants":{"outline":"f161"}},"mood-pin":{"category":"Mood","name":"mood-pin","tags":["emotion","feeling","happy","face","location","map"],"variants":{"outline":"f7b8"}},"mood-plus":{"category":"Mood","name":"mood-plus","tags":["emotion","feeling","happy","face","add","new"],"variants":{"outline":"f7b9"}},"mood-puzzled":{"category":"","name":"mood-puzzled","tags":["confused-mood","perplexed","bewildered","puzzled","uncertain","ambiguous","confounding","mystery","riddle","enigma"],"variants":{"outline":"fd39"}},"mood-sad":{"category":"Mood","name":"mood-sad","tags":["face","emoji","emotion","mad"],"variants":{"filled":"f7f7","outline":"eaf6"}},"mood-sad-2":{"category":"Mood","name":"mood-sad-2","tags":["face","emoji","emotion","mad"],"variants":{"outline":"f2e2"}},"mood-sad-dizzy":{"category":"Mood","name":"mood-sad-dizzy","tags":["face","emoji","emotion","mad","displeased"],"variants":{"outline":"f2e3"}},"mood-sad-squint":{"category":"Mood","name":"mood-sad-squint","tags":["face","emoji","emotion","mad"],"variants":{"outline":"f2e4"}},"mood-search":{"category":"Mood","name":"mood-search","tags":["emotion","feeling","happy","face","find","explore"],"variants":{"outline":"f7ba"}},"mood-share":{"category":"Mood","name":"mood-share","tags":[],"variants":{"outline":"fa06"}},"mood-sick":{"category":"Mood","name":"mood-sick","tags":["face","emoji","emotion","suffering","unhealthy"],"variants":{"outline":"f2e5"}},"mood-silence":{"category":"Mood","name":"mood-silence","tags":["face","emoji","emotion","quiet"],"variants":{"outline":"f2e6"}},"mood-sing":{"category":"Mood","name":"mood-sing","tags":["face","emoji","emotion","song","melody"],"variants":{"outline":"f2c7"}},"mood-smile":{"category":"Mood","name":"mood-smile","tags":["face","emoji","emotion"],"variants":{"filled":"f7f8","outline":"eaf7"}},"mood-smile-beam":{"category":"Mood","name":"mood-smile-beam","tags":["face","emoji","emotion","happy","smiley"],"variants":{"outline":"f2e7"}},"mood-smile-dizzy":{"category":"Mood","name":"mood-smile-dizzy","tags":["face","emoji","emotion","happy","smiley"],"variants":{"outline":"f2e8"}},"mood-surprised":{"category":"Mood","name":"mood-surprised","tags":["face","emoji","emotion"],"variants":{"outline":"ec04"}},"mood-tongue":{"category":"Mood","name":"mood-tongue","tags":["face","emoji","emotion"],"variants":{"outline":"eb95"}},"mood-tongue-wink":{"category":"Mood","name":"mood-tongue-wink","tags":["face","emoji","emotion","happy","joke"],"variants":{"outline":"f2ea"}},"mood-tongue-wink-2":{"category":"Mood","name":"mood-tongue-wink-2","tags":["face","emoji","emotion","happy","joke"],"variants":{"outline":"f2e9"}},"mood-unamused":{"category":"Mood","name":"mood-unamused","tags":["face","emoji","emotion","unfunny","unhappy","unsmilling"],"variants":{"outline":"f2eb"}},"mood-up":{"category":"Mood","name":"mood-up","tags":["emotion","feeling","happy","face","top"],"variants":{"outline":"f7bb"}},"mood-wink":{"category":"Mood","name":"mood-wink","tags":["face","emoji","emotion","smile","funny","happy"],"variants":{"outline":"f2ed"}},"mood-wink-2":{"category":"Mood","name":"mood-wink-2","tags":["face","emoji","emotion","smile","funny","happy"],"variants":{"outline":"f2ec"}},"mood-wrrr":{"category":"Mood","name":"mood-wrrr","tags":["face","emoji","emotion","disgusted"],"variants":{"filled":"ff08","outline":"f2ee"}},"mood-x":{"category":"Mood","name":"mood-x","tags":["emotion","feeling","happy","face","delete","close"],"variants":{"outline":"f7bc"}},"mood-xd":{"category":"Mood","name":"mood-xd","tags":["face","emoji","emotion","funny","happy","smiley","joke"],"variants":{"outline":"f2ef"}},"moon":{"category":"Weather","name":"moon","tags":["night","dark mode"],"variants":{"filled":"f684","outline":"eaf8"}},"moon-2":{"category":"Weather","name":"moon-2","tags":["night","dark mode"],"variants":{"outline":"ece6"}},"moon-off":{"category":"Weather","name":"moon-off","tags":["night","dark mode"],"variants":{"outline":"f162"}},"moon-stars":{"category":"Weather","name":"moon-stars","tags":["night","dark mode"],"variants":{"outline":"ece7"}},"moped":{"category":"Vehicles","name":"moped","tags":["vehicle","drive","driver","engine","motor","journey","trip"],"variants":{"outline":"ecbc"}},"motorbike":{"category":"Vehicles","name":"motorbike","tags":["engine","ride","trip","journey","road","street","vehicle","motorcycle"],"variants":{"outline":"eeb6"}},"mountain":{"category":"Nature","name":"mountain","tags":["alps","camping","mount everest","trekking"],"variants":{"outline":"ef97"}},"mountain-off":{"category":"Nature","name":"mountain-off","tags":["alps","camping","mount everest","trekking"],"variants":{"outline":"f411"}},"mouse":{"category":"Devices","name":"mouse","tags":["pointer","cursor","device"],"variants":{"filled":"fb2f","outline":"eaf9"}},"mouse-2":{"category":"Devices","name":"mouse-2","tags":["computer","hardware","pointer","cursor","device"],"variants":{"outline":"f1d7"}},"mouse-off":{"category":"Devices","name":"mouse-off","tags":["pointer","cursor","device"],"variants":{"outline":"f163"}},"moustache":{"category":"","name":"moustache","tags":["man","face","beard","male"],"variants":{"outline":"f4c9"}},"movie":{"category":"Media","name":"movie","tags":["film","video","cinema"],"variants":{"outline":"eafa"}},"movie-off":{"category":"Media","name":"movie-off","tags":["film","video","cinema"],"variants":{"outline":"f164"}},"mug":{"category":"Food","name":"mug","tags":["tea","coffee","drink","container","jug"],"variants":{"outline":"eafb"}},"mug-off":{"category":"Food","name":"mug-off","tags":["tea","coffee","drink","container","jug"],"variants":{"outline":"f165"}},"multiplier-0-5x":{"category":"Math","name":"multiplier-0-5x","tags":["count","calculate","math"],"variants":{"outline":"ef41"}},"multiplier-1-5x":{"category":"Math","name":"multiplier-1-5x","tags":["count","calculate","math"],"variants":{"outline":"ef42"}},"multiplier-1x":{"category":"Math","name":"multiplier-1x","tags":["count","calculate","math"],"variants":{"outline":"ef43"}},"multiplier-2x":{"category":"Math","name":"multiplier-2x","tags":["count","calculate","math"],"variants":{"outline":"ef44"}},"mushroom":{"category":"Food","name":"mushroom","tags":["food","vegetable","cooking","fungus","mushrooming"],"variants":{"filled":"f7f9","outline":"ef14"}},"mushroom-off":{"category":"Food","name":"mushroom-off","tags":["food","vegetable","cooking","fungus","mushrooming"],"variants":{"outline":"f412"}},"music":{"category":"Media","name":"music","tags":["sound","mp3","album","speakers","melody"],"variants":{"outline":"eafc"}},"music-bolt":{"category":"","name":"music-bolt","tags":[],"variants":{"outline":"fbd5"}},"music-cancel":{"category":"","name":"music-cancel","tags":[],"variants":{"outline":"fbd6"}},"music-check":{"category":"","name":"music-check","tags":[],"variants":{"outline":"fbd7"}},"music-code":{"category":"","name":"music-code","tags":[],"variants":{"outline":"fbd8"}},"music-cog":{"category":"","name":"music-cog","tags":[],"variants":{"outline":"fbd9"}},"music-discount":{"category":"","name":"music-discount","tags":[],"variants":{"outline":"fbda"}},"music-dollar":{"category":"","name":"music-dollar","tags":[],"variants":{"outline":"fbdb"}},"music-down":{"category":"","name":"music-down","tags":[],"variants":{"outline":"fbdc"}},"music-exclamation":{"category":"","name":"music-exclamation","tags":[],"variants":{"outline":"fbdd"}},"music-heart":{"category":"","name":"music-heart","tags":[],"variants":{"outline":"fbde"}},"music-minus":{"category":"","name":"music-minus","tags":[],"variants":{"outline":"fbdf"}},"music-off":{"category":"Media","name":"music-off","tags":["sound","mp3","album","speakers","melody"],"variants":{"outline":"f166"}},"music-pause":{"category":"","name":"music-pause","tags":[],"variants":{"outline":"fbe0"}},"music-pin":{"category":"","name":"music-pin","tags":[],"variants":{"outline":"fbe1"}},"music-plus":{"category":"","name":"music-plus","tags":[],"variants":{"outline":"fbe2"}},"music-question":{"category":"","name":"music-question","tags":[],"variants":{"outline":"fbe3"}},"music-search":{"category":"","name":"music-search","tags":[],"variants":{"outline":"fbe4"}},"music-share":{"category":"","name":"music-share","tags":[],"variants":{"outline":"fbe5"}},"music-star":{"category":"","name":"music-star","tags":[],"variants":{"outline":"fbe6"}},"music-up":{"category":"","name":"music-up","tags":[],"variants":{"outline":"fbe7"}},"music-x":{"category":"","name":"music-x","tags":[],"variants":{"outline":"fbe8"}},"navigation":{"category":"Map","name":"navigation","tags":["map","location","direction","pin","gps"],"variants":{"filled":"f685","outline":"f2c8"}},"navigation-bolt":{"category":"","name":"navigation-bolt","tags":[],"variants":{"outline":"fbe9"}},"navigation-cancel":{"category":"","name":"navigation-cancel","tags":[],"variants":{"outline":"fbea"}},"navigation-check":{"category":"","name":"navigation-check","tags":[],"variants":{"outline":"fbeb"}},"navigation-code":{"category":"","name":"navigation-code","tags":[],"variants":{"outline":"fbec"}},"navigation-cog":{"category":"","name":"navigation-cog","tags":[],"variants":{"outline":"fbed"}},"navigation-discount":{"category":"","name":"navigation-discount","tags":[],"variants":{"outline":"fbee"}},"navigation-dollar":{"category":"","name":"navigation-dollar","tags":[],"variants":{"outline":"fbef"}},"navigation-down":{"category":"","name":"navigation-down","tags":[],"variants":{"outline":"fbf0"}},"navigation-east":{"category":"Map","name":"navigation-east","tags":[],"variants":{"outline":"fcba"}},"navigation-exclamation":{"category":"","name":"navigation-exclamation","tags":[],"variants":{"outline":"fbf1"}},"navigation-heart":{"category":"","name":"navigation-heart","tags":[],"variants":{"outline":"fbf2"}},"navigation-minus":{"category":"","name":"navigation-minus","tags":[],"variants":{"outline":"fbf3"}},"navigation-north":{"category":"Map","name":"navigation-north","tags":[],"variants":{"outline":"fcbb"}},"navigation-off":{"category":"Map","name":"navigation-off","tags":["map","location","direction","pin","gps"],"variants":{"outline":"f413"}},"navigation-pause":{"category":"","name":"navigation-pause","tags":[],"variants":{"outline":"fbf4"}},"navigation-pin":{"category":"","name":"navigation-pin","tags":[],"variants":{"outline":"fbf5"}},"navigation-plus":{"category":"","name":"navigation-plus","tags":[],"variants":{"outline":"fbf6"}},"navigation-question":{"category":"","name":"navigation-question","tags":[],"variants":{"outline":"fbf7"}},"navigation-search":{"category":"","name":"navigation-search","tags":[],"variants":{"outline":"fbf8"}},"navigation-share":{"category":"","name":"navigation-share","tags":[],"variants":{"outline":"fbf9"}},"navigation-south":{"category":"Map","name":"navigation-south","tags":[],"variants":{"outline":"fcbc"}},"navigation-star":{"category":"","name":"navigation-star","tags":[],"variants":{"outline":"fbfa"}},"navigation-top":{"category":"Map","name":"navigation-top","tags":[],"variants":{"outline":"faec"}},"navigation-up":{"category":"","name":"navigation-up","tags":[],"variants":{"outline":"fbfb"}},"navigation-west":{"category":"Map","name":"navigation-west","tags":[],"variants":{"outline":"fcbd"}},"navigation-x":{"category":"","name":"navigation-x","tags":[],"variants":{"outline":"fbfc"}},"needle":{"category":"","name":"needle","tags":["sewing","tailoring","craft","tailor"],"variants":{"outline":"f508"}},"needle-thread":{"category":"","name":"needle-thread","tags":["sewing","tailoring","craft","tailor"],"variants":{"outline":"f507"}},"network":{"category":"Computers","name":"network","tags":["connection","internet","communication","connect","web","signal"],"variants":{"outline":"f09f"}},"network-off":{"category":"Computers","name":"network-off","tags":["connection","internet","communication","connect","web","signal"],"variants":{"outline":"f414"}},"new-section":{"category":"","name":"new-section","tags":["add","element","component","layout","page"],"variants":{"outline":"ebc1"}},"news":{"category":"Document","name":"news","tags":["newspaper","article"],"variants":{"outline":"eafd"}},"news-off":{"category":"Document","name":"news-off","tags":["newspaper","article"],"variants":{"outline":"f167"}},"nfc":{"category":"Devices","name":"nfc","tags":["payment","nfc","cash","chip","shopping","cashless","pass","contactless"],"variants":{"outline":"eeb7"}},"nfc-off":{"category":"Devices","name":"nfc-off","tags":["payment","nfc","cash","chip","shopping","cashless","pass","contactless"],"variants":{"outline":"f168"}},"no-copyright":{"category":"System","name":"no-copyright","tags":["cancel","copy","restriction"],"variants":{"outline":"efb9"}},"no-creative-commons":{"category":"System","name":"no-creative-commons","tags":["license","cancel","copyrights"],"variants":{"outline":"efba"}},"no-derivatives":{"category":"System","name":"no-derivatives","tags":["law","license"],"variants":{"outline":"efbb"}},"north-star":{"category":"Map","name":"north-star","tags":["compas","location","point","christmas","direction"],"variants":{"outline":"f014"}},"note":{"category":"Document","name":"note","tags":["checkbox","brief","record","write","message"],"variants":{"outline":"eb6d"}},"note-off":{"category":"Document","name":"note-off","tags":["checkbox","brief","record","write","message"],"variants":{"outline":"f169"}},"notebook":{"category":"Document","name":"notebook","tags":["study","learn","diary","write","journal","page","paper","jot down"],"variants":{"outline":"eb96"}},"notebook-off":{"category":"Document","name":"notebook-off","tags":["study","learn","diary","write","journal","page","paper","jot down"],"variants":{"outline":"f415"}},"notes":{"category":"Document","name":"notes","tags":["notetaking","journal","draft","idea","to-do list"],"variants":{"outline":"eb6e"}},"notes-off":{"category":"Document","name":"notes-off","tags":["notetaking","journal","draft","idea","to-do list"],"variants":{"outline":"f16a"}},"notification":{"category":"System","name":"notification","tags":["bell","alarm","reminder","important"],"variants":{"outline":"eafe"}},"notification-off":{"category":"System","name":"notification-off","tags":["bell","alarm","reminder","important"],"variants":{"outline":"f16b"}},"number":{"category":"Numbers","name":"number","tags":["one","two","three","four","five","six","seven","eight","nine","ten","math","counting"],"variants":{"outline":"f1fe"}},"number-0":{"category":"Numbers","name":"number-0","tags":["zero","maths","value","quantity","calculate","calculation","total","amount","sum","order","digit"],"variants":{"outline":"edf0"}},"number-0-small":{"category":"Numbers","name":"number-0-small","tags":["zero","nil",null,"none","naught","nought","nothing","void","zilch","zip"],"variants":{"outline":"fce1"}},"number-1":{"category":"Numbers","name":"number-1","tags":["one","maths","value","quantity","calculate","calculation","total","amount","sum","order","digit"],"variants":{"outline":"edf1"}},"number-1-small":{"category":"Numbers","name":"number-1-small","tags":["one","singular","first","unit","solitary","individual","alone","unique","sole","individualistic"],"variants":{"outline":"fce2"}},"number-10-small":{"category":"Numbers","name":"number-10-small","tags":["ten","decade","decuple","decad","tenfold","decenary","dec","decuplet","tenth","deca"],"variants":{"outline":"fce3"}},"number-11-small":{"category":"Numbers","name":"number-11-small","tags":["eleven","undecade","eleventh","undecuple","undecad","elevenfold","undecenary","undec","undecuplet","11th"],"variants":{"outline":"fce4"}},"number-12-small":{"category":"Numbers","name":"number-12-small","tags":["twelve","duodecade","twelfth","duodecuple","duodecad","twelvefold","duodenary","duodec","duodecuplet","12th"],"variants":{"outline":"fce5"}},"number-123":{"category":"Numbers","name":"number-123","tags":["numbers","digit","one","two","three"],"variants":{"outline":"f554"}},"number-13-small":{"category":"Numbers","name":"number-13-small","tags":["thirteen","thirteenth","tredecade","tredecuple","tredecad","thirteenfold","tredecenary","tredec","tredecuplet","13th"],"variants":{"outline":"fce6"}},"number-14-small":{"category":"Numbers","name":"number-14-small","tags":["fourteen","fourteenth","quattuordecade","quattuordecuple","quattuordecad","fourteenfold","quattuordecenary","quattuordec","quattuordecuplet","14th"],"variants":{"outline":"fce7"}},"number-15-small":{"category":"Numbers","name":"number-15-small","tags":["fifteen","fifteenth","quindecade","quindecuple","quindecad","fifteenfold","quindecenary","quindec","quindecuplet","15th"],"variants":{"outline":"fce8"}},"number-16-small":{"category":"Numbers","name":"number-16-small","tags":["sixteen","sixteenth","sexdecade","sexdecuple","sexdecad","sixteenfold","sexdecenary","sexdec","sexdecuplet","16th"],"variants":{"outline":"fce9"}},"number-17-small":{"category":"Numbers","name":"number-17-small","tags":["seventeen","seventeenth","septendecade","septendecuple","septendecad","seventeenfold","septendecenary","septendec","septendecuplet","17th"],"variants":{"outline":"fcea"}},"number-18-small":{"category":"Numbers","name":"number-18-small","tags":["eighteen","eighteenth","octodecade","octodecuple","octodecad","eighteenfold","octodecenary","octodec","octodecuplet","18th"],"variants":{"outline":"fceb"}},"number-19-small":{"category":"Numbers","name":"number-19-small","tags":["nineteen","nineteenth","novendecade","novendecuple","novendecad","nineteenfold","novendecenary","novendec","novendecuplet","19th"],"variants":{"outline":"fcec"}},"number-2":{"category":"Numbers","name":"number-2","tags":["two","maths","value","quantity","calculate","calculation","total","amount","sum","order","digit"],"variants":{"outline":"edf2"}},"number-2-small":{"category":"Numbers","name":"number-2-small","tags":["two","pair","duo","double","twofold","dual","second","couple","dyad","binary"],"variants":{"outline":"fced"}},"number-20-small":{"category":"Numbers","name":"number-20-small","tags":["twenty","twentieth","vigintidecade","vigintidecuple","vigintidecad","twentyfold","vigintidecenary","vigintidec","vigintidecuplet","20th"],"variants":{"outline":"fcee"}},"number-21-small":{"category":"Numbers","name":"number-21-small","tags":["twenty-one","21st","twenty-first","viginti-uno","viginti-first","twenty","and","one","plus","21th"],"variants":{"outline":"fcef"}},"number-22-small":{"category":"Numbers","name":"number-22-small","tags":["twenty-two","22nd","twenty-second","viginti-duo","viginti-second","twenty","and","two","plus","2th2"],"variants":{"outline":"fcf0"}},"number-23-small":{"category":"Numbers","name":"number-23-small","tags":["twenty-three","23rd","twenty-third","viginti-tertio","viginti-third","twenty","and","three","plus","23"],"variants":{"outline":"fcf1"}},"number-24-small":{"category":"Numbers","name":"number-24-small","tags":["twenty-four","24th","twenty-fourth","viginti-quarto","viginti-fourth","twenty","and","four","plus","24"],"variants":{"outline":"fcf2"}},"number-25-small":{"category":"Numbers","name":"number-25-small","tags":["twenty-five","25th","twenty-fifth","viginti-quinto","viginti-fifth","twenty","and","five","plus","25"],"variants":{"outline":"fcf3"}},"number-26-small":{"category":"Numbers","name":"number-26-small","tags":["twenty-six","26th","twenty-sixth","viginti-sexto","viginti-sixth","twenty","and","six","plus","26"],"variants":{"outline":"fcf4"}},"number-27-small":{"category":"Numbers","name":"number-27-small","tags":["twenty-seven","27th","twenty-seventh","viginti-septimo","viginti-seventh","twenty","and","seven","plus","27"],"variants":{"outline":"fcf5"}},"number-28-small":{"category":"Numbers","name":"number-28-small","tags":["twenty-eight","28th","twenty-eighth","viginti-octavo","viginti-eighth","twenty","and","eight","plus","28"],"variants":{"outline":"fcf6"}},"number-29-small":{"category":"Numbers","name":"number-29-small","tags":["twenty-nine","29th","twenty-ninth","viginti-nono","viginti-ninth","twenty","and","nine","plus","29"],"variants":{"outline":"fcf7"}},"number-3":{"category":"Numbers","name":"number-3","tags":["three","maths","value","quantity","calculate","calculation","total","amount","sum","order","digit"],"variants":{"outline":"edf3"}},"number-3-small":{"category":"Numbers","name":"number-3-small","tags":["three","trio","triplet","third","treble","triad","tertiary","threesome","triple","triangular"],"variants":{"outline":"fcf8"}},"number-4":{"category":"Numbers","name":"number-4","tags":["four","maths","value","quantity","calculate","calculation","total","amount","sum","order","digit"],"variants":{"outline":"edf4"}},"number-4-small":{"category":"Numbers","name":"number-4-small","tags":["four","quartet","quadruple","tetrad","fourfold","quaternary","quadrant","quartile","quadruplet","quad"],"variants":{"outline":"fcf9"}},"number-5":{"category":"Numbers","name":"number-5","tags":["five","maths","value","quantity","calculate","calculation","total","amount","sum","order","digit"],"variants":{"outline":"edf5"}},"number-5-small":{"category":"Numbers","name":"number-5-small","tags":["five","quintet","quintuple","pentad","fivefold","quinary","quint","quintuplet","fifth","penta"],"variants":{"outline":"fcfa"}},"number-6":{"category":"Numbers","name":"number-6","tags":["six","maths","value","quantity","calculate","calculation","total","amount","sum","order","digit"],"variants":{"outline":"edf6"}},"number-6-small":{"category":"Numbers","name":"number-6-small","tags":["six","sextet","sextuple","hexad","sixfold","senary","sextuplet","hexagonal","sixth","hex"],"variants":{"outline":"fcfb"}},"number-7":{"category":"Numbers","name":"number-7","tags":["seven","maths","value","quantity","calculate","calculation","total","amount","sum","order","digit"],"variants":{"outline":"edf7"}},"number-7-small":{"category":"Numbers","name":"number-7-small","tags":["seven","septet","septuple","heptad","sevenfold","septenary","sept","septuplet","seventh","hepta"],"variants":{"outline":"fcfc"}},"number-8":{"category":"Numbers","name":"number-8","tags":["eight","maths","value","quantity","calculate","calculation","total","amount","sum","order","digit"],"variants":{"outline":"edf8"}},"number-8-small":{"category":"Numbers","name":"number-8-small","tags":["eight","octet","octuple","octad","eightfold","octenary","oct","octuplet","eighth","octa"],"variants":{"outline":"fcfd"}},"number-9":{"category":"Numbers","name":"number-9","tags":["nine","maths","value","quantity","calculate","calculation","total","amount","sum","order","digit"],"variants":{"outline":"edf9"}},"number-9-small":{"category":"Numbers","name":"number-9-small","tags":["nine","nonet","nonuple","ennead","ninefold","novenary","non","nonuplet","ninth","ennea"],"variants":{"outline":"fcfe"}},"numbers":{"category":"Numbers","name":"numbers","tags":["math","counting","calculator","calculate","one","two","three","four","five"],"variants":{"outline":"f015"}},"nurse":{"category":"Health","name":"nurse","tags":["hospital","doctor","medical","woman","emergency","medicine"],"variants":{"outline":"ef65"}},"nut":{"category":"","name":"nut","tags":[],"variants":{"outline":"fc61"}},"object-scan":{"category":"","name":"object-scan","tags":[],"variants":{"outline":"fef1"}},"octagon":{"category":"Shapes","name":"octagon","tags":["shape","geometric","math","2d","building","government"],"variants":{"filled":"f686","outline":"ecbd"}},"octagon-minus":{"category":"Shapes","name":"octagon-minus","tags":[],"variants":{"outline":"fc92"}},"octagon-minus-2":{"category":"Shapes","name":"octagon-minus-2","tags":[],"variants":{"outline":"fc91"}},"octagon-off":{"category":"Shapes","name":"octagon-off","tags":["shape","geometric","math","2d","building","government"],"variants":{"outline":"eeb8"}},"octagon-plus":{"category":"Shapes","name":"octagon-plus","tags":[],"variants":{"outline":"fc94"}},"octagon-plus-2":{"category":"Shapes","name":"octagon-plus-2","tags":[],"variants":{"outline":"fc93"}},"octahedron":{"category":"Shapes","name":"octahedron","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faae"}},"octahedron-off":{"category":"Shapes","name":"octahedron-off","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faac"}},"octahedron-plus":{"category":"Shapes","name":"octahedron-plus","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faad"}},"old":{"category":"Health","name":"old","tags":["senior","person","elderly","age"],"variants":{"outline":"eeb9"}},"olympics":{"category":"Sport","name":"olympics","tags":["game","play","sport","sportsman","champion","win","medal","sporting","event","competition","athlete"],"variants":{"outline":"eeba"}},"olympics-off":{"category":"Sport","name":"olympics-off","tags":["game","play","sport","sportsman","champion","win","medal","sporting","event","competition","athlete"],"variants":{"outline":"f416"}},"om":{"category":"Symbols","name":"om","tags":["hinduism","religion","hindu","symbol"],"variants":{"outline":"f58d"}},"omega":{"category":"Math","name":"omega","tags":["alphabet","greek","symbol","final","last"],"variants":{"outline":"eb97"}},"outbound":{"category":"","name":"outbound","tags":["call","exit","telephone","out"],"variants":{"outline":"f249"}},"outlet":{"category":"","name":"outlet","tags":["socket","electricity","electrical","plug in","device"],"variants":{"outline":"ebd7"}},"oval":{"category":"Shapes","name":"oval","tags":["shape","graphic","egg","circle","zero"],"variants":{"filled":"f687","outline":"f02e"}},"oval-vertical":{"category":"Shapes","name":"oval-vertical","tags":["shape","graphic","circle"],"variants":{"filled":"f688","outline":"f02d"}},"overline":{"category":"Text","name":"overline","tags":["above","overbar","overscore","horizontal"],"variants":{"outline":"eebb"}},"package":{"category":"E-commerce","name":"package","tags":["npm","box","container"],"variants":{"outline":"eaff"}},"package-export":{"category":"","name":"package-export","tags":["npm","box","container","delivery","logistic"],"variants":{"outline":"f07a"}},"package-import":{"category":"","name":"package-import","tags":["npm","box","container","delivery","shipping","courier"],"variants":{"outline":"f07b"}},"package-off":{"category":"E-commerce","name":"package-off","tags":["npm","box","container"],"variants":{"outline":"f16c"}},"packages":{"category":"","name":"packages","tags":["delivery","boxes","storage"],"variants":{"outline":"f2c9"}},"pacman":{"category":"","name":"pacman","tags":["game","play","online","maze","eat","dot","ghost"],"variants":{"outline":"eebc"}},"page-break":{"category":"Document","name":"page-break","tags":["summary","feature","element","css"],"variants":{"outline":"ec81"}},"paint":{"category":"Design","name":"paint","tags":["brush","renovation","refurbishment","color","wall"],"variants":{"filled":"f75f","outline":"eb00"}},"paint-off":{"category":"Design","name":"paint-off","tags":["brush","renovation","refurbishment","color","wall"],"variants":{"outline":"f16d"}},"palette":{"category":"Design","name":"palette","tags":["color","paint","painter","picture","board","artist"],"variants":{"outline":"eb01"}},"palette-off":{"category":"Design","name":"palette-off","tags":["color","paint","painter","picture","board","artist"],"variants":{"outline":"f16e"}},"panorama-horizontal":{"category":"Photography","name":"panorama-horizontal","tags":["photo","picture","panoramic"],"variants":{"filled":"fecc","outline":"ed33"}},"panorama-horizontal-off":{"category":"Photography","name":"panorama-horizontal-off","tags":["photo","picture","panoramic"],"variants":{"outline":"f417"}},"panorama-vertical":{"category":"Photography","name":"panorama-vertical","tags":["photo","picture","panoramic"],"variants":{"filled":"fecb","outline":"ed34"}},"panorama-vertical-off":{"category":"Photography","name":"panorama-vertical-off","tags":["photo","picture","panoramic"],"variants":{"outline":"f418"}},"paper-bag":{"category":"Food","name":"paper-bag","tags":["recycle","shopping","ecology","food"],"variants":{"outline":"f02f"}},"paper-bag-off":{"category":"Food","name":"paper-bag-off","tags":["recycle","shopping","ecology","food"],"variants":{"outline":"f16f"}},"paperclip":{"category":"","name":"paperclip","tags":["attachment","annex","hold"],"variants":{"outline":"eb02"}},"parachute":{"category":"Vehicles","name":"parachute","tags":["plane","aircraft","land","float","pilot"],"variants":{"outline":"ed7c"}},"parachute-off":{"category":"Vehicles","name":"parachute-off","tags":["plane","aircraft","land","float","pilot"],"variants":{"outline":"f170"}},"parentheses":{"category":"Math","name":"parentheses","tags":["brackets","aside","punctuation","mark","insert"],"variants":{"outline":"ebd8"}},"parentheses-off":{"category":"Math","name":"parentheses-off","tags":["brackets","aside","punctuation","mark","insert"],"variants":{"outline":"f171"}},"parking":{"category":"Map","name":"parking","tags":["sign","car","vehicle","space"],"variants":{"outline":"eb03"}},"parking-circle":{"category":"","name":"parking-circle","tags":["parking","parking-lot","circle-parking","vehicle-parking","parking-zone","parking-area","parking-circle","car-park","round-parking","circle-lot"],"variants":{"filled":"feca","outline":"fd5a"}},"parking-off":{"category":"Map","name":"parking-off","tags":["sign","car","vehicle","space"],"variants":{"outline":"f172"}},"password":{"category":"System","name":"password","tags":["lock","secure","privacy","locked","login"],"variants":{"outline":"f4ca"}},"password-fingerprint":{"category":"System","name":"password-fingerprint","tags":[],"variants":{"outline":"fc7b"}},"password-mobile-phone":{"category":"System","name":"password-mobile-phone","tags":[],"variants":{"outline":"fc7c"}},"password-user":{"category":"System","name":"password-user","tags":[],"variants":{"outline":"fc7d"}},"paw":{"category":"","name":"paw","tags":["animal","dog","cat","foot","pets"],"variants":{"filled":"f689","outline":"eff9"}},"paw-off":{"category":"","name":"paw-off","tags":["animal","dog","cat","foot","pets"],"variants":{"outline":"f419"}},"paywall":{"category":"","name":"paywall","tags":[],"variants":{"outline":"fd7e"}},"pdf":{"category":"Extensions","name":"pdf","tags":["file","document","type","format","extencion"],"variants":{"outline":"f7ac"}},"peace":{"category":"Symbols","name":"peace","tags":["love","hippy","minority","opinion","equilibrium"],"variants":{"outline":"ecbe"}},"pencil":{"category":"Design","name":"pencil","tags":["write","draft","edit","note"],"variants":{"outline":"eb04"}},"pencil-bolt":{"category":"","name":"pencil-bolt","tags":[],"variants":{"outline":"fbfd"}},"pencil-cancel":{"category":"","name":"pencil-cancel","tags":[],"variants":{"outline":"fbfe"}},"pencil-check":{"category":"","name":"pencil-check","tags":[],"variants":{"outline":"fbff"}},"pencil-code":{"category":"","name":"pencil-code","tags":[],"variants":{"outline":"fc00"}},"pencil-cog":{"category":"","name":"pencil-cog","tags":[],"variants":{"outline":"fc01"}},"pencil-discount":{"category":"","name":"pencil-discount","tags":[],"variants":{"outline":"fc02"}},"pencil-dollar":{"category":"","name":"pencil-dollar","tags":[],"variants":{"outline":"fc03"}},"pencil-down":{"category":"","name":"pencil-down","tags":[],"variants":{"outline":"fc04"}},"pencil-exclamation":{"category":"","name":"pencil-exclamation","tags":[],"variants":{"outline":"fc05"}},"pencil-heart":{"category":"","name":"pencil-heart","tags":[],"variants":{"outline":"fc06"}},"pencil-minus":{"category":"Design","name":"pencil-minus","tags":["dash","edit","marker","delete","remove"],"variants":{"outline":"f1eb"}},"pencil-off":{"category":"Design","name":"pencil-off","tags":["write","draft","edit","note"],"variants":{"outline":"f173"}},"pencil-pause":{"category":"","name":"pencil-pause","tags":[],"variants":{"outline":"fc07"}},"pencil-pin":{"category":"","name":"pencil-pin","tags":[],"variants":{"outline":"fc08"}},"pencil-plus":{"category":"Design","name":"pencil-plus","tags":["add","edit","write","create","more"],"variants":{"outline":"f1ec"}},"pencil-question":{"category":"","name":"pencil-question","tags":[],"variants":{"outline":"fc09"}},"pencil-search":{"category":"","name":"pencil-search","tags":[],"variants":{"outline":"fc0a"}},"pencil-share":{"category":"","name":"pencil-share","tags":[],"variants":{"outline":"fc0b"}},"pencil-star":{"category":"","name":"pencil-star","tags":[],"variants":{"outline":"fc0c"}},"pencil-up":{"category":"","name":"pencil-up","tags":[],"variants":{"outline":"fc0d"}},"pencil-x":{"category":"","name":"pencil-x","tags":[],"variants":{"outline":"fc0e"}},"pennant":{"category":"Map","name":"pennant","tags":["flag","ship","sports","championship","mark","spot","winner"],"variants":{"filled":"f68b","outline":"ed7d"}},"pennant-2":{"category":"Map","name":"pennant-2","tags":["flag","ship","sports","championship","mark","spot","winner"],"variants":{"filled":"f68a","outline":"f06a"}},"pennant-off":{"category":"Map","name":"pennant-off","tags":["flag","ship","sports","championship","mark","spot","winner"],"variants":{"outline":"f174"}},"pentagon":{"category":"Shapes","name":"pentagon","tags":["shape","figure","math","graphic","geometry","form"],"variants":{"filled":"f68c","outline":"efe3"}},"pentagon-minus":{"category":"","name":"pentagon-minus","tags":[],"variants":{"outline":"feb3"}},"pentagon-number-0":{"category":"Numbers","name":"pentagon-number-0","tags":[],"variants":{"outline":"fc7e"}},"pentagon-number-1":{"category":"Numbers","name":"pentagon-number-1","tags":[],"variants":{"outline":"fc7f"}},"pentagon-number-2":{"category":"Numbers","name":"pentagon-number-2","tags":[],"variants":{"outline":"fc80"}},"pentagon-number-3":{"category":"Numbers","name":"pentagon-number-3","tags":[],"variants":{"outline":"fc81"}},"pentagon-number-4":{"category":"Numbers","name":"pentagon-number-4","tags":[],"variants":{"outline":"fc82"}},"pentagon-number-5":{"category":"Numbers","name":"pentagon-number-5","tags":[],"variants":{"outline":"fc83"}},"pentagon-number-6":{"category":"Numbers","name":"pentagon-number-6","tags":[],"variants":{"outline":"fc84"}},"pentagon-number-7":{"category":"Numbers","name":"pentagon-number-7","tags":[],"variants":{"outline":"fc85"}},"pentagon-number-8":{"category":"Numbers","name":"pentagon-number-8","tags":[],"variants":{"outline":"fc86"}},"pentagon-number-9":{"category":"Numbers","name":"pentagon-number-9","tags":[],"variants":{"outline":"fc87"}},"pentagon-off":{"category":"Shapes","name":"pentagon-off","tags":["shape","figure","math","graphic","geometry","form"],"variants":{"outline":"f41a"}},"pentagon-plus":{"category":"","name":"pentagon-plus","tags":[],"variants":{"outline":"fc49"}},"pentagon-x":{"category":"","name":"pentagon-x","tags":[],"variants":{"outline":"fc88"}},"pentagram":{"category":"","name":"pentagram","tags":["evil","scary","satanism","halloween"],"variants":{"outline":"f586"}},"pepper":{"category":"Food","name":"pepper","tags":["food","spice","chili","jalapeño","hot","spicy"],"variants":{"outline":"ef15"}},"pepper-off":{"category":"Food","name":"pepper-off","tags":["food","spice","chili","jalapeño","hot","spicy"],"variants":{"outline":"f175"}},"percentage":{"category":"Math","name":"percentage","tags":["sign","symbol","math","economics","cash","bank account","chart","graph","diagram","statistic"],"variants":{"outline":"ecf4"}},"percentage-0":{"category":"","name":"percentage-0","tags":[],"variants":{"outline":"fee5"}},"percentage-10":{"category":"","name":"percentage-10","tags":[],"variants":{"outline":"fee4"}},"percentage-100":{"category":"","name":"percentage-100","tags":[],"variants":{"outline":"fee3"}},"percentage-20":{"category":"","name":"percentage-20","tags":[],"variants":{"outline":"fee2"}},"percentage-25":{"category":"","name":"percentage-25","tags":[],"variants":{"outline":"fee1"}},"percentage-30":{"category":"","name":"percentage-30","tags":[],"variants":{"outline":"fee0"}},"percentage-33":{"category":"","name":"percentage-33","tags":[],"variants":{"outline":"fedf"}},"percentage-40":{"category":"","name":"percentage-40","tags":[],"variants":{"outline":"fede"}},"percentage-50":{"category":"","name":"percentage-50","tags":[],"variants":{"outline":"fedd"}},"percentage-60":{"category":"","name":"percentage-60","tags":[],"variants":{"outline":"fedc"}},"percentage-66":{"category":"","name":"percentage-66","tags":[],"variants":{"outline":"fedb"}},"percentage-70":{"category":"","name":"percentage-70","tags":[],"variants":{"outline":"feda"}},"percentage-75":{"category":"","name":"percentage-75","tags":[],"variants":{"outline":"fed9"}},"percentage-80":{"category":"","name":"percentage-80","tags":[],"variants":{"outline":"fed8"}},"percentage-90":{"category":"","name":"percentage-90","tags":[],"variants":{"outline":"fed7"}},"perfume":{"category":"","name":"perfume","tags":["spray","smell","cosmetics","beauty","scent"],"variants":{"outline":"f509"}},"perspective":{"category":"Shapes","name":"perspective","tags":["3d","perspective","transform","reshape","scale"],"variants":{"outline":"eebd"}},"perspective-off":{"category":"Shapes","name":"perspective-off","tags":["3d","perspective","transform","reshape","scale"],"variants":{"outline":"f176"}},"phone":{"category":"Devices","name":"phone","tags":["call","mobile","conversation","landline","answer","number"],"variants":{"filled":"fa49","outline":"eb09"}},"phone-call":{"category":"Devices","name":"phone-call","tags":["ring","mobile","conversation","answer","dial","landline"],"variants":{"outline":"eb05"}},"phone-calling":{"category":"Devices","name":"phone-calling","tags":["ring","mobile","conversation","answer","dial","landline"],"variants":{"outline":"ec43"}},"phone-check":{"category":"Devices","name":"phone-check","tags":["ring","mobile","conversation","answer","dial","landline"],"variants":{"outline":"ec05"}},"phone-incoming":{"category":"Devices","name":"phone-incoming","tags":["call","answer","mobile","landline","conversation"],"variants":{"outline":"eb06"}},"phone-off":{"category":"Devices","name":"phone-off","tags":["call","mobile","conversation","landline","answer","number"],"variants":{"outline":"ecf5"}},"phone-outgoing":{"category":"Devices","name":"phone-outgoing","tags":["call","signal","mobile","landline","conversation"],"variants":{"outline":"eb07"}},"phone-pause":{"category":"Devices","name":"phone-pause","tags":["call","mute","mobile","landline","conversation"],"variants":{"outline":"eb08"}},"phone-plus":{"category":"Devices","name":"phone-plus","tags":["call","signal","mobile","landline","conversation"],"variants":{"outline":"ec06"}},"phone-x":{"category":"Devices","name":"phone-x","tags":["ring","mobile","conversation","answer","dial","landline"],"variants":{"outline":"ec07"}},"photo":{"category":"Media","name":"photo","tags":["image","picture","landscape","camera"],"variants":{"filled":"fa4a","outline":"eb0a"}},"photo-ai":{"category":"Media","name":"photo-ai","tags":[],"variants":{"outline":"fa32"}},"photo-bitcoin":{"category":"","name":"photo-bitcoin","tags":[],"variants":{"outline":"ff31"}},"photo-bolt":{"category":"Media","name":"photo-bolt","tags":[],"variants":{"outline":"f990"}},"photo-cancel":{"category":"Media","name":"photo-cancel","tags":["delete","gallery","image"],"variants":{"outline":"f35d"}},"photo-check":{"category":"Media","name":"photo-check","tags":["success","complete","image","gallery"],"variants":{"outline":"f35e"}},"photo-circle":{"category":"","name":"photo-circle","tags":[],"variants":{"outline":"fc4a"}},"photo-circle-minus":{"category":"Media","name":"photo-circle-minus","tags":[],"variants":{"outline":"fc62"}},"photo-circle-plus":{"category":"Media","name":"photo-circle-plus","tags":[],"variants":{"outline":"fc63"}},"photo-code":{"category":"Media","name":"photo-code","tags":[],"variants":{"outline":"f991"}},"photo-cog":{"category":"Media","name":"photo-cog","tags":[],"variants":{"outline":"f992"}},"photo-dollar":{"category":"Media","name":"photo-dollar","tags":[],"variants":{"outline":"f993"}},"photo-down":{"category":"Media","name":"photo-down","tags":["image","gallery","download","arrow","south"],"variants":{"outline":"f35f"}},"photo-edit":{"category":"Media","name":"photo-edit","tags":["image","gallery","tool","create"],"variants":{"outline":"f360"}},"photo-exclamation":{"category":"Media","name":"photo-exclamation","tags":[],"variants":{"outline":"f994"}},"photo-heart":{"category":"Media","name":"photo-heart","tags":["image","gallery","love","romance","wedding"],"variants":{"outline":"f361"}},"photo-hexagon":{"category":"","name":"photo-hexagon","tags":[],"variants":{"outline":"fc4b"}},"photo-minus":{"category":"Media","name":"photo-minus","tags":["image","gallery","delete","remove"],"variants":{"outline":"f362"}},"photo-off":{"category":"Media","name":"photo-off","tags":["image","picture","landscape","camera"],"variants":{"outline":"ecf6"}},"photo-pause":{"category":"Media","name":"photo-pause","tags":[],"variants":{"outline":"f995"}},"photo-pentagon":{"category":"","name":"photo-pentagon","tags":[],"variants":{"outline":"fc4c"}},"photo-pin":{"category":"Media","name":"photo-pin","tags":[],"variants":{"outline":"f996"}},"photo-plus":{"category":"Media","name":"photo-plus","tags":["image","gallery","add","new"],"variants":{"outline":"f363"}},"photo-question":{"category":"Media","name":"photo-question","tags":[],"variants":{"outline":"f997"}},"photo-scan":{"category":"System","name":"photo-scan","tags":["image","capture","photograph","picture","snapshot","scan-image","photogrammetry","visual-scan","picture-analysis","photo-analysis"],"variants":{"outline":"fca8"}},"photo-search":{"category":"Media","name":"photo-search","tags":["image","gallery","find","zoom"],"variants":{"outline":"f364"}},"photo-sensor":{"category":"Photography","name":"photo-sensor","tags":["focus","lens","photograpy","camera"],"variants":{"outline":"f798"}},"photo-sensor-2":{"category":"Photography","name":"photo-sensor-2","tags":["focus","lens","photograpy","camera"],"variants":{"outline":"f796"}},"photo-sensor-3":{"category":"Photography","name":"photo-sensor-3","tags":["focus","lens","photograpy","camera"],"variants":{"outline":"f797"}},"photo-share":{"category":"Media","name":"photo-share","tags":[],"variants":{"outline":"f998"}},"photo-shield":{"category":"Media","name":"photo-shield","tags":["image","gallery","safety","secure"],"variants":{"outline":"f365"}},"photo-square-rounded":{"category":"","name":"photo-square-rounded","tags":[],"variants":{"outline":"fc4d"}},"photo-star":{"category":"Media","name":"photo-star","tags":["image","gallery","favourite","best"],"variants":{"outline":"f366"}},"photo-up":{"category":"Media","name":"photo-up","tags":["image","gallery","load","send","arrow","north"],"variants":{"outline":"f38b"}},"photo-video":{"category":"","name":"photo-video","tags":[],"variants":{"outline":"fc95"}},"photo-x":{"category":"Media","name":"photo-x","tags":["image","gallery","delete","remove"],"variants":{"outline":"f367"}},"physotherapist":{"category":"Health","name":"physotherapist","tags":["physiotherapy","spa","therapy","treatment","pain","exercise"],"variants":{"outline":"eebe"}},"piano":{"category":"","name":"piano","tags":[],"variants":{"outline":"fad3"}},"pick":{"category":"","name":"pick","tags":[],"variants":{"outline":"fafc"}},"picnic-table":{"category":"Map","name":"picnic-table","tags":["outdoor","furniture","camping","seat","park","garden","nature","wood","food"],"variants":{"outline":"fed6"}},"picture-in-picture":{"category":"Media","name":"picture-in-picture","tags":["size","photo","elements","adjust","image"],"variants":{"filled":"fec1","outline":"ed35"}},"picture-in-picture-off":{"category":"Media","name":"picture-in-picture-off","tags":["size","photo","elements","adjust","image"],"variants":{"outline":"ed43"}},"picture-in-picture-on":{"category":"Media","name":"picture-in-picture-on","tags":["size","photo","elements","adjust","image"],"variants":{"outline":"ed44"}},"picture-in-picture-top":{"category":"Media","name":"picture-in-picture-top","tags":["browser","shape","rectangle"],"variants":{"filled":"fec2","outline":"efe4"}},"pig":{"category":"Animals","name":"pig","tags":["animal","farm","pork","mud","pink","piggy","bank"],"variants":{"outline":"ef52"}},"pig-money":{"category":"Animals","name":"pig-money","tags":["coin","finance","saving","bank"],"variants":{"outline":"f38c"}},"pig-off":{"category":"Animals","name":"pig-off","tags":["animal","farm","pork","mud","pink","piggy","bank"],"variants":{"outline":"f177"}},"pilcrow":{"category":"Text","name":"pilcrow","tags":["paragraph","letter","text","symbol"],"variants":{"outline":"f5f6"}},"pilcrow-left":{"category":"","name":"pilcrow-left","tags":[],"variants":{"outline":"fd7f"}},"pilcrow-right":{"category":"","name":"pilcrow-right","tags":[],"variants":{"outline":"fd80"}},"pill":{"category":"Health","name":"pill","tags":["drug","medication","illness","sickness","doctor","prescription"],"variants":{"filled":"ff07","outline":"ec44"}},"pill-off":{"category":"Health","name":"pill-off","tags":["drug","medication","illness","sickness","doctor","prescription"],"variants":{"outline":"f178"}},"pills":{"category":"Health","name":"pills","tags":["drug","medication","illness","sickness","doctor","prescription"],"variants":{"outline":"ef66"}},"pin":{"category":"Map","name":"pin","tags":["thing","localization","maps","clip","place","location"],"variants":{"filled":"f68d","outline":"ec9c"}},"pin-end":{"category":"","name":"pin-end","tags":["pin","location-pin","map-pin","marker","place-pin","destination-pin","end-pin","point","position-pin","mark-end"],"variants":{"outline":"fd5b"}},"pin-invoke":{"category":"","name":"pin-invoke","tags":["pin","location-pin","map-pin","marker","place-pin","invoke-pin","trigger-pin","point","position-pin","invoke-mark"],"variants":{"outline":"fd5c"}},"ping-pong":{"category":"Sport","name":"ping-pong","tags":["table","tennis","ball","sport","racket"],"variants":{"outline":"f38d"}},"pinned":{"category":"Map","name":"pinned","tags":["board","attach","nail","pointed","corkboard","favourite","noticeboard"],"variants":{"filled":"f68e","outline":"ed60"}},"pinned-off":{"category":"Map","name":"pinned-off","tags":["board","attach","nail","pointed","corkboard","favourite","noticeboard"],"variants":{"outline":"ed5f"}},"pizza":{"category":"Food","name":"pizza","tags":["food","cheese","italy","pepperoni","margherita","capricciosa","rucole"],"variants":{"outline":"edbb"}},"pizza-off":{"category":"Food","name":"pizza-off","tags":["food","cheese","italy","pepperoni","margherita","capricciosa","rucole"],"variants":{"outline":"f179"}},"placeholder":{"category":"","name":"placeholder","tags":["input","form"],"variants":{"outline":"f626"}},"plane":{"category":"Vehicles","name":"plane","tags":["travel","journey","trip","airport","baggage","luggage"],"variants":{"outline":"eb6f"}},"plane-arrival":{"category":"Vehicles","name":"plane-arrival","tags":["travel","land","journey","trip","airport","baggage","luggage"],"variants":{"outline":"eb99"}},"plane-departure":{"category":"Vehicles","name":"plane-departure","tags":["travel","take off","journey","trip","airport","baggage","luggage"],"variants":{"outline":"eb9a"}},"plane-inflight":{"category":"Vehicles","name":"plane-inflight","tags":["travel","vacation","summer","sea","ocean","skies","clouds"],"variants":{"outline":"ef98"}},"plane-off":{"category":"Vehicles","name":"plane-off","tags":["travel","journey","trip","airport","baggage","luggage"],"variants":{"outline":"f17a"}},"plane-tilt":{"category":"Vehicles","name":"plane-tilt","tags":["up","higher","north","travel"],"variants":{"outline":"f1ed"}},"planet":{"category":"Map","name":"planet","tags":["earth","uranus","universe","space","galaxy","orbit","atmosphere"],"variants":{"outline":"ec08"}},"planet-off":{"category":"Map","name":"planet-off","tags":["earth","uranus","universe","space","galaxy","orbit","atmosphere"],"variants":{"outline":"f17b"}},"plant":{"category":"Nature","name":"plant","tags":["nature","green","flower","pot","tree","leaf","greenery","root","stem","seed"],"variants":{"outline":"ed50"}},"plant-2":{"category":"Nature","name":"plant-2","tags":["nature","green","flower","pot","tree","leaf","greenery","root","stem","seed"],"variants":{"outline":"ed7e"}},"plant-2-off":{"category":"Nature","name":"plant-2-off","tags":["nature","green","flower","pot","tree","leaf","greenery","root","stem","seed"],"variants":{"outline":"f17c"}},"plant-off":{"category":"Nature","name":"plant-off","tags":["nature","green","flower","pot","tree","leaf","greenery","root","stem","seed"],"variants":{"outline":"f17d"}},"play-basketball":{"category":"Sport","name":"play-basketball","tags":[],"variants":{"outline":"fa66"}},"play-card":{"category":"Games","name":"play-card","tags":["game","magic","trick","casino","entertainment","spade","heart","diamond","club","playing"],"variants":{"outline":"eebf"}},"play-card-off":{"category":"Games","name":"play-card-off","tags":["game","magic","trick","casino","entertainment","spade","heart","diamond","club","playing"],"variants":{"outline":"f17e"}},"play-football":{"category":"Sport","name":"play-football","tags":[],"variants":{"outline":"fa67"}},"play-handball":{"category":"Sport","name":"play-handball","tags":[],"variants":{"outline":"fa68"}},"play-volleyball":{"category":"Sport","name":"play-volleyball","tags":[],"variants":{"outline":"fa69"}},"player-eject":{"category":"Media","name":"player-eject","tags":["media","multimedia","music","audio","control","figures"],"variants":{"filled":"f68f","outline":"efbc"}},"player-pause":{"category":"Media","name":"player-pause","tags":["video","film","music","player","stop"],"variants":{"filled":"f690","outline":"ed45"}},"player-play":{"category":"Media","name":"player-play","tags":["start","video","film","music","player"],"variants":{"filled":"f691","outline":"ed46"}},"player-record":{"category":"Media","name":"player-record","tags":["music","song","playlist","melody","device","voice","recorder","dictation","machine"],"variants":{"filled":"f692","outline":"ed47"}},"player-skip-back":{"category":"Media","name":"player-skip-back","tags":["button","player","video","film","music","cancel","rewind","reverse"],"variants":{"filled":"f693","outline":"ed48"}},"player-skip-forward":{"category":"Media","name":"player-skip-forward","tags":["button","player","video","film","music","omit"],"variants":{"filled":"f694","outline":"ed49"}},"player-stop":{"category":"Media","name":"player-stop","tags":["music","song","playlist","melody","device","voice","silence","break"],"variants":{"filled":"f695","outline":"ed4a"}},"player-track-next":{"category":"Media","name":"player-track-next","tags":["music","forward","play","song","playlist"],"variants":{"filled":"f696","outline":"ed4b"}},"player-track-prev":{"category":"Media","name":"player-track-prev","tags":["music","forward","play","song","playlist"],"variants":{"filled":"f697","outline":"ed4c"}},"playlist":{"category":"Media","name":"playlist","tags":["music","song","artist","spotify","track","play","record"],"variants":{"outline":"eec0"}},"playlist-add":{"category":"","name":"playlist-add","tags":["music","spotify","new","create","library","album"],"variants":{"outline":"f008"}},"playlist-off":{"category":"Media","name":"playlist-off","tags":["music","song","artist","spotify","track","play","record"],"variants":{"outline":"f17f"}},"playlist-x":{"category":"Media","name":"playlist-x","tags":["off","delete","remove"],"variants":{"outline":"f009"}},"playstation-circle":{"category":"Devices","name":"playstation-circle","tags":["controller","console","shape","joystick"],"variants":{"outline":"f2ad"}},"playstation-square":{"category":"Devices","name":"playstation-square","tags":["controller","console","shape","joystick"],"variants":{"outline":"f2ae"}},"playstation-triangle":{"category":"Devices","name":"playstation-triangle","tags":["controller","console","shape","joystick"],"variants":{"outline":"f2af"}},"playstation-x":{"category":"Devices","name":"playstation-x","tags":["controller","console","shape","joystick"],"variants":{"outline":"f2b0"}},"plug":{"category":"Devices","name":"plug","tags":["electricity","charger","socket","connection"],"variants":{"outline":"ebd9"}},"plug-connected":{"category":"Devices","name":"plug-connected","tags":["power","electricy","cable","socket"],"variants":{"outline":"f00a"}},"plug-connected-x":{"category":"Devices","name":"plug-connected-x","tags":["unfasten","unplug","disconnect"],"variants":{"outline":"f0a0"}},"plug-off":{"category":"Devices","name":"plug-off","tags":["electricity","charger","socket","connection"],"variants":{"outline":"f180"}},"plug-x":{"category":"Devices","name":"plug-x","tags":["electricity","charger","socket","connection","discharge","end charging","charge off"],"variants":{"outline":"f0a1"}},"plus":{"category":"Math","name":"plus","tags":["add","create","new","+"],"variants":{"outline":"eb0b"}},"plus-equal":{"category":"Math","name":"plus-equal","tags":["math","sign","adding","equation"],"variants":{"outline":"f7ad"}},"plus-minus":{"category":"Math","name":"plus-minus","tags":["math","sign","adding","subtraction"],"variants":{"outline":"f7ae"}},"png":{"category":"Extensions","name":"png","tags":["file","format","type","document","filetype"],"variants":{"outline":"f3ad"}},"podium":{"category":"","name":"podium","tags":["speach","microphone","conference","politics","audience","presentation"],"variants":{"outline":"f1d8"}},"podium-off":{"category":"","name":"podium-off","tags":["speach","microphone","conference","politics","audience","presentation"],"variants":{"outline":"f41b"}},"point":{"category":"","name":"point","tags":["dot","label"],"variants":{"filled":"f698","outline":"eb0c"}},"point-off":{"category":"","name":"point-off","tags":["dot","label"],"variants":{"outline":"f181"}},"pointer":{"category":"System","name":"pointer","tags":["cursor","mouse","point","click","arrow"],"variants":{"filled":"fb30","outline":"f265"}},"pointer-bolt":{"category":"System","name":"pointer-bolt","tags":[],"variants":{"outline":"f999"}},"pointer-cancel":{"category":"System","name":"pointer-cancel","tags":[],"variants":{"outline":"f99a"}},"pointer-check":{"category":"System","name":"pointer-check","tags":[],"variants":{"outline":"f99b"}},"pointer-code":{"category":"System","name":"pointer-code","tags":[],"variants":{"outline":"f99c"}},"pointer-cog":{"category":"System","name":"pointer-cog","tags":[],"variants":{"outline":"f99d"}},"pointer-dollar":{"category":"System","name":"pointer-dollar","tags":[],"variants":{"outline":"f99e"}},"pointer-down":{"category":"System","name":"pointer-down","tags":[],"variants":{"outline":"f99f"}},"pointer-exclamation":{"category":"System","name":"pointer-exclamation","tags":[],"variants":{"outline":"f9a0"}},"pointer-heart":{"category":"System","name":"pointer-heart","tags":[],"variants":{"outline":"f9a1"}},"pointer-minus":{"category":"System","name":"pointer-minus","tags":[],"variants":{"outline":"f9a2"}},"pointer-off":{"category":"System","name":"pointer-off","tags":["cursor","mouse","point","click","arrow"],"variants":{"outline":"f9a3"}},"pointer-pause":{"category":"System","name":"pointer-pause","tags":[],"variants":{"outline":"f9a4"}},"pointer-pin":{"category":"System","name":"pointer-pin","tags":[],"variants":{"outline":"f9a5"}},"pointer-plus":{"category":"System","name":"pointer-plus","tags":[],"variants":{"outline":"f9a6"}},"pointer-question":{"category":"System","name":"pointer-question","tags":[],"variants":{"outline":"f9a7"}},"pointer-search":{"category":"System","name":"pointer-search","tags":[],"variants":{"outline":"f9a8"}},"pointer-share":{"category":"System","name":"pointer-share","tags":[],"variants":{"outline":"f9a9"}},"pointer-star":{"category":"System","name":"pointer-star","tags":[],"variants":{"outline":"f9aa"}},"pointer-up":{"category":"System","name":"pointer-up","tags":[],"variants":{"outline":"f9ab"}},"pointer-x":{"category":"System","name":"pointer-x","tags":[],"variants":{"outline":"f9ac"}},"pokeball":{"category":"Map","name":"pokeball","tags":["pokemon","go","catch","game","play"],"variants":{"outline":"eec1"}},"pokeball-off":{"category":"Map","name":"pokeball-off","tags":["pokemon","go","catch","game","play"],"variants":{"outline":"f41c"}},"poker-chip":{"category":"Games","name":"poker-chip","tags":["casino","game","money","gambling"],"variants":{"outline":"f515"}},"polaroid":{"category":"Photography","name":"polaroid","tags":["picture","photo","camera","polarization","develop","film","lens"],"variants":{"filled":"fa4b","outline":"eec2"}},"polygon":{"category":"Design","name":"polygon","tags":["shape","form","geometry","circle","line"],"variants":{"outline":"efd0"}},"polygon-off":{"category":"Design","name":"polygon-off","tags":["shape","form","geometry","circle","line"],"variants":{"outline":"f182"}},"poo":{"category":"","name":"poo","tags":["poop","shit","crap","toilet"],"variants":{"filled":"fec9","outline":"f258"}},"pool":{"category":"Sport","name":"pool","tags":["swim","water","swimmer","holiday","swimming","vacation","relax","sport"],"variants":{"outline":"ed91"}},"pool-off":{"category":"Sport","name":"pool-off","tags":["swim","water","swimmer","holiday","swimming","vacation","relax","sport"],"variants":{"outline":"f41d"}},"power":{"category":"Devices","name":"power","tags":["on","off","turn on","turn off","electricity"],"variants":{"outline":"eb0d"}},"pray":{"category":"","name":"pray","tags":["religion","faith","christianity","islam","buddhism","judaism"],"variants":{"outline":"ecbf"}},"premium-rights":{"category":"","name":"premium-rights","tags":["money","work","job","cash","dollar"],"variants":{"outline":"efbd"}},"prescription":{"category":"Health","name":"prescription","tags":["doctor","pharmacy","drug","pills","medical","disease"],"variants":{"outline":"ef99"}},"presentation":{"category":"Document","name":"presentation","tags":["slideshow","display","exhibition","speech","topic","conference"],"variants":{"filled":"ff5c","outline":"eb70"}},"presentation-analytics":{"category":"Document","name":"presentation-analytics","tags":["slideshow","display","exhibition","speech","topic","conference"],"variants":{"filled":"ff5d","outline":"eec3"}},"presentation-off":{"category":"Document","name":"presentation-off","tags":["slideshow","display","exhibition","speech","topic","conference"],"variants":{"outline":"f183"}},"printer":{"category":"Devices","name":"printer","tags":["fax","office","device"],"variants":{"outline":"eb0e"}},"printer-off":{"category":"Devices","name":"printer-off","tags":["fax","office","device"],"variants":{"outline":"f184"}},"prism":{"category":"Shapes","name":"prism","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fab1"}},"prism-light":{"category":"","name":"prism-light","tags":[],"variants":{"outline":"fea6"}},"prism-off":{"category":"Shapes","name":"prism-off","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"faaf"}},"prism-plus":{"category":"Shapes","name":"prism-plus","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fab0"}},"prison":{"category":"Map","name":"prison","tags":["jail","policeman","police","cop","handcuff","arrest","prisoner","thief"],"variants":{"outline":"ef79"}},"progress":{"category":"System","name":"progress","tags":[],"variants":{"outline":"fa0d"}},"progress-alert":{"category":"System","name":"progress-alert","tags":[],"variants":{"outline":"fa07"}},"progress-bolt":{"category":"System","name":"progress-bolt","tags":[],"variants":{"outline":"fa08"}},"progress-check":{"category":"System","name":"progress-check","tags":[],"variants":{"outline":"fa09"}},"progress-down":{"category":"System","name":"progress-down","tags":[],"variants":{"outline":"fa0a"}},"progress-help":{"category":"System","name":"progress-help","tags":[],"variants":{"outline":"fa0b"}},"progress-x":{"category":"System","name":"progress-x","tags":[],"variants":{"outline":"fa0c"}},"prompt":{"category":"","name":"prompt","tags":["command line","terminal","code"],"variants":{"outline":"eb0f"}},"prong":{"category":"","name":"prong","tags":[],"variants":{"outline":"fda1"}},"propeller":{"category":"","name":"propeller","tags":["rotate","blade","spiral","air","ship","fan","power"],"variants":{"outline":"eec4"}},"propeller-off":{"category":"","name":"propeller-off","tags":["rotate","blade","spiral","air","ship","fan","power"],"variants":{"outline":"f185"}},"protocol":{"category":"","name":"protocol","tags":[],"variants":{"outline":"fd81"}},"pumpkin-scary":{"category":"","name":"pumpkin-scary","tags":["halloween","horror","spooky","costume","decoration"],"variants":{"outline":"f587"}},"puzzle":{"category":"Games","name":"puzzle","tags":["jigsaw","extension","add-on"],"variants":{"filled":"f699","outline":"eb10"}},"puzzle-2":{"category":"Games","name":"puzzle-2","tags":["jigsaw","extension","add-on"],"variants":{"outline":"ef83"}},"puzzle-off":{"category":"Games","name":"puzzle-off","tags":["jigsaw","extension","add-on"],"variants":{"outline":"f186"}},"pyramid":{"category":"Shapes","name":"pyramid","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"eec5"}},"pyramid-off":{"category":"Shapes","name":"pyramid-off","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"f187"}},"pyramid-plus":{"category":"Shapes","name":"pyramid-plus","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fab2"}},"qrcode":{"category":"Devices","name":"qrcode","tags":["scan","data"],"variants":{"outline":"eb11"}},"qrcode-off":{"category":"Devices","name":"qrcode-off","tags":["scan","data"],"variants":{"outline":"f41e"}},"question-mark":{"category":"","name":"question-mark","tags":["sign","symbol","ask","sentence","word","letters","?"],"variants":{"outline":"ec9d"}},"quote":{"category":"Text","name":"quote","tags":["chat","message","text","punctuation","quotation","comment"],"variants":{"outline":"efbe"}},"quote-off":{"category":"Text","name":"quote-off","tags":["chat","message","text","punctuation","quotation","comment"],"variants":{"outline":"f188"}},"quotes":{"category":"Text","name":"quotes","tags":["chat","message","text","punctuation","quotation","comment"],"variants":{"outline":"fb1e"}},"radar":{"category":"Map","name":"radar","tags":["location","navigation","gps","find","signal","technology","submarine"],"variants":{"filled":"fe0d","outline":"f017"}},"radar-2":{"category":"Map","name":"radar-2","tags":["location","navigation","gps","find","signal","technology","submarine"],"variants":{"outline":"f016"}},"radar-off":{"category":"Map","name":"radar-off","tags":["location","navigation","gps","find","signal","technology","submarine"],"variants":{"outline":"f41f"}},"radio":{"category":"Media","name":"radio","tags":["music","news","sound","broadcost","communication","station"],"variants":{"outline":"ef2d"}},"radio-off":{"category":"Media","name":"radio-off","tags":["music","news","sound","broadcost","communication","station"],"variants":{"outline":"f420"}},"radioactive":{"category":"Symbols","name":"radioactive","tags":["dangerous","precarious","danger","sign","symbol","warning","caution","chernobyl","reactor","atomic","powerhouses","generator"],"variants":{"filled":"f760","outline":"ecc0"}},"radioactive-off":{"category":"Symbols","name":"radioactive-off","tags":["dangerous","precarious","danger","sign","symbol","warning","caution","chernobyl","reactor","atomic","powerhouses","generator"],"variants":{"outline":"f189"}},"radius-bottom-left":{"category":"Design","name":"radius-bottom-left","tags":["round","corner","rounded","border","css","style","bottom"],"variants":{"outline":"eec6"}},"radius-bottom-right":{"category":"Design","name":"radius-bottom-right","tags":["round","corner","rounded","border","css","style","top"],"variants":{"outline":"eec7"}},"radius-top-left":{"category":"Design","name":"radius-top-left","tags":["round","corner","rounded","border","css","style","bottom"],"variants":{"outline":"eec8"}},"radius-top-right":{"category":"Design","name":"radius-top-right","tags":["round","corner","rounded","border","css","style","top"],"variants":{"outline":"eec9"}},"rainbow":{"category":"Weather","name":"rainbow","tags":["colorful","weather","colors","colour","nature"],"variants":{"outline":"edbc"}},"rainbow-off":{"category":"Weather","name":"rainbow-off","tags":["colorful","weather","colors","colour","nature"],"variants":{"outline":"f18a"}},"rating-12-plus":{"category":"Symbols","name":"rating-12-plus","tags":["film","video","photo","movie","age","limiter"],"variants":{"outline":"f266"}},"rating-14-plus":{"category":"Symbols","name":"rating-14-plus","tags":["film","video","photo","movie","age","limiter"],"variants":{"outline":"f267"}},"rating-16-plus":{"category":"Symbols","name":"rating-16-plus","tags":["film","video","photo","movie","age","limiter"],"variants":{"outline":"f268"}},"rating-18-plus":{"category":"Symbols","name":"rating-18-plus","tags":["film","video","photo","movie","age","limiter"],"variants":{"outline":"f269"}},"rating-21-plus":{"category":"Symbols","name":"rating-21-plus","tags":["film","video","photo","movie","age","limiter"],"variants":{"outline":"f26a"}},"razor":{"category":"Health","name":"razor","tags":["shaver","barber","grooming","beard","moustache"],"variants":{"outline":"f4b5"}},"razor-electric":{"category":"Health","name":"razor-electric","tags":["shaver","barber","grooming","beard","moustache"],"variants":{"outline":"f4b4"}},"receipt":{"category":"Document","name":"receipt","tags":["bill","restaurant","shop","price","pay","money","total","tax"],"variants":{"filled":"ff06","outline":"edfd"}},"receipt-2":{"category":"Document","name":"receipt-2","tags":["bill","restaurant","shop","price","pay","money","total","tax"],"variants":{"outline":"edfa"}},"receipt-bitcoin":{"category":"E-commerce","name":"receipt-bitcoin","tags":[],"variants":{"outline":"fd66"}},"receipt-dollar":{"category":"E-commerce","name":"receipt-dollar","tags":[],"variants":{"outline":"fd67"}},"receipt-euro":{"category":"E-commerce","name":"receipt-euro","tags":[],"variants":{"outline":"fd68"}},"receipt-off":{"category":"Document","name":"receipt-off","tags":["bill","restaurant","shop","price","pay","money","total","tax"],"variants":{"outline":"edfb"}},"receipt-pound":{"category":"E-commerce","name":"receipt-pound","tags":[],"variants":{"outline":"fd69"}},"receipt-refund":{"category":"Document","name":"receipt-refund","tags":["bill","restaurant","shop","price","pay","money","total","give","back","return"],"variants":{"outline":"edfc"}},"receipt-rupee":{"category":"","name":"receipt-rupee","tags":[],"variants":{"outline":"fd82"}},"receipt-tax":{"category":"Document","name":"receipt-tax","tags":["income","percentage","money","finance","charge","obligation","taxpayer","vat"],"variants":{"outline":"edbd"}},"receipt-yen":{"category":"E-commerce","name":"receipt-yen","tags":[],"variants":{"outline":"fd6a"}},"receipt-yuan":{"category":"E-commerce","name":"receipt-yuan","tags":[],"variants":{"outline":"fd6b"}},"recharging":{"category":"","name":"recharging","tags":["battery","power","charge","socket","electricity","device","phone","laptop","low"],"variants":{"outline":"eeca"}},"record-mail":{"category":"","name":"record-mail","tags":["voice","voicemail","message"],"variants":{"outline":"eb12"}},"record-mail-off":{"category":"","name":"record-mail-off","tags":["voice","voicemail","message"],"variants":{"outline":"f18b"}},"rectangle":{"category":"Shapes","name":"rectangle","tags":["shape","geometric","math"],"variants":{"filled":"f69a","outline":"ed37"}},"rectangle-rounded-bottom":{"category":"Shapes","name":"rectangle-rounded-bottom","tags":[],"variants":{"outline":"faed"}},"rectangle-rounded-top":{"category":"Shapes","name":"rectangle-rounded-top","tags":[],"variants":{"outline":"faee"}},"rectangle-vertical":{"category":"Shapes","name":"rectangle-vertical","tags":["shape","geometric","math","upright"],"variants":{"filled":"f69b","outline":"ed36"}},"rectangular-prism":{"category":"Shapes","name":"rectangular-prism","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fab5"}},"rectangular-prism-off":{"category":"Shapes","name":"rectangular-prism-off","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fab3"}},"rectangular-prism-plus":{"category":"Shapes","name":"rectangular-prism-plus","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fab4"}},"recycle":{"category":"Symbols","name":"recycle","tags":["trash","rubbish","recyclable","reuse","waste"],"variants":{"outline":"eb9b"}},"recycle-off":{"category":"Symbols","name":"recycle-off","tags":["trash","rubbish","recyclable","reuse","waste"],"variants":{"outline":"f18c"}},"refresh":{"category":"Arrows","name":"refresh","tags":["synchronization","reload","restart","spinner","loader","ajax","update","arrows"],"variants":{"outline":"eb13"}},"refresh-alert":{"category":"Arrows","name":"refresh-alert","tags":["synchronization","reload","restart","spinner","loader","ajax","update","arrows"],"variants":{"outline":"ed57"}},"refresh-dot":{"category":"Arrows","name":"refresh-dot","tags":["again","reload","arrows","loading","replay"],"variants":{"outline":"efbf"}},"refresh-off":{"category":"Arrows","name":"refresh-off","tags":["synchronization","reload","restart","spinner","loader","ajax","update","arrows"],"variants":{"outline":"f18d"}},"regex":{"category":"Text","name":"regex","tags":["regular","expression","code","replace","programming","coding","variables"],"variants":{"outline":"f31f"}},"regex-off":{"category":"Text","name":"regex-off","tags":["regular","expression","code","replace","programming","coding","variables"],"variants":{"outline":"f421"}},"registered":{"category":"","name":"registered","tags":["copyright","trademark","rights"],"variants":{"outline":"eb14"}},"relation-many-to-many":{"category":"Database","name":"relation-many-to-many","tags":["data","model","analysis","multiple","connection","database","link"],"variants":{"filled":"fe0c","outline":"ed7f"}},"relation-one-to-many":{"category":"Database","name":"relation-one-to-many","tags":["data","model","analysis","multiple","connection","database","link"],"variants":{"filled":"fe0b","outline":"ed80"}},"relation-one-to-one":{"category":"Database","name":"relation-one-to-one","tags":["data","model","analysis","connection","database","link"],"variants":{"filled":"fe0a","outline":"ed81"}},"reload":{"category":"Arrows","name":"reload","tags":["refresh","repeat","update","sync","loading"],"variants":{"outline":"f3ae"}},"reorder":{"category":"","name":"reorder","tags":[],"variants":{"outline":"fc15"}},"repeat":{"category":"Media","name":"repeat","tags":["reuse","redo","action","replay","loop","flip"],"variants":{"outline":"eb72"}},"repeat-off":{"category":"Media","name":"repeat-off","tags":["reuse","redo","action","replay","loop","flip"],"variants":{"outline":"f18e"}},"repeat-once":{"category":"Media","name":"repeat-once","tags":["reuse","redo","action","replay","loop"],"variants":{"outline":"eb71"}},"replace":{"category":"","name":"replace","tags":["change","place","position","move","exchange"],"variants":{"filled":"f69c","outline":"ebc7"}},"replace-off":{"category":"","name":"replace-off","tags":["change","place","position","move","exchange"],"variants":{"outline":"f422"}},"report":{"category":"Document","name":"report","tags":["time","timesheet","analysis","analyse","results","business","company"],"variants":{"outline":"eece"}},"report-analytics":{"category":"Document","name":"report-analytics","tags":["statistics","results","business","sales","analysis","analyse","bar","chart"],"variants":{"outline":"eecb"}},"report-medical":{"category":"Document","name":"report-medical","tags":["hospital","doctor","health","sickness","illness","test","results"],"variants":{"outline":"eecc"}},"report-money":{"category":"Document","name":"report-money","tags":["results","business","sales","analysis","analyse","finance","financial","total"],"variants":{"outline":"eecd"}},"report-off":{"category":"Document","name":"report-off","tags":["time","timesheet","analysis","analyse","results","business","company"],"variants":{"outline":"f18f"}},"report-search":{"category":"Document","name":"report-search","tags":["analytic","statistics","data","results","graph","document"],"variants":{"outline":"ef84"}},"reserved-line":{"category":"","name":"reserved-line","tags":[],"variants":{"outline":"f9f6"}},"resize":{"category":"Design","name":"resize","tags":["picture","photo","alter","change","height","width"],"variants":{"outline":"eecf"}},"restore":{"category":"","name":"restore","tags":[],"variants":{"outline":"fafd"}},"rewind-backward-10":{"category":"Media","name":"rewind-backward-10","tags":[],"variants":{"outline":"faba"}},"rewind-backward-15":{"category":"Media","name":"rewind-backward-15","tags":[],"variants":{"outline":"fabb"}},"rewind-backward-20":{"category":"Media","name":"rewind-backward-20","tags":[],"variants":{"outline":"fabc"}},"rewind-backward-30":{"category":"Media","name":"rewind-backward-30","tags":[],"variants":{"outline":"fabd"}},"rewind-backward-40":{"category":"Media","name":"rewind-backward-40","tags":[],"variants":{"outline":"fabe"}},"rewind-backward-5":{"category":"Media","name":"rewind-backward-5","tags":[],"variants":{"outline":"fabf"}},"rewind-backward-50":{"category":"Media","name":"rewind-backward-50","tags":[],"variants":{"outline":"fac0"}},"rewind-backward-60":{"category":"Media","name":"rewind-backward-60","tags":[],"variants":{"outline":"fac1"}},"rewind-forward-10":{"category":"Media","name":"rewind-forward-10","tags":[],"variants":{"outline":"fac2"}},"rewind-forward-15":{"category":"Media","name":"rewind-forward-15","tags":[],"variants":{"outline":"fac3"}},"rewind-forward-20":{"category":"Media","name":"rewind-forward-20","tags":[],"variants":{"outline":"fac4"}},"rewind-forward-30":{"category":"Media","name":"rewind-forward-30","tags":[],"variants":{"outline":"fac5"}},"rewind-forward-40":{"category":"Media","name":"rewind-forward-40","tags":[],"variants":{"outline":"fac6"}},"rewind-forward-5":{"category":"Media","name":"rewind-forward-5","tags":[],"variants":{"outline":"fac7"}},"rewind-forward-50":{"category":"Media","name":"rewind-forward-50","tags":[],"variants":{"outline":"fac8"}},"rewind-forward-60":{"category":"Media","name":"rewind-forward-60","tags":[],"variants":{"outline":"fac9"}},"ribbon-health":{"category":"Symbols","name":"ribbon-health","tags":["medical","care","heatlh","medic","healthcare"],"variants":{"outline":"f58e"}},"rings":{"category":"Sport","name":"rings","tags":[],"variants":{"outline":"fa6a"}},"ripple":{"category":"Nature","name":"ripple","tags":["wave","water","breeze","ocean","sea"],"variants":{"outline":"ed82"}},"ripple-off":{"category":"Nature","name":"ripple-off","tags":["wave","water","breeze","ocean","sea"],"variants":{"outline":"f190"}},"road":{"category":"Map","name":"road","tags":["car","travel","journey","traffic","highway","route","racing"],"variants":{"outline":"f018"}},"road-off":{"category":"Map","name":"road-off","tags":["car","travel","journey","traffic","highway","route","racing"],"variants":{"outline":"f191"}},"road-sign":{"category":"Map","name":"road-sign","tags":["telltale","prohibitive","indicative","cautionary","codex","restrictions"],"variants":{"outline":"ecdd"}},"robot":{"category":"","name":"robot","tags":["technology","ai","machine","bot","android"],"variants":{"outline":"f00b"}},"robot-face":{"category":"","name":"robot-face","tags":[],"variants":{"outline":"fcbe"}},"robot-off":{"category":"","name":"robot-off","tags":["technology","ai","machine","bot","android"],"variants":{"outline":"f192"}},"rocket":{"category":"Map","name":"rocket","tags":["universe","galaxy","space","journey","discover","extraterrestrial","spaceship"],"variants":{"outline":"ec45"}},"rocket-off":{"category":"Map","name":"rocket-off","tags":["universe","galaxy","space","journey","discover","extraterrestrial","spaceship"],"variants":{"outline":"f193"}},"roller-skating":{"category":"Sport","name":"roller-skating","tags":["sport","hobby","fitness"],"variants":{"outline":"efd1"}},"rollercoaster":{"category":"Vehicles","name":"rollercoaster","tags":["adrenaline","height","speed","funfair","fun","attraction","extreme"],"variants":{"outline":"f0a2"}},"rollercoaster-off":{"category":"Vehicles","name":"rollercoaster-off","tags":["adrenaline","height","speed","funfair","fun","attraction","extreme"],"variants":{"outline":"f423"}},"rosette":{"category":"Shapes","name":"rosette","tags":["shape","badge","star","medal"],"variants":{"filled":"f69d","outline":"f599"}},"rosette-discount":{"category":"E-commerce","name":"rosette-discount","tags":["sale","reduction","price","cost","money","shopping","bargain"],"variants":{"filled":"ff05","outline":"ee7c"}},"rosette-discount-check":{"category":"E-commerce","name":"rosette-discount-check","tags":["reduction","price","cost","money","shopping","bargain","tick","done","verified","certificate","valid","official","success"],"variants":{"filled":"f746","outline":"f1f8"}},"rosette-discount-check-off":{"category":"E-commerce","name":"rosette-discount-check-off","tags":["reduction","price","cost","money","shopping","bargain","tick","done","verified","certificate","valid","official","success","invalid"],"variants":{"outline":"ff10"}},"rosette-discount-off":{"category":"E-commerce","name":"rosette-discount-off","tags":["sale","reduction","price","cost","money","shopping","bargain"],"variants":{"outline":"f3e6"}},"rosette-number-0":{"category":"Numbers","name":"rosette-number-0","tags":["shape","number","digit"],"variants":{"outline":"f58f"}},"rosette-number-1":{"category":"Numbers","name":"rosette-number-1","tags":["shape","number","digit"],"variants":{"outline":"f590"}},"rosette-number-2":{"category":"Numbers","name":"rosette-number-2","tags":["shape","number","digit"],"variants":{"outline":"f591"}},"rosette-number-3":{"category":"Numbers","name":"rosette-number-3","tags":["shape","number","digit"],"variants":{"outline":"f592"}},"rosette-number-4":{"category":"Numbers","name":"rosette-number-4","tags":["shape","number","digit"],"variants":{"outline":"f593"}},"rosette-number-5":{"category":"Numbers","name":"rosette-number-5","tags":["shape","number","digit"],"variants":{"outline":"f594"}},"rosette-number-6":{"category":"Numbers","name":"rosette-number-6","tags":["shape","number","digit"],"variants":{"outline":"f595"}},"rosette-number-7":{"category":"Numbers","name":"rosette-number-7","tags":["shape","number","digit"],"variants":{"outline":"f596"}},"rosette-number-8":{"category":"Numbers","name":"rosette-number-8","tags":["shape","number","digit"],"variants":{"outline":"f597"}},"rosette-number-9":{"category":"Numbers","name":"rosette-number-9","tags":["shape","number","digit"],"variants":{"outline":"f598"}},"rotate":{"category":"Arrows","name":"rotate","tags":["refresh","synchronization","reload","restart","spinner","loader","ajax","update","arrows"],"variants":{"outline":"eb16"}},"rotate-2":{"category":"Arrows","name":"rotate-2","tags":["refresh","synchronization","reload","restart","spinner","loader","ajax","update","arrows"],"variants":{"outline":"ebb4"}},"rotate-360":{"category":"Arrows","name":"rotate-360","tags":["degree","circle","camera","spin","rotation"],"variants":{"outline":"ef85"}},"rotate-3d":{"category":"","name":"rotate-3d","tags":["rotation","geometry","3d","modeling"],"variants":{"outline":"f020"}},"rotate-clockwise":{"category":"Arrows","name":"rotate-clockwise","tags":["refresh","synchronization","reload","restart","spinner","loader","ajax","update","arrows"],"variants":{"outline":"eb15"}},"rotate-clockwise-2":{"category":"Arrows","name":"rotate-clockwise-2","tags":["refresh","synchronization","reload","restart","spinner","loader","ajax","update","arrows"],"variants":{"outline":"ebb5"}},"rotate-dot":{"category":"Arrows","name":"rotate-dot","tags":["direction","degree","circle","camera","spin","rotation"],"variants":{"outline":"efe5"}},"rotate-rectangle":{"category":"Arrows","name":"rotate-rectangle","tags":["refresh","synchronization","reload","restart","spinner","loader","ajax","update","arrows"],"variants":{"outline":"ec15"}},"route":{"category":"Map","name":"route","tags":["path","journey","direction","trail","navigate","travel","way","road","travel-route","route-way"],"variants":{"outline":"eb17"}},"route-2":{"category":"Map","name":"route-2","tags":["path","journey","direction","trail","navigate","travel","way","road","route-two","2-direction"],"variants":{"outline":"f4b6"}},"route-alt-left":{"category":"Map","name":"route-alt-left","tags":["alternate-left","alternate-route","left-path","alternate-way","left-trail","alt-left-road","leftward-route","shift-left","change-left","left-road"],"variants":{"outline":"fca9"}},"route-alt-right":{"category":"Map","name":"route-alt-right","tags":["alternate-right","alternate-route","right-path","alternate-way","right-trail","alt-right-road","rightward-route","shift-right","change-right","right-road"],"variants":{"outline":"fcaa"}},"route-off":{"category":"Map","name":"route-off","tags":["path","navigation","map"],"variants":{"outline":"f194"}},"route-scan":{"category":"","name":"route-scan","tags":[],"variants":{"outline":"fcbf"}},"route-square":{"category":"Map","name":"route-square","tags":["path","journey","direction","trail","navigate","travel","way","square","geometric-route","square-path"],"variants":{"outline":"fcac"}},"route-square-2":{"category":"Map","name":"route-square-2","tags":["square-route","route-square","path","journey","direction","trail","navigate","travel","way","square-direction"],"variants":{"outline":"fcab"}},"route-x":{"category":"Map","name":"route-x","tags":["path","journey","direction","trail","navigate","travel","way","cross","x-cross","cross-path"],"variants":{"outline":"fcae"}},"route-x-2":{"category":"Map","name":"route-x-2","tags":["x-route","route-x","path","journey","direction","trail","navigate","travel","way","crossing"],"variants":{"outline":"fcad"}},"router":{"category":"Devices","name":"router","tags":["wifi","device","wireless","signal","station","cast"],"variants":{"outline":"eb18"}},"router-off":{"category":"Devices","name":"router-off","tags":["wifi","device","wireless","signal","station","cast"],"variants":{"outline":"f424"}},"row-insert-bottom":{"category":"Database","name":"row-insert-bottom","tags":["table","layout","add","below","macro","excel"],"variants":{"outline":"eed0"}},"row-insert-top":{"category":"Database","name":"row-insert-top","tags":["table","layout","add","below","macro","excel"],"variants":{"outline":"eed1"}},"row-remove":{"category":"Database","name":"row-remove","tags":[],"variants":{"outline":"fafe"}},"rss":{"category":"","name":"rss","tags":["feed","subscribe"],"variants":{"outline":"eb19"}},"rubber-stamp":{"category":"Document","name":"rubber-stamp","tags":["rubber","stamp","seal","letter","mail","document","signature"],"variants":{"outline":"f5ab"}},"rubber-stamp-off":{"category":"Document","name":"rubber-stamp-off","tags":["rubber","stamp","seal","letter","mail","document","signature"],"variants":{"outline":"f5aa"}},"ruler":{"category":"Design","name":"ruler","tags":["maths","dimensions","size","width","length","geometry","measure","technical"],"variants":{"outline":"eb1a"}},"ruler-2":{"category":"Design","name":"ruler-2","tags":["maths","dimensions","size","width","length","geometry","measure","technical"],"variants":{"outline":"eed2"}},"ruler-2-off":{"category":"Design","name":"ruler-2-off","tags":["maths","dimensions","size","width","length","geometry","measure","technical"],"variants":{"outline":"f195"}},"ruler-3":{"category":"Design","name":"ruler-3","tags":["maths","dimensions","size","width","length","geometry","measure","technical"],"variants":{"outline":"f290"}},"ruler-measure":{"category":"Design","name":"ruler-measure","tags":["maths","dimensions","size","width","length","geometry","measure","technical","distance"],"variants":{"outline":"f291"}},"ruler-measure-2":{"category":"Design","name":"ruler-measure-2","tags":["maths","dimensions","size","width","length","geometry","measure","technical","distance"],"variants":{"outline":"ff0f"}},"ruler-off":{"category":"Design","name":"ruler-off","tags":["maths","dimensions","size","width","length","geometry","measure","technical"],"variants":{"outline":"f196"}},"run":{"category":"Sport","name":"run","tags":["jog","dislocating","movement","motion","sprint"],"variants":{"outline":"ec82"}},"rv-truck":{"category":"","name":"rv-truck","tags":[],"variants":{"outline":"fcc0"}},"s-turn-down":{"category":"Arrows","name":"s-turn-down","tags":["arrow","direction","bottom","south"],"variants":{"outline":"f516"}},"s-turn-left":{"category":"Arrows","name":"s-turn-left","tags":["arrow","direction","west"],"variants":{"outline":"f517"}},"s-turn-right":{"category":"Arrows","name":"s-turn-right","tags":["arrow","direction","east"],"variants":{"outline":"f518"}},"s-turn-up":{"category":"Arrows","name":"s-turn-up","tags":["arrow","direction","top","north"],"variants":{"outline":"f519"}},"sailboat":{"category":"Vehicles","name":"sailboat","tags":["sailor","journey","sea","lake","ocean","river"],"variants":{"outline":"ec83"}},"sailboat-2":{"category":"Vehicles","name":"sailboat-2","tags":["sailor","journey","sea","lake","ocean","river"],"variants":{"outline":"f5f7"}},"sailboat-off":{"category":"Vehicles","name":"sailboat-off","tags":["sailor","journey","sea","lake","ocean","river"],"variants":{"outline":"f425"}},"salad":{"category":"Food","name":"salad","tags":["food","vegetable","vegan","healthy"],"variants":{"outline":"f50a"}},"salt":{"category":"Food","name":"salt","tags":["food","cooking","kitchen","spice","salty"],"variants":{"outline":"ef16"}},"sandbox":{"category":"System","name":"sandbox","tags":[],"variants":{"outline":"fd6c"}},"satellite":{"category":"Map","name":"satellite","tags":["orbit","space","moon","earth","planet","communication","information","celestial"],"variants":{"outline":"eed3"}},"satellite-off":{"category":"Map","name":"satellite-off","tags":["orbit","space","moon","earth","planet","communication","information","celestial"],"variants":{"outline":"f197"}},"sausage":{"category":"Food","name":"sausage","tags":["food","grill","bonfire","campfire","meat","hot-dog"],"variants":{"outline":"ef17"}},"scale":{"category":"","name":"scale","tags":["weigh","balance","amount","heavy","light","libra"],"variants":{"outline":"ebc2"}},"scale-off":{"category":"","name":"scale-off","tags":["weigh","balance","amount","heavy","light","libra"],"variants":{"outline":"f198"}},"scale-outline":{"category":"","name":"scale-outline","tags":["weight","weigh","diet","healthy","measurement"],"variants":{"outline":"ef53"}},"scale-outline-off":{"category":"","name":"scale-outline-off","tags":["weight","weigh","diet","healthy","measurement"],"variants":{"outline":"f199"}},"scan":{"category":"","name":"scan","tags":["code","barcode","qr code","app","scanner","document"],"variants":{"outline":"ebc8"}},"scan-eye":{"category":"","name":"scan-eye","tags":["technology","security","safety","safe","secure"],"variants":{"outline":"f1ff"}},"scan-position":{"category":"","name":"scan-position","tags":[],"variants":{"outline":"fdac"}},"schema":{"category":"Database","name":"schema","tags":["graph","data","infography"],"variants":{"outline":"f200"}},"schema-off":{"category":"Database","name":"schema-off","tags":["graph","data","infography"],"variants":{"outline":"f426"}},"school":{"category":"Map","name":"school","tags":["students","class","teachers","professors","doctors","hall","classroom","subject","science","break","lesson"],"variants":{"outline":"ecf7"}},"school-bell":{"category":"","name":"school-bell","tags":["break","lesson","alarm","ring"],"variants":{"outline":"f64a"}},"school-off":{"category":"Map","name":"school-off","tags":["students","class","teachers","professors","doctors","hall","classroom","subject","science","break","lesson"],"variants":{"outline":"f19a"}},"scissors":{"category":"Design","name":"scissors","tags":["cut","paper","file","document","hairdresser","blade","sharp"],"variants":{"outline":"eb1b"}},"scissors-off":{"category":"Design","name":"scissors-off","tags":["cut","paper","file","document","hairdresser","blade","sharp"],"variants":{"outline":"f19b"}},"scooter":{"category":"Vehicles","name":"scooter","tags":["vehicle","drive","driver","engine","motor","journey","trip"],"variants":{"outline":"ec6c"}},"scooter-electric":{"category":"Vehicles","name":"scooter-electric","tags":["vehicle","drive","driver","engine","motor","journey","trip"],"variants":{"outline":"ecc1"}},"scoreboard":{"category":"Sport","name":"scoreboard","tags":[],"variants":{"outline":"fa6b"}},"screen-share":{"category":"Devices","name":"screen-share","tags":["monitor","stream","tv","mirroring","cast","online"],"variants":{"outline":"ed18"}},"screen-share-off":{"category":"Devices","name":"screen-share-off","tags":["monitor","stream","tv","mirroring","cast","online"],"variants":{"outline":"ed17"}},"screenshot":{"category":"","name":"screenshot","tags":["image","capture","photo"],"variants":{"outline":"f201"}},"scribble":{"category":"","name":"scribble","tags":["kid","doodle","draw","drawing"],"variants":{"outline":"f0a3"}},"scribble-off":{"category":"","name":"scribble-off","tags":["kid","doodle","draw","drawing"],"variants":{"outline":"f427"}},"script":{"category":"Document","name":"script","tags":["code","programming","coding","document","development"],"variants":{"outline":"f2da"}},"script-minus":{"category":"Document","name":"script-minus","tags":["code","programming","coding","remove","delete"],"variants":{"outline":"f2d7"}},"script-plus":{"category":"Document","name":"script-plus","tags":["code","programming","coding","add","new"],"variants":{"outline":"f2d8"}},"script-x":{"category":"Document","name":"script-x","tags":["code","programming","coding","remove","delete"],"variants":{"outline":"f2d9"}},"scuba-diving":{"category":"Sport","name":"scuba-diving","tags":["dive","diving","water","open water","underwater"],"variants":{"outline":"fd4e"}},"scuba-diving-tank":{"category":"Sport","name":"scuba-diving-tank","tags":["dive","diving","water","open water","underwater","pressure","compressed air","air"],"variants":{"filled":"ff04","outline":"fefa"}},"scuba-mask":{"category":"Sport","name":"scuba-mask","tags":["dive","diving","water","holiday","underwater","snorkeling","equipment"],"variants":{"outline":"eed4"}},"scuba-mask-off":{"category":"Sport","name":"scuba-mask-off","tags":["dive","diving","water","holiday","underwater","snorkeling","equipment"],"variants":{"outline":"f428"}},"sdk":{"category":"Development","name":"sdk","tags":["development","programming","programmer","web","app"],"variants":{"outline":"f3af"}},"search":{"category":"","name":"search","tags":["find","magnifier","magnifying glass"],"variants":{"outline":"eb1c"}},"search-off":{"category":"","name":"search-off","tags":["find","magnifier","magnifying glass"],"variants":{"outline":"f19c"}},"section":{"category":"Design","name":"section","tags":["html","element","layout","divide","position","website"],"variants":{"filled":"fe09","outline":"eed5"}},"section-sign":{"category":"","name":"section-sign","tags":["legal","paragraph","law"],"variants":{"outline":"f019"}},"seeding":{"category":"Nature","name":"seeding","tags":["nature","greenery","grow","soil","harvest","plant","flower","tree","leaf"],"variants":{"outline":"ed51"}},"seeding-off":{"category":"Nature","name":"seeding-off","tags":["nature","greenery","grow","soil","harvest","plant","flower","tree","leaf"],"variants":{"outline":"f19d"}},"select":{"category":"Arrows","name":"select","tags":["arrows","select","dropdown","chevron","down","south","bottom","direction","input"],"variants":{"outline":"ec9e"}},"select-all":{"category":"","name":"select-all","tags":[],"variants":{"outline":"f9f7"}},"selector":{"category":"Arrows","name":"selector","tags":["arrows","select","dropdown","chevron","down","south","bottom","direction","input"],"variants":{"outline":"eb1d"}},"send":{"category":"Communication","name":"send","tags":["message","mail","email","gmail","paper","airplane","aeroplane"],"variants":{"outline":"eb1e"}},"send-2":{"category":"","name":"send-2","tags":["transmit","dispatch","forward","deliver","message","communication","send-out","send-away","transfer","send-off"],"variants":{"outline":"fd5d"}},"send-off":{"category":"Communication","name":"send-off","tags":["message","mail","email","gmail","paper","airplane","aeroplane"],"variants":{"outline":"f429"}},"seo":{"category":"Development","name":"seo","tags":["www","web","browser","search","result"],"variants":{"outline":"f26b"}},"separator":{"category":"Text","name":"separator","tags":["divider","space","separate","set apart"],"variants":{"outline":"ebda"}},"separator-horizontal":{"category":"Text","name":"separator-horizontal","tags":["divider","space","separate","set apart","flat-lying"],"variants":{"outline":"ec79"}},"separator-vertical":{"category":"Text","name":"separator-vertical","tags":["divider","space","separate","set apart","upright"],"variants":{"outline":"ec7a"}},"server":{"category":"Devices","name":"server","tags":["storage","hosting","www"],"variants":{"outline":"eb1f"}},"server-2":{"category":"Devices","name":"server-2","tags":["storage","hosting","www"],"variants":{"outline":"f07c"}},"server-bolt":{"category":"Devices","name":"server-bolt","tags":["data","database","storage","lighting","power","energy"],"variants":{"outline":"f320"}},"server-cog":{"category":"Devices","name":"server-cog","tags":["settings","storage","data","database"],"variants":{"outline":"f321"}},"server-off":{"category":"Devices","name":"server-off","tags":["storage","hosting","www"],"variants":{"outline":"f19e"}},"servicemark":{"category":"Symbols","name":"servicemark","tags":["trademark","sign","symbol","registration"],"variants":{"outline":"ec09"}},"settings":{"category":"System","name":"settings","tags":["cog","edit","gear","preferences","tools"],"variants":{"filled":"f69e","outline":"eb20"}},"settings-2":{"category":"System","name":"settings-2","tags":["cog","edit","gear","preferences","tools"],"variants":{"outline":"f5ac"}},"settings-automation":{"category":"System","name":"settings-automation","tags":["system","technology","automate","configure","device","program"],"variants":{"outline":"eed6"}},"settings-bolt":{"category":"System","name":"settings-bolt","tags":[],"variants":{"outline":"f9ad"}},"settings-cancel":{"category":"System","name":"settings-cancel","tags":[],"variants":{"outline":"f9ae"}},"settings-check":{"category":"System","name":"settings-check","tags":[],"variants":{"outline":"f9af"}},"settings-code":{"category":"System","name":"settings-code","tags":[],"variants":{"outline":"f9b0"}},"settings-cog":{"category":"System","name":"settings-cog","tags":[],"variants":{"outline":"f9b1"}},"settings-dollar":{"category":"System","name":"settings-dollar","tags":[],"variants":{"outline":"f9b2"}},"settings-down":{"category":"System","name":"settings-down","tags":[],"variants":{"outline":"f9b3"}},"settings-exclamation":{"category":"System","name":"settings-exclamation","tags":[],"variants":{"outline":"f9b4"}},"settings-heart":{"category":"System","name":"settings-heart","tags":[],"variants":{"outline":"f9b5"}},"settings-minus":{"category":"System","name":"settings-minus","tags":[],"variants":{"outline":"f9b6"}},"settings-off":{"category":"System","name":"settings-off","tags":["cog","edit","gear","preferences","tools"],"variants":{"outline":"f19f"}},"settings-pause":{"category":"System","name":"settings-pause","tags":[],"variants":{"outline":"f9b7"}},"settings-pin":{"category":"System","name":"settings-pin","tags":[],"variants":{"outline":"f9b8"}},"settings-plus":{"category":"System","name":"settings-plus","tags":[],"variants":{"outline":"f9b9"}},"settings-question":{"category":"System","name":"settings-question","tags":[],"variants":{"outline":"f9ba"}},"settings-search":{"category":"System","name":"settings-search","tags":[],"variants":{"outline":"f9bb"}},"settings-share":{"category":"System","name":"settings-share","tags":[],"variants":{"outline":"f9bc"}},"settings-star":{"category":"System","name":"settings-star","tags":[],"variants":{"outline":"f9bd"}},"settings-up":{"category":"System","name":"settings-up","tags":[],"variants":{"outline":"f9be"}},"settings-x":{"category":"System","name":"settings-x","tags":[],"variants":{"outline":"f9bf"}},"shadow":{"category":"Photography","name":"shadow","tags":["dark","sun","area","covered","dim","light","css","effect"],"variants":{"outline":"eed8"}},"shadow-off":{"category":"Photography","name":"shadow-off","tags":["dark","sun","area","covered","dim","light","css","effect"],"variants":{"outline":"eed7"}},"shape":{"category":"Design","name":"shape","tags":["draw","square","form","create","outline"],"variants":{"outline":"eb9c"}},"shape-2":{"category":"Design","name":"shape-2","tags":["draw","square","form","create","outline"],"variants":{"outline":"eed9"}},"shape-3":{"category":"Design","name":"shape-3","tags":["draw","square","form","create","outline"],"variants":{"outline":"eeda"}},"shape-off":{"category":"Design","name":"shape-off","tags":["draw","square","form","create","outline"],"variants":{"outline":"f1a0"}},"share":{"category":"","name":"share","tags":["network","link","connection"],"variants":{"outline":"eb21"}},"share-2":{"category":"Arrows","name":"share-2","tags":["network","link","connection"],"variants":{"outline":"f799"}},"share-3":{"category":"Arrows","name":"share-3","tags":["network","link","connection"],"variants":{"outline":"f7bd"}},"share-off":{"category":"","name":"share-off","tags":["network","link","connection"],"variants":{"outline":"f1a1"}},"shareplay":{"category":"Media","name":"shareplay","tags":[],"variants":{"outline":"fea5"}},"shield":{"category":"System","name":"shield","tags":["safety","protect","protection"],"variants":{"filled":"f69f","outline":"eb24"}},"shield-bolt":{"category":"System","name":"shield-bolt","tags":[],"variants":{"outline":"f9c0"}},"shield-cancel":{"category":"System","name":"shield-cancel","tags":[],"variants":{"outline":"f9c1"}},"shield-check":{"category":"System","name":"shield-check","tags":["safety","protect","protection","yes","add"],"variants":{"filled":"f761","outline":"eb22"}},"shield-checkered":{"category":"System","name":"shield-checkered","tags":["knight","guard","defence","protect"],"variants":{"filled":"f762","outline":"ef9a"}},"shield-chevron":{"category":"System","name":"shield-chevron","tags":["knight","guard","defence","protect"],"variants":{"outline":"ef9b"}},"shield-code":{"category":"System","name":"shield-code","tags":[],"variants":{"outline":"f9c2"}},"shield-cog":{"category":"System","name":"shield-cog","tags":[],"variants":{"outline":"f9c3"}},"shield-dollar":{"category":"System","name":"shield-dollar","tags":[],"variants":{"outline":"f9c4"}},"shield-down":{"category":"System","name":"shield-down","tags":[],"variants":{"outline":"f9c5"}},"shield-exclamation":{"category":"System","name":"shield-exclamation","tags":[],"variants":{"outline":"f9c6"}},"shield-half":{"category":"System","name":"shield-half","tags":["safe","security","secure","safety","protect","protection"],"variants":{"filled":"f357","outline":"f358"}},"shield-heart":{"category":"System","name":"shield-heart","tags":[],"variants":{"outline":"f9c7"}},"shield-lock":{"category":"System","name":"shield-lock","tags":["secure","security","closed","key","safety"],"variants":{"filled":"f763","outline":"ed58"}},"shield-minus":{"category":"System","name":"shield-minus","tags":[],"variants":{"outline":"f9c8"}},"shield-off":{"category":"System","name":"shield-off","tags":["safety","protect","protection"],"variants":{"outline":"ecf8"}},"shield-pause":{"category":"System","name":"shield-pause","tags":[],"variants":{"outline":"f9c9"}},"shield-pin":{"category":"System","name":"shield-pin","tags":[],"variants":{"outline":"f9ca"}},"shield-plus":{"category":"System","name":"shield-plus","tags":[],"variants":{"outline":"f9cb"}},"shield-question":{"category":"System","name":"shield-question","tags":[],"variants":{"outline":"f9cc"}},"shield-search":{"category":"System","name":"shield-search","tags":[],"variants":{"outline":"f9cd"}},"shield-share":{"category":"System","name":"shield-share","tags":[],"variants":{"outline":"f9ce"}},"shield-star":{"category":"System","name":"shield-star","tags":[],"variants":{"outline":"f9cf"}},"shield-up":{"category":"System","name":"shield-up","tags":[],"variants":{"outline":"f9d0"}},"shield-x":{"category":"System","name":"shield-x","tags":["unprotected","protection","cancel","no"],"variants":{"outline":"eb23"}},"ship":{"category":"Vehicles","name":"ship","tags":["sail","sail across","ocean","river","lake","sea","sailor","journey","transit","manufactures","containers"],"variants":{"outline":"ec84"}},"ship-off":{"category":"Vehicles","name":"ship-off","tags":["sail","sail across","ocean","river","lake","sea","sailor","journey","transit","manufactures","containers"],"variants":{"outline":"f42a"}},"shirt":{"category":"","name":"shirt","tags":["gear","outfit","mocker"],"variants":{"filled":"f6a0","outline":"ec0a"}},"shirt-off":{"category":"","name":"shirt-off","tags":["gear","outfit","mocker"],"variants":{"outline":"f1a2"}},"shirt-sport":{"category":"","name":"shirt-sport","tags":["basketball","soccer","football","player","clothes","game"],"variants":{"outline":"f26c"}},"shoe":{"category":"","name":"shoe","tags":["sport","boots","boot","footwear","sneaker","nike","adidas"],"variants":{"outline":"efd2"}},"shoe-off":{"category":"","name":"shoe-off","tags":["sport","boots","boot","footwear","sneaker","nike","adidas"],"variants":{"outline":"f1a4"}},"shopping-bag":{"category":"E-commerce","name":"shopping-bag","tags":["shop","store","ecommerce","buy"],"variants":{"outline":"f5f8"}},"shopping-bag-check":{"category":"E-commerce","name":"shopping-bag-check","tags":[],"variants":{"outline":"fc16"}},"shopping-bag-discount":{"category":"E-commerce","name":"shopping-bag-discount","tags":[],"variants":{"outline":"fc17"}},"shopping-bag-edit":{"category":"E-commerce","name":"shopping-bag-edit","tags":[],"variants":{"outline":"fc18"}},"shopping-bag-exclamation":{"category":"E-commerce","name":"shopping-bag-exclamation","tags":[],"variants":{"outline":"fc19"}},"shopping-bag-heart":{"category":"","name":"shopping-bag-heart","tags":[],"variants":{"outline":"fda2"}},"shopping-bag-minus":{"category":"E-commerce","name":"shopping-bag-minus","tags":[],"variants":{"outline":"fc1a"}},"shopping-bag-plus":{"category":"E-commerce","name":"shopping-bag-plus","tags":[],"variants":{"outline":"fc1b"}},"shopping-bag-search":{"category":"E-commerce","name":"shopping-bag-search","tags":[],"variants":{"outline":"fc1c"}},"shopping-bag-x":{"category":"E-commerce","name":"shopping-bag-x","tags":[],"variants":{"outline":"fc1d"}},"shopping-cart":{"category":"E-commerce","name":"shopping-cart","tags":["shop","store","buy","purchase","product","bag","trolley","supermarket","grocery"],"variants":{"filled":"fc3f","outline":"eb25"}},"shopping-cart-bolt":{"category":"","name":"shopping-cart-bolt","tags":[],"variants":{"outline":"fb57"}},"shopping-cart-cancel":{"category":"","name":"shopping-cart-cancel","tags":[],"variants":{"outline":"fb58"}},"shopping-cart-check":{"category":"","name":"shopping-cart-check","tags":[],"variants":{"outline":"fb59"}},"shopping-cart-code":{"category":"","name":"shopping-cart-code","tags":[],"variants":{"outline":"fb5a"}},"shopping-cart-cog":{"category":"","name":"shopping-cart-cog","tags":[],"variants":{"outline":"fb5b"}},"shopping-cart-copy":{"category":"","name":"shopping-cart-copy","tags":[],"variants":{"outline":"fb5c"}},"shopping-cart-discount":{"category":"","name":"shopping-cart-discount","tags":[],"variants":{"outline":"fb5d"}},"shopping-cart-dollar":{"category":"","name":"shopping-cart-dollar","tags":[],"variants":{"outline":"fb5e"}},"shopping-cart-down":{"category":"","name":"shopping-cart-down","tags":[],"variants":{"outline":"fb5f"}},"shopping-cart-exclamation":{"category":"","name":"shopping-cart-exclamation","tags":[],"variants":{"outline":"fb60"}},"shopping-cart-heart":{"category":"","name":"shopping-cart-heart","tags":[],"variants":{"outline":"fb61"}},"shopping-cart-minus":{"category":"","name":"shopping-cart-minus","tags":[],"variants":{"outline":"fb62"}},"shopping-cart-off":{"category":"E-commerce","name":"shopping-cart-off","tags":["shop","store","buy","purchase","product","bag","trolley","supermarket","grocery"],"variants":{"outline":"eedc"}},"shopping-cart-pause":{"category":"","name":"shopping-cart-pause","tags":[],"variants":{"outline":"fb63"}},"shopping-cart-pin":{"category":"","name":"shopping-cart-pin","tags":[],"variants":{"outline":"fb64"}},"shopping-cart-plus":{"category":"","name":"shopping-cart-plus","tags":[],"variants":{"outline":"fb65"}},"shopping-cart-question":{"category":"","name":"shopping-cart-question","tags":[],"variants":{"outline":"fb66"}},"shopping-cart-search":{"category":"","name":"shopping-cart-search","tags":[],"variants":{"outline":"fb67"}},"shopping-cart-share":{"category":"","name":"shopping-cart-share","tags":[],"variants":{"outline":"fb68"}},"shopping-cart-star":{"category":"","name":"shopping-cart-star","tags":[],"variants":{"outline":"fb69"}},"shopping-cart-up":{"category":"","name":"shopping-cart-up","tags":[],"variants":{"outline":"fb6a"}},"shopping-cart-x":{"category":"","name":"shopping-cart-x","tags":[],"variants":{"outline":"fb6b"}},"shovel":{"category":"","name":"shovel","tags":["garden","tool","digging","farm","dirt","gardening"],"variants":{"outline":"f1d9"}},"shovel-pitchforks":{"category":"","name":"shovel-pitchforks","tags":["shovel","pitchfork","digging-tool","gardening","agriculture","farm-tool","manual-labor","soil","gardening-implement","dig"],"variants":{"outline":"fd3a"}},"shredder":{"category":"Devices","name":"shredder","tags":["paper","document","destroy","device","office","confidential"],"variants":{"outline":"eedf"}},"sign-left":{"category":"Map","name":"sign-left","tags":["direction","west","navigation","arrow","navigate"],"variants":{"filled":"f6a1","outline":"f06b"}},"sign-right":{"category":"Map","name":"sign-right","tags":["direction","east","navigation","arrow","navigate"],"variants":{"filled":"f6a2","outline":"f06c"}},"signal-2g":{"category":"Devices","name":"signal-2g","tags":["mobile","network","phone","wifi","connection"],"variants":{"outline":"f79a"}},"signal-3g":{"category":"Devices","name":"signal-3g","tags":["mobile","network","connetion","wi-fi","wireless","smartphone","technology"],"variants":{"outline":"f1ee"}},"signal-4g":{"category":"Devices","name":"signal-4g","tags":["mobile","network","connetion","wi-fi","wireless","smartphone","technology"],"variants":{"outline":"f1ef"}},"signal-4g-plus":{"category":"Devices","name":"signal-4g-plus","tags":["mobile","network","connetion","wi-fi","wireless","smartphone","technology"],"variants":{"outline":"f259"}},"signal-5g":{"category":"Devices","name":"signal-5g","tags":["mobile","network","connetion","wi-fi","wireless","smartphone","technology"],"variants":{"outline":"f1f0"}},"signal-6g":{"category":"Devices","name":"signal-6g","tags":[],"variants":{"outline":"f9f8"}},"signal-e":{"category":"Devices","name":"signal-e","tags":[],"variants":{"outline":"f9f9"}},"signal-g":{"category":"Devices","name":"signal-g","tags":[],"variants":{"outline":"f9fa"}},"signal-h":{"category":"Devices","name":"signal-h","tags":[],"variants":{"outline":"f9fc"}},"signal-h-plus":{"category":"Devices","name":"signal-h-plus","tags":[],"variants":{"outline":"f9fb"}},"signal-lte":{"category":"Devices","name":"signal-lte","tags":[],"variants":{"outline":"f9fd"}},"signature":{"category":"Text","name":"signature","tags":["name","certficate","sign","edit","write","document","writing"],"variants":{"outline":"eee0"}},"signature-off":{"category":"Text","name":"signature-off","tags":["name","certficate","sign","edit","write","document","writing"],"variants":{"outline":"f1a5"}},"sitemap":{"category":"Development","name":"sitemap","tags":["page","webpage","website","list","roadmap","index"],"variants":{"outline":"eb9d"}},"sitemap-off":{"category":"Development","name":"sitemap-off","tags":["page","webpage","website","list","roadmap","index"],"variants":{"outline":"f1a6"}},"skateboard":{"category":"Vehicles","name":"skateboard","tags":["toy","vehicle","electrical"],"variants":{"outline":"ecc2"}},"skateboard-off":{"category":"Vehicles","name":"skateboard-off","tags":["toy","vehicle","electrical"],"variants":{"outline":"f42b"}},"skateboarding":{"category":"Sport","name":"skateboarding","tags":[],"variants":{"outline":"faca"}},"skew-x":{"category":"","name":"skew-x","tags":["skew-horizontal","tilt-x","slant-x","distort-horizontal","angled","slanted","tilted","diagonal","oblique","slope-x"],"variants":{"outline":"fd3b"}},"skew-y":{"category":"","name":"skew-y","tags":["skew-vertical","tilt-y","slant-y","distort-vertical","angled","slanted","tilted","diagonal","oblique","slope-y"],"variants":{"outline":"fd3c"}},"ski-jumping":{"category":"Sport","name":"ski-jumping","tags":[],"variants":{"outline":"fa6c"}},"skull":{"category":"Health","name":"skull","tags":["halloween","skeleton","dead","pirate","danger","horror"],"variants":{"outline":"f292"}},"slash":{"category":"Math","name":"slash","tags":["sign","divide","dash"],"variants":{"outline":"f4f9"}},"slashes":{"category":"","name":"slashes","tags":["sign","key","button","dash","divide"],"variants":{"outline":"f588"}},"sleigh":{"category":"Vehicles","name":"sleigh","tags":["winter","christmas","snow","santa","transport","sledge"],"variants":{"outline":"ef9c"}},"slice":{"category":"Design","name":"slice","tags":["knife","cut","chop","portion","kitchen","tool"],"variants":{"outline":"ebdb"}},"slideshow":{"category":"Text","name":"slideshow","tags":["photo","picture","video","presentation","camera","display","ad"],"variants":{"outline":"ebc9"}},"smart-home":{"category":"Buildings","name":"smart-home","tags":["apple","devices","connection","link","wifi","bluetooth"],"variants":{"outline":"ecde"}},"smart-home-off":{"category":"Buildings","name":"smart-home-off","tags":["apple","devices","connection","link","wifi","bluetooth"],"variants":{"outline":"f1a7"}},"smoking":{"category":"Health","name":"smoking","tags":["cigarette","public place"],"variants":{"outline":"ecc4"}},"smoking-no":{"category":"Health","name":"smoking-no","tags":["ban","prohibition","cigarette","public place"],"variants":{"outline":"ecc3"}},"snowboarding":{"category":"","name":"snowboarding","tags":[],"variants":{"outline":"fd4f"}},"snowflake":{"category":"Weather","name":"snowflake","tags":["winter","weather","cold","frost"],"variants":{"outline":"ec0b"}},"snowflake-off":{"category":"Weather","name":"snowflake-off","tags":["winter","weather","cold","frost"],"variants":{"outline":"f1a8"}},"snowman":{"category":"","name":"snowman","tags":["winter","christmas","snow","cold","frosty"],"variants":{"outline":"f26d"}},"soccer-field":{"category":"Sport","name":"soccer-field","tags":["football","pitch","player","vall","goal","goalkeeper","kick","ball","score","sport","sportsman"],"variants":{"outline":"ed92"}},"social":{"category":"","name":"social","tags":["society","community","collectivity"],"variants":{"outline":"ebec"}},"social-off":{"category":"","name":"social-off","tags":["society","community","collectivity"],"variants":{"outline":"f1a9"}},"sock":{"category":"","name":"sock","tags":["clothing","clothes","foot","feet","leg","knit","wool","cotton","ankle"],"variants":{"outline":"eee1"}},"sofa":{"category":"","name":"sofa","tags":["chair","seat","home","furniture","couch"],"variants":{"outline":"efaf"}},"sofa-off":{"category":"","name":"sofa-off","tags":["chair","seat","home","furniture","couch"],"variants":{"outline":"f42c"}},"solar-electricity":{"category":"","name":"solar-electricity","tags":[],"variants":{"outline":"fcc1"}},"solar-panel":{"category":"","name":"solar-panel","tags":["energy","sun","power","ecology","electricity"],"variants":{"outline":"f7bf"}},"solar-panel-2":{"category":"","name":"solar-panel-2","tags":["energy","sun","power","ecology","electricity"],"variants":{"outline":"f7be"}},"sort-0-9":{"category":"Text","name":"sort-0-9","tags":["numbers","one","two","three","four","five","numerical"],"variants":{"outline":"f54d"}},"sort-9-0":{"category":"Text","name":"sort-9-0","tags":["numbers","one","two","three","four","five","numerical"],"variants":{"outline":"f54e"}},"sort-a-z":{"category":"Text","name":"sort-a-z","tags":["alphabet","letters","alphabetical"],"variants":{"outline":"f54f"}},"sort-ascending":{"category":"Text","name":"sort-ascending","tags":["filter","classify","arrange","order"],"variants":{"outline":"eb26"}},"sort-ascending-2":{"category":"Text","name":"sort-ascending-2","tags":["filter","classify","arrange","order"],"variants":{"filled":"ff5b","outline":"eee2"}},"sort-ascending-letters":{"category":"Text","name":"sort-ascending-letters","tags":["filter","classify","arrange","order"],"variants":{"outline":"ef18"}},"sort-ascending-numbers":{"category":"Text","name":"sort-ascending-numbers","tags":["filter","classify","arrange","order"],"variants":{"outline":"ef19"}},"sort-ascending-shapes":{"category":"","name":"sort-ascending-shapes","tags":[],"variants":{"filled":"ff5a","outline":"fd94"}},"sort-ascending-small-big":{"category":"","name":"sort-ascending-small-big","tags":[],"variants":{"outline":"fd95"}},"sort-descending":{"category":"Text","name":"sort-descending","tags":["filter","classify","arrange","order"],"variants":{"outline":"eb27"}},"sort-descending-2":{"category":"Text","name":"sort-descending-2","tags":["filter","classify","arrange","order"],"variants":{"filled":"ff59","outline":"eee3"}},"sort-descending-letters":{"category":"Text","name":"sort-descending-letters","tags":["filter","classify","arrange","order"],"variants":{"outline":"ef1a"}},"sort-descending-numbers":{"category":"Text","name":"sort-descending-numbers","tags":["filter","classify","arrange","order"],"variants":{"outline":"ef1b"}},"sort-descending-shapes":{"category":"","name":"sort-descending-shapes","tags":[],"variants":{"filled":"ff58","outline":"fd97"}},"sort-descending-small-big":{"category":"","name":"sort-descending-small-big","tags":[],"variants":{"outline":"fd96"}},"sort-z-a":{"category":"Text","name":"sort-z-a","tags":["alphabet","letters","alphabetical"],"variants":{"outline":"f550"}},"sos":{"category":"","name":"sos","tags":["help","emergency","signal","message","alert"],"variants":{"outline":"f24a"}},"soup":{"category":"Food","name":"soup","tags":["food","cooking","restaurant","bowl","hot","kitchen"],"variants":{"filled":"fe08","outline":"ef2e"}},"soup-off":{"category":"Food","name":"soup-off","tags":["food","cooking","restaurant","bowl","hot","kitchen"],"variants":{"outline":"f42d"}},"source-code":{"category":"","name":"source-code","tags":["programming","coding","html","development"],"variants":{"outline":"f4a2"}},"space":{"category":"Text","name":"space","tags":["keyboard","type","gap"],"variants":{"outline":"ec0c"}},"space-off":{"category":"Text","name":"space-off","tags":["keyboard","type","gap"],"variants":{"outline":"f1aa"}},"spaces":{"category":"","name":"spaces","tags":[],"variants":{"outline":"fea4"}},"spacing-horizontal":{"category":"Document","name":"spacing-horizontal","tags":["align","between","text","gap"],"variants":{"outline":"ef54"}},"spacing-vertical":{"category":"Document","name":"spacing-vertical","tags":["align","between","text","gap"],"variants":{"outline":"ef55"}},"spade":{"category":"Shapes","name":"spade","tags":["cards","casino","poker","shapes","gamble"],"variants":{"filled":"f6a3","outline":"effa"}},"sparkles":{"category":"","name":"sparkles","tags":["star","light","fire","shine"],"variants":{"outline":"f6d7"}},"speakerphone":{"category":"Media","name":"speakerphone","tags":["voice","loud","microphone","loudspeaker","event","protest","speaker","shout","listen"],"variants":{"outline":"ed61"}},"speedboat":{"category":"Vehicles","name":"speedboat","tags":["motorboat","holiday","sea","ocean","engine","travel","lake","summer"],"variants":{"outline":"ed93"}},"sphere":{"category":"Shapes","name":"sphere","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fab8"}},"sphere-off":{"category":"Shapes","name":"sphere-off","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fab6"}},"sphere-plus":{"category":"Shapes","name":"sphere-plus","tags":["3d","pattern","abstract","geometric","shape"],"variants":{"outline":"fab7"}},"spider":{"category":"Animals","name":"spider","tags":["halloween","animal","scary","horror","cobweb","insect"],"variants":{"outline":"f293"}},"spiral":{"category":"","name":"spiral","tags":["hypnosis","rotation","growth"],"variants":{"outline":"f294"}},"spiral-off":{"category":"","name":"spiral-off","tags":["hypnosis","rotation","growth"],"variants":{"outline":"f42e"}},"sport-billard":{"category":"Sport","name":"sport-billard","tags":["pool","game","ball","pub","entertainment"],"variants":{"outline":"eee4"}},"spray":{"category":"","name":"spray","tags":["paint","clean","hygiene","graffiti"],"variants":{"outline":"f50b"}},"spy":{"category":"","name":"spy","tags":["security","incognito","privacy","browser","web"],"variants":{"outline":"f227"}},"spy-off":{"category":"","name":"spy-off","tags":["security","incognito","privacy","browser","web"],"variants":{"outline":"f42f"}},"sql":{"category":"Extensions","name":"sql","tags":["file","document","type","format","extencion"],"variants":{"outline":"f7c0"}},"square":{"category":"Shapes","name":"square","tags":["checkbox","box","shape"],"variants":{"filled":"fc40","outline":"eb2c"}},"square-arrow-down":{"category":"Arrows","name":"square-arrow-down","tags":["direction","shape","bottom","south"],"variants":{"filled":"fb31","outline":"f4b7"}},"square-arrow-left":{"category":"Arrows","name":"square-arrow-left","tags":["direction","shape","west"],"variants":{"filled":"fb32","outline":"f4b8"}},"square-arrow-right":{"category":"Arrows","name":"square-arrow-right","tags":["direction","shape","east"],"variants":{"filled":"fb33","outline":"f4b9"}},"square-arrow-up":{"category":"Arrows","name":"square-arrow-up","tags":["direction","shape","north","top"],"variants":{"filled":"fb34","outline":"f4ba"}},"square-asterisk":{"category":"","name":"square-asterisk","tags":["shapes","star","password","security"],"variants":{"filled":"fb35","outline":"f01a"}},"square-check":{"category":"Shapes","name":"square-check","tags":["checkbox","yes"],"variants":{"filled":"f76d","outline":"eb28"}},"square-chevron-down":{"category":"Arrows","name":"square-chevron-down","tags":["shape","south","bottom","direction"],"variants":{"filled":"fb36","outline":"f627"}},"square-chevron-left":{"category":"Arrows","name":"square-chevron-left","tags":["shape","direction","west"],"variants":{"filled":"fb37","outline":"f628"}},"square-chevron-right":{"category":"Arrows","name":"square-chevron-right","tags":["shape","direction","east"],"variants":{"filled":"fb38","outline":"f629"}},"square-chevron-up":{"category":"Arrows","name":"square-chevron-up","tags":["shape","direction","north","top"],"variants":{"filled":"fb39","outline":"f62a"}},"square-chevrons-down":{"category":"Arrows","name":"square-chevrons-down","tags":["shape","south","bottom","direction"],"variants":{"filled":"fb3a","outline":"f64b"}},"square-chevrons-left":{"category":"Arrows","name":"square-chevrons-left","tags":["shape","direction","west"],"variants":{"filled":"fb3b","outline":"f64c"}},"square-chevrons-right":{"category":"Arrows","name":"square-chevrons-right","tags":["shape","direction","east"],"variants":{"filled":"fb3c","outline":"f64d"}},"square-chevrons-up":{"category":"Arrows","name":"square-chevrons-up","tags":["shape","direction","north","top"],"variants":{"filled":"fb3d","outline":"f64e"}},"square-dot":{"category":"Shapes","name":"square-dot","tags":["corner","shape","element","point"],"variants":{"filled":"fb3e","outline":"ed59"}},"square-f0":{"category":"System","name":"square-f0","tags":["shape","keyboard","button","key","hotkey"],"variants":{"filled":"f76e","outline":"f526"}},"square-f1":{"category":"System","name":"square-f1","tags":["shape","keyboard","button","key","hotkey"],"variants":{"filled":"f76f","outline":"f527"}},"square-f2":{"category":"System","name":"square-f2","tags":["shape","keyboard","button","key","hotkey"],"variants":{"filled":"f770","outline":"f528"}},"square-f3":{"category":"System","name":"square-f3","tags":["shape","keyboard","button","key","hotkey"],"variants":{"filled":"f771","outline":"f529"}},"square-f4":{"category":"System","name":"square-f4","tags":["shape","keyboard","button","key","hotkey"],"variants":{"filled":"f772","outline":"f52a"}},"square-f5":{"category":"System","name":"square-f5","tags":["shape","keyboard","button","key","hotkey"],"variants":{"filled":"f773","outline":"f52b"}},"square-f6":{"category":"System","name":"square-f6","tags":["shape","keyboard","button","key","hotkey"],"variants":{"filled":"f774","outline":"f52c"}},"square-f7":{"category":"System","name":"square-f7","tags":["shape","keyboard","button","key","hotkey"],"variants":{"filled":"f775","outline":"f52d"}},"square-f8":{"category":"System","name":"square-f8","tags":["shape","keyboard","button","key","hotkey"],"variants":{"filled":"f776","outline":"f52e"}},"square-f9":{"category":"System","name":"square-f9","tags":["shape","keyboard","button","key","hotkey"],"variants":{"filled":"f777","outline":"f52f"}},"square-forbid":{"category":"","name":"square-forbid","tags":["box","disabled","off","block"],"variants":{"outline":"ed5b"}},"square-forbid-2":{"category":"","name":"square-forbid-2","tags":["box","disabled","off","block"],"variants":{"outline":"ed5a"}},"square-half":{"category":"Design","name":"square-half","tags":["shapes","pattern","geometric","highlight","geometry"],"variants":{"outline":"effb"}},"square-key":{"category":"","name":"square-key","tags":["shape","lock","door","acsses"],"variants":{"outline":"f638"}},"square-letter-a":{"category":"Letters","name":"square-letter-a","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe07","outline":"f47c"}},"square-letter-b":{"category":"Letters","name":"square-letter-b","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe06","outline":"f47d"}},"square-letter-c":{"category":"Letters","name":"square-letter-c","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe05","outline":"f47e"}},"square-letter-d":{"category":"Letters","name":"square-letter-d","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe04","outline":"f47f"}},"square-letter-e":{"category":"Letters","name":"square-letter-e","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe03","outline":"f480"}},"square-letter-f":{"category":"Letters","name":"square-letter-f","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe02","outline":"f481"}},"square-letter-g":{"category":"Letters","name":"square-letter-g","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe01","outline":"f482"}},"square-letter-h":{"category":"Letters","name":"square-letter-h","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fe00","outline":"f483"}},"square-letter-i":{"category":"Letters","name":"square-letter-i","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdff","outline":"f484"}},"square-letter-j":{"category":"Letters","name":"square-letter-j","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdfe","outline":"f485"}},"square-letter-k":{"category":"Letters","name":"square-letter-k","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdfd","outline":"f486"}},"square-letter-l":{"category":"Letters","name":"square-letter-l","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdfc","outline":"f487"}},"square-letter-m":{"category":"Letters","name":"square-letter-m","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdfb","outline":"f488"}},"square-letter-n":{"category":"Letters","name":"square-letter-n","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdfa","outline":"f489"}},"square-letter-o":{"category":"Letters","name":"square-letter-o","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdf9","outline":"f48a"}},"square-letter-p":{"category":"Letters","name":"square-letter-p","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdf8","outline":"f48b"}},"square-letter-q":{"category":"Letters","name":"square-letter-q","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdf7","outline":"f48c"}},"square-letter-r":{"category":"Letters","name":"square-letter-r","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdf6","outline":"f48d"}},"square-letter-s":{"category":"Letters","name":"square-letter-s","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdf5","outline":"f48e"}},"square-letter-t":{"category":"Letters","name":"square-letter-t","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdf4","outline":"f48f"}},"square-letter-u":{"category":"Letters","name":"square-letter-u","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdf3","outline":"f490"}},"square-letter-v":{"category":"Letters","name":"square-letter-v","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdf2","outline":"f4bb"}},"square-letter-w":{"category":"Letters","name":"square-letter-w","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdf1","outline":"f491"}},"square-letter-x":{"category":"Letters","name":"square-letter-x","tags":["cancel","close","delete","remove","times","clear","no"],"variants":{"filled":"fdf0","outline":"f4bc"}},"square-letter-y":{"category":"Letters","name":"square-letter-y","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdef","outline":"f492"}},"square-letter-z":{"category":"Letters","name":"square-letter-z","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdee","outline":"f493"}},"square-minus":{"category":"Shapes","name":"square-minus","tags":["remove","indeterminate"],"variants":{"filled":"fb3f","outline":"eb29"}},"square-number-0":{"category":"Numbers","name":"square-number-0","tags":["zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f764","outline":"eee5"}},"square-number-1":{"category":"Numbers","name":"square-number-1","tags":["one","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f765","outline":"eee6"}},"square-number-2":{"category":"Numbers","name":"square-number-2","tags":["two","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f7fa","outline":"eee7"}},"square-number-3":{"category":"Numbers","name":"square-number-3","tags":["three","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f766","outline":"eee8"}},"square-number-4":{"category":"Numbers","name":"square-number-4","tags":["four","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f767","outline":"eee9"}},"square-number-5":{"category":"Numbers","name":"square-number-5","tags":["five","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f768","outline":"eeea"}},"square-number-6":{"category":"Numbers","name":"square-number-6","tags":["six","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f769","outline":"eeeb"}},"square-number-7":{"category":"Numbers","name":"square-number-7","tags":["seven","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f76a","outline":"eeec"}},"square-number-8":{"category":"Numbers","name":"square-number-8","tags":["eight","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f76b","outline":"eeed"}},"square-number-9":{"category":"Numbers","name":"square-number-9","tags":["nine","zero","number","digit","quantity","amount","order","maths","sum","total"],"variants":{"filled":"f76c","outline":"eeee"}},"square-off":{"category":"Shapes","name":"square-off","tags":["checkbox","box","shape"],"variants":{"outline":"eeef"}},"square-percentage":{"category":"","name":"square-percentage","tags":[],"variants":{"outline":"fd83"}},"square-plus":{"category":"Shapes","name":"square-plus","tags":["add","create","new"],"variants":{"outline":"eb2a"}},"square-plus-2":{"category":"Shapes","name":"square-plus-2","tags":[],"variants":{"outline":"fc96"}},"square-root":{"category":"Math","name":"square-root","tags":["mathematics","maths","science","calculate","calculator","algebra"],"variants":{"outline":"eef1"}},"square-root-2":{"category":"Math","name":"square-root-2","tags":["mathematics","maths","science","calculate","calculator","algebra"],"variants":{"outline":"eef0"}},"square-rotated":{"category":"Shapes","name":"square-rotated","tags":["shape","sign","geometry","geometric","quadrilateral","rhombus"],"variants":{"filled":"f6a4","outline":"ecdf"}},"square-rotated-forbid":{"category":"","name":"square-rotated-forbid","tags":["shape","geometry","rhombus","ban","restricted"],"variants":{"outline":"f01c"}},"square-rotated-forbid-2":{"category":"","name":"square-rotated-forbid-2","tags":["shape","geometry","rhombus","ban","restricted"],"variants":{"outline":"f01b"}},"square-rotated-off":{"category":"Shapes","name":"square-rotated-off","tags":["shape","sign","geometry","geometric","quadrilateral","rhombus"],"variants":{"outline":"eef2"}},"square-rounded":{"category":"Shapes","name":"square-rounded","tags":["shape","box","figure","geometry"],"variants":{"filled":"f6a5","outline":"f59a"}},"square-rounded-arrow-down":{"category":"Arrows","name":"square-rounded-arrow-down","tags":["shape","south","bottom","direction"],"variants":{"filled":"f6db","outline":"f639"}},"square-rounded-arrow-left":{"category":"Arrows","name":"square-rounded-arrow-left","tags":["shape","direction","west"],"variants":{"filled":"f6dc","outline":"f63a"}},"square-rounded-arrow-right":{"category":"Arrows","name":"square-rounded-arrow-right","tags":["shape","direction","east"],"variants":{"filled":"f6dd","outline":"f63b"}},"square-rounded-arrow-up":{"category":"Arrows","name":"square-rounded-arrow-up","tags":["shape","direction","north","top"],"variants":{"filled":"f6de","outline":"f63c"}},"square-rounded-check":{"category":"Shapes","name":"square-rounded-check","tags":["shape","tick","accpet","done","yes"],"variants":{"filled":"f6df","outline":"f63d"}},"square-rounded-chevron-down":{"category":"Arrows","name":"square-rounded-chevron-down","tags":["shape","south","bottom","direction"],"variants":{"filled":"f6e0","outline":"f62b"}},"square-rounded-chevron-left":{"category":"Arrows","name":"square-rounded-chevron-left","tags":["shape","direction","west"],"variants":{"filled":"f6e1","outline":"f62c"}},"square-rounded-chevron-right":{"category":"Arrows","name":"square-rounded-chevron-right","tags":["shape","direction","east"],"variants":{"filled":"f6e2","outline":"f62d"}},"square-rounded-chevron-up":{"category":"Arrows","name":"square-rounded-chevron-up","tags":["shape","direction","north","top"],"variants":{"filled":"f6e3","outline":"f62e"}},"square-rounded-chevrons-down":{"category":"Arrows","name":"square-rounded-chevrons-down","tags":["shape","south","bottom","direction"],"variants":{"filled":"f6e4","outline":"f64f"}},"square-rounded-chevrons-left":{"category":"Arrows","name":"square-rounded-chevrons-left","tags":["shape","direction","west"],"variants":{"filled":"f6e5","outline":"f650"}},"square-rounded-chevrons-right":{"category":"Arrows","name":"square-rounded-chevrons-right","tags":["shape","direction","east"],"variants":{"filled":"f6e6","outline":"f651"}},"square-rounded-chevrons-up":{"category":"Arrows","name":"square-rounded-chevrons-up","tags":["shape","direction","north","top"],"variants":{"filled":"f6e7","outline":"f652"}},"square-rounded-letter-a":{"category":"Letters","name":"square-rounded-letter-a","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fded","outline":"f5ae"}},"square-rounded-letter-b":{"category":"Letters","name":"square-rounded-letter-b","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdec","outline":"f5af"}},"square-rounded-letter-c":{"category":"Letters","name":"square-rounded-letter-c","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdeb","outline":"f5b0"}},"square-rounded-letter-d":{"category":"Letters","name":"square-rounded-letter-d","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdea","outline":"f5b1"}},"square-rounded-letter-e":{"category":"Letters","name":"square-rounded-letter-e","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fde9","outline":"f5b2"}},"square-rounded-letter-f":{"category":"Letters","name":"square-rounded-letter-f","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fde8","outline":"f5b3"}},"square-rounded-letter-g":{"category":"Letters","name":"square-rounded-letter-g","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fde7","outline":"f5b4"}},"square-rounded-letter-h":{"category":"Letters","name":"square-rounded-letter-h","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fde6","outline":"f5b5"}},"square-rounded-letter-i":{"category":"Letters","name":"square-rounded-letter-i","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fde5","outline":"f5b6"}},"square-rounded-letter-j":{"category":"Letters","name":"square-rounded-letter-j","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fde4","outline":"f5b7"}},"square-rounded-letter-k":{"category":"Letters","name":"square-rounded-letter-k","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fde3","outline":"f5b8"}},"square-rounded-letter-l":{"category":"Letters","name":"square-rounded-letter-l","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fde2","outline":"f5b9"}},"square-rounded-letter-m":{"category":"Letters","name":"square-rounded-letter-m","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fde1","outline":"f5ba"}},"square-rounded-letter-n":{"category":"Letters","name":"square-rounded-letter-n","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fde0","outline":"f5bb"}},"square-rounded-letter-o":{"category":"Letters","name":"square-rounded-letter-o","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fddf","outline":"f5bc"}},"square-rounded-letter-p":{"category":"Letters","name":"square-rounded-letter-p","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdde","outline":"f5bd"}},"square-rounded-letter-q":{"category":"Letters","name":"square-rounded-letter-q","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fddd","outline":"f5be"}},"square-rounded-letter-r":{"category":"Letters","name":"square-rounded-letter-r","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fddc","outline":"f5bf"}},"square-rounded-letter-s":{"category":"Letters","name":"square-rounded-letter-s","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fddb","outline":"f5c0"}},"square-rounded-letter-t":{"category":"Letters","name":"square-rounded-letter-t","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdda","outline":"f5c1"}},"square-rounded-letter-u":{"category":"Letters","name":"square-rounded-letter-u","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdd9","outline":"f5c2"}},"square-rounded-letter-v":{"category":"Letters","name":"square-rounded-letter-v","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdd8","outline":"f5c3"}},"square-rounded-letter-w":{"category":"Letters","name":"square-rounded-letter-w","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdd7","outline":"f5c4"}},"square-rounded-letter-x":{"category":"Letters","name":"square-rounded-letter-x","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdd6","outline":"f5c5"}},"square-rounded-letter-y":{"category":"Letters","name":"square-rounded-letter-y","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdd5","outline":"f5c6"}},"square-rounded-letter-z":{"category":"Letters","name":"square-rounded-letter-z","tags":["shape","alphabet","sign","latin"],"variants":{"filled":"fdd4","outline":"f5c7"}},"square-rounded-minus":{"category":"Shapes","name":"square-rounded-minus","tags":["shape","delete","remove","close","cancel"],"variants":{"filled":"fb40","outline":"f63e"}},"square-rounded-minus-2":{"category":"Shapes","name":"square-rounded-minus-2","tags":[],"variants":{"outline":"fc97"}},"square-rounded-number-0":{"category":"Numbers","name":"square-rounded-number-0","tags":["shape","number","digit"],"variants":{"filled":"f778","outline":"f5c8"}},"square-rounded-number-1":{"category":"Numbers","name":"square-rounded-number-1","tags":["shape","number","digit"],"variants":{"filled":"f779","outline":"f5c9"}},"square-rounded-number-2":{"category":"Numbers","name":"square-rounded-number-2","tags":["shape","number","digit"],"variants":{"filled":"f77a","outline":"f5ca"}},"square-rounded-number-3":{"category":"Numbers","name":"square-rounded-number-3","tags":["shape","number","digit"],"variants":{"filled":"f77b","outline":"f5cb"}},"square-rounded-number-4":{"category":"Numbers","name":"square-rounded-number-4","tags":["shape","number","digit"],"variants":{"filled":"f77c","outline":"f5cc"}},"square-rounded-number-5":{"category":"Numbers","name":"square-rounded-number-5","tags":["shape","number","digit"],"variants":{"filled":"f77d","outline":"f5cd"}},"square-rounded-number-6":{"category":"Numbers","name":"square-rounded-number-6","tags":["shape","number","digit"],"variants":{"filled":"f77e","outline":"f5ce"}},"square-rounded-number-7":{"category":"Numbers","name":"square-rounded-number-7","tags":["shape","number","digit"],"variants":{"filled":"f77f","outline":"f5cf"}},"square-rounded-number-8":{"category":"Numbers","name":"square-rounded-number-8","tags":["shape","number","digit"],"variants":{"filled":"f780","outline":"f5d0"}},"square-rounded-number-9":{"category":"Numbers","name":"square-rounded-number-9","tags":["shape","number","digit"],"variants":{"filled":"f781","outline":"f5d1"}},"square-rounded-percentage":{"category":"","name":"square-rounded-percentage","tags":[],"variants":{"outline":"fd84"}},"square-rounded-plus":{"category":"Shapes","name":"square-rounded-plus","tags":["shape","add","new","create"],"variants":{"filled":"f6e8","outline":"f63f"}},"square-rounded-plus-2":{"category":"Shapes","name":"square-rounded-plus-2","tags":[],"variants":{"outline":"fc98"}},"square-rounded-x":{"category":"Shapes","name":"square-rounded-x","tags":["shape","close","delete","cross"],"variants":{"filled":"f6e9","outline":"f640"}},"square-toggle":{"category":"Design","name":"square-toggle","tags":["box","clone","move"],"variants":{"outline":"eef4"}},"square-toggle-horizontal":{"category":"Design","name":"square-toggle-horizontal","tags":["box","clone","move"],"variants":{"outline":"eef3"}},"square-x":{"category":"Shapes","name":"square-x","tags":["cancel","close","delete","remove","times","clear","no"],"variants":{"filled":"fb41","outline":"eb2b"}},"squares":{"category":"Design","name":"squares","tags":["boxes","layers"],"variants":{"filled":"fe9f","outline":"eef6"}},"squares-diagonal":{"category":"Design","name":"squares-diagonal","tags":["boxes","layers"],"variants":{"outline":"eef5"}},"squares-selected":{"category":"","name":"squares-selected","tags":[],"variants":{"outline":"fea3"}},"stack":{"category":"Design","name":"stack","tags":["pile","elements","layout","wrap"],"variants":{"filled":"fdd1","outline":"eb2d"}},"stack-2":{"category":"Design","name":"stack-2","tags":["pile","elements","layout","wrap"],"variants":{"filled":"fdd3","outline":"eef7"}},"stack-3":{"category":"Design","name":"stack-3","tags":["pile","elements","layout","wrap"],"variants":{"filled":"fdd2","outline":"ef9d"}},"stack-back":{"category":"","name":"stack-back","tags":[],"variants":{"outline":"fd26"}},"stack-backward":{"category":"","name":"stack-backward","tags":[],"variants":{"outline":"fd27"}},"stack-forward":{"category":"","name":"stack-forward","tags":[],"variants":{"outline":"fd28"}},"stack-front":{"category":"","name":"stack-front","tags":[],"variants":{"outline":"fd29"}},"stack-middle":{"category":"","name":"stack-middle","tags":[],"variants":{"outline":"fd2a"}},"stack-pop":{"category":"Design","name":"stack-pop","tags":["data","level","layout","arrow","out"],"variants":{"outline":"f234"}},"stack-push":{"category":"Design","name":"stack-push","tags":["arrange","data","level","layout","arrow"],"variants":{"outline":"f235"}},"stairs":{"category":"Map","name":"stairs","tags":["building","step","floor","staircase"],"variants":{"outline":"eca6"}},"stairs-down":{"category":"Map","name":"stairs-down","tags":["building","step","floor","staircase","clamber"],"variants":{"outline":"eca4"}},"stairs-up":{"category":"Map","name":"stairs-up","tags":["building","step","floor","staircase","entryway"],"variants":{"outline":"eca5"}},"star":{"category":"System","name":"star","tags":["favorite","like","mark","bookmark","grade"],"variants":{"filled":"f6a6","outline":"eb2e"}},"star-half":{"category":"System","name":"star-half","tags":["favorite","like","mark","bookmark","grade"],"variants":{"filled":"f6a7","outline":"ed19"}},"star-off":{"category":"System","name":"star-off","tags":["favorite","like","mark","bookmark","grade"],"variants":{"outline":"ed62"}},"stars":{"category":"System","name":"stars","tags":["favorite","like","mark","grade","bookmark","space","universe","extraterrestrial","galaxy"],"variants":{"filled":"f6a8","outline":"ed38"}},"stars-off":{"category":"System","name":"stars-off","tags":["favorite","like","mark","grade","bookmark","space","universe","extraterrestrial","galaxy"],"variants":{"outline":"f430"}},"status-change":{"category":"","name":"status-change","tags":["available","unavailable","switch"],"variants":{"outline":"f3b0"}},"steam":{"category":"","name":"steam","tags":["app","social","games","platform","software"],"variants":{"outline":"f24b"}},"steering-wheel":{"category":"Vehicles","name":"steering-wheel","tags":["drive","vehicle","direction","turn","holding","racing"],"variants":{"filled":"ff03","outline":"ec7b"}},"steering-wheel-off":{"category":"Vehicles","name":"steering-wheel-off","tags":["drive","vehicle","direction","turn","holding","racing"],"variants":{"outline":"f431"}},"step-into":{"category":"Arrows","name":"step-into","tags":["vector","placement","among","within"],"variants":{"outline":"ece0"}},"step-out":{"category":"Arrows","name":"step-out","tags":["vector","placement","outside","except"],"variants":{"outline":"ece1"}},"stereo-glasses":{"category":"","name":"stereo-glasses","tags":["cinema","3d","eyewear","film","movie"],"variants":{"outline":"f4cb"}},"stethoscope":{"category":"Health","name":"stethoscope","tags":["doctor","medical","physician","test","examination","health","illness","sickness","scrutiny","hospital"],"variants":{"outline":"edbe"}},"stethoscope-off":{"category":"Health","name":"stethoscope-off","tags":["doctor","medical","physician","test","examination","health","illness","sickness","scrutiny","hospital"],"variants":{"outline":"f432"}},"sticker":{"category":"","name":"sticker","tags":["label","stamp","adhesive"],"variants":{"outline":"eb2f"}},"sticker-2":{"category":"","name":"sticker-2","tags":["label-2","adhesive","decorative-label","tag-2","sticky-note","decal","post-it","sticker-label","paper-sticker","2nd-sticker"],"variants":{"outline":"fd3d"}},"storm":{"category":"Weather","name":"storm","tags":["weather","cloud","lighting","rain","wind","tornado"],"variants":{"outline":"f24c"}},"storm-off":{"category":"Weather","name":"storm-off","tags":["weather","cloud","lighting","rain","wind","tornado"],"variants":{"outline":"f433"}},"stretching":{"category":"Sport","name":"stretching","tags":["exercise","yoga","workout","fitness","gym","body"],"variants":{"outline":"f2db"}},"stretching-2":{"category":"Sport","name":"stretching-2","tags":[],"variants":{"outline":"fa6d"}},"strikethrough":{"category":"Text","name":"strikethrough","tags":["typography","horizontal","deleted","removed","unimportant"],"variants":{"outline":"eb9e"}},"submarine":{"category":"Vehicles","name":"submarine","tags":["sea","ocean","underwater","shipwater","war"],"variants":{"outline":"ed94"}},"subscript":{"category":"Text","name":"subscript","tags":["typography","below","formula","maths","fraction"],"variants":{"outline":"eb9f"}},"subtask":{"category":"","name":"subtask","tags":["management","break down","work"],"variants":{"outline":"ec9f"}},"sum":{"category":"Math","name":"sum","tags":["equation","add","plus","amount","total"],"variants":{"outline":"eb73"}},"sum-off":{"category":"Math","name":"sum-off","tags":["equation","add","plus","amount","total"],"variants":{"outline":"f1ab"}},"sun":{"category":"Weather","name":"sun","tags":["weather","light","mode","brightness"],"variants":{"filled":"f6a9","outline":"eb30"}},"sun-electricity":{"category":"","name":"sun-electricity","tags":[],"variants":{"outline":"fcc2"}},"sun-high":{"category":"Weather","name":"sun-high","tags":["temperature","hot","wheater","thermometer","forecast"],"variants":{"outline":"f236"}},"sun-low":{"category":"Weather","name":"sun-low","tags":["temperature","cold","wheater","thermometer","forecast"],"variants":{"outline":"f237"}},"sun-moon":{"category":"Weather","name":"sun-moon","tags":["weather","day","night","hot","cold"],"variants":{"outline":"f4a3"}},"sun-off":{"category":"Weather","name":"sun-off","tags":["weather","light","mode","brightness"],"variants":{"outline":"ed63"}},"sun-wind":{"category":"Weather","name":"sun-wind","tags":["temperature","wheater","thermometer","forecast","windy"],"variants":{"outline":"f238"}},"sunglasses":{"category":"Health","name":"sunglasses","tags":["summer","sun","look","shades","eyewear"],"variants":{"filled":"fec8","outline":"f239"}},"sunrise":{"category":"Weather","name":"sunrise","tags":["west","horizon","landscape","evening"],"variants":{"outline":"ef1c"}},"sunset":{"category":"Weather","name":"sunset","tags":["east","horizon","landscape","morning"],"variants":{"outline":"ec31"}},"sunset-2":{"category":"Weather","name":"sunset-2","tags":["east","horizon","landscape","morning"],"variants":{"outline":"f23a"}},"superscript":{"category":"Text","name":"superscript","tags":["typography","above","maths","fraction","trademark","footer"],"variants":{"outline":"eba0"}},"svg":{"category":"Extensions","name":"svg","tags":["file","format","extension","graphic","filetype"],"variants":{"outline":"f25a"}},"swimming":{"category":"Sport","name":"swimming","tags":["sport","water","pool","style","athletics","competitive"],"variants":{"outline":"ec92"}},"swipe":{"category":"","name":"swipe","tags":["right","left","gesture","scroll"],"variants":{"outline":"f551"}},"swipe-down":{"category":"Arrows","name":"swipe-down","tags":["gesture","swipe","downward-swipe","scroll-down","slide-down","touch-gesture","screen-swipe","gesture-control","interaction","user-swipe"],"variants":{"filled":"ff57","outline":"fd5e"}},"swipe-left":{"category":"Arrows","name":"swipe-left","tags":["gesture","swipe","leftward-swipe","scroll-left","slide-left","touch-gesture","screen-swipe","gesture-control","interaction","user-swipe"],"variants":{"filled":"ff56","outline":"fd5f"}},"swipe-right":{"category":"Arrows","name":"swipe-right","tags":["gesture","swipe","rightward-swipe","scroll-right","slide-right","touch-gesture","screen-swipe","gesture-control","interaction","user-swipe"],"variants":{"filled":"ff55","outline":"fd60"}},"swipe-up":{"category":"Arrows","name":"swipe-up","tags":["gesture","swipe","upward-swipe","scroll-up","slide-up","touch-gesture","screen-swipe","gesture-control","interaction","user-swipe"],"variants":{"filled":"ff54","outline":"fd61"}},"switch":{"category":"Arrows","name":"switch","tags":["toggle","arrows"],"variants":{"outline":"eb33"}},"switch-2":{"category":"Arrows","name":"switch-2","tags":["arrows","direction","music","spotify","change"],"variants":{"outline":"edbf"}},"switch-3":{"category":"Arrows","name":"switch-3","tags":["arrows","direction","music","spotify","change"],"variants":{"outline":"edc0"}},"switch-horizontal":{"category":"Arrows","name":"switch-horizontal","tags":["toggle","left","right","arrows"],"variants":{"outline":"eb31"}},"switch-vertical":{"category":"Arrows","name":"switch-vertical","tags":["toggle","up","down","arrows"],"variants":{"outline":"eb32"}},"sword":{"category":"","name":"sword","tags":["weapon","knight","blade","war","minecraft","warrior"],"variants":{"outline":"f030"}},"sword-off":{"category":"","name":"sword-off","tags":["weapon","knight","blade","war","minecraft","warrior"],"variants":{"outline":"f434"}},"swords":{"category":"","name":"swords","tags":["weapon","knight","blade","war","minecraft","warrior"],"variants":{"outline":"f132"}},"table":{"category":"Database","name":"table","tags":["spreadsheet","layout","grid","arrange","row","column"],"variants":{"filled":"f782","outline":"eba1"}},"table-alias":{"category":"Database","name":"table-alias","tags":["data","database","chart"],"variants":{"outline":"f25b"}},"table-column":{"category":"Database","name":"table-column","tags":["table","column","data-table","spreadsheet","table-structure","columnar","information","grid","table-columnar","dataset"],"variants":{"outline":"faff"}},"table-down":{"category":"Database","name":"table-down","tags":["table","down","arrow-down","table-arrow","descending","sort-down","data-table","directional","arrange-down","table-order"],"variants":{"outline":"fa1c"}},"table-export":{"category":"Database","name":"table-export","tags":["spreadsheet","layout","grid","arrange","row","column","cells","sheet","arrow"],"variants":{"outline":"eef8"}},"table-heart":{"category":"Database","name":"table-heart","tags":["table","heart","like","favorite","love","data-table","table-icon","heart-symbol","table-like","table-favorite"],"variants":{"outline":"fa1d"}},"table-import":{"category":"Database","name":"table-import","tags":["spreadsheet","layout","grid","arrange","row","column","cells","sheet","arrow"],"variants":{"outline":"eef9"}},"table-minus":{"category":"Database","name":"table-minus","tags":["table","minus","remove","subtract","delete","data-table","table-operation","table-remove","subtract-from-table","exclude"],"variants":{"outline":"fa1e"}},"table-off":{"category":"Database","name":"table-off","tags":["spreadsheet","layout","grid","arrange","row","column"],"variants":{"outline":"eefa"}},"table-options":{"category":"Database","name":"table-options","tags":["edit","chart","customization","repair","settings"],"variants":{"outline":"f25c"}},"table-plus":{"category":"Database","name":"table-plus","tags":["table","plus","add","insert","include","data-table","table-operation","table-add","add-to-table","include-in-table"],"variants":{"outline":"fa1f"}},"table-row":{"category":"Database","name":"table-row","tags":["table","row","data-table","spreadsheet","table-structure","row-wise","information","grid","table-row-wise","dataset"],"variants":{"outline":"fb00"}},"table-share":{"category":"Database","name":"table-share","tags":["table","share","share-table","data-sharing","collaboration","data-table","table-collaboration","table-cooperation","share-data","spreadsheet"],"variants":{"outline":"fa20"}},"table-shortcut":{"category":"Database","name":"table-shortcut","tags":["data","database","chart","network","server"],"variants":{"outline":"f25d"}},"tag":{"category":"E-commerce","name":"tag","tags":["label","price"],"variants":{"filled":"ff02","outline":"eb34"}},"tag-off":{"category":"E-commerce","name":"tag-off","tags":["label","price"],"variants":{"outline":"efc0"}},"tag-starred":{"category":"E-commerce","name":"tag-starred","tags":["tag","starred","star","favorite","label","tagging","tagged-star","marked","tag-star","highlighted"],"variants":{"outline":"fc99"}},"tags":{"category":"E-commerce","name":"tags","tags":["label","price","shopping","promotion"],"variants":{"filled":"ff01","outline":"ef86"}},"tags-off":{"category":"E-commerce","name":"tags-off","tags":["label","price","shopping","promotion"],"variants":{"outline":"efc1"}},"tallymark-1":{"category":"Math","name":"tallymark-1","tags":["sign","symbol","numerical","consistent","system","counting"],"variants":{"outline":"ec46"}},"tallymark-2":{"category":"Math","name":"tallymark-2","tags":["sign","symbol","numerical","consistent","system","counting"],"variants":{"outline":"ec47"}},"tallymark-3":{"category":"Math","name":"tallymark-3","tags":["sign","symbol","numerical","consistent","system","counting"],"variants":{"outline":"ec48"}},"tallymark-4":{"category":"Math","name":"tallymark-4","tags":["sign","symbol","numerical","consistent","system","counting"],"variants":{"outline":"ec49"}},"tallymarks":{"category":"Math","name":"tallymarks","tags":["sign","symbol","numerical","consistent","system","counting"],"variants":{"outline":"ec4a"}},"tank":{"category":"Vehicles","name":"tank","tags":["war","military","armour","vehicle","gun","attack","shoot","battle","battlefield"],"variants":{"outline":"ed95"}},"target":{"category":"Map","name":"target","tags":["focus","bullseye","aim"],"variants":{"outline":"eb35"}},"target-arrow":{"category":"Sport","name":"target-arrow","tags":["goal","aim","archery","archer"],"variants":{"outline":"f51a"}},"target-off":{"category":"Map","name":"target-off","tags":["focus","bullseye","aim"],"variants":{"outline":"f1ad"}},"tax":{"category":"","name":"tax","tags":[],"variants":{"outline":"feee"}},"tax-euro":{"category":"","name":"tax-euro","tags":[],"variants":{"outline":"fef0"}},"tax-pound":{"category":"","name":"tax-pound","tags":[],"variants":{"outline":"feef"}},"teapot":{"category":"","name":"teapot","tags":["kettle","kitchen","hot","coffee","kitchenware"],"variants":{"outline":"f552"}},"telescope":{"category":"","name":"telescope","tags":["astronomy","moon","observation","vision","space","astrology"],"variants":{"outline":"f07d"}},"telescope-off":{"category":"","name":"telescope-off","tags":["astronomy","moon","observation","vision","space","astrology"],"variants":{"outline":"f1ae"}},"temperature":{"category":"Weather","name":"temperature","tags":["weather","celcius","fahrenheit","cold","hot"],"variants":{"outline":"eb38"}},"temperature-celsius":{"category":"Weather","name":"temperature-celsius","tags":["weather","celcius","fahrenheit","cold","hot"],"variants":{"outline":"eb36"}},"temperature-fahrenheit":{"category":"Weather","name":"temperature-fahrenheit","tags":["weather","celcius","fahrenheit","cold","hot"],"variants":{"outline":"eb37"}},"temperature-minus":{"category":"Weather","name":"temperature-minus","tags":["weather","celcius","fahrenheit","cold","hot"],"variants":{"outline":"ebed"}},"temperature-off":{"category":"Weather","name":"temperature-off","tags":["weather","celcius","fahrenheit","cold","hot"],"variants":{"outline":"f1af"}},"temperature-plus":{"category":"Weather","name":"temperature-plus","tags":["weather","celcius","fahrenheit","cold","hot"],"variants":{"outline":"ebee"}},"temperature-snow":{"category":"","name":"temperature-snow","tags":[],"variants":{"outline":"fda3"}},"temperature-sun":{"category":"","name":"temperature-sun","tags":[],"variants":{"outline":"fda4"}},"template":{"category":"Design","name":"template","tags":["grid","columns","masonry","collage"],"variants":{"outline":"eb39"}},"template-off":{"category":"Design","name":"template-off","tags":["grid","columns","masonry","collage"],"variants":{"outline":"f1b0"}},"tent":{"category":"Map","name":"tent","tags":["camping","holiday","vacation","outdoor","survival","travel","adventure"],"variants":{"outline":"eefb"}},"tent-off":{"category":"Map","name":"tent-off","tags":["camping","holiday","vacation","outdoor","survival","travel","adventure"],"variants":{"outline":"f435"}},"terminal":{"category":"","name":"terminal","tags":["console","command","git","command line","command prompt"],"variants":{"outline":"ebdc"}},"terminal-2":{"category":"","name":"terminal-2","tags":["console","command","git","command line","command prompt"],"variants":{"outline":"ebef"}},"test-pipe":{"category":"","name":"test-pipe","tags":["sample","color","flask","liquid","container","glass","chemistry","test","laboratory","experimental","beta"],"variants":{"outline":"eb3a"}},"test-pipe-2":{"category":"","name":"test-pipe-2","tags":["sample","color","flask","liquid","container","glass","chemistry","test","laboratory","experimental","beta"],"variants":{"filled":"ff53","outline":"f0a4"}},"test-pipe-off":{"category":"","name":"test-pipe-off","tags":["sample","color","flask","liquid","container","glass","chemistry","test","laboratory","experimental","beta"],"variants":{"outline":"f1b1"}},"tex":{"category":"Text","name":"tex","tags":["file","document","type","format","filetype"],"variants":{"outline":"f4e0"}},"text-caption":{"category":"Text","name":"text-caption","tags":["document","file","lettering","image","picture"],"variants":{"outline":"f4a4"}},"text-color":{"category":"Text","name":"text-color","tags":["format","document","file","edit"],"variants":{"outline":"f2dc"}},"text-decrease":{"category":"Text","name":"text-decrease","tags":["indent","minimalize","smaller","editor","size","edit"],"variants":{"outline":"f202"}},"text-direction-ltr":{"category":"Text","name":"text-direction-ltr","tags":["left","right","bidi"],"variants":{"outline":"eefc"}},"text-direction-rtl":{"category":"Text","name":"text-direction-rtl","tags":["left","right","bidi"],"variants":{"outline":"eefd"}},"text-grammar":{"category":"","name":"text-grammar","tags":[],"variants":{"outline":"fd6d"}},"text-increase":{"category":"Text","name":"text-increase","tags":["expand","margin","size","editor","edit"],"variants":{"outline":"f203"}},"text-orientation":{"category":"Text","name":"text-orientation","tags":["aglinment","file","document","edit","right"],"variants":{"outline":"f2a4"}},"text-plus":{"category":"Text","name":"text-plus","tags":["add","new","document","file","edit"],"variants":{"outline":"f2a5"}},"text-recognition":{"category":"Text","name":"text-recognition","tags":["language","processing","detection"],"variants":{"outline":"f204"}},"text-resize":{"category":"Design","name":"text-resize","tags":["edit","editor","scale","font","bigger","smaller"],"variants":{"outline":"ef87"}},"text-scan-2":{"category":"","name":"text-scan-2","tags":[],"variants":{"outline":"fcc3"}},"text-size":{"category":"Text","name":"text-size","tags":["font","edit","document","type","letter"],"variants":{"outline":"f2b1"}},"text-spellcheck":{"category":"Text","name":"text-spellcheck","tags":["grammar","spelling","ortography"],"variants":{"outline":"f2a6"}},"text-wrap":{"category":"Text","name":"text-wrap","tags":["wrap","column","text","typography","writing"],"variants":{"outline":"ebdd"}},"text-wrap-column":{"category":"Text","name":"text-wrap-column","tags":["wrap","column","text","typography","writing"],"variants":{"outline":"feb2"}},"text-wrap-disabled":{"category":"Text","name":"text-wrap-disabled","tags":["text","alignment","position"],"variants":{"outline":"eca7"}},"texture":{"category":"","name":"texture","tags":["pattern","abstract","decoration","background","fashion"],"variants":{"outline":"f51b"}},"theater":{"category":"Map","name":"theater","tags":["movie","film","show","mask","entertainment"],"variants":{"outline":"f79b"}},"thermometer":{"category":"Health","name":"thermometer","tags":["temperature","hot","cold","weather","medical","fever","celsius"],"variants":{"outline":"ef67"}},"thumb-down":{"category":"System","name":"thumb-down","tags":["dislike","bad","emotion"],"variants":{"filled":"f6aa","outline":"eb3b"}},"thumb-down-off":{"category":"System","name":"thumb-down-off","tags":["dislike","bad","emotion"],"variants":{"outline":"f436"}},"thumb-up":{"category":"System","name":"thumb-up","tags":["like","emotion","good","love"],"variants":{"filled":"f6ab","outline":"eb3c"}},"thumb-up-off":{"category":"System","name":"thumb-up-off","tags":["like","emotion","good","love"],"variants":{"outline":"f437"}},"tic-tac":{"category":"Sport","name":"tic-tac","tags":["toe","game","strategy","cross","circle"],"variants":{"outline":"f51c"}},"ticket":{"category":"","name":"ticket","tags":["cinema","event","theatre","entry","fine","coupon","pass"],"variants":{"outline":"eb3d"}},"ticket-off":{"category":"","name":"ticket-off","tags":["cinema","event","theatre","entry","fine","coupon","pass"],"variants":{"outline":"f1b2"}},"tie":{"category":"","name":"tie","tags":["suit","buisness","fashion","clothes","accessory","clothing"],"variants":{"outline":"f07e"}},"tilde":{"category":"","name":"tilde","tags":["key","sign","about","rounding","math"],"variants":{"outline":"f4a5"}},"tilt-shift":{"category":"Photography","name":"tilt-shift","tags":["filter","shift","photography","photo"],"variants":{"filled":"fec7","outline":"eefe"}},"tilt-shift-off":{"category":"Photography","name":"tilt-shift-off","tags":["filter","shift","photography","photo"],"variants":{"outline":"f1b3"}},"time-duration-0":{"category":"System","name":"time-duration-0","tags":[],"variants":{"outline":"fad4"}},"time-duration-10":{"category":"System","name":"time-duration-10","tags":[],"variants":{"outline":"fad5"}},"time-duration-15":{"category":"System","name":"time-duration-15","tags":[],"variants":{"outline":"fad6"}},"time-duration-30":{"category":"System","name":"time-duration-30","tags":[],"variants":{"outline":"fad7"}},"time-duration-45":{"category":"System","name":"time-duration-45","tags":[],"variants":{"outline":"fad8"}},"time-duration-5":{"category":"System","name":"time-duration-5","tags":[],"variants":{"outline":"fad9"}},"time-duration-60":{"category":"System","name":"time-duration-60","tags":[],"variants":{"outline":"fada"}},"time-duration-90":{"category":"System","name":"time-duration-90","tags":[],"variants":{"outline":"fadb"}},"time-duration-off":{"category":"System","name":"time-duration-off","tags":[],"variants":{"outline":"fadc"}},"timeline":{"category":"","name":"timeline","tags":["process","plan","planning","diagram","chart","roadmap"],"variants":{"outline":"f031"}},"timeline-event":{"category":"Development","name":"timeline-event","tags":["process","plan","planning","diagram","chart","roadmap"],"variants":{"filled":"fd18","outline":"f553"}},"timeline-event-exclamation":{"category":"Development","name":"timeline-event-exclamation","tags":["calendar","schedule","date","error","warring"],"variants":{"outline":"f662"}},"timeline-event-minus":{"category":"Development","name":"timeline-event-minus","tags":["calendar","schedule","date","delete","remove"],"variants":{"outline":"f663"}},"timeline-event-plus":{"category":"Development","name":"timeline-event-plus","tags":["calendar","schedule","date","add","new"],"variants":{"outline":"f664"}},"timeline-event-text":{"category":"Development","name":"timeline-event-text","tags":["calendar","schedule","date","message","chat"],"variants":{"outline":"f665"}},"timeline-event-x":{"category":"Development","name":"timeline-event-x","tags":["calendar","schedule","date","remove","cross","delete"],"variants":{"outline":"f666"}},"timezone":{"category":"","name":"timezone","tags":[],"variants":{"outline":"feed"}},"tip-jar":{"category":"","name":"tip-jar","tags":[],"variants":{"outline":"feea"}},"tip-jar-euro":{"category":"","name":"tip-jar-euro","tags":[],"variants":{"outline":"feec"}},"tip-jar-pound":{"category":"","name":"tip-jar-pound","tags":[],"variants":{"outline":"feeb"}},"tir":{"category":"Vehicles","name":"tir","tags":["delivery","transportation","transport","logistics","vehicle","goods"],"variants":{"outline":"ebf0"}},"toggle-left":{"category":"System","name":"toggle-left","tags":["on","off","switch"],"variants":{"filled":"fec0","outline":"eb3e"}},"toggle-right":{"category":"System","name":"toggle-right","tags":["on","off","switch"],"variants":{"filled":"febf","outline":"eb3f"}},"toilet-paper":{"category":"","name":"toilet-paper","tags":["bathroom","hygiene","wc","cleaning","rubbing"],"variants":{"outline":"efd3"}},"toilet-paper-off":{"category":"","name":"toilet-paper-off","tags":["bathroom","hygiene","wc","cleaning","rubbing"],"variants":{"outline":"f1b4"}},"toml":{"category":"Extensions","name":"toml","tags":[],"variants":{"outline":"fa5d"}},"tool":{"category":"System","name":"tool","tags":["preferences","edit","settings"],"variants":{"outline":"eb40"}},"tools":{"category":"Design","name":"tools","tags":["preferences","edit","settings"],"variants":{"outline":"ebca"}},"tools-kitchen":{"category":"Map","name":"tools-kitchen","tags":["knife","fork","spoon","cutlery","eat","restaurant","menu","cafe","cook","cut","soup","dinner","breakfast","dining","plate","dish"],"variants":{"outline":"ed64"}},"tools-kitchen-2":{"category":"Map","name":"tools-kitchen-2","tags":["knife","fork","spoon","cutlery","eat","restaurant","menu","cafe","cook","cut","soup","dinner","breakfast","dining","plate","dish"],"variants":{"outline":"eeff"}},"tools-kitchen-2-off":{"category":"Map","name":"tools-kitchen-2-off","tags":["knife","fork","spoon","cutlery","eat","restaurant","menu","cafe","cook","cut","soup","dinner","breakfast","dining","plate","dish"],"variants":{"outline":"f1b5"}},"tools-kitchen-3":{"category":"","name":"tools-kitchen-3","tags":[],"variants":{"outline":"fd2b"}},"tools-kitchen-off":{"category":"Map","name":"tools-kitchen-off","tags":["knife","fork","spoon","cutlery","eat","restaurant","menu","cafe","cook","cut","soup","dinner","breakfast","dining","plate","dish"],"variants":{"outline":"f1b6"}},"tools-off":{"category":"Design","name":"tools-off","tags":["preferences","edit","settings"],"variants":{"outline":"f1b7"}},"tooltip":{"category":"System","name":"tooltip","tags":["info","help","information","advise"],"variants":{"outline":"f2dd"}},"topology-bus":{"category":"Computers","name":"topology-bus","tags":["hierarchy","network","structure","connection"],"variants":{"outline":"f5d9"}},"topology-complex":{"category":"Computers","name":"topology-complex","tags":["hierarchy","network","structure","connection"],"variants":{"outline":"f5da"}},"topology-full":{"category":"Computers","name":"topology-full","tags":["hierarchy","network","structure","connection"],"variants":{"outline":"f5dc"}},"topology-full-hierarchy":{"category":"Computers","name":"topology-full-hierarchy","tags":["hierarchy","network","structure","connection"],"variants":{"outline":"f5db"}},"topology-ring":{"category":"Computers","name":"topology-ring","tags":["hierarchy","network","structure","connection"],"variants":{"outline":"f5df"}},"topology-ring-2":{"category":"Computers","name":"topology-ring-2","tags":["hierarchy","network","structure","connection"],"variants":{"outline":"f5dd"}},"topology-ring-3":{"category":"Computers","name":"topology-ring-3","tags":["hierarchy","network","structure","connection"],"variants":{"outline":"f5de"}},"topology-star":{"category":"Computers","name":"topology-star","tags":["hierarchy","network","structure","connection"],"variants":{"outline":"f5e5"}},"topology-star-2":{"category":"Computers","name":"topology-star-2","tags":["hierarchy","network","structure","connection"],"variants":{"outline":"f5e0"}},"topology-star-3":{"category":"Computers","name":"topology-star-3","tags":["hierarchy","network","structure","connection"],"variants":{"outline":"f5e1"}},"topology-star-ring":{"category":"Computers","name":"topology-star-ring","tags":["hierarchy","network","structure","connection"],"variants":{"outline":"f5e4"}},"topology-star-ring-2":{"category":"Computers","name":"topology-star-ring-2","tags":["hierarchy","network","structure","connection"],"variants":{"outline":"f5e2"}},"topology-star-ring-3":{"category":"Computers","name":"topology-star-ring-3","tags":["hierarchy","network","structure","connection"],"variants":{"outline":"f5e3"}},"torii":{"category":"Symbols","name":"torii","tags":["japan","gate","asia","building","monument"],"variants":{"outline":"f59b"}},"tornado":{"category":"Weather","name":"tornado","tags":["wind","rotate","storm","spin","spinning","air","catastrophe","vortex"],"variants":{"outline":"ece2"}},"tournament":{"category":"Sport","name":"tournament","tags":["competition","competitor","sport","game","play","champion"],"variants":{"outline":"ecd0"}},"tower":{"category":"Buildings","name":"tower","tags":["building","castle","fortress","palace"],"variants":{"outline":"f2cb"}},"tower-off":{"category":"Buildings","name":"tower-off","tags":["building","castle","fortress","palace"],"variants":{"outline":"f2ca"}},"track":{"category":"Vehicles","name":"track","tags":["trail","path","route","train","railway","railroad"],"variants":{"outline":"ef00"}},"tractor":{"category":"Vehicles","name":"tractor","tags":["countryside","vehicle","harvest","machine","motor","farm","trailer"],"variants":{"outline":"ec0d"}},"trademark":{"category":"Symbols","name":"trademark","tags":["legal","product","company","own","ownership","brand","law","right","certificate"],"variants":{"outline":"ec0e"}},"traffic-cone":{"category":"Map","name":"traffic-cone","tags":["street","road","vehicle","repair","warning","lane","drive"],"variants":{"outline":"ec0f"}},"traffic-cone-off":{"category":"Map","name":"traffic-cone-off","tags":["street","road","vehicle","repair","warning","lane","drive"],"variants":{"outline":"f1b8"}},"traffic-lights":{"category":"Map","name":"traffic-lights","tags":["street","road","green","red","yellow","vehicle","stop","drive","crossing","pedestrian","crossroads","junction","intersection"],"variants":{"outline":"ed39"}},"traffic-lights-off":{"category":"Map","name":"traffic-lights-off","tags":["street","road","green","red","yellow","vehicle","stop","drive","crossing","pedestrian","crossroads","junction","intersection"],"variants":{"outline":"f1b9"}},"train":{"category":"Vehicles","name":"train","tags":["railway","rails","tgv","journey","travel","network","route","passenger"],"variants":{"outline":"ed96"}},"transaction-bitcoin":{"category":"","name":"transaction-bitcoin","tags":[],"variants":{"outline":"fd6e"}},"transaction-dollar":{"category":"E-commerce","name":"transaction-dollar","tags":[],"variants":{"outline":"fd6f"}},"transaction-euro":{"category":"E-commerce","name":"transaction-euro","tags":[],"variants":{"outline":"fd70"}},"transaction-pound":{"category":"E-commerce","name":"transaction-pound","tags":[],"variants":{"outline":"fd71"}},"transaction-rupee":{"category":"","name":"transaction-rupee","tags":[],"variants":{"outline":"fd85"}},"transaction-yen":{"category":"E-commerce","name":"transaction-yen","tags":[],"variants":{"outline":"fd72"}},"transaction-yuan":{"category":"E-commerce","name":"transaction-yuan","tags":[],"variants":{"outline":"fd73"}},"transfer":{"category":"","name":"transfer","tags":[],"variants":{"outline":"fc1f"}},"transfer-in":{"category":"E-commerce","name":"transfer-in","tags":["input","insert","import","send"],"variants":{"outline":"ef2f"}},"transfer-out":{"category":"E-commerce","name":"transfer-out","tags":["output","export","send"],"variants":{"outline":"ef30"}},"transfer-vertical":{"category":"","name":"transfer-vertical","tags":[],"variants":{"outline":"fc1e"}},"transform":{"category":"","name":"transform","tags":["change","convert","adaptation","direction"],"variants":{"filled":"f6ac","outline":"f38e"}},"transform-point":{"category":"","name":"transform-point","tags":[],"variants":{"outline":"fda9"}},"transform-point-bottom-left":{"category":"","name":"transform-point-bottom-left","tags":[],"variants":{"outline":"fda5"}},"transform-point-bottom-right":{"category":"","name":"transform-point-bottom-right","tags":[],"variants":{"outline":"fda6"}},"transform-point-top-left":{"category":"","name":"transform-point-top-left","tags":[],"variants":{"outline":"fda7"}},"transform-point-top-right":{"category":"","name":"transform-point-top-right","tags":[],"variants":{"outline":"fda8"}},"transition-bottom":{"category":"Arrows","name":"transition-bottom","tags":["direction","south","down","moving"],"variants":{"filled":"fdd0","outline":"f2b2"}},"transition-left":{"category":"Arrows","name":"transition-left","tags":["direction","west","moving"],"variants":{"filled":"fdcf","outline":"f2b3"}},"transition-right":{"category":"Arrows","name":"transition-right","tags":["direction","east","moving"],"variants":{"filled":"fdce","outline":"f2b4"}},"transition-top":{"category":"Arrows","name":"transition-top","tags":["direction","north","up","moving"],"variants":{"filled":"fdcd","outline":"f2b5"}},"trash":{"category":"System","name":"trash","tags":["garbage","delete","remove","bin","ash-bin","uninstall","dustbin"],"variants":{"filled":"f783","outline":"eb41"}},"trash-off":{"category":"System","name":"trash-off","tags":["garbage","delete","remove","bin","ash-bin","uninstall","dustbin"],"variants":{"outline":"ed65"}},"trash-x":{"category":"System","name":"trash-x","tags":["bin","litter","recycle","remove","delete","throw","away","waste"],"variants":{"filled":"f784","outline":"ef88"}},"treadmill":{"category":"Sport","name":"treadmill","tags":[],"variants":{"outline":"fa6e"}},"tree":{"category":"Map","name":"tree","tags":["nature","greenery","park","leaf","trunk","stem","root","forest","garden"],"variants":{"outline":"ef01"}},"trees":{"category":"Map","name":"trees","tags":["nature","greenery","park","leaf","trunk","stem","root","forest","garden"],"variants":{"outline":"ec10"}},"trekking":{"category":"Sport","name":"trekking","tags":["adventure","travel","walking","hiking","activity"],"variants":{"outline":"f5ad"}},"trending-down":{"category":"Arrows","name":"trending-down","tags":["arrow","decrease","fall","progress"],"variants":{"outline":"eb42"}},"trending-down-2":{"category":"Arrows","name":"trending-down-2","tags":["arrow","decrease","fall","progress"],"variants":{"outline":"edc1"}},"trending-down-3":{"category":"Arrows","name":"trending-down-3","tags":["arrow","decrease","fall","progress"],"variants":{"outline":"edc2"}},"trending-up":{"category":"Arrows","name":"trending-up","tags":["arrow","grow","increase","progress"],"variants":{"outline":"eb43"}},"trending-up-2":{"category":"Arrows","name":"trending-up-2","tags":["arrow","grow","increase","progress"],"variants":{"outline":"edc3"}},"trending-up-3":{"category":"Arrows","name":"trending-up-3","tags":["arrow","grow","increase","progress"],"variants":{"outline":"edc4"}},"triangle":{"category":"Shapes","name":"triangle","tags":["delta","shape"],"variants":{"filled":"f6ad","outline":"eb44"}},"triangle-inverted":{"category":"Shapes","name":"triangle-inverted","tags":["shape","geometry","geometric","graphic","pyramid","design"],"variants":{"filled":"f6ae","outline":"f01d"}},"triangle-minus":{"category":"Shapes","name":"triangle-minus","tags":[],"variants":{"outline":"fc9b"}},"triangle-minus-2":{"category":"Shapes","name":"triangle-minus-2","tags":[],"variants":{"outline":"fc9a"}},"triangle-off":{"category":"Shapes","name":"triangle-off","tags":["delta","shape"],"variants":{"outline":"ef02"}},"triangle-plus":{"category":"Shapes","name":"triangle-plus","tags":[],"variants":{"outline":"fc9d"}},"triangle-plus-2":{"category":"Shapes","name":"triangle-plus-2","tags":[],"variants":{"outline":"fc9c"}},"triangle-square-circle":{"category":"Shapes","name":"triangle-square-circle","tags":["shape","geometry","round","angle"],"variants":{"filled":"fb42","outline":"ece8"}},"triangles":{"category":"Shapes","name":"triangles","tags":["shapes","figure","geometry","geometric","pyramid","design"],"variants":{"outline":"f0a5"}},"trident":{"category":"","name":"trident","tags":["three","spear","weapon","sharp","tool"],"variants":{"outline":"ecc5"}},"trolley":{"category":"Vehicles","name":"trolley","tags":["shopping","market","shop","delivery"],"variants":{"outline":"f4cc"}},"trophy":{"category":"","name":"trophy","tags":["success","win","prize","winner"],"variants":{"filled":"f6af","outline":"eb45"}},"trophy-off":{"category":"","name":"trophy-off","tags":["success","win","prize","winner"],"variants":{"outline":"f438"}},"trowel":{"category":"","name":"trowel","tags":["tool","garden","equipment","mason","cement"],"variants":{"outline":"f368"}},"truck":{"category":"Vehicles","name":"truck","tags":["transport","vahicle","van","lorry","cargo","delivery"],"variants":{"outline":"ebc4"}},"truck-delivery":{"category":"E-commerce","name":"truck-delivery","tags":["order","purchase","online","shop","store","e-commerce","lorry"],"variants":{"outline":"ec4b"}},"truck-loading":{"category":"E-commerce","name":"truck-loading","tags":["transport","delivery","logistics","vehicle"],"variants":{"outline":"f1da"}},"truck-off":{"category":"Vehicles","name":"truck-off","tags":["transport","vahicle","van","lorry","cargo","delivery"],"variants":{"outline":"ef03"}},"truck-return":{"category":"E-commerce","name":"truck-return","tags":["order","purchase","online","shop","store","e-commerce","lorry"],"variants":{"outline":"ec4c"}},"txt":{"category":"Extensions","name":"txt","tags":["file","format","type","document","filetype"],"variants":{"outline":"f3b1"}},"typeface":{"category":"","name":"typeface","tags":[],"variants":{"outline":"fdab"}},"typography":{"category":"Text","name":"typography","tags":["type","display","typeface","point size","line length","line-spacing","letter-spacing","font"],"variants":{"outline":"ebc5"}},"typography-off":{"category":"Text","name":"typography-off","tags":["type","display","typeface","point size","line length","line-spacing","letter-spacing","font"],"variants":{"outline":"f1ba"}},"u-turn-left":{"category":"Arrows","name":"u-turn-left","tags":[],"variants":{"outline":"fea2"}},"u-turn-right":{"category":"Arrows","name":"u-turn-right","tags":[],"variants":{"outline":"fea1"}},"ufo":{"category":"","name":"ufo","tags":["alien","space","astronomy","spaceship","galaxy"],"variants":{"outline":"f26f"}},"ufo-off":{"category":"","name":"ufo-off","tags":["alien","space","astronomy","spaceship","galaxy"],"variants":{"outline":"f26e"}},"umbrella":{"category":"","name":"umbrella","tags":["rain","weather","storm","wet","autumn","fall"],"variants":{"filled":"f6b0","outline":"ebf1"}},"umbrella-2":{"category":"","name":"umbrella-2","tags":["rain","weather","storm","wet","autumn","fall"],"variants":{"outline":"ff0e"}},"umbrella-closed":{"category":"","name":"umbrella-closed","tags":["rain","weather","storm","wet","autumn","fall"],"variants":{"outline":"ff0c"}},"umbrella-closed-2":{"category":"","name":"umbrella-closed-2","tags":[],"variants":{"outline":"ff0d"}},"umbrella-off":{"category":"","name":"umbrella-off","tags":["rain","weather","storm","wet","autumn","fall"],"variants":{"outline":"f1bb"}},"underline":{"category":"Text","name":"underline","tags":["underscore","emphasis","horizontal","typography"],"variants":{"outline":"eba2"}},"universe":{"category":"","name":"universe","tags":[],"variants":{"outline":"fcc4"}},"unlink":{"category":"Text","name":"unlink","tags":["chain","url","address","remove","broke","unconnect"],"variants":{"outline":"eb46"}},"upload":{"category":"Arrows","name":"upload","tags":["file","arrow"],"variants":{"outline":"eb47"}},"urgent":{"category":"","name":"urgent","tags":["alert","important"],"variants":{"outline":"eb48"}},"usb":{"category":"","name":"usb","tags":["drive","cable","plug","device","technology","connect"],"variants":{"outline":"f00c"}},"user":{"category":"System","name":"user","tags":["person","account"],"variants":{"filled":"fd19","outline":"eb4d"}},"user-bitcoin":{"category":"","name":"user-bitcoin","tags":[],"variants":{"outline":"ff30"}},"user-bolt":{"category":"System","name":"user-bolt","tags":[],"variants":{"outline":"f9d1"}},"user-cancel":{"category":"System","name":"user-cancel","tags":[],"variants":{"outline":"f9d2"}},"user-check":{"category":"System","name":"user-check","tags":["tick","person","account","role"],"variants":{"outline":"eb49"}},"user-circle":{"category":"System","name":"user-circle","tags":["account","avatar","profile","role"],"variants":{"outline":"ef68"}},"user-code":{"category":"System","name":"user-code","tags":[],"variants":{"outline":"f9d3"}},"user-cog":{"category":"System","name":"user-cog","tags":[],"variants":{"outline":"f9d4"}},"user-dollar":{"category":"System","name":"user-dollar","tags":[],"variants":{"outline":"f9d5"}},"user-down":{"category":"System","name":"user-down","tags":[],"variants":{"outline":"f9d6"}},"user-edit":{"category":"System","name":"user-edit","tags":[],"variants":{"outline":"f7cc"}},"user-exclamation":{"category":"System","name":"user-exclamation","tags":["user","account","note","excitement","admiration","mark"],"variants":{"outline":"ec12"}},"user-heart":{"category":"System","name":"user-heart","tags":[],"variants":{"outline":"f7cd"}},"user-hexagon":{"category":"","name":"user-hexagon","tags":[],"variants":{"outline":"fc4e"}},"user-minus":{"category":"System","name":"user-minus","tags":["remove","cancel","person","account","unsubscribe","role"],"variants":{"outline":"eb4a"}},"user-off":{"category":"System","name":"user-off","tags":["person","account"],"variants":{"outline":"ecf9"}},"user-pause":{"category":"System","name":"user-pause","tags":[],"variants":{"outline":"f9d7"}},"user-pentagon":{"category":"","name":"user-pentagon","tags":[],"variants":{"outline":"fc4f"}},"user-pin":{"category":"System","name":"user-pin","tags":[],"variants":{"outline":"f7ce"}},"user-plus":{"category":"System","name":"user-plus","tags":["add","create","new","person","people","follow","subscribe","role"],"variants":{"outline":"eb4b"}},"user-question":{"category":"System","name":"user-question","tags":[],"variants":{"outline":"f7cf"}},"user-scan":{"category":"System","name":"user-scan","tags":["identity","biometric","authentication","recognition","profile","verification","user-data","user-profile","scan-identity","identity-verification"],"variants":{"outline":"fcaf"}},"user-screen":{"category":"Media","name":"user-screen","tags":[],"variants":{"outline":"fea0"}},"user-search":{"category":"System","name":"user-search","tags":["find","account","profile","magnifier"],"variants":{"outline":"ef89"}},"user-share":{"category":"System","name":"user-share","tags":[],"variants":{"outline":"f9d8"}},"user-shield":{"category":"System","name":"user-shield","tags":[],"variants":{"outline":"f7d0"}},"user-square":{"category":"","name":"user-square","tags":[],"variants":{"outline":"fc51"}},"user-square-rounded":{"category":"","name":"user-square-rounded","tags":[],"variants":{"outline":"fc50"}},"user-star":{"category":"System","name":"user-star","tags":[],"variants":{"outline":"f7d1"}},"user-up":{"category":"System","name":"user-up","tags":[],"variants":{"outline":"f7d2"}},"user-x":{"category":"System","name":"user-x","tags":["cancel","remove","person","account","unsubscribe"],"variants":{"outline":"eb4c"}},"users":{"category":"System","name":"users","tags":["people","persons","accounts"],"variants":{"outline":"ebf2"}},"users-group":{"category":"System","name":"users-group","tags":[],"variants":{"outline":"fa21"}},"users-minus":{"category":"System","name":"users-minus","tags":[],"variants":{"outline":"fa0e"}},"users-plus":{"category":"System","name":"users-plus","tags":[],"variants":{"outline":"fa0f"}},"uv-index":{"category":"Weather","name":"uv-index","tags":["sun","ultraviolet","radiation"],"variants":{"outline":"f3b2"}},"ux-circle":{"category":"Design","name":"ux-circle","tags":["user","experience"],"variants":{"outline":"f369"}},"vaccine":{"category":"Health","name":"vaccine","tags":["illness","sickness","disease","injection","medicine","medical","doctor","nurse"],"variants":{"outline":"ef04"}},"vaccine-bottle":{"category":"Health","name":"vaccine-bottle","tags":["medical","medicine","pharmacy","covid","virus","drug"],"variants":{"outline":"ef69"}},"vaccine-bottle-off":{"category":"Health","name":"vaccine-bottle-off","tags":["medical","medicine","pharmacy","covid","virus","drug"],"variants":{"outline":"f439"}},"vaccine-off":{"category":"Health","name":"vaccine-off","tags":["illness","sickness","disease","injection","medicine","medical","doctor","nurse"],"variants":{"outline":"f1bc"}},"vacuum-cleaner":{"category":"","name":"vacuum-cleaner","tags":["robot","clean","hoover","home","electronics"],"variants":{"outline":"f5e6"}},"variable":{"category":"Math","name":"variable","tags":["maths","mathematics","science","calculate","function"],"variants":{"outline":"ef05"}},"variable-minus":{"category":"Math","name":"variable-minus","tags":["off","delete","maths","mathematics","science","calculate","function"],"variants":{"outline":"f36a"}},"variable-off":{"category":"Math","name":"variable-off","tags":["maths","mathematics","science","calculate","function"],"variants":{"outline":"f1bd"}},"variable-plus":{"category":"Math","name":"variable-plus","tags":["add","new","maths","mathematics","science","calculate","function"],"variants":{"outline":"f36b"}},"vector":{"category":"Design","name":"vector","tags":["curve","parametric","design","vector graphics","placement"],"variants":{"outline":"eca9"}},"vector-bezier":{"category":"Design","name":"vector-bezier","tags":["curve","parametric","design","vector graphics","representation"],"variants":{"outline":"ef1d"}},"vector-bezier-2":{"category":"Design","name":"vector-bezier-2","tags":["curve","parametric","design","vector graphics","representation"],"variants":{"outline":"f1a3"}},"vector-bezier-arc":{"category":"Design","name":"vector-bezier-arc","tags":["curve","drafting","reshape","shape"],"variants":{"outline":"f4cd"}},"vector-bezier-circle":{"category":"Design","name":"vector-bezier-circle","tags":["curve","drafting","reshape","shape"],"variants":{"outline":"f4ce"}},"vector-off":{"category":"Design","name":"vector-off","tags":["curve","parametric","design","vector graphics","placement"],"variants":{"outline":"f1be"}},"vector-spline":{"category":"Design","name":"vector-spline","tags":["math","line","curve","geometry"],"variants":{"outline":"f565"}},"vector-triangle":{"category":"Design","name":"vector-triangle","tags":["curve","parametric","design","vector graphics","placement"],"variants":{"outline":"eca8"}},"vector-triangle-off":{"category":"Design","name":"vector-triangle-off","tags":["curve","parametric","design","vector graphics","placement"],"variants":{"outline":"f1bf"}},"venus":{"category":"Symbols","name":"venus","tags":["female"],"variants":{"outline":"ec86"}},"versions":{"category":"Development","name":"versions","tags":["app","variation","different","variant","alternative"],"variants":{"filled":"f6b1","outline":"ed52"}},"versions-off":{"category":"Development","name":"versions-off","tags":["app","variation","different","variant","alternative"],"variants":{"outline":"f1c0"}},"video":{"category":"Media","name":"video","tags":["film","shoot","recording","taping","camera"],"variants":{"outline":"ed22"}},"video-minus":{"category":"Media","name":"video-minus","tags":["film","shoot","recording","taping","camera","remotion"],"variants":{"outline":"ed1f"}},"video-off":{"category":"Media","name":"video-off","tags":["film","shoot","recording","taping","camera"],"variants":{"outline":"ed20"}},"video-plus":{"category":"Media","name":"video-plus","tags":["film","shoot","recording","taping","camera","closeup"],"variants":{"outline":"ed21"}},"view-360":{"category":"","name":"view-360","tags":["panoramic","degrees","image","around"],"variants":{"outline":"ed84"}},"view-360-arrow":{"category":"","name":"view-360-arrow","tags":["rotate","view","degree","virtual","vr"],"variants":{"outline":"f62f"}},"view-360-number":{"category":"","name":"view-360-number","tags":["degree","rotation","reality","camera"],"variants":{"outline":"f566"}},"view-360-off":{"category":"","name":"view-360-off","tags":["panoramic","degrees","image","around"],"variants":{"outline":"f1c1"}},"viewfinder":{"category":"Map","name":"viewfinder","tags":["target","aim","focus"],"variants":{"outline":"eb4e"}},"viewfinder-off":{"category":"Map","name":"viewfinder-off","tags":["target","aim","focus"],"variants":{"outline":"f1c2"}},"viewport-narrow":{"category":"Devices","name":"viewport-narrow","tags":["data","account","excel","tight"],"variants":{"outline":"ebf3"}},"viewport-short":{"category":"","name":"viewport-short","tags":[],"variants":{"outline":"fee9"}},"viewport-tall":{"category":"","name":"viewport-tall","tags":[],"variants":{"outline":"fee8"}},"viewport-wide":{"category":"Devices","name":"viewport-wide","tags":["data","account","broad","excel"],"variants":{"outline":"ebf4"}},"vinyl":{"category":"Devices","name":"vinyl","tags":["music","audio","dj","sound","retro","musical"],"variants":{"outline":"f00d"}},"vip":{"category":"","name":"vip","tags":["premium","exclusive","staff","expensive"],"variants":{"outline":"f3b3"}},"vip-off":{"category":"","name":"vip-off","tags":["premium","exclusive","staff","expensive"],"variants":{"outline":"f43a"}},"virus":{"category":"Health","name":"virus","tags":["infection","illness","cell","infectious","health"],"variants":{"outline":"eb74"}},"virus-off":{"category":"Health","name":"virus-off","tags":["infection","illness","cell","infectious","health"],"variants":{"outline":"ed66"}},"virus-search":{"category":"Health","name":"virus-search","tags":["covid","coronavirus","biology","infection","infected","cell","viral","infectious","disease"],"variants":{"outline":"ed67"}},"vocabulary":{"category":"Text","name":"vocabulary","tags":["language","traffic","text","book","study","dictionary"],"variants":{"outline":"ef1e"}},"vocabulary-off":{"category":"Text","name":"vocabulary-off","tags":["language","traffic","text","book","study","dictionary"],"variants":{"outline":"f43b"}},"volcano":{"category":"Map","name":"volcano","tags":["erumption","lava","nature","danger","explosion"],"variants":{"outline":"f79c"}},"volume":{"category":"Media","name":"volume","tags":["music","sound","speaker"],"variants":{"outline":"eb51"}},"volume-2":{"category":"Media","name":"volume-2","tags":["music","sound","speaker"],"variants":{"outline":"eb4f"}},"volume-3":{"category":"Media","name":"volume-3","tags":["mute","music","sound","off","speaker"],"variants":{"outline":"eb50"}},"volume-off":{"category":"Media","name":"volume-off","tags":["music","sound","speaker"],"variants":{"outline":"f1c3"}},"vs":{"category":"","name":"vs","tags":[],"variants":{"outline":"fc52"}},"walk":{"category":"Sport","name":"walk","tags":["ambulation","dislocating","movement","motion","destination"],"variants":{"outline":"ec87"}},"wall":{"category":"","name":"wall","tags":["brick","security","firewall","building","renovation","construction"],"variants":{"outline":"ef7a"}},"wall-off":{"category":"","name":"wall-off","tags":["brick","security","firewall","building","renovation","construction"],"variants":{"outline":"f43c"}},"wallet":{"category":"","name":"wallet","tags":["money","pay","banknote","coin","payment","bank"],"variants":{"outline":"eb75"}},"wallet-off":{"category":"","name":"wallet-off","tags":["money","pay","banknote","coin","payment","bank"],"variants":{"outline":"f1c4"}},"wallpaper":{"category":"","name":"wallpaper","tags":["picture","image","photo","decoration","house","room","decor"],"variants":{"outline":"ef56"}},"wallpaper-off":{"category":"","name":"wallpaper-off","tags":["picture","image","photo","decoration","house","room","decor"],"variants":{"outline":"f1c5"}},"wand":{"category":"","name":"wand","tags":["magic","tool","color","pixel","design"],"variants":{"outline":"ebcb"}},"wand-off":{"category":"","name":"wand-off","tags":["magic","tool","color","pixel","design"],"variants":{"outline":"f1c6"}},"wash":{"category":"Laundry","name":"wash","tags":["clean","cleaning","hygiene","laundry","clothes"],"variants":{"outline":"f311"}},"wash-dry":{"category":"Laundry","name":"wash-dry","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f304"}},"wash-dry-1":{"category":"Laundry","name":"wash-dry-1","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f2fa"}},"wash-dry-2":{"category":"Laundry","name":"wash-dry-2","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f2fb"}},"wash-dry-3":{"category":"Laundry","name":"wash-dry-3","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f2fc"}},"wash-dry-a":{"category":"Laundry","name":"wash-dry-a","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f2fd"}},"wash-dry-dip":{"category":"Laundry","name":"wash-dry-dip","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f2fe"}},"wash-dry-f":{"category":"Laundry","name":"wash-dry-f","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f2ff"}},"wash-dry-flat":{"category":"Laundry","name":"wash-dry-flat","tags":[],"variants":{"outline":"fa7f"}},"wash-dry-hang":{"category":"Laundry","name":"wash-dry-hang","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f300"}},"wash-dry-off":{"category":"Laundry","name":"wash-dry-off","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f301"}},"wash-dry-p":{"category":"Laundry","name":"wash-dry-p","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f302"}},"wash-dry-shade":{"category":"Laundry","name":"wash-dry-shade","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f303"}},"wash-dry-w":{"category":"Laundry","name":"wash-dry-w","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f322"}},"wash-dryclean":{"category":"Laundry","name":"wash-dryclean","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f305"}},"wash-dryclean-off":{"category":"Laundry","name":"wash-dryclean-off","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f323"}},"wash-eco":{"category":"Laundry","name":"wash-eco","tags":[],"variants":{"outline":"fa80"}},"wash-gentle":{"category":"Laundry","name":"wash-gentle","tags":["laundry","clean","clear","clothes","machine","delicate"],"variants":{"outline":"f306"}},"wash-hand":{"category":"Laundry","name":"wash-hand","tags":[],"variants":{"outline":"fa81"}},"wash-machine":{"category":"Devices","name":"wash-machine","tags":["bathroom","clean","cleaning","laundry","machine","clothes"],"variants":{"outline":"f25e"}},"wash-off":{"category":"Laundry","name":"wash-off","tags":["clean","cleaning","hygiene","laundry","clothes"],"variants":{"outline":"f307"}},"wash-press":{"category":"Laundry","name":"wash-press","tags":["laundry","clean","clear","clothes","machine","permanent"],"variants":{"outline":"f308"}},"wash-temperature-1":{"category":"Laundry","name":"wash-temperature-1","tags":["laundry","clean","clear","clothes","low","cold"],"variants":{"outline":"f309"}},"wash-temperature-2":{"category":"Laundry","name":"wash-temperature-2","tags":["laundry","clean","clear","clothes","low","cold"],"variants":{"outline":"f30a"}},"wash-temperature-3":{"category":"Laundry","name":"wash-temperature-3","tags":["laundry","clean","clear","clothes","medium"],"variants":{"outline":"f30b"}},"wash-temperature-4":{"category":"Laundry","name":"wash-temperature-4","tags":["laundry","clean","clear","clothes","high","hot"],"variants":{"outline":"f30c"}},"wash-temperature-5":{"category":"Laundry","name":"wash-temperature-5","tags":["laundry","clean","clear","clothes","high","hot"],"variants":{"outline":"f30d"}},"wash-temperature-6":{"category":"Laundry","name":"wash-temperature-6","tags":["laundry","clean","clear","clothes","high","hot"],"variants":{"outline":"f30e"}},"wash-tumble-dry":{"category":"Laundry","name":"wash-tumble-dry","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f30f"}},"wash-tumble-off":{"category":"Laundry","name":"wash-tumble-off","tags":["laundry","clean","clear","clothes"],"variants":{"outline":"f310"}},"waterpolo":{"category":"Sport","name":"waterpolo","tags":[],"variants":{"outline":"fa6f"}},"wave-saw-tool":{"category":"","name":"wave-saw-tool","tags":["pulse","signal","ratio","rate","volume"],"variants":{"outline":"ecd3"}},"wave-sine":{"category":"","name":"wave-sine","tags":["pulse","signal","ratio","rate","volume"],"variants":{"outline":"ecd4"}},"wave-square":{"category":"","name":"wave-square","tags":["pulse","signal","ratio","rate","volume"],"variants":{"outline":"ecd5"}},"waves-electricity":{"category":"","name":"waves-electricity","tags":[],"variants":{"outline":"fcc5"}},"webhook":{"category":"Development","name":"webhook","tags":["communication","interaction","comunity","browser"],"variants":{"outline":"f01e"}},"webhook-off":{"category":"Development","name":"webhook-off","tags":["communication","interaction","comunity","browser"],"variants":{"outline":"f43d"}},"weight":{"category":"","name":"weight","tags":["gym","fitness","balance","exercise","sport"],"variants":{"outline":"f589"}},"wheel":{"category":"","name":"wheel","tags":[],"variants":{"outline":"fc64"}},"wheelchair":{"category":"Vehicles","name":"wheelchair","tags":["disabled","disability","patient","medical","handicapped"],"variants":{"outline":"f1db"}},"wheelchair-off":{"category":"Vehicles","name":"wheelchair-off","tags":["disabled","disability","patient","medical","handicapped"],"variants":{"outline":"f43e"}},"whirl":{"category":"Weather","name":"whirl","tags":["cosmos","galaxy","space","spin","spiral","hypnosis"],"variants":{"outline":"f51d"}},"wifi":{"category":"Devices","name":"wifi","tags":["online","connection","signal","wireless"],"variants":{"outline":"eb52"}},"wifi-0":{"category":"Devices","name":"wifi-0","tags":["online","connection","signal","wireless"],"variants":{"outline":"eba3"}},"wifi-1":{"category":"Devices","name":"wifi-1","tags":["online","connection","signal","wireless"],"variants":{"outline":"eba4"}},"wifi-2":{"category":"Devices","name":"wifi-2","tags":["online","connection","signal","wireless"],"variants":{"outline":"eba5"}},"wifi-off":{"category":"Devices","name":"wifi-off","tags":["online","connection","signal","wireless"],"variants":{"outline":"ecfa"}},"wind":{"category":"Weather","name":"wind","tags":["weather","breeze","tornado","typhoon","cyclone","hurricane"],"variants":{"outline":"ec34"}},"wind-electricity":{"category":"","name":"wind-electricity","tags":[],"variants":{"outline":"fcc6"}},"wind-off":{"category":"Weather","name":"wind-off","tags":["weather","breeze","tornado","typhoon","cyclone","hurricane"],"variants":{"outline":"f1c7"}},"windmill":{"category":"Map","name":"windmill","tags":["generate","power","blade","energy","electricity"],"variants":{"filled":"f6b2","outline":"ed85"}},"windmill-off":{"category":"Map","name":"windmill-off","tags":["generate","power","blade","energy","electricity"],"variants":{"outline":"f1c8"}},"window":{"category":"","name":"window","tags":["house","view","glass","apartment","vehicle","light","frame","home","building"],"variants":{"outline":"ef06"}},"window-maximize":{"category":"System","name":"window-maximize","tags":["fullscreen","browser","size","full","resize"],"variants":{"outline":"f1f1"}},"window-minimize":{"category":"System","name":"window-minimize","tags":["screen","browser","size","resize","minimum"],"variants":{"outline":"f1f2"}},"window-off":{"category":"","name":"window-off","tags":["house","view","glass","apartment","vehicle","light","frame","home","building"],"variants":{"outline":"f1c9"}},"windsock":{"category":"Map","name":"windsock","tags":["weather","meteorology","windy","storm","wind"],"variants":{"outline":"f06d"}},"wiper":{"category":"Vehicles","name":"wiper","tags":["car","pane","vehicle","sprinkler","scour"],"variants":{"outline":"ecab"}},"wiper-wash":{"category":"Vehicles","name":"wiper-wash","tags":["car","pane","vehicle","sprinkler","scour"],"variants":{"outline":"ecaa"}},"woman":{"category":"","name":"woman","tags":["girl","female","gender"],"variants":{"filled":"fdcc","outline":"eb53"}},"wood":{"category":"","name":"wood","tags":["tree","forest","natural","timber","log"],"variants":{"outline":"f359"}},"world":{"category":"Map","name":"world","tags":["earth","globe","global","language","union"],"variants":{"outline":"eb54"}},"world-bolt":{"category":"Map","name":"world-bolt","tags":[],"variants":{"outline":"f9d9"}},"world-cancel":{"category":"Map","name":"world-cancel","tags":[],"variants":{"outline":"f9da"}},"world-check":{"category":"Map","name":"world-check","tags":[],"variants":{"outline":"f9db"}},"world-code":{"category":"Map","name":"world-code","tags":[],"variants":{"outline":"f9dc"}},"world-cog":{"category":"Map","name":"world-cog","tags":[],"variants":{"outline":"f9dd"}},"world-dollar":{"category":"Map","name":"world-dollar","tags":[],"variants":{"outline":"f9de"}},"world-down":{"category":"Map","name":"world-down","tags":[],"variants":{"outline":"f9df"}},"world-download":{"category":"Map","name":"world-download","tags":["global","down","globe","arrow","earth"],"variants":{"outline":"ef8a"}},"world-exclamation":{"category":"Map","name":"world-exclamation","tags":[],"variants":{"outline":"f9e0"}},"world-heart":{"category":"Map","name":"world-heart","tags":[],"variants":{"outline":"f9e1"}},"world-latitude":{"category":"Map","name":"world-latitude","tags":["earth","globe","global","language","union"],"variants":{"outline":"ed2e"}},"world-longitude":{"category":"Map","name":"world-longitude","tags":["earth","globe","global","language","union"],"variants":{"outline":"ed2f"}},"world-minus":{"category":"Map","name":"world-minus","tags":[],"variants":{"outline":"f9e2"}},"world-off":{"category":"Map","name":"world-off","tags":["earth","globe","global","language","union"],"variants":{"outline":"f1ca"}},"world-pause":{"category":"Map","name":"world-pause","tags":[],"variants":{"outline":"f9e3"}},"world-pin":{"category":"Map","name":"world-pin","tags":[],"variants":{"outline":"f9e4"}},"world-plus":{"category":"Map","name":"world-plus","tags":[],"variants":{"outline":"f9e5"}},"world-question":{"category":"Map","name":"world-question","tags":[],"variants":{"outline":"f9e6"}},"world-search":{"category":"Map","name":"world-search","tags":[],"variants":{"outline":"f9e7"}},"world-share":{"category":"Map","name":"world-share","tags":[],"variants":{"outline":"f9e8"}},"world-star":{"category":"Map","name":"world-star","tags":[],"variants":{"outline":"f9e9"}},"world-up":{"category":"Map","name":"world-up","tags":[],"variants":{"outline":"f9ea"}},"world-upload":{"category":"Map","name":"world-upload","tags":["earth","global","up","globe","arrow","internet"],"variants":{"outline":"ef8b"}},"world-www":{"category":"Map","name":"world-www","tags":["internet","online","web","website","browser"],"variants":{"outline":"f38f"}},"world-x":{"category":"Map","name":"world-x","tags":[],"variants":{"outline":"f9eb"}},"wrecking-ball":{"category":"Vehicles","name":"wrecking-ball","tags":["demolish","building","wrecker","metal","swing","knock","down"],"variants":{"outline":"ed97"}},"writing":{"category":"Text","name":"writing","tags":["name","certficate","sign","edit","write","document","pen","drawing","contract","signature"],"variants":{"outline":"ef08"}},"writing-off":{"category":"Text","name":"writing-off","tags":["name","certficate","sign","edit","write","document","pen","drawing","contract","signature"],"variants":{"outline":"f1cb"}},"writing-sign":{"category":"Text","name":"writing-sign","tags":["name","certficate","sign","edit","write","document","writing","pen"],"variants":{"outline":"ef07"}},"writing-sign-off":{"category":"Text","name":"writing-sign-off","tags":["name","certficate","sign","edit","write","document","writing","pen"],"variants":{"outline":"f1cc"}},"x":{"category":"","name":"x","tags":["cancel","remove","delete","empty","close"],"variants":{"outline":"eb55"}},"xbox-a":{"category":"Devices","name":"xbox-a","tags":["controller","joystick","button"],"variants":{"filled":"fdcb","outline":"f2b6"}},"xbox-b":{"category":"Devices","name":"xbox-b","tags":["controller","joystick","button"],"variants":{"filled":"fdca","outline":"f2b7"}},"xbox-x":{"category":"Devices","name":"xbox-x","tags":["controller","joystick","button"],"variants":{"filled":"fdc9","outline":"f2b8"}},"xbox-y":{"category":"Devices","name":"xbox-y","tags":["controller","joystick","button"],"variants":{"filled":"fdc8","outline":"f2b9"}},"xd":{"category":"","name":"xd","tags":[],"variants":{"outline":"fa33"}},"xxx":{"category":"","name":"xxx","tags":[],"variants":{"outline":"fc20"}},"yin-yang":{"category":"Symbols","name":"yin-yang","tags":["equality","good","evil","balance","peace"],"variants":{"filled":"f785","outline":"ec35"}},"yoga":{"category":"Sport","name":"yoga","tags":["pose","sport","meditation","fitness"],"variants":{"outline":"f01f"}},"zeppelin":{"category":"Vehicles","name":"zeppelin","tags":["airship","transport","ballon","flying","travel"],"variants":{"filled":"fdc7","outline":"f270"}},"zeppelin-off":{"category":"Vehicles","name":"zeppelin-off","tags":["airship","transport","ballon","flying","travel"],"variants":{"outline":"f43f"}},"zip":{"category":"Extensions","name":"zip","tags":["file","document","folder","compress","archive","filetype"],"variants":{"outline":"f3b4"}},"zodiac-aquarius":{"category":"Zodiac","name":"zodiac-aquarius","tags":["sign","horoscope","constellation","stars"],"variants":{"outline":"ecac"}},"zodiac-aries":{"category":"Zodiac","name":"zodiac-aries","tags":["sign","horoscope","constellation","stars"],"variants":{"outline":"ecad"}},"zodiac-cancer":{"category":"Zodiac","name":"zodiac-cancer","tags":["sign","horoscope","constellation","stars"],"variants":{"outline":"ecae"}},"zodiac-capricorn":{"category":"Zodiac","name":"zodiac-capricorn","tags":["sign","horoscope","constellation","stars"],"variants":{"outline":"ecaf"}},"zodiac-gemini":{"category":"Zodiac","name":"zodiac-gemini","tags":["sign","horoscope","constellation","stars"],"variants":{"outline":"ecb0"}},"zodiac-leo":{"category":"Zodiac","name":"zodiac-leo","tags":["sign","horoscope","constellation","stars"],"variants":{"outline":"ecb1"}},"zodiac-libra":{"category":"Zodiac","name":"zodiac-libra","tags":["sign","horoscope","constellation","stars"],"variants":{"outline":"ecb2"}},"zodiac-pisces":{"category":"Zodiac","name":"zodiac-pisces","tags":["sign","horoscope","constellation","stars"],"variants":{"outline":"ecb3"}},"zodiac-sagittarius":{"category":"Zodiac","name":"zodiac-sagittarius","tags":["sign","horoscope","constellation","stars"],"variants":{"outline":"ecb4"}},"zodiac-scorpio":{"category":"Zodiac","name":"zodiac-scorpio","tags":["sign","horoscope","constellation","stars"],"variants":{"outline":"ecb5"}},"zodiac-taurus":{"category":"Zodiac","name":"zodiac-taurus","tags":["sign","horoscope","constellation","stars"],"variants":{"outline":"ecb6"}},"zodiac-virgo":{"category":"Zodiac","name":"zodiac-virgo","tags":["sign","horoscope","constellation","stars"],"variants":{"outline":"ecb7"}},"zoom":{"category":"","name":"zoom","tags":["find","magnifier","magnifying glass"],"variants":{"filled":"f787","outline":"fdaa"}},"zoom-cancel":{"category":"Map","name":"zoom-cancel","tags":["magnifying glass"],"variants":{"filled":"fdc6","outline":"ec4d"}},"zoom-check":{"category":"Map","name":"zoom-check","tags":["verify","magnifying","glass","magnifier","ok","done"],"variants":{"filled":"f786","outline":"ef09"}},"zoom-code":{"category":"Map","name":"zoom-code","tags":["inspect","marketing","search","markup","coding","magnifier"],"variants":{"filled":"fdc5","outline":"f07f"}},"zoom-exclamation":{"category":"Map","name":"zoom-exclamation","tags":["alert","caution","error","search","warning"],"variants":{"filled":"fdc4","outline":"f080"}},"zoom-in":{"category":"Map","name":"zoom-in","tags":["magnifying glass"],"variants":{"filled":"f789","outline":"eb56"}},"zoom-in-area":{"category":"Map","name":"zoom-in-area","tags":["selected","square","magnifier","enlargement"],"variants":{"filled":"f788","outline":"f1dc"}},"zoom-money":{"category":"Map","name":"zoom-money","tags":["magnifying","glass","magnifier","earn","pay","sum","total","finance","financial"],"variants":{"filled":"fdc3","outline":"ef0a"}},"zoom-out":{"category":"Map","name":"zoom-out","tags":["magnifying glass"],"variants":{"filled":"f78a","outline":"eb57"}},"zoom-out-area":{"category":"Map","name":"zoom-out-area","tags":["selected","square","magnifier","diminishing"],"variants":{"filled":"fdc2","outline":"f1dd"}},"zoom-pan":{"category":"Map","name":"zoom-pan","tags":["enlargement","shifting","magnifier"],"variants":{"filled":"fdc1","outline":"f1de"}},"zoom-question":{"category":"Map","name":"zoom-question","tags":["ask","help","support","cue","?"],"variants":{"filled":"fdc0","outline":"edeb"}},"zoom-replace":{"category":"Map","name":"zoom-replace","tags":["find","change","switch","swap"],"variants":{"outline":"f2a7"}},"zoom-reset":{"category":"Map","name":"zoom-reset","tags":["refresh","default","settings","vision"],"variants":{"outline":"f295"}},"zoom-scan":{"category":"System","name":"zoom-scan","tags":["magnify","enlarge","analyze","focus","enhance","view","magnification","zoom-in","scan-zoom","magnify-scan"],"variants":{"filled":"fdbf","outline":"fcb0"}},"zzz":{"category":"","name":"zzz","tags":["sleep","sleeping","bed","dream","snooze","rest"],"variants":{"outline":"f228"}},"zzz-off":{"category":"","name":"zzz-off","tags":["sleep","sleeping","bed","dream","snooze","rest"],"variants":{"outline":"f440"}}},"name":"Tabler Icons","prefix":"ti"}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedIconPackageList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [ { "fonts": { "truetype": "/static/tabler-icons/tabler-icons.ttf", "woff": "/static/tabler-icons/tabler-icons.woff", "woff2": "/static/tabler-icons/tabler-icons.woff2" }, "icons": { "a-b": { "category": "", "name": "a-b", "tags": [ "test", "visual", "user" ], "variants": { "outline": "ec36" } // Output truncated... ] - 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 `limit` in query - limit: Incorrect type [200] OK: `[{"name":"Tabler Icons","prefix":"ti","fonts":{"woff2":"/static/tabler-icons/tabler-icons.woff2","woff":"/static/tabler-icons/tabler-icons.woff","truetype":"/static/tabler-icons/tabler-icons.ttf"},"icons":{"a-b-2":{"name":"a-b-2","category":"","tags":["test","visual","user"],"variants":{"outline":"f25f"}},"a-b-off":{"name":"a-b-off","category":"","tags":["test","visual","user"],"variants":{"outline":"f0a6"}},"a-b":{"name":"a-b","category":"","tags":["test","visual","user"],"variants":{"outline":"ec36"}},"ab // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/icons/?limit=null&limit=null' 2. Test Case ID: 8ibBFA - API accepts requests without authentication Expected 401 or 403, got `200 OK` for `GET /api/icons/` [200] OK: `[{"name":"Tabler Icons","prefix":"ti","fonts":{"woff2":"/static/tabler-icons/tabler-icons.woff2","woff":"/static/tabler-icons/tabler-icons.woff","truetype":"/static/tabler-icons/tabler-icons.ttf"},"icons":{"a-b-2":{"name":"a-b-2","category":"","tags":["test","visual","user"],"variants":{"outline":"f25f"}},"a-b-off":{"name":"a-b-off","category":"","tags":["test","visual","user"],"variants":{"outline":"f0a6"}},"a-b":{"name":"a-b","category":"","tags":["test","visual","user"],"variants":{"outline":"ec36"}},"ab // Output truncated...` Reproduce with: curl -X GET 'http://0.0.0.0:34609/api/icons/?limit=null&limit=null' 3. Test Case ID: 8s1U4y - Response violates schema null is not of type "string" Validated against the response schema for status code 200. Schema at /components/schemas/Icon/properties/tags/items: { "type": "string" } Value: null [200] OK: `{"count":1,"next":null,"previous":null,"results":[{"name":"Tabler Icons","prefix":"ti","fonts":{"woff2":"/static/tabler-icons/tabler-icons.woff2","woff":"/static/tabler-icons/tabler-icons.woff","truetype":"/static/tabler-icons/tabler-icons.ttf"},"icons":{"a-b-2":{"name":"a-b-2","category":"","tags":["test","visual","user"],"variants":{"outline":"f25f"}},"a-b-off":{"name":"a-b-off","category":"","tags":["test","visual","user"],"variants":{"outline":"f0a6"}},"a-b":{"name":"a-b","category":"","tags":["test","v // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/icons/?limit=331' ______________________ GET /api/importer/column-mapping/ _______________________ 1. Test Case ID: EyQAGv - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedDataImportColumnMapList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/importer/column-mapping/?limit=0&offset=0&ordering=&search=' 2. Test Case ID: F2Dave - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"session":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/importer/column-mapping/?limit=0&session=%5BFiltered%5D' 3. Test Case ID: hAUxuy - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"session":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/importer/column-mapping/?limit=0&session=%5BFiltered%5D' ____________________ GET /api/importer/column-mapping/{id}/ ____________________ 1. Test Case ID: Ceu0dY - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/importer/column-mapping/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/importer/column-mapping/null%2Cnull/ __________________________ GET /api/importer/models/ ___________________________ 1. Test Case ID: PzOO0l - Response violates schema "/api/project-code/" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/DataImporterModel/properties/api_url: { "anyOf": [ { "type": "string", "format": "uri", "readOnly": true }, { "type": "null" } ] } Value: "/api/project-code/" [200] OK: `[{"serializer":"ProjectCodeSerializer","model_type":"projectcode","api_url":"/api/project-code/"},{"serializer":"TagSerializer","model_type":"tag","api_url":null},{"serializer":"CustomStateSerializer","model_type":"inventreecustomuserstatemodel","api_url":null},{"serializer":"CustomUnitSerializer","model_type":"customunit","api_url":null},{"serializer":"ParameterTemplateSerializer","model_type":"parametertemplate","api_url":"/api/parameter/template/"},{"serializer":"ParameterSerializer","model_type":"parame // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/importer/models/ ____________________________ GET /api/importer/row/ ____________________________ 1. Test Case ID: wHKMY3 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"session":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/importer/row/?complete=true&limit=0&offset=0&ordering=pk&search=&session=%5BFiltered%5D' 2. Test Case ID: Z30oje - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedDataImportRowList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/importer/row/?complete=true&limit=0&offset=0&ordering=pk&search=' 3. Test Case ID: oM8Mqt - 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 `limit` in query - violates `required` (was limit) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/importer/row/?offset=-31357' _________________________ GET /api/importer/row/{id}/ __________________________ 1. Test Case ID: k58dsj - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/importer/row/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/importer/row/null%2Cnull/ __________________________ GET /api/importer/session/ __________________________ 1. Test Case ID: 9asHoj - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedDataImportSessionList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/importer/session/?limit=0&model_type=&offset=0&ordering=timestamp&search=&status=0' 2. Test Case ID: yUVtib - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"user":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/importer/session/?limit=0&user=null&user=null' 3. Test Case ID: W006oe - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"user":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/importer/session/?limit=0&user=0' 4. Test Case ID: Fic4he - 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 `limit` in query - violates `type` at /properties/limit (was integer, became boolean) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/importer/session/?limit=false' _______________________ GET /api/importer/session/{id}/ ________________________ 1. Test Case ID: y5sDLL - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/importer/session/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/importer/session/null%2Cnull/ ___________________________ GET /api/label/template/ ___________________________ 1. Test Case ID: MZ4uCP - Response violates schema [{"attach_to_model":false,"description":"Sample build line label","enabled":true,"filename_pattern":"output.pdf","filters":"","height":20.0,"model_type":"buildline","name":"InvenTree Build Line Label","pk":6,"revision":2,"template":"/media/report/label/buildline_label.html","updated":"2026-10-07 16:46","updated_by":null,"updated_by_detail":null,"width":50.0},{"attach_to_model":false,"description":"Sample part label","enabled":true,"filename_pattern":"output.pdf","filters":"","height":20.0,"model_type":"part","name":"InvenTree Part Label","pk":1,"revision":2,"template":"/media/report/label/part_label.html","updated":"2026-10-07 16:46","updated_by":null,"updated_by_detail":null,"width":50.0},{"attach_to_model":false,"description":"Sample part label with Code128 barcode","enabled":true,"filename_pattern":"output.pdf","filters":"","height":20.0,"model_type":"part","name":"InvenTree Part Label (Code128)","pk":2,"revision":2,"template":"/media/report/label/part_label_code128.html","updated":"2026-10-07 16:46","updated_by":null,"updated_by_detail":null,"width":50.0},{"attach_to_model":false,"description":"Sample stock item label with QR code","enabled":true,"filename_pattern":"output.pdf","filters":"","height":20.0,"model_type":"stockitem","name":"InvenTree Stock Item Label (QR)","pk":3,"revision":2,"template":"/media/report/label/stockitem_qr.html","updated":"2026-10-07 16:46","updated_by":null,"updated_by_detail":null,"width":50.0},{"attach_to_model":false,"description":"Sample stock item label with QR code and text","enabled":true,"filename_pattern":"output.pdf","filters":"","height":20.0,"model_type":"stocklocation","name":"InvenTree Stock Location Label (QR + Text)","pk":4,"revision":2,"template":"/media/report/label/stocklocation_qr_and_text.html","updated":"2026-10-07 16:46","updated_by":null,"updated_by_detail":null,"width":50.0},{"attach_to_model":false,"description":"Sample stock location label with QR code","enabled":true,"filename_pattern":"output.pdf","filters":"","height":20.0,"model_type":"stocklocation","name":"InvenTree Stock Location Label (QR)","pk":5,"revision":2,"template":"/media/report/label/stocklocation_qr.html","updated":"2026-10-07 16:46","updated_by":null,"updated_by_detail":null,"width":50.0}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedLabelTemplateList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [ { "attach_to_model": false, "description": "Sample build line label", "enabled": true, "filename_pattern": "output.pdf", "filters": "", "height": 20.0, "model_type": "buildline", "name": "InvenTree Build Line Label", "pk": 6, "revision": 2, "template": "/media/report/label/buildline_label.html", "updated": "2026-10-07 16:46", "updated_by": null, "updated_by_detail": null, "width": 50.0 }, { // Output truncated... ] [200] OK: `[{"pk":6,"name":"InvenTree Build Line Label","description":"Sample build line label","model_type":"buildline","template":"/media/report/label/buildline_label.html","filters":"","filename_pattern":"output.pdf","enabled":true,"revision":2,"attach_to_model":false,"updated":"2026-10-07 16:46","updated_by":null,"updated_by_detail":null,"width":50.0,"height":20.0},{"pk":1,"name":"InvenTree Part Label","description":"Sample part label","model_type":"part","template":"/media/report/label/part_label.html","filters": // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/label/template/?enabled=true&items=&limit=0&model_type=&offset=0&ordering=name' 2. Test Case ID: NiYaun - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"model_type":["Select a valid choice. partcategory is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/label/template/?search=%C2%90P%F3%98%AA%BE%C3%9C%F0%97%8C%97%C3%9C%C2%BC&items=%C3%9DOt&enabled=true&limit=-3744920&model_type=partcategory&offset=-247501966927' 3. Test Case ID: 059TB9 - Response violates schema (2 violations) "/media/report/label/part_label.html" is not a "uri" Validated against the response schema for status code 200. Schema at /components/schemas/LabelTemplate/properties/template: { "format": "uri", "type": "string" } Value: "/media/report/label/part_label.html" "2026-10-07 16:46" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/LabelTemplate/properties/updated: { "anyOf": [ { "type": "string", "format": "date-time", "description": "Timestamp of last update" }, { "type": "null" } ] } Value: "2026-10-07 16:46" [200] OK: `{"count":6,"next":null,"previous":null,"results":[{"pk":1,"name":"InvenTree Part Label","description":"Sample part label","model_type":"part","template":"/media/report/label/part_label.html","filters":"","filename_pattern":"output.pdf","enabled":true,"revision":2,"attach_to_model":false,"updated":"2026-10-07 16:46","updated_by":null,"updated_by_detail":null,"width":50.0,"height":20.0},{"pk":2,"name":"InvenTree Part Label (Code128)","description":"Sample part label with Code128 barcode","model_type":"part"," // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/label/template/?limit=51178751&items=%F2%BB%8F%B4%7C%C2%9A%C3%BF%F1%8A%BA%A1' 4. Test Case ID: HeThVv - 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 `enabled` in query - violates `type` at /properties/enabled (was boolean, became string) [200] OK: `[{"pk":1,"name":"InvenTree Part Label","description":"Sample part label","model_type":"part","template":"/media/report/label/part_label.html","filters":"","filename_pattern":"output.pdf","enabled":true,"revision":2,"attach_to_model":false,"updated":"2026-10-07 16:46","updated_by":null,"updated_by_detail":null,"width":50.0,"height":20.0},{"pk":2,"name":"InvenTree Part Label (Code128)","description":"Sample part label with Code128 barcode","model_type":"part","template":"/media/report/label/part_label_code128 // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/label/template/?search=&model_type=&enabled=%C3%8D&ordering=width&limit=-3082&offset=244635790&items=%F2%89%83%98%5E%F3%93%AF%88%C2%98%C3%A3%C2%88%1EH%F1%89%87%849%28' ________________________ GET /api/label/template/{id}/ _________________________ 1. Test Case ID: kyzTd6 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/label/template/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/label/template/null%2Cnull/ 2. Test Case ID: 9MiCHR - Response violates schema (2 violations) "/media/report/label/part_label.html" is not a "uri" Validated against the response schema for status code 200. Schema at /components/schemas/LabelTemplate/properties/template: { "format": "uri", "type": "string" } Value: "/media/report/label/part_label.html" "2026-10-07 16:46" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/LabelTemplate/properties/updated: { "anyOf": [ { "type": "string", "format": "date-time", "description": "Timestamp of last update" }, { "type": "null" } ] } Value: "2026-10-07 16:46" [200] OK: `{"pk":1,"name":"InvenTree Part Label","description":"Sample part label","model_type":"part","template":"/media/report/label/part_label.html","filters":"","filename_pattern":"output.pdf","enabled":true,"revision":2,"attach_to_model":false,"updated":"2026-10-07 16:46","updated_by":null,"updated_by_detail":null,"width":50.0,"height":20.0}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/label/template/1/ ______________________________ GET /api/machine/ _______________________________ 1. Test Case ID: 9F9QUQ - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedMachineConfigList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/machine/?active=true&driver=&limit=0&machine_type=&offset=0&ordering=name' ____________________________ GET /api/machine/{id}/ ____________________________ 1. Test Case ID: mgAtKe - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/machine/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/machine/null%2Cnull/ _______________________ GET /api/machine/{id}/settings/ ________________________ 1. Test Case ID: NWAgXp - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/machine/null,null/settings/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/machine/null%2Cnull/settings/ _____________ GET /api/machine/{id}/settings/{config_type}/{key}/ ______________ 1. Test Case ID: pMrH2K - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/machine/e3e70682-c209-1cac-a29f-6fbed82c07cd/settings/M/%C2%84/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/machine/e3e70682-c209-1cac-a29f-6fbed82c07cd/settings/M/%C2%84/ _______________________ GET /api/metadata/{model}/{id}/ ________________________ 1. Test Case ID: fwfEZW - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/metadata/0/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/metadata/0/null%2Cnull/ 2. Test Case ID: N6aBy5 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `["GenericMetadataView called with invalid model '0'"]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/metadata/0/0/ 3. Test Case ID: C008CT - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/metadata/user/1/","status_code":500}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/metadata/user/1/ ___________ GET /api/metadata/{model}/{lookup_field}/{lookup_value}/ ___________ 1. Test Case ID: n8WjFE - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `["GenericMetadataView called with invalid model '0'"]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/metadata/0/0/0/ 2. Test Case ID: sY9XZj - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"FieldError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/metadata/user/0/0/","status_code":500}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/metadata/user/0/0/ ________________________________ GET /api/news/ ________________________________ 1. Test Case ID: sIs7bS - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedNewsFeedEntryList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/news/?limit=0&offset=0&ordering=published' 2. Test Case ID: GnVcKy - 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: parameters `offset`, `limit` in query - violates `type` at /properties/offset (was integer, became string) - violates `type` at /properties/limit (was integer, became array) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/news/?offset=%C2%A6%C2%A5%02%C3%95%21%19&ordering=-author&limit=2.0844045987572047e-203&limit=%5B%27false%27%2C+%5B-129%2C+67873879%2C+%27%27%5D%2C+%27false%27%5D&limit=%5B%5D&limit=true&limit=true&limit=%F2%A7%95%AE&limit=%C3%99LMy%C3%A6%F4%88%84%8ED%C3%B4e&limit=&read=false' _____________________________ GET /api/news/{id}/ ______________________________ 1. Test Case ID: Gkzhmi - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/news/null%2Cnull/ _________________________ GET /api/notes-image-upload/ _________________________ 1. Test Case ID: GdTRzJ - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedNotesImageList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/notes-image-upload/?limit=0&offset=0&ordering=' 2. Test Case ID: Qr3GKC - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"FieldError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/notes-image-upload/","status_code":500}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/notes-image-upload/?offset=229&search=2%C2%AB%F2%A8%B6%8D%E4%9F%B34M%F2%B1%95%BE%C3%A9n%F1%AB%8C%97%F0%BB%89%82&limit=-304250263527210&ordering=%C3%88%11' 3. Test Case ID: ilOeqt - 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: parameters `offset`, `limit` in query - violates `type` at /properties/offset (was integer, became array) - violates `type` at /properties/limit (was integer, became boolean) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/notes-image-upload/?limit=true&offset=HJ-%F0%9F%90%B1%C3%AF%F2%AA%81%A7%EC%BF%99%C3%A2%C3%B80%C2%85%C2%B7b%C3%AA2&offset=e%C3%9FR%C2%A1%F3%A3%B7%A8%14%C3%A5%C2%BA&offset=%09&offset=%C2%8D.%C2%85%06%124%C3%9C%E3%AC%A2%F1%9F%B6%AA&offset=&offset=Ifk%C3%85%C2%89%3B%F0%9D%AC%86g%F4%83%93%BC%F2%B1%87%8DL%C2%91%C2%88%14%1E%C2%98U%F2%AB%86%A4%C2%89%F1%82%A5%9C%F0%B7%AE%BA&offset=w%21Z%F2%B3%B4%B8%C3%93I%F0%B3%8B%B2Slt&offset=vC7%C3%88%10&offset=false&offset=false&offset=true&offset=&offset=%E1%B9%B0%CC%BA%CC%BA%CC%95o%CD%9E+%CC%B7i%CC%B2%CC%AC%CD%87%CC%AA%CD%99n%CC%9D%CC%97%CD%95v%CC%9F%CC%9C%CC%98%CC%A6%CD%9Fo%CC%B6%CC%99%CC%B0%CC%A0k%C3%A8%CD%9A%CC%AE%CC%BA%CC%AA%CC%B9%CC%B1%CC%A4+%CC%96t%CC%9D%CD%95%CC%B3%CC%A3%CC%BB%CC%AA%CD%9Eh%CC%BC%CD%93%CC%B2%CC%A6%CC%B3%CC%98%CC%B2e%CD%87%CC%A3%CC%B0%CC%A6%CC%AC%CD%8E+%CC%A2%CC%BC%CC%BB%CC%B1%CC%98h%CD%9A%CD%8E%CD%99%CC%9C%CC%A3%CC%B2%CD%85i%CC%A6%CC%B2%CC%A3%CC%B0%CC%A4v%CC%BB%CD%8De%CC%BA%CC%AD%CC%B3%CC%AA%CC%B0-m%CC%A2i%CD%85n%CC%96%CC%BA%CC%9E%CC%B2%CC%AF%CC%B0d%CC%B5%CC%BC%CC%9F%CD%99%CC%A9%CC%BC%CC%98%CC%B3+%CC%9E%CC%A5%CC%B1%CC%B3%CC%ADr%CC%9B%CC%97%CC%98e%CD%99p%CD%A0r%CC%BC%CC%9E%CC%BB%CC%AD%CC%97e%CC%BA%CC%A0%CC%A3%CD%9Fs%CC%98%CD%87%CC%B3%CD%8D%CC%9D%CD%89e%CD%89%CC%A5%CC%AF%CC%9E%CC%B2%CD%9A%CC%AC%CD%9C%C7%B9%CC%AC%CD%8E%CD%8E%CC%9F%CC%96%CD%87%CC%A4t%CD%8D%CC%AC%CC%A4%CD%93%CC%BC%CC%AD%CD%98%CD%85i%CC%AA%CC%B1n%CD%A0g%CC%B4%CD%89+%CD%8F%CD%89%CD%85c%CC%AC%CC%9Fh%CD%A1a%CC%AB%CC%BB%CC%AF%CD%98o%CC%AB%CC%9F%CC%96%CD%8D%CC%99%CC%9D%CD%89s%CC%97%CC%A6%CC%B2.%CC%A8%CC%B9%CD%88%CC%A3&offset=%C3%89%C2%95%F0%BF%B1%9C%F2%93%B6%9B%60%F2%97%94%B5%C2%A6%F3%9A%8A%8F%2B%C3%8E%F3%8B%88%8A%F1%AA%8A%BC-&offset=Y%F0%B3%A2%96&offset=%C3%92.%7D%F3%90%8B%8Ar&offset=false&offset=A&offset=%F2%80%87%92e%EE%AD%96zx%F3%BA%A2%AE%23%285%05%C2%BC%C2%AE%1EV%C2%A4%F0%91%AD%AC%F3%8A%83%92%F1%BA%99%BC%C3%B0&offset=&offset=3893401266826040.0&offset=%7B%27%C3%8F%27%3A+%7B%27%27%3A+%27null%27%2C+%27%5CU0007b2b7G%27%3A+-1.7976931348623157e%2B308%7D%7D&offset=%5B%5B1.431076617811277e-218%2C+-42409355%2C+528159%5D%2C+%5B%27null%27%5D%2C+%7B%27%C3%BC%5Cx14%C3%9A%27%3A+5.074663632819229e%2B16%7D%5D&offset=%7B%27%F0%B0%8D%AF~%5Cx11%5CU0006191e%5CU00107998%5Cx9d%27%3A+%5B1.7976931348623157e%2B308%2C+%27false%27%2C+%27true%27%5D%2C+%27D%C3%99%F0%AD%83%82a%C3%A6%27%3A+%7B%7D%2C+%27%5Cx87%F0%A3%B5%AD%C3%AB%5Cue8f2%7D%C3%9D%C3%A8%5Cx93%5CU000c68e2%27%3A+%27%C3%87%5CU0004bb06%C2%B3%5C%5C%C3%B6%60%5Cx11%C3%88%27%7D&offset=%7B%7D&offset=1.1927859597334256e%2B66&offset=%7B%7D&offset=%5B%7B%7D%2C+%27null%27%5D&offset=%7B%27%C2%AEc%27%3A+192612%7D&offset=%7B%27%5Cx84%E8%96%8B%7D%C2%B2%C2%B6%5Cx90%24%5CU000ffee9yJ%C2%BB%5E%F0%AD%89%92%5Cx87%5Cx14%5CU00037bf7%27%3A+%5B%5D%2C+%27%5Cx89%5CU000d2057%F0%A4%97%BE%C3%9E%5CU0004deba%27%3A+%7B%22%27%22%3A+%27false%27%7D%2C+%27%3C%5Cx89%C3%94%C2%B2-%7D%C3%9D%5E%27%3A+%7B%27%27%3A+%27%27%2C+%27Z%7C%27%3A+1717676%2C+%27%5CU00094ba4%5CU000852c0%5Cx17%F0%91%AB%AF%C2%B5%27%3A+%27null%27%7D%7D&offset=m%F1%87%BB%88%F3%81%82%9D&offset=K&offset=%7B%27%C3%A0%27%3A+%27%27%2C+%27%5CU00051657%C3%BAX%5D%F0%AD%80%98%E5%AA%B9%5Cx96%5C%5C%C3%A2%5CU00041b6a%5Cx8b%27%3A+%27null%27%7D&offset=%7B%7D&offset=%7B%27%C3%91%C3%81%F0%92%BF%95%27%3A+%27null%27%7D&offset=true&offset=%5B%5D&offset=%5B%5D&offset=&offset=true&offset=115633297110008.0&offset=3.2005554708159807e%2B246' 4. Test Case ID: SJbljy - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `["Null characters are not allowed."]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/notes-image-upload/?offset=560&limit=145351&search=%F2%AF%96%B5%C2%AD%C2%84%00%F0%AC%A0%B2%C2%B83%C2%97%C2%BC%C3%93%C3%AF%F2%9C%B8%8A%F0%AE%96%9F' ___________________________ GET /api/notifications/ ____________________________ 1. Test Case ID: 4sMTiE - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedNotificationMessageList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/notifications/?category=&limit=0&offset=0&ordering=category&read=true' 2. Test Case ID: 3tqy76 - Response violates schema "2026-10-07 16:48" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/NotificationMessage/properties/creation: { "format": "date-time", "type": "string", "readOnly": true } Value: "2026-10-07 16:48" [200] OK: `{"count":1035,"next":"http://0.0.0.0:34609/api/notifications/?limit=330&offset=330","previous":null,"results":[{"pk":1,"target":{"name":"Error object (1)","model_name":"Error","model_type":"error","model_id":1,"link":"http://localhost:34609/admin/error_report/error/1/change/"},"source":{"name":"admin","model_name":"user","model_type":"user","model_id":1},"user":1,"category":"inventree.error_log","name":"Server Error","message":"An error has been logged by the server.","creation":"2026-10-07 16:48","age":159 // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/notifications/?offset=-26905364444990480&limit=330' _________________________ GET /api/notifications/{id}/ _________________________ 1. Test Case ID: ONcpxP - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/notifications/null%2Cnull/ 2. Test Case ID: g2MrZI - Response violates schema "2026-10-07 16:48" is not a "date-time" Validated against the response schema for status code 200. Schema at /properties/creation: { "format": "date-time", "type": "string", "readOnly": true } Value: "2026-10-07 16:48" [200] OK: `{"pk":1,"target":{"name":"Error object (1)","model_name":"Error","model_type":"error","model_id":1,"link":"http://localhost:34609/admin/error_report/error/1/change/"},"source":{"name":"admin","model_name":"user","model_type":"user","model_id":1},"user":1,"category":"inventree.error_log","name":"Server Error","message":"An error has been logged by the server.","creation":"2026-10-07 16:48","age":2011,"age_human":"33 minutes ago","read":false}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/notifications/1/ ________________________ GET /api/order/po-extra-line/ _________________________ 1. Test Case ID: Uk4uE0 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"order":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/po-extra-line/?limit=0&offset=0&order=0&order_detail=true&ordering=quantity' 2. Test Case ID: UUF4VC - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedPurchaseOrderExtraLineList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/po-extra-line/?limit=null&limit=null&search=' ______________________ GET /api/order/po-extra-line/{id}/ ______________________ 1. Test Case ID: vhwZ72 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/po-extra-line/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po-extra-line/null%2Cnull/ ___________________________ GET /api/order/po-line/ ____________________________ 1. Test Case ID: 2C6iSM - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"order":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."],"base_part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/po-line/?base_part=0&has_pricing=true&include_variants=true&limit=0&offset=0&order=0&order_complete=true&order_detail=true&order_status=0&ordering=MPN&part=0&part_detail=true&pending=true&received=true' 2. Test Case ID: hjTPDR - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedPurchaseOrderLineItemList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/po-line/?limit=null&limit=null&search=' 3. Test Case ID: XhV1ix - 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 `ordering` in query - violates `enum` at /properties/ordering [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/po-line/?limit=-480&ordering=%F1%90%85%B2%22%C3%9A%C2%A9%C3%87%05%F1%B8%B5%8D%C2%BD' _________________________ GET /api/order/po-line/{id}/ _________________________ 1. Test Case ID: 3i64Pi - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PurchaseOrderLineItem matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/po-line/0/?part_detail=null&part_detail=null' ______________________________ GET /api/order/po/ ______________________________ 1. Test Case ID: MaDKTe - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"supplier":["Select a valid choice. That choice is not one of the available choices."],"project_code":["Select a valid choice. That choice is not one of the available choices."],"assigned_to":["Select a valid choice. That choice is not one of the available choices."],"created_by":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."],"supplier_part":["Select a valid choice. That choice is not one of the // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/po/?assigned_to=0&assigned_to_me=true&completed_after=2000-01-01&completed_before=2000-01-01&created_after=2000-01-01&created_before=2000-01-01&created_by=0&external_build=0&has_project_code=true&has_start_date=true&has_target_date=true&limit=0&max_date=2000-01-01&min_date=2000-01-01&offset=0&ordering=creation_date&outstanding=true&overdue=true&part=0&project_code=0&reference=&search=&start_date_after=2000-01-01&start_date_before=2000-01-01&status=0&supplier=0&supplier_detail=true&supplier_part=0&tags=&target_date_after=2000-01-01&target_date_before=2000-01-01&updated_after=2000-01-01' 2. Test Case ID: 3CiLoU - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedPurchaseOrderList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/order/po/?limit=0' 3. Test Case ID: h7oBfi - 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 `limit` in query - violates `required` (was limit) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/order/po/?created_before=0558-01-15&min_date=0221-03-17&updated_after=2867-05-19' ___________________________ GET /api/order/po/{id}/ ____________________________ 1. Test Case ID: Ur0RUn - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PurchaseOrder matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/po/0/?supplier_detail=null&supplier_detail=null' ________________________ GET /api/order/ro-extra-line/ _________________________ 1. Test Case ID: aFT3S8 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"order":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/ro-extra-line/?limit=0&offset=0&order=0&order_detail=true&ordering=quantity' 2. Test Case ID: Ljvvbf - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedReturnOrderExtraLineList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/ro-extra-line/?limit=null&limit=null&search=' ______________________ GET /api/order/ro-extra-line/{id}/ ______________________ 1. Test Case ID: yBqN2c - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/ro-extra-line/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro-extra-line/null%2Cnull/ ___________________________ GET /api/order/ro-line/ ____________________________ 1. Test Case ID: KfYVRQ - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"order":["Select a valid choice. That choice is not one of the available choices."],"item":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/ro-line/?has_pricing=true&item=0&item_detail=true&limit=0&offset=0&order=0&order_detail=true&order_status=0&ordering=part&outcome=0&part_detail=true&received=true' 2. Test Case ID: bVD1mx - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedReturnOrderLineItemList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/ro-line/?limit=null&limit=null&search=' _________________________ GET /api/order/ro-line/{id}/ _________________________ 1. Test Case ID: LdmsNu - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No ReturnOrderLineItem matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/ro-line/0/?item_detail=true&order_detail=true' ______________________________ GET /api/order/ro/ ______________________________ 1. Test Case ID: KBr4KW - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"customer":["Select a valid choice. That choice is not one of the available choices."],"project_code":["Select a valid choice. That choice is not one of the available choices."],"assigned_to":["Select a valid choice. That choice is not one of the available choices."],"created_by":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/ro/?assigned_to=0&assigned_to_me=true&completed_after=2000-01-01&completed_before=2000-01-01&created_after=2000-01-01&created_before=2000-01-01&created_by=0&customer=0&customer_detail=true&has_project_code=true&has_start_date=true&has_target_date=true&include_variants=true&limit=0&max_date=2000-01-01&min_date=2000-01-01&offset=0&ordering=creation_date&outstanding=true&overdue=true&part=0&project_code=0&reference=&search=&start_date_after=2000-01-01&start_date_before=2000-01-01&status=0&tags=&target_date_after=2000-01-01&target_date_before=2000-01-01&updated_after=2000-01-01' 2. Test Case ID: ehRFlL - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedReturnOrderList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/order/ro/?limit=0' ___________________________ GET /api/order/ro/{id}/ ____________________________ 1. Test Case ID: r4FJ6C - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No ReturnOrder matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/ro/0/?customer_detail=null&customer_detail=null' ________________________ GET /api/order/so-allocation/ _________________________ 1. Test Case ID: yFQpYS - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"line":["Select a valid choice. That choice is not one of the available choices."],"item":["Select a valid choice. That choice is not one of the available choices."],"order":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."],"location":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/so-allocation/?assigned_to_shipment=true&customer_detail=true&include_variants=true&item=0&item_detail=true&limit=0&line=0&location=0&location_detail=true&offset=0&order=0&order_detail=true&ordering=quantity&outstanding=true&part=0&part_detail=true&search=' 2. Test Case ID: AQNAtM - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedSalesOrderAllocationList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/so-allocation/?assigned_to_shipment=true&customer_detail=true&include_variants=true&limit=0' ______________________ GET /api/order/so-allocation/{id}/ ______________________ 1. Test Case ID: RdkEi9 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so-allocation/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so-allocation/null%2Cnull/ ________________________ GET /api/order/so-extra-line/ _________________________ 1. Test Case ID: wcEIIk - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"order":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/so-extra-line/?limit=0&offset=0&order=0&order_detail=true&ordering=quantity' 2. Test Case ID: t1hAXM - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedSalesOrderExtraLineList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/so-extra-line/?limit=null&limit=null&search=' 3. Test Case ID: A0U0q4 - 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: parameters `offset`, `ordering`, `limit` in query - violates `type` at /properties/offset (was integer, became null) - violates `enum` at /properties/ordering - violates `type` at /properties/limit (was integer, became array) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/order/so-extra-line/?limit=false&offset=null&ordering=' ______________________ GET /api/order/so-extra-line/{id}/ ______________________ 1. Test Case ID: CMoCd4 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so-extra-line/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so-extra-line/null%2Cnull/ ___________________________ GET /api/order/so-line/ ____________________________ 1. Test Case ID: QfR3Gd - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"order":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/so-line/?allocated=true&completed=true&customer_detail=true&has_pricing=true&limit=0&offset=0&order=0&order_complete=true&order_detail=true&order_outstanding=true&order_status=0&ordering=customer&part=0&part_detail=true' 2. Test Case ID: JulXAW - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedSalesOrderLineItemList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/so-line/?allocated=true&completed=true&customer_detail=true&has_pricing=true&limit=0&offset=0' _________________________ GET /api/order/so-line/{id}/ _________________________ 1. Test Case ID: PApXsN - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No SalesOrderLineItem matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/so-line/0/?customer_detail=true&order_detail=true' ______________________________ GET /api/order/so/ ______________________________ 1. Test Case ID: nd47NV - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"customer":["Select a valid choice. That choice is not one of the available choices."],"project_code":["Select a valid choice. That choice is not one of the available choices."],"assigned_to":["Select a valid choice. That choice is not one of the available choices."],"created_by":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/so/?assigned_to=0&assigned_to_me=true&completed_after=2000-01-01&completed_before=2000-01-01&created_after=2000-01-01&created_before=2000-01-01&created_by=0&customer=0&customer_detail=true&has_project_code=true&has_start_date=true&has_target_date=true&include_variants=true&limit=0&max_date=2000-01-01&min_date=2000-01-01&offset=0&ordering=creation_date&outstanding=true&overdue=true&part=0&project_code=0&reference=&search=&start_date_after=2000-01-01&start_date_before=2000-01-01&status=0&tags=&target_date_after=2000-01-01&target_date_before=2000-01-01&updated_after=2000-01-01' 2. Test Case ID: bnDOXe - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedSalesOrderList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/order/so/?limit=0' _________________________ GET /api/order/so/shipment/ __________________________ 1. Test Case ID: KVgdVy - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"order":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/so/shipment/?checked=true&delivered=true&limit=0&offset=0&order=0&order_outstanding=true&order_status=0&ordering=reference&search=&shipped=true' 2. Test Case ID: el1cuL - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedSalesOrderShipmentList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/so/shipment/?checked=true&delivered=true&limit=0&offset=0' _______________________ GET /api/order/so/shipment/{id}/ _______________________ 1. Test Case ID: LzvNXx - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so/shipment/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so/shipment/null%2Cnull/ ___________________________ GET /api/order/so/{id}/ ____________________________ 1. Test Case ID: 3Cfps3 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No SalesOrder matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/so/0/?customer_detail=null&customer_detail=null' __________________ GET /api/order/transfer-order-allocation/ ___________________ 1. Test Case ID: CWPOwg - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"line":["Select a valid choice. That choice is not one of the available choices."],"item":["Select a valid choice. That choice is not one of the available choices."],"order":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."],"location":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/transfer-order-allocation/?include_variants=true&item=0&item_detail=true&limit=0&line=0&location=0&location_detail=true&offset=0&order=0&order_detail=true&ordering=quantity&outstanding=true&part=0&part_detail=true' 2. Test Case ID: jzZdMD - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedTransferOrderAllocationList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/transfer-order-allocation/?limit=null&limit=null&search=' 3. Test Case ID: r0UCcc - 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 `ordering` in query - violates `enum` at /properties/ordering [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/order/transfer-order-allocation/?limit=-218&ordering=%F0%BC%8A%8A%C3%BD%C3%A3%C2%9D%C2%88%F2%85%B5%85+%C3%B8' ________________ GET /api/order/transfer-order-allocation/{id}/ ________________ 1. Test Case ID: 0StrWH - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/transfer-order-allocation/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order-allocation/null%2Cnull/ _____________________ GET /api/order/transfer-order-line/ ______________________ 1. Test Case ID: 8BaZ2W - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"order":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/transfer-order-line/?allocated=true&completed=true&has_pricing=true&limit=0&offset=0&order=0&order_complete=true&order_detail=true&order_outstanding=true&order_status=0&ordering=order&part=0&part_detail=true' 2. Test Case ID: YbbRU3 - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/transfer-order-line/","status_code":500}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/transfer-order-line/?allocated=true&completed=true&has_pricing=true&limit=0&offset=0' 3. Test Case ID: vxezBI - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedTransferOrderLineItemList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/transfer-order-line/?allocated=true&completed=true&limit=0' 4. Test Case ID: S6hj5d - 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 `has_pricing` in query - violates `type` at /properties/has_pricing (was boolean, became number) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/transfer-order-line/?has_pricing=-1.7795614149416337e%2B308&limit=-645555812' ___________________ GET /api/order/transfer-order-line/{id}/ ___________________ 1. Test Case ID: mg72eu - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No TransferOrderLineItem matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/transfer-order-line/0/?part_detail=null&part_detail=null' ________________________ GET /api/order/transfer-order/ ________________________ 1. Test Case ID: WybgV7 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"project_code":["Select a valid choice. That choice is not one of the available choices."],"assigned_to":["Select a valid choice. That choice is not one of the available choices."],"created_by":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/transfer-order/?assigned_to=0&assigned_to_me=true&completed_after=2000-01-01&completed_before=2000-01-01&created_after=2000-01-01&created_before=2000-01-01&created_by=0&has_project_code=true&has_start_date=true&has_target_date=true&include_variants=true&limit=0&max_date=2000-01-01&min_date=2000-01-01&offset=0&ordering=creation_date&outstanding=true&overdue=true&part=0&project_code=0&reference=&search=&start_date_after=2000-01-01&start_date_before=2000-01-01&status=0&tags=&target_date_after=2000-01-01&target_date_before=2000-01-01&updated_after=2000-01-01' 2. Test Case ID: HCZ3bd - Response violates schema [{"address":null,"address_detail":null,"barcode_hash":"","complete_date":null,"completed_lines":0,"consume":false,"contact":null,"contact_detail":null,"created_by":{"email":"admin@example.com","first_name":"","last_name":"","pk":1,"username":"admin"},"creation_date":"2026-10-07","description":"","destination":null,"destination_detail":null,"issue_date":null,"line_items":0,"link":"","overdue":false,"pk":7,"project_code":null,"project_code_detail":null,"project_code_label":null,"reference":"TO-0007","responsible":null,"responsible_detail":null,"start_date":null,"status":10,"status_custom_key":null,"status_text":"Pending","take_from":null,"take_from_detail":null,"target_date":null},{"address":null,"address_detail":null,"barcode_hash":"","complete_date":null,"completed_lines":0,"consume":false,"contact":null,"contact_detail":null,"created_by":{"email":"admin@example.com","first_name":"","last_name":"","pk":1,"username":"admin"},"creation_date":"2026-10-07","description":"","destination":null,"destination_detail":null,"issue_date":null,"line_items":0,"link":"","overdue":false,"pk":6,"project_code":null,"project_code_detail":null,"project_code_label":null,"reference":"TO-0006","responsible":null,"responsible_detail":null,"start_date":null,"status":10,"status_custom_key":null,"status_text":"Pending","take_from":null,"take_from_detail":null,"target_date":null},{"address":null,"address_detail":null,"barcode_hash":"","complete_date":null,"completed_lines":0,"consume":false,"contact":null,"contact_detail":null,"created_by":{"email":"admin@example.com","first_name":"","last_name":"","pk":1,"username":"admin"},"creation_date":"2026-10-07","description":"","destination":null,"destination_detail":null,"issue_date":null,"line_items":0,"link":"","overdue":false,"pk":5,"project_code":null,"project_code_detail":null,"project_code_label":null,"reference":"TO-0005","responsible":null,"responsible_detail":null,"start_date":null,"status":10,"status_custom_key":null,"status_text":"Pending","take_from":null,"take_from_detail":null,"target_date":null},{"address":null,"address_detail":null,"barcode_hash":"","complete_date":null,"completed_lines":0,"consume":false,"contact":null,"contact_detail":null,"created_by":{"email":"admin@example.com","first_name":"","last_name":"","pk":1,"username":"admin"},"creation_date":"2026-10-07","description":"","destination":null,"destination_detail":null,"issue_date":null,"line_items":0,"link":"","overdue":false,"pk":4,"project_code":null,"project_code_detail":null,"project_code_label":null,"reference":"TO-0004","responsible":null,"responsible_detail":null,"start_date":null,"status":10,"status_custom_key":null,"status_text":"Pending","take_from":null,"take_from_detail":null,"target_date":null},{"address":null,"address_detail":null,"barcode_hash":"","complete_date":null,"completed_lines":0,"consume":false,"contact":null,"contact_detail":null,"created_by":{"email":"admin@example.com","first_name":"","last_name":"","pk":1,"username":"admin"},"creation_date":"2026-10-07","description":"","destination":null,"destination_detail":null,"issue_date":null,"line_items":0,"link":"","overdue":false,"pk":3,"project_code":null,"project_code_detail":null,"project_code_label":null,"reference":"TO-0003","responsible":null,"responsible_detail":null,"start_date":null,"status":10,"status_custom_key":null,"status_text":"Pending","take_from":null,"take_from_detail":null,"target_date":null},{"address":null,"address_detail":null,"barcode_hash":"","complete_date":null,"completed_lines":0,"consume":false,"contact":null,"contact_detail":null,"created_by":{"email":"admin@example.com","first_name":"","last_name":"","pk":1,"username":"admin"},"creation_date":"2026-10-07","description":"","destination":null,"destination_detail":null,"issue_date":null,"line_items":0,"link":"","overdue":false,"pk":2,"project_code":null,"project_code_detail":null,"project_code_label":null,"reference":"TO-0002","responsible":null,"responsible_detail":null,"start_date":null,"status":10,"status_custom_key":null,"status_text":"Pending","take_from":null,"take_from_detail":null,"target_date":null},{"address":null,"address_detail":null,"barcode_hash":"","complete_date":null,"completed_lines":0,"consume":false,"contact":null,"contact_detail":null,"created_by":{"email":"admin@example.com","first_name":"","last_name":"","pk":1,"username":"admin"},"creation_date":"2026-10-07","description":"","destination":null,"destination_detail":null,"issue_date":null,"line_items":0,"link":"","overdue":false,"pk":1,"project_code":null,"project_code_detail":null,"project_code_label":null,"reference":"TO-0001","responsible":null,"responsible_detail":null,"start_date":null,"status":10,"status_custom_key":null,"status_text":"Pending","take_from":null,"take_from_detail":null,"target_date":null}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedTransferOrderList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [ { "address": null, "address_detail": null, "barcode_hash": "", "complete_date": null, "completed_lines": 0, "consume": false, "contact": null, "contact_detail": null, "created_by": { "email": "admin@example.com", "first_name": "", "last_name": "", "pk": 1, "username": "admin" }, "creation_date": "2026-10-07", "description": "", // Output truncated... ] [200] OK: `[{"pk":7,"created_by":{"pk":1,"username":"admin","first_name":"","last_name":"","email":"admin@example.com"},"creation_date":"2026-10-07","issue_date":null,"start_date":null,"target_date":null,"description":"","line_items":0,"completed_lines":0,"link":"","project_code":null,"reference":"TO-0007","responsible":null,"contact":null,"address":null,"status":10,"status_text":"Pending","status_custom_key":null,"barcode_hash":"","overdue":false,"address_detail":null,"contact_detail":null,"project_code_detail":null, // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/order/transfer-order/?limit=0' _____________________ GET /api/order/transfer-order/{id}/ ______________________ 1. Test Case ID: n6hwjx - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/transfer-order/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order/null%2Cnull/ 2. Test Case ID: noC5Bj - Response violates schema "" is not a "uri" Validated against the response schema for status code 200. Schema at /components/schemas/TransferOrder/properties/link: { "format": "uri", "type": "string", "description": "Link to external page", "maxLength": 2000 } Value: "" [200] OK: `{"pk":1,"created_by":{"pk":1,"username":"admin","first_name":"","last_name":"","email":"admin@example.com"},"creation_date":"2026-10-07","issue_date":null,"start_date":null,"target_date":null,"description":"","line_items":0,"completed_lines":0,"link":"","project_code":null,"reference":"TO-0001","responsible":null,"contact":null,"address":null,"status":40,"status_text":"Cancelled","status_custom_key":null,"notes":null,"barcode_hash":"","overdue":false,"address_detail":null,"contact_detail":null,"project_code // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order/1/ _____________________________ GET /api/parameter/ ______________________________ 1. Test Case ID: uJX8iw - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"template":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/parameter/?enabled=true&limit=0&model_id=0&model_type=&offset=0&ordering=name&search=&template=0' 2. Test Case ID: XbgIRT - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedParameterList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/parameter/?enabled=true&limit=0&model_id=0&model_type=&offset=0&ordering=name&search=' _________________________ GET /api/parameter/template/ _________________________ 1. Test Case ID: mc5C4h - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"exists_for_model":["Invalid model type provided - unable to determine content type"]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/parameter/template/?checkbox=true&enabled=true&exists_for_model=&exists_for_model_id=0&exists_for_related_model=&exists_for_related_model_id=0&for_model=&has_choices=true&has_units=true&limit=0&model_type=&name=&offset=0&ordering=name&search=' 2. Test Case ID: YOqbqv - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedParameterTemplateList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/parameter/template/?checkbox=true&enabled=true&exists_for_model=&limit=0' 3. Test Case ID: vIyVj4 - 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 `limit` in query - violates `required` (was limit) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/parameter/template/?has_units=true' ______________________ GET /api/parameter/template/{id}/ _______________________ 1. Test Case ID: dOnEcH - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/parameter/template/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/parameter/template/null%2Cnull/ ___________________________ GET /api/parameter/{id}/ ___________________________ 1. Test Case ID: kRjIso - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/parameter/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/parameter/null%2Cnull/ ________________________________ GET /api/part/ ________________________________ 1. Test Case ID: 8qfJAs - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"revision_of":["Select a valid choice. That choice is not one of the available choices."],"convert_from":["Select a valid choice. That choice is not one of the available choices."],"exclude_tree":["Select a valid choice. That choice is not one of the available choices."],"ancestor":["Select a valid choice. That choice is not one of the available choices."],"variant_of":["Select a valid choice. That choice is not one of the available choices."],"in_bom_for":["Select a valid choice. That choice is not one of // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/?exclude_id=0&IPN=&IPN_regex=&active=true&ancestor=0&assembly=true&bom_valid=true&cascade=true&category=0&category_detail=true&component=true&convert_from=0&created_after=2000-01-01&created_before=2000-01-01&default_location=0&depleted_stock=true&exclude_related=0&exclude_tree=0&has_ipn=true&has_pricing=true&has_revisions=true&has_stock=true&has_units=true&high_stock=true&in_bom_for=0&is_revision=true&is_template=true&is_variant=true&limit=0&location_detail=true&locked=true&low_stock=true&name_regex=&offset=0&ordering=id¶meters=true&path_detail=true&price_breaks=true&purchaseable=true&related=0&revision_of=0&salable=true&search=&starred=true&stock_to_build=true&tags=true&testable=true&trackable=true&unallocated_stock=true&variant_of=0' 2. Test Case ID: U9ipNI - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedPartList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/part/?limit=0' ___________________________ GET /api/part/category/ ____________________________ 1. Test Case ID: xVEtaV - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"parent":["Select a valid choice. That choice is not one of the available choices."],"exclude_tree":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/category/?cascade=true&depth=0&exclude_tree=0&limit=0&name=&offset=0&ordering=name&parent=0&path_detail=true&search=&starred=true&structural=true' 2. Test Case ID: 6Kp4if - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedCategoryList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/category/?cascade=true&depth=0&limit=0' 3. Test Case ID: IYmMEa - 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 `ordering` in query - violates `enum` at /properties/ordering [200] OK: `{"count":0,"next":null,"previous":null,"results":[]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/part/category/?search=%F1%A4%BC%98u%C3%9C%C2%A5%C3%B8%C2%BAR&ordering=%C2%88%C3%A6%C2%9F%F1%B8%95%83%C2%92&limit=778258&top_level=false' ______________________ GET /api/part/category/parameters/ ______________________ 1. Test Case ID: QMCCyi - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedCategoryParameterTemplateList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] - 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 `limit` in query - limit: Incorrect type [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/category/parameters/?limit=null&limit=null' ___________________ GET /api/part/category/parameters/{id}/ ____________________ 1. Test Case ID: GPneVr - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/category/parameters/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/category/parameters/null%2Cnull/ _________________________ GET /api/part/category/tree/ _________________________ 1. Test Case ID: ZjgbE3 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"parent":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/category/tree/?level=0&limit=0&max_level=0&offset=0&ordering=level&parent=0&search=' 2. Test Case ID: 9nG7yv - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedCategoryTreeList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/category/tree/?level=0&limit=0&max_level=0&offset=0&ordering=level' _________________________ GET /api/part/category/{id}/ _________________________ 1. Test Case ID: MKXOLO - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PartCategory matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/category/0/?path_detail=null&path_detail=null' ________________________ GET /api/part/internal-price/ _________________________ 1. Test Case ID: wA2FjX - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/internal-price/?limit=0&offset=0&ordering=quantity&part=0' 2. Test Case ID: s5kxXV - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedPartInternalPriceList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/internal-price/?limit=0&offset=0&ordering=quantity' 3. Test Case ID: 1b8PeI - 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 `ordering` in query - violates `enum` at /properties/ordering [200] OK: `{"count":0,"next":null,"previous":null,"results":[]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/part/internal-price/?limit=9936&ordering=%7D' ______________________ GET /api/part/internal-price/{id}/ ______________________ 1. Test Case ID: b22mNm - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/internal-price/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/internal-price/null%2Cnull/ ____________________________ GET /api/part/related/ ____________________________ 1. Test Case ID: azdOAu - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"part_1":["Select a valid choice. That choice is not one of the available choices."],"part_2":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/related/?limit=0&offset=0&ordering=&part=0&part_1=0&part_2=0' 2. Test Case ID: fl2cfc - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedPartRelationList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/related/?limit=0&offset=0&ordering=' 3. Test Case ID: ipbiMu - 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: parameters `offset`, `limit` in query - violates `type` at /properties/offset (was integer, became string) - violates `type` at /properties/limit (was integer, became string) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/part/related/?limit=%C3%9C%C3%A1&offset=i%5B' _________________________ GET /api/part/related/{id}/ __________________________ 1. Test Case ID: KAB1l9 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/related/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/related/null%2Cnull/ __________________________ GET /api/part/sale-price/ ___________________________ 1. Test Case ID: 4MoVDg - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/sale-price/?limit=0&offset=0&ordering=quantity&part=0' 2. Test Case ID: 4e1Wac - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedPartSalePriceList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/sale-price/?limit=0&offset=0&ordering=quantity' 3. Test Case ID: Tm7twe - 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 `limit` in query - violates `type` at /properties/limit (was integer, became object) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/part/sale-price/?limit=E%F1%9E%A3%88%C3%90%F1%AB%93%A9%F2%AC%93%AB%40s%60S%3E&limit=L&limit=%C2%B8%5D%3B~%C3%84&limit=1U%1FT%F0%B2%A1%BA%1F%F3%9E%A0%AB%3C&limit=%04%12&limit=%16' ________________________ GET /api/part/sale-price/{id}/ ________________________ 1. Test Case ID: vJOofq - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/sale-price/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/sale-price/null%2Cnull/ ___________________________ GET /api/part/stocktake/ ___________________________ 1. Test Case ID: XOrG25 - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedPartStocktakeList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/stocktake/?limit=0&offset=0&ordering=part' 2. Test Case ID: EKL0fS - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/stocktake/?limit=0&part=null&part=null' 3. Test Case ID: RXLARF - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/stocktake/?limit=0&part=0' 4. Test Case ID: kH4rYo - 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 `offset` in query - violates `type` at /properties/offset (was integer, became string) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/stocktake/?limit=-572745005&offset=' ________________________ GET /api/part/stocktake/{id}/ _________________________ 1. Test Case ID: QIZcNN - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/stocktake/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/stocktake/null%2Cnull/ _________________________ GET /api/part/test-template/ _________________________ 1. Test Case ID: 4gq4tl - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/test-template/?enabled=true&has_results=true&key=%5BFiltered%5D&limit=0&offset=0&ordering=enabled&part=0&required=true&requires_attachment=true&requires_value=true' 2. Test Case ID: vzlBmh - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedPartTestTemplateList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/test-template/?enabled=true&has_results=true&key=%5BFiltered%5D&limit=0&offset=0&ordering=enabled' 3. Test Case ID: J4cK5u - 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 `limit` in query - violates `required` (was limit) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/part/test-template/?has_results=false' ______________________ GET /api/part/test-template/{id}/ _______________________ 1. Test Case ID: A27frq - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/test-template/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/test-template/null%2Cnull/ ____________________________ GET /api/part/thumbs/ _____________________________ 1. Test Case ID: iH0u4x - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedPartThumbList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/thumbs/?limit=null&limit=null&search=' 2. Test Case ID: H5M8zj - 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 `limit` in query - limit: Incorrect type [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/thumbs/?limit=null&limit=null' __________________________ GET /api/part/thumbs/{id}/ __________________________ 1. Test Case ID: NlaFre - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/thumbs/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/thumbs/null%2Cnull/ _____________________________ GET /api/part/{id}/ ______________________________ 1. Test Case ID: qipStk - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No Part matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/0/?category_detail=true&location_detail=true¶meters=true&path_detail=true&price_breaks=true' 2. Test Case ID: jS2uwB - Response violates schema (2 violations) "2026-10-07 17:24" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/Part/properties/pricing_updated: { "anyOf": [ { "type": "string", "format": "date-time", "readOnly": true }, { "type": "null" } ] } Value: "2026-10-07 17:24" "category_name" is a required property Validated against the response schema for status code 200. Schema at /components/schemas/Part: { "required": [ "barcode_hash", "category_name", "full_name", "name", "pk", "starred", "thumbnail" ], "type": "object", "description": "Serializer for complete detail information of a part.\n\n... "properties": { "active": { "type": "boolean", "description": "Is this part active?" }, "assembly": { "type": "boolean", // Output truncated... } Value: { "IPN": "", "active": true, "allocated_to_build_orders": 0.0, "allocated_to_sales_orders": 0.0, "assembly": false, "barcode_hash": "", "building": 0.0, "category": null, "category_default_location": null, "component": true, "creation_date": "2026-10-07", "creation_user": 1, "default_expiry": 0, "default_location": null, "description": "", "external_stock": 0.0, "full_name": "00000000000000000000000000000000000000000000000000000000000... "image": null, // Output truncated... } [200] OK: `{"active":true,"assembly":false,"barcode_hash":"","category":null,"component":true,"creation_date":"2026-10-07","creation_user":1,"default_expiry":0,"default_location":null,"description":"","full_name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","image":null,"IPN":"","is_template":false,"keywords":null,"link":null,"locked":false,"minimum_stock":0.0,"maximum_stock":0.0,"name":"000000000000000000000000000000000000000000000000000000000000000000000000000 // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/part/1/ 3. Test Case ID: Yx60ts - 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 `path_detail` in query - violates `type` at /properties/path_detail (was boolean, became integer) [200] OK: `{"active":true,"assembly":false,"barcode_hash":"","category":null,"component":true,"creation_date":"2026-10-07","creation_user":1,"default_expiry":0,"default_location":null,"description":"","full_name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","image":null,"IPN":"","is_template":false,"keywords":null,"link":null,"locked":false,"minimum_stock":0.0,"maximum_stock":0.0,"name":"000000000000000000000000000000000000000000000000000000000000000000000000000 // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/1/?parameters=true&price_breaks=true&category_detail=true&tags=false&path_detail=-699048533095698' _______________________ GET /api/part/{id}/bom-validate/ _______________________ 1. Test Case ID: Y02CEv - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/null,null/bom-validate/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/null%2Cnull/bom-validate/ _________________________ GET /api/part/{id}/pricing/ __________________________ 1. Test Case ID: X1acHX - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/null,null/pricing/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/null%2Cnull/pricing/ 2. Test Case ID: 6bJicm - Response violates schema "2026-10-07 17:24" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /properties/updated: { "anyOf": [ { "type": "string", "format": "date-time", "readOnly": true }, { "type": "null" } ] } Value: "2026-10-07 17:24" [200] OK: `{"currency":"USD","updated":"2026-10-07 17:24","scheduled_for_update":false,"bom_cost_min":null,"bom_cost_max":null,"purchase_cost_min":null,"purchase_cost_max":null,"internal_cost_min":null,"internal_cost_max":null,"supplier_price_min":null,"supplier_price_max":null,"variant_cost_min":null,"variant_cost_max":null,"override_min":null,"override_min_currency":"USD","override_max":null,"override_max_currency":"USD","overall_min":null,"overall_max":null,"sale_price_min":null,"sale_price_max":null,"sale_history_ // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/part/1/pricing/ _______________________ GET /api/part/{id}/requirements/ _______________________ 1. Test Case ID: vzjB9u - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/null,null/requirements/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/null%2Cnull/requirements/ ______________________ GET /api/part/{id}/serial-numbers/ ______________________ 1. Test Case ID: vPOnZz - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/null,null/serial-numbers/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/null%2Cnull/serial-numbers/ ______________________________ GET /api/plugins/ _______________________________ 1. Test Case ID: a5qT8U - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedPluginConfigList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/plugins/?active=true&builtin=true&installed=true&limit=0&mandatory=true&mixin=&offset=0&ordering=key&sample=true' 2. Test Case ID: 76JdVc - 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: parameters `offset`, `sample`, `mandatory` in query - violates `type` at /properties/offset (was integer, became string) - violates `type` at /properties/sample (was boolean, became null) - violates `type` at /properties/mandatory (was boolean, became string) [200] OK: `{"count":0,"next":null,"previous":null,"results":[]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/plugins/?ordering=-key&builtin=false&active=false&mixin=%C3%91w%C3%8CR%C3%88%F4%85%95%9A%C2%96%F3%98%80%82%C3%AA%C3%B8%C3%81%C2%86%5Cz&search=%5E%07%13%C2%81&mandatory=%29%C3%BD%C3%83%297%12%C3%AF&installed=false&sample=null&limit=121&offset=%26%F3%8B%87%82%F0%AB%89%91p%23%7C' __________________________ GET /api/plugins/settings/ __________________________ 1. Test Case ID: ElQQRi - Response violates schema [{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances","key":"SHORT_BARCODE_PREFIX","model_filters":null,"model_name":null,"name":"Short Barcode Prefix","pk":1,"plugin":"inventreebarcode","read_only":false,"required":false,"typ":"plugin","type":"string","units":"","value":"INV-"}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedPluginSettingList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [ { "api_url": null, "choices": [], "confirm": false, "confirm_text": "", "description": "Customize the prefix used for short barcodes, may be ... "key": "SHORT_BARCODE_PREFIX", "model_filters": null, "model_name": null, "name": "Short Barcode Prefix", "pk": 1, "plugin": "inventreebarcode", "read_only": false, "required": false, "typ": "plugin", "type": "string", "units": "", "value": "INV-" // Output truncated... ] [200] OK: `[{"pk":1,"key":"SHORT_BARCODE_PREFIX","value":"INV-","name":"Short Barcode Prefix","description":"Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances","type":"string","choices":[],"model_name":null,"model_filters":null,"api_url":null,"typ":"plugin","units":"","required":false,"confirm":false,"confirm_text":"","plugin":"inventreebarcode","read_only":false}]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/plugins/settings/?limit=0&offset=0&plugin__active=true' 2. Test Case ID: SHSX4h - Response violates schema null is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PluginSetting/properties/model_filters: { "type": "object", "additionalProperties": {}, "readOnly": true } Value: null [200] OK: `{"count":2,"next":null,"previous":null,"results":[{"pk":1,"key":"SHORT_BARCODE_PREFIX","value":"INV-","name":"Short Barcode Prefix","description":"Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances","type":"string","choices":[],"model_name":null,"model_filters":null,"api_url":null,"typ":"plugin","units":"","required":false,"confirm":false,"confirm_text":"","plugin":"inventreebarcode","read_only":false},{"pk":2,"key":"INTERNAL_BARCODE_FORMAT","value // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/plugins/settings/?limit=532682' 3. Test Case ID: 4YycIh - 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: parameters `offset`, `limit` in query - violates `type` at /properties/offset (was integer, became object) - violates `type` at /properties/limit (was integer, became array) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/plugins/settings/?limit=%C2%95%062s%F3%BE%B6%A0&plugin__key=%5BFiltered%5D&offset=W6%F2%B2%86%B28%C3%9B%5D%13&offset=&offset=%F0%9F%81%98%F0%AF%82%B6P&plugin__active=false' __________________________ GET /api/plugins/{plugin}/ __________________________ 1. Test Case ID: ade8yT - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PluginConfig matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/plugins/0/ _______________________ GET /api/plugins/{plugin}/admin/ _______________________ 1. Test Case ID: EjMltv - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PluginConfig matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/plugins/0/admin/ _____________________ GET /api/plugins/{plugin}/settings/ ______________________ 1. Test Case ID: sZzVQu - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Plugin '0' not installed"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/plugins/0/settings/ 2. Test Case ID: zC7VHX - Response violates schema null is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PluginSetting/properties/model_filters: { "type": "object", "additionalProperties": {}, "readOnly": true } Value: null [200] OK: `[{"pk":2,"key":"INTERNAL_BARCODE_FORMAT","value":"short","name":"Internal Barcode Format","description":"Select an internal barcode format","type":"string","choices":[{"value":"json","display_name":"JSON barcodes (human readable)"},{"value":"short","display_name":"Short barcodes (space optimized)"}],"model_name":null,"model_filters":null,"api_url":null,"typ":"plugin","units":"","required":false,"confirm":false,"confirm_text":"","plugin":"inventreebarcode","read_only":false},{"pk":1,"key":"SHORT_BARCODE_PREF // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/plugins/inventreebarcode/settings/ __________________ GET /api/plugins/{plugin}/settings/{key}/ ___________________ 1. Test Case ID: 8QBuky - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/plugins/0/settings/%C2%84/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/plugins/0/settings/%C2%84/ ___________________ GET /api/plugins/{plugin}/user-settings/ ___________________ 1. Test Case ID: 6tE9kL - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Plugin '0' not installed"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/plugins/0/user-settings/ ________________ GET /api/plugins/{plugin}/user-settings/{key}/ ________________ 1. Test Case ID: Ul1bur - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/plugins/0/user-settings/%C2%84/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/plugins/0/user-settings/%C2%84/ ____________________________ GET /api/project-code/ ____________________________ 1. Test Case ID: AWSB7U - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedProjectCodeList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/project-code/?limit=0&offset=0&ordering=code' 2. Test Case ID: 7UYjCD - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"IntegrityError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/project-code/","status_code":500}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/project-code/?limit=405897104389745016832' 3. Test Case ID: T1BoKc - 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: parameters `offset`, `ordering` in query - violates `type` at /properties/offset (was integer, became object) - violates `enum` at /properties/ordering [200] OK: `{"count":5,"next":null,"previous":null,"results":[{"pk":1,"code":"È","description":"","responsible":null,"responsible_detail":null},{"pk":2,"code":"0","description":"","responsible":null,"responsible_detail":null},{"pk":3,"code":"n◃F𓒺£Ù§Ì򺂱","description":"","responsible":null,"responsible_detail":null},{"pk":4,"code":"â¨ý󪧸Nܤ¾\"","description":"","responsible":null,"responsible_detail":null},{"pk":5,"code":"³{ÿ\\󘼥yâsu©#v","description":"","responsible":null,"responsible_detail":null}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/project-code/?offset=&limit=24076&ordering=M%C3%B4%C3%AC%18%F4%82%87%84%23%044' _________________________ GET /api/project-code/{id}/ __________________________ 1. Test Case ID: 5hn4hT - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/project-code/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/project-code/null%2Cnull/ ____________________________ GET /api/report/asset/ ____________________________ 1. Test Case ID: 1ZsL4k - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedReportAssetList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] - 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 `limit` in query - limit: Incorrect type [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/report/asset/?limit=null&limit=null' _________________________ GET /api/report/asset/{id}/ __________________________ 1. Test Case ID: avaYKG - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/report/asset/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/report/asset/null%2Cnull/ ___________________________ GET /api/report/snippet/ ___________________________ 1. Test Case ID: EO9LJJ - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedReportSnippetList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] - 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 `limit` in query - limit: Incorrect type [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/report/snippet/?limit=null&limit=null' ________________________ GET /api/report/snippet/{id}/ _________________________ 1. Test Case ID: 8fWZFI - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/report/snippet/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/report/snippet/null%2Cnull/ __________________________ GET /api/report/template/ ___________________________ 1. Test Case ID: Z09a9H - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedReportTemplateList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/report/template/?attach_to_model=true&enabled=true&items=&landscape=true&limit=0&merge=true&model_type=&offset=0&ordering=name' 2. Test Case ID: rwvRyV - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"model_type":["Select a valid choice. – is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/report/template/?ordering=-name&enabled=false&limit=-2718&model_type=%C2%96&attach_to_model=false' 3. Test Case ID: POY1rV - Response violates schema (2 violations) "/media/report/report/inventree_bill_of_materials_report.html" is not a "uri" Validated against the response schema for status code 200. Schema at /components/schemas/ReportTemplate/properties/template: { "format": "uri", "type": "string" } Value: "/media/report/report/inventree_bill_of_materials_report.html" "2026-10-07 16:46" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/ReportTemplate/properties/updated: { "anyOf": [ { "type": "string", "format": "date-time", "description": "Timestamp of last update" }, { "type": "null" } ] } Value: "2026-10-07 16:46" [200] OK: `{"count":10,"next":null,"previous":null,"results":[{"pk":1,"name":"InvenTree Bill of Materials","description":"Sample bill of materials report","model_type":"part","template":"/media/report/report/inventree_bill_of_materials_report.html","filters":"","filename_pattern":"output.pdf","enabled":true,"revision":2,"attach_to_model":false,"updated":"2026-10-07 16:46","updated_by":null,"updated_by_detail":null,"page_size":"A4","landscape":false,"merge":false},{"pk":2,"name":"InvenTree Build Order","description":"S // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/report/template/?items=%F3%97%9F%93%1AW%C3%84&limit=34164469392788252' 4. Test Case ID: xBhlEi - 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: parameters `landscape`, `ordering` in query - violates `type` at /properties/landscape (was boolean, became number) - violates `enum` at /properties/ordering [200] OK: `[{"pk":1,"name":"InvenTree Bill of Materials","description":"Sample bill of materials report","model_type":"part","template":"/media/report/report/inventree_bill_of_materials_report.html","filters":"","filename_pattern":"output.pdf","enabled":true,"revision":2,"attach_to_model":false,"updated":"2026-10-07 16:46","updated_by":null,"updated_by_detail":null,"page_size":"A4","landscape":false,"merge":false},{"pk":2,"name":"InvenTree Build Order","description":"Sample build order report","model_type":"build","te // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/report/template/?landscape=-1.7976931348623157e%2B308&limit=0&ordering=' ________________________ GET /api/report/template/{id}/ ________________________ 1. Test Case ID: qKkTjc - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/report/template/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/report/template/null%2Cnull/ 2. Test Case ID: hW6bDz - Response violates schema (2 violations) "/media/report/report/inventree_bill_of_materials_report.html" is not a "uri" Validated against the response schema for status code 200. Schema at /components/schemas/ReportTemplate/properties/template: { "format": "uri", "type": "string" } Value: "/media/report/report/inventree_bill_of_materials_report.html" "2026-10-07 16:46" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/ReportTemplate/properties/updated: { "anyOf": [ { "type": "string", "format": "date-time", "description": "Timestamp of last update" }, { "type": "null" } ] } Value: "2026-10-07 16:46" [200] OK: `{"pk":1,"name":"InvenTree Bill of Materials","description":"Sample bill of materials report","model_type":"part","template":"/media/report/report/inventree_bill_of_materials_report.html","filters":"","filename_pattern":"output.pdf","enabled":true,"revision":2,"attach_to_model":false,"updated":"2026-10-07 16:46","updated_by":null,"updated_by_detail":null,"page_size":"A4","landscape":false,"merge":false}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/report/template/1/ _____________________________ GET /api/selection/ ______________________________ 1. Test Case ID: 8SSWTe - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedSelectionListList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] - 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 `limit` in query - limit: Incorrect type [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/selection/?limit=null&limit=null' 2. Test Case ID: 5kqTJd - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"IntegrityError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/selection/","status_code":500}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/selection/?offset=-225&limit=537046403488110449000448' ___________________________ GET /api/selection/{id}/ ___________________________ 1. Test Case ID: kup8p3 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/selection/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/selection/null%2Cnull/ 2. Test Case ID: Me6Otw - Response violates schema (2 violations) "2026-10-07 17:09" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/SelectionList/properties/created: { "format": "date-time", "type": "string", "readOnly": true, "description": "Date and time that the selection list was created" } Value: "2026-10-07 17:09" "2026-10-07 17:24" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/SelectionList/properties/last_updated: { "format": "date-time", "type": "string", "readOnly": true, "description": "Date and time that the selection list was last updated" } Value: "2026-10-07 17:24" [200] OK: `{"pk":1,"name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","description":"","active":true,"locked":false,"source_plugin":null,"source_string":"","default":null,"created":"2026-10-07 17:09","last_updated":"2026-10-07 17:24","entry_count":0,"choices":[]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/selection/1/ ________________________ GET /api/selection/{id}/entry/ ________________________ 1. Test Case ID: 8BEXxp - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"list":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/selection/0/entry/?active=true&limit=0&list=0&offset=0&ordering=list&search=' 2. Test Case ID: e5DlWR - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedSelectionEntryList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/selection/0/entry/?limit=null&limit=null&value=' ___________________ GET /api/selection/{id}/entry/{entrypk}/ ___________________ 1. Test Case ID: jYScp2 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/selection/null,null/entry/0/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/selection/null%2Cnull/entry/0/ __________________________ GET /api/settings/global/ ___________________________ 1. Test Case ID: 9SJJO2 - Response violates schema [{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Required pattern for generating Build Order reference field","key":"BUILDORDER_REFERENCE_PATTERN","model_name":null,"name":"Build Order Reference Pattern","pk":1,"read_only":false,"typ":"inventree","type":"string","units":"","value":"BO-{ref:04d}"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Required pattern for generating Sales Order reference field","key":"SALESORDER_REFERENCE_PATTERN","model_name":null,"name":"Sales Order Reference Pattern","pk":2,"read_only":false,"typ":"inventree","type":"string","units":"","value":"SO-{ref:04d}"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Required pattern for generating Purchase Order reference field","key":"PURCHASEORDER_REFERENCE_PATTERN","model_name":null,"name":"Purchase Order Reference Pattern","pk":3,"read_only":false,"typ":"inventree","type":"string","units":"","value":"PO-{ref:04d}"},{"api_url":null,"choices":[{"display_name":"AUD - Australian Dollar","value":"AUD"},{"display_name":"CAD - Canadian Dollar","value":"CAD"},{"display_name":"CNY - Chinese Yuan","value":"CNY"},{"display_name":"EUR - Euro","value":"EUR"},{"display_name":"GBP - British Pound","value":"GBP"},{"display_name":"JPY - Japanese Yen","value":"JPY"},{"display_name":"NZD - New Zealand Dollar","value":"NZD"},{"display_name":"USD - US Dollar","value":"USD"}],"confirm":false,"confirm_text":"","description":"Select base currency for pricing calculations","key":"INVENTREE_DEFAULT_CURRENCY","model_name":null,"name":"Default Currency","pk":4,"read_only":false,"typ":"inventree","type":"string","units":"","value":"USD"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable plugins to respond to internal events","key":"ENABLE_PLUGINS_EVENTS","model_name":null,"name":"Enable event integration","pk":5,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable plugins to run scheduled tasks","key":"ENABLE_PLUGINS_SCHEDULE","model_name":null,"name":"Enable schedule integration","pk":8,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable plugins to add URL routes","key":"ENABLE_PLUGINS_URL","model_name":null,"name":"Enable URL integration","pk":9,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display Users full names instead of usernames","key":"DISPLAY_FULL_NAMES","model_name":null,"name":"Display Users full names","pk":12,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"A setting has been changed which requires a server restart","key":"SERVER_RESTART_REQUIRED","model_name":null,"name":"Restart required","pk":13,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Use the instance name in the title-bar","key":"INVENTREE_INSTANCE_TITLE","model_name":null,"name":"Use instance name","pk":15,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Parts are templates by default","key":"PART_TEMPLATE","model_name":null,"name":"Template","pk":16,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Parts can be assembled from other components by default","key":"PART_ASSEMBLY","model_name":null,"name":"Assembly","pk":17,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Parts can be used as sub-components by default","key":"PART_COMPONENT","model_name":null,"name":"Component","pk":18,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Parts are trackable by default","key":"PART_TRACKABLE","model_name":null,"name":"Trackable","pk":19,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Parts are purchaseable by default","key":"PART_PURCHASEABLE","model_name":null,"name":"Purchaseable","pk":20,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Parts are salable by default","key":"PART_SALABLE","model_name":null,"name":"Salable","pk":21,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Parts are virtual by default","key":"PART_VIRTUAL","model_name":null,"name":"Virtual","pk":22,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Template for generating default batch codes for stock items","key":"STOCK_BATCH_CODE_TEMPLATE","model_name":null,"name":"Batch Code Template","pk":23,"read_only":false,"typ":"inventree","type":"string","units":"","value":""},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Determines default behavior when a stock item is depleted","key":"STOCK_DELETE_DEPLETED_DEFAULT","model_name":null,"name":"Delete Depleted Stock","pk":24,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Require schema specification when validating URLs","key":"INVENTREE_STRICT_URLS","model_name":null,"name":"Strict URL Validation","pk":25,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"A responsible owner must be assigned to each order","key":"RETURNORDER_REQUIRE_RESPONSIBLE","model_name":null,"name":"Require Responsible Owner","pk":27,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"A responsible owner must be assigned to each order","key":"SALESORDER_REQUIRE_RESPONSIBLE","model_name":null,"name":"Require Responsible Owner","pk":28,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"A responsible owner must be assigned to each order","key":"TRANSFERORDER_REQUIRE_RESPONSIBLE","model_name":null,"name":"Require Responsible Owner","pk":29,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Number of days stock items are considered stale before expiring","key":"STOCK_STALE_DAYS","model_name":null,"name":"Stock Stale Time","pk":30,"read_only":false,"typ":"inventree","type":"integer","units":"days","value":0},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Announce the instance ID of the server in the server status info (unauthenticated)","key":"INVENTREE_ANNOUNCE_ID","model_name":null,"name":"Announce ID","pk":31,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"String descriptor for the server instance","key":"INVENTREE_INSTANCE","model_name":null,"name":"Server Instance Name","pk":32,"read_only":false,"typ":"inventree","type":"string","units":"","value":"InvenTree"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable self-registration via SSO for users on the login pages","key":"LOGIN_ENABLE_SSO_REG","model_name":null,"name":"Enable SSO registration","pk":33,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable self-registration for users on the login pages","key":"LOGIN_ENABLE_REG","model_name":null,"name":"Enable registration","pk":34,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable password forgot function on the login pages","key":"LOGIN_ENABLE_PWD_FORGOT","model_name":null,"name":"Enable password forgot","pk":35,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable plugins to integrate into the user interface","key":"ENABLE_PLUGINS_INTERFACE","model_name":null,"name":"Enable interface integration","pk":36,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"If available, internal prices override price range calculations","key":"PART_BOM_USE_INTERNAL_PRICE","model_name":null,"name":"Internal Price Override","pk":37,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Delete stocktake entries older than the specified number of days","key":"STOCKTAKE_DELETE_OLD_ENTRIES","model_name":null,"name":"Delete Old Stocktake Entries","pk":38,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Specify number of days between automated backup events","key":"INVENTREE_BACKUP_DAYS","model_name":null,"name":"Auto Backup Interval","pk":39,"read_only":false,"typ":"inventree","type":"integer","units":"days","value":1},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable transfer order functionality in the user interface","key":"TRANSFERORDER_ENABLED","model_name":null,"name":"Enable Transfer Orders","pk":40,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display installed stock items in stock tables","key":"STOCK_SHOW_INSTALLED_ITEMS","model_name":null,"name":"Show Installed Stock Items","pk":41,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"List of supported currency codes","key":"CURRENCY_CODES","model_name":null,"name":"Supported Currencies","pk":42,"read_only":false,"typ":"inventree","type":"string","units":"","value":"AUD,CAD,CNY,EUR,GBP,JPY,NZD,USD"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Automatically mark purchase orders as complete when all line items are received","key":"PURCHASEORDER_AUTO_COMPLETE","model_name":null,"name":"Auto Complete Purchase Orders","pk":43,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Copy parameter data by default when duplicating a part","key":"PART_COPY_PARAMETERS","model_name":null,"name":"Copy Part Parameter Data","pk":44,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow creation of initial supplier data when adding a new part","key":"PART_CREATE_SUPPLIER","model_name":null,"name":"Initial Supplier Data","pk":45,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow changing the IPN value while editing a part","key":"PART_ALLOW_EDIT_IPN","model_name":null,"name":"Allow Editing IPN","pk":46,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Prevent build outputs from being completed until all required tests pass","key":"PREVENT_BUILD_COMPLETION_HAVING_INCOMPLETED_TESTS","model_name":null,"name":"Block Until Tests Pass","pk":47,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow deletion of stock items which have a serial number","key":"STOCK_ALLOW_DELETE_SERIALIZED","model_name":null,"name":"Delete Serialized Stock","pk":48,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[{"display_name":"InvenTree Barcodes","value":"inventreebarcode"}],"confirm":false,"confirm_text":"","description":"Plugin to use for internal barcode data generation","key":"BARCODE_GENERATION_PLUGIN","model_name":null,"name":"Barcode Generation Plugin","pk":49,"read_only":false,"typ":"inventree","type":"string","units":"","value":"inventreebarcode"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable periodic ping task of registered machines to check their status","key":"MACHINE_PING_ENABLED","model_name":null,"name":"Enable Machine Ping","pk":50,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Require an external build order when ordering assembled parts from an external supplier","key":"BUILDORDER_EXTERNAL_REQUIRED","model_name":null,"name":"Require External Build Orders","pk":51,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow fetching of remote URLs when generating reports","key":"REPORT_FETCH_URLS","model_name":null,"name":"Report URL Fetching","pk":52,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Show a warning banner in the UI when logged in as superuser","key":"INVENTREE_SHOW_SUPERUSER_BANNER","model_name":null,"name":"Show superuser banner","pk":53,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow barcode scanning via webcam in browser","key":"BARCODE_WEBCAM_SUPPORT","model_name":null,"name":"Barcode Webcam Support","pk":54,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Delete stock tracking entries older than the specified number of days","key":"STOCK_TRACKING_DELETE_OLD_ENTRIES","model_name":null,"name":"Delete Old Stock Tracking Entries","pk":55,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[{"display_name":"A4","value":"A4"},{"display_name":"A3","value":"A3"},{"display_name":"Legal","value":"Legal"},{"display_name":"Letter","value":"Letter"}],"confirm":false,"confirm_text":"","description":"Default page size for PDF reports","key":"REPORT_DEFAULT_PAGE_SIZE","model_name":null,"name":"Page Size","pk":56,"read_only":false,"typ":"inventree","type":"string","units":"","value":"A4"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Log errors which occur when generating reports","key":"REPORT_LOG_ERRORS","model_name":null,"name":"Log Report Errors","pk":57,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues","key":"SSO_REMOVE_GROUPS","model_name":null,"name":"Remove groups outside of SSO","pk":58,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Part category default icon (empty means no icon)","key":"PART_CATEGORY_DEFAULT_ICON","model_name":null,"name":"Part Category Default Icon","pk":59,"read_only":false,"typ":"inventree","type":"string","units":"","value":""},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable ownership control over stock locations and items","key":"STOCK_OWNERSHIP_CONTROL","model_name":null,"name":"Stock Ownership Control","pk":60,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable functionality for recording historical stock levels and value","key":"STOCKTAKE_ENABLE","model_name":null,"name":"Enable Stocktake","pk":61,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable SSO on the login pages","key":"LOGIN_ENABLE_SSO","model_name":null,"name":"Enable SSO","pk":62,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Prevent completion of shipments until items have been checked","key":"SALESORDER_SHIPMENT_REQUIRES_CHECK","model_name":null,"name":"Shipment Requires Checking","pk":63,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Exclude stock items older than this number of days from pricing calculations","key":"PRICING_STOCK_ITEM_AGE_DAYS","model_name":null,"name":"Stock Item Pricing Age","pk":64,"read_only":false,"typ":"inventree","type":"integer","units":"days","value":0},{"api_url":null,"choices":[{"display_name":"Sunday","value":"0"},{"display_name":"Monday","value":"1"},{"display_name":"Tuesday","value":"2"},{"display_name":"Wednesday","value":"3"},{"display_name":"Thursday","value":"4"},{"display_name":"Friday","value":"5"},{"display_name":"Saturday","value":"6"}],"confirm":false,"confirm_text":"","description":"Starting day of the week, for display in calendar views","key":"WEEK_STARTS_ON","model_name":null,"name":"Week Starts On","pk":65,"read_only":false,"typ":"inventree","type":"string","units":"","value":"1"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Error logs will be deleted after specified number of days","key":"INVENTREE_DELETE_ERRORS_DAYS","model_name":null,"name":"Error Log Deletion Interval","pk":66,"read_only":false,"typ":"inventree","type":"integer","units":"days","value":30},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable plugins to add apps","key":"ENABLE_PLUGINS_APP","model_name":null,"name":"Enable app integration","pk":67,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable plugins to process outgoing/incoming mails","key":"ENABLE_PLUGINS_MAILS","model_name":null,"name":"Enable mail integration","pk":68,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Automatically update part pricing when internal data changes","key":"PRICING_AUTO_UPDATE","model_name":null,"name":"Auto Update Pricing","pk":69,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created.","key":"SSO_GROUP_MAP","model_name":null,"name":"SSO group map","pk":70,"read_only":false,"typ":"inventree","type":"string","units":"","value":"{}"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display Users Profiles on their profile page","key":"DISPLAY_PROFILE_INFO","model_name":null,"name":"Display User Profiles","pk":71,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Internal company name","key":"INVENTREE_COMPANY_NAME","model_name":null,"name":"Company name","pk":72,"read_only":false,"typ":"inventree","type":"string","units":"","value":"My company name"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"If units are provided, parameter values must match the specified units","key":"PARAMETER_ENFORCE_UNITS","model_name":null,"name":"Enforce Parameter Units","pk":73,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status","key":"SALESORDER_SHIP_COMPLETE","model_name":null,"name":"Mark Shipped Orders as Complete","pk":74,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Prevent build order completion until all child orders are closed","key":"BUILDORDER_REQUIRE_CLOSED_CHILDS","model_name":null,"name":"Require Closed Child Orders","pk":75,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Generate reports in debug mode (HTML output)","key":"REPORT_DEBUG_MODE","model_name":null,"name":"Debug Mode","pk":76,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Use pricing from manually entered stock data for pricing calculations","key":"PRICING_USE_STOCK_PRICING","model_name":null,"name":"Use Stock Item Pricing","pk":77,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Number of months into the future to display in calendar views","key":"CALENDAR_HORIZON_MONTHS","model_name":null,"name":"Calendar Horizon","pk":78,"read_only":false,"typ":"inventree","type":"integer","units":"months","value":12},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Regular expression pattern for matching Part IPN","key":"PART_IPN_REGEX","model_name":null,"name":"IPN Regex","pk":79,"read_only":false,"typ":"inventree","type":"string","units":"","value":""},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Include supplier price breaks in overall pricing calculations","key":"PRICING_USE_SUPPLIER_PRICING","model_name":null,"name":"Use Supplier Pricing","pk":80,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Installed stock items must exist in the BOM for the parent part","key":"STOCK_ENFORCE_BOM_INSTALLATION","model_name":null,"name":"Check BOM when installing items","pk":81,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Base URL for server instance","key":"INVENTREE_BASE_URL","model_name":null,"name":"Base URL","pk":82,"read_only":true,"typ":"inventree","type":"string","units":"","value":"http://localhost:34609"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Historical purchase order pricing overrides supplier price breaks","key":"PRICING_PURCHASE_HISTORY_OVERRIDES_SUPPLIER","model_name":null,"name":"Purchase History Override","pk":83,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"How often to check for updates (set to zero to disable)","key":"INVENTREE_UPDATE_CHECK_INTERVAL","model_name":null,"name":"Update Check Interval","pk":84,"read_only":false,"typ":"inventree","type":"integer","units":"days","value":7},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"The name of the groups claim attribute provided by the IdP","key":"SSO_GROUP_KEY","model_name":null,"name":"SSO group key","pk":85,"read_only":false,"typ":"inventree","type":"string","units":"","value":"groups"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow editing of purchase orders after they have been shipped or completed","key":"PURCHASEORDER_EDIT_COMPLETED_ORDERS","model_name":null,"name":"Edit Completed Purchase Orders","pk":86,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Maximum number of barcode scan results to store","key":"BARCODE_RESULTS_MAX_NUM","model_name":null,"name":"Barcode Scans Maximum Count","pk":87,"read_only":false,"typ":"inventree","type":"integer","units":"","value":100},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Copy category parameter templates when creating a part","key":"PART_CATEGORY_PARAMETERS","model_name":null,"name":"Copy Category Parameter Templates","pk":88,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Check that all plugins are installed on startup - enable in container environments","key":"PLUGIN_ON_STARTUP","model_name":null,"name":"Check plugins on startup","pk":89,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Include variant pricing in overall pricing calculations","key":"PRICING_USE_VARIANT_PRICING","model_name":null,"name":"Use Variant Pricing","pk":90,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Prevent build order creation for inactive parts","key":"BUILDORDER_REQUIRE_ACTIVE_PART","model_name":null,"name":"Require Active Part","pk":91,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display barcode data in browser as text","key":"BARCODE_SHOW_TEXT","model_name":null,"name":"Barcode Show Data","pk":92,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable stock expiry functionality","key":"STOCK_ENABLE_EXPIRY","model_name":null,"name":"Stock Expiry","pk":93,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"User notifications will be deleted after specified number of days","key":"INVENTREE_DELETE_NOTIFICATIONS_DAYS","model_name":null,"name":"Notification Deletion Interval","pk":94,"read_only":false,"typ":"inventree","type":"integer","units":"days","value":30},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable label printing from the web interface","key":"LABEL_ENABLE","model_name":null,"name":"Enable label printing","pk":95,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow creation of initial stock when adding a new part","key":"PART_CREATE_INITIAL","model_name":null,"name":"Initial Stock Data","pk":96,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Maximum allowable upload size for images and files","key":"INVENTREE_UPLOAD_MAX_SIZE","model_name":null,"name":"Upload Size Limit","pk":97,"read_only":false,"typ":"inventree","type":"integer","units":"MB","value":10},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"A responsible owner must be assigned to each order","key":"PURCHASEORDER_REQUIRE_RESPONSIBLE","model_name":null,"name":"Require Responsible Owner","pk":98,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Require user to supply mail on signup","key":"LOGIN_MAIL_REQUIRED","model_name":null,"name":"Email required","pk":99,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable project codes for tracking projects","key":"PROJECT_CODES_ENABLED","model_name":null,"name":"Enable project codes","pk":100,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[{"display_name":"No plugin","value":""},{"display_name":"InvenTree Currency Exchange","value":"inventreecurrencyexchange"}],"confirm":false,"confirm_text":"","description":"Currency update plugin to use","key":"CURRENCY_UPDATE_PLUGIN","model_name":null,"name":"Currency Update Plugin","pk":101,"read_only":false,"typ":"inventree","type":"string","units":"","value":"inventreecurrencyexchange"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Email messages will be deleted after specified number of days","key":"INVENTREE_DELETE_EMAIL_DAYS","model_name":null,"name":"Email Deletion Interval","pk":102,"read_only":false,"typ":"inventree","type":"integer","units":"days","value":30},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow building with expired stock","key":"STOCK_ALLOW_EXPIRED_BUILD","model_name":null,"name":"Build Expired Stock","pk":103,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable generation of reports","key":"REPORT_ENABLE","model_name":null,"name":"Enable Reports","pk":104,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Show the `about` modal only to superusers","key":"INVENTREE_RESTRICT_ABOUT","model_name":null,"name":"Restrict showing `about`","pk":105,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":true,"confirm_text":"Enabling this setting will require all users to set up multifactor authentication. All sessions will be disconnected immediately.","description":"Users must use multifactor security.","key":"LOGIN_ENFORCE_MFA","model_name":null,"name":"Enforce MFA","pk":106,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[{"display_name":"No group","value":""},{"display_name":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","value":"1"},{"display_name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","value":"2"}],"confirm":false,"confirm_text":"","description":"Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP.","key":"SIGNUP_GROUP","model_name":null,"name":"Group on signup","pk":107,"read_only":false,"typ":"inventree","type":"string","units":"","value":""},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display related parts for a part","key":"PART_SHOW_RELATED","model_name":null,"name":"Show related parts","pk":108,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Stock tracking entries will be deleted after specified number of days","key":"STOCK_TRACKING_DELETE_DAYS","model_name":null,"name":"Stock Tracking Deletion Interval","pk":109,"read_only":false,"typ":"inventree","type":"integer","units":"days","value":365},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Convert item value to base currency when receiving stock","key":"PURCHASEORDER_CONVERT_CURRENCY","model_name":null,"name":"Convert Currency","pk":110,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Required pattern for generating Return Order reference field","key":"RETURNORDER_REFERENCE_PATTERN","model_name":null,"name":"Return Order Reference Pattern","pk":111,"read_only":false,"typ":"inventree","type":"string","units":"","value":"RMA-{ref:04d}"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Format to display the part name","key":"PART_NAME_FORMAT","model_name":null,"name":"Part Name Display Format","pk":112,"read_only":false,"typ":"inventree","type":"string","units":"","value":"{{ part.IPN if part.IPN }}{{ ' | ' if part.IPN }}{{ part.name }}{{ ' | ' if part.revision }}{{ part.revision if part.revision }}"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity","key":"PART_BOM_ALLOW_ZERO_QUANTITY","model_name":null,"name":"Allow BOM Zero Quantity","pk":113,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow sale of expired stock","key":"STOCK_ALLOW_EXPIRED_SALE","model_name":null,"name":"Sell Expired Stock","pk":114,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow multiple parts to share the same IPN","key":"PART_ALLOW_DUPLICATE_IPN","model_name":null,"name":"Allow Duplicate IPN","pk":115,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"DPI resolution when generating image files to supply to label printing plugins","key":"LABEL_DPI","model_name":null,"name":"Label Image DPI","pk":116,"read_only":false,"typ":"inventree","type":"integer","units":"","value":300},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Number of days between automatic stocktake recording","key":"STOCKTAKE_AUTO_DAYS","model_name":null,"name":"Automatic Stocktake Period","pk":117,"read_only":false,"typ":"inventree","type":"integer","units":"days","value":7},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable revision field for Part","key":"PART_ENABLE_REVISION","model_name":null,"name":"Part Revisions","pk":118,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Automatically fill out user-details from SSO account-data","key":"LOGIN_SIGNUP_SSO_AUTO","model_name":null,"name":"Auto-fill SSO users","pk":119,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable external build order functionality","key":"BUILDORDER_EXTERNAL_BUILDS","model_name":null,"name":"External Build Orders","pk":120,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable plugins to integrate into navigation","key":"ENABLE_PLUGINS_NAVIGATION","model_name":null,"name":"Enable navigation integration","pk":121,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"On signup ask users twice for their mail","key":"LOGIN_SIGNUP_MAIL_TWICE","model_name":null,"name":"Mail twice","pk":122,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Barcode input processing delay time","key":"BARCODE_INPUT_DELAY","model_name":null,"name":"Barcode Input Delay","pk":123,"read_only":false,"typ":"inventree","type":"integer","units":"ms","value":50},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Copy test data by default when duplicating a part","key":"PART_COPY_TESTS","model_name":null,"name":"Copy Part Test Data","pk":124,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Unique identifier for this InvenTree instance","key":"INVENTREE_INSTANCE_ID","model_name":null,"name":"Instance ID","pk":125,"read_only":false,"typ":"inventree","type":"string","units":"","value":"badfc096-d005-497c-8069-15b000eb4a78"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Background task results will be deleted after specified number of days","key":"INVENTREE_DELETE_TASKS_DAYS","model_name":null,"name":"Task Deletion Interval","pk":126,"read_only":false,"typ":"inventree","type":"integer","units":"days","value":30},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Stocktake entries will be deleted after specified number of days","key":"STOCKTAKE_DELETE_DAYS","model_name":null,"name":"Stocktake Deletion Interval","pk":127,"read_only":false,"typ":"inventree","type":"integer","units":"days","value":365},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable locking of parts to prevent modification","key":"PART_ENABLE_LOCKING","model_name":null,"name":"Part Locking","pk":128,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Only use active variant parts for calculating variant pricing","key":"PRICING_ACTIVE_VARIANTS","model_name":null,"name":"Active Variants Only","pk":129,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Minimum number of decimal places to display when rendering pricing data","key":"PRICING_DECIMAL_PLACES_MIN","model_name":null,"name":"Minimum Pricing Decimal Places","pk":130,"read_only":false,"typ":"inventree","type":"integer","units":"","value":0},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow deletion of parts which are used in an assembly","key":"PART_ALLOW_DELETE_FROM_ASSEMBLY","model_name":null,"name":"Allow Deletion from Assembly","pk":131,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Serial numbers for stock items must be globally unique","key":"SERIAL_NUMBER_GLOBALLY_UNIQUE","model_name":null,"name":"Globally Unique Serials","pk":132,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Stock location default icon (empty means no icon)","key":"STOCK_LOCATION_DEFAULT_ICON","model_name":null,"name":"Stock Location Default Icon","pk":133,"read_only":false,"typ":"inventree","type":"string","units":"","value":""},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Copy BOM data by default when duplicating a part","key":"PART_COPY_BOM","model_name":null,"name":"Copy Part BOM Data","pk":134,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Prevent build order creation unless BOM has been validated","key":"BUILDORDER_REQUIRE_VALID_BOM","model_name":null,"name":"Require Valid BOM","pk":135,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Exclude stock items in external locations from stocktake calculations","key":"STOCKTAKE_EXCLUDE_EXTERNAL","model_name":null,"name":"Exclude External Locations","pk":136,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Number of days before part pricing is automatically updated","key":"PRICING_UPDATE_DAYS","model_name":null,"name":"Pricing Rebuild Interval","pk":137,"read_only":false,"typ":"inventree","type":"integer","units":"days","value":30},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable barcode scanner support in the web interface","key":"BARCODE_ENABLE","model_name":null,"name":"Barcode Support","pk":138,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Show a warning banner in the UI when logged in as admin","key":"INVENTREE_SHOW_ADMIN_BANNER","model_name":null,"name":"Show admin banner","pk":139,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow editing of return orders after they have been completed","key":"RETURNORDER_EDIT_COMPLETED_ORDERS","model_name":null,"name":"Edit Completed Return Orders","pk":140,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow editing of sales orders after they have been shipped or completed","key":"SALESORDER_EDIT_COMPLETED_ORDERS","model_name":null,"name":"Edit Completed Sales Orders","pk":141,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable periodic checks for updates to installed plugins","key":"PLUGIN_UPDATE_CHECK","model_name":null,"name":"Check for plugin updates","pk":142,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable automatic backup of database and media files","key":"INVENTREE_BACKUP_ENABLE","model_name":null,"name":"Automatic Backup","pk":143,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"A responsible owner must be assigned to each order","key":"BUILDORDER_REQUIRE_RESPONSIBLE","model_name":null,"name":"Require Responsible Owner","pk":144,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable test station data collection for test results","key":"TEST_STATION_DATA","model_name":null,"name":"Enable Test Station Data","pk":145,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Store barcode scan results in the database","key":"BARCODE_STORE_RESULTS","model_name":null,"name":"Store Barcode Results","pk":146,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"On signup ask users twice for their password","key":"LOGIN_SIGNUP_PWD_TWICE","model_name":null,"name":"Password twice","pk":147,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable synchronizing InvenTree groups with groups provided by the IdP","key":"LOGIN_ENABLE_SSO_GROUP_SYNC","model_name":null,"name":"Enable SSO group sync","pk":148,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Maximum number of decimal places to display when rendering pricing data","key":"PRICING_DECIMAL_PLACES","model_name":null,"name":"Maximum Pricing Decimal Places","pk":149,"read_only":false,"typ":"inventree","type":"integer","units":"","value":6},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable internal prices for parts","key":"PART_INTERNAL_PRICE","model_name":null,"name":"Internal Prices","pk":150,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable creation of default shipment with sales orders","key":"SALESORDER_DEFAULT_SHIPMENT","model_name":null,"name":"Sales Order Default Shipment","pk":151,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow stock items which are not in stock to be transferred between stock locations","key":"STOCK_ALLOW_OUT_OF_STOCK_TRANSFER","model_name":null,"name":"Allow Out of Stock Transfer","pk":152,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Prevent deletion of email log entries","key":"INVENTREE_PROTECT_EMAIL_LOG","model_name":null,"name":"Protect Email Log","pk":153,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Only allow revisions for assembly parts","key":"PART_REVISION_ASSEMBLY_ONLY","model_name":null,"name":"Assembly Revision Only","pk":154,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Required pattern for generating Transfer Order reference field","key":"TRANSFERORDER_REFERENCE_PATTERN","model_name":null,"name":"Transfer Order Reference Pattern","pk":155,"read_only":false,"typ":"inventree","type":"string","units":"","value":"TO-{ref:04d}"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Restrict signup to certain domains (comma-separated, starting with @)","key":"LOGIN_SIGNUP_MAIL_RESTRICTION","model_name":null,"name":"Allowed domains","pk":156,"read_only":false,"typ":"inventree","type":"string","units":"","value":""},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable return order functionality in the user interface","key":"RETURNORDER_ENABLED","model_name":null,"name":"Enable Return Orders","pk":157,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow editing of serial number for stock items","key":"STOCK_ALLOW_EDIT_SERIAL","model_name":null,"name":"Allow Edit Serial Number","pk":158,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Prevent allocation of stock items to sales orders if required item tests are incomplete","key":"SALESORDER_BLOCK_INCOMPLETE_ITEM_TESTS","model_name":null,"name":"Block Incomplete Item Tests","pk":159,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"How often to update exchange rates (set to zero to disable)","key":"CURRENCY_UPDATE_INTERVAL","model_name":null,"name":"Currency Update Interval","pk":160,"read_only":false,"typ":"inventree","type":"integer","units":"days","value":1},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Prevent build order creation for unlocked parts","key":"BUILDORDER_REQUIRE_LOCKED_PART","model_name":null,"name":"Require Locked Part","pk":161,"read_only":false,"typ":"inventree","type":"boolean","units":"","value":false}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedGlobalSettingsList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [ { "api_url": null, "choices": [], "confirm": false, "confirm_text": "", "description": "Required pattern for generating Build Order reference... "key": "BUILDORDER_REFERENCE_PATTERN", "model_name": null, "name": "Build Order Reference Pattern", "pk": 1, "read_only": false, "typ": "inventree", "type": "string", "units": "", "value": "BO-{ref:04d}" }, { "api_url": null, // Output truncated... ] [200] OK: `[{"pk":1,"key":"BUILDORDER_REFERENCE_PATTERN","value":"BO-{ref:04d}","name":"Build Order Reference Pattern","description":"Required pattern for generating Build Order reference field","type":"string","units":"","choices":[],"model_name":null,"api_url":null,"typ":"inventree","read_only":false,"confirm":false,"confirm_text":""},{"pk":2,"key":"SALESORDER_REFERENCE_PATTERN","value":"SO-{ref:04d}","name":"Sales Order Reference Pattern","description":"Required pattern for generating Sales Order reference field"," // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/settings/global/?limit=0&offset=0&ordering=pk' 2. Test Case ID: l0AIKK - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"FieldError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/settings/global/","status_code":500}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/settings/global/?search=E%C3%A9K%C2%9D%F1%B6%86%B0&ordering=name&limit=672&offset=-1119' 3. Test Case ID: XqtD4s - 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 `offset` in query - violates `type` at /properties/offset (was integer, became array) [200] OK: `[{"pk":1,"key":"BUILDORDER_REFERENCE_PATTERN","value":"BO-{ref:04d}","name":"Build Order Reference Pattern","description":"Required pattern for generating Build Order reference field","type":"string","units":"","choices":[],"model_name":null,"api_url":null,"typ":"inventree","read_only":false,"confirm":false,"confirm_text":""},{"pk":2,"key":"SALESORDER_REFERENCE_PATTERN","value":"SO-{ref:04d}","name":"Sales Order Reference Pattern","description":"Required pattern for generating Sales Order reference field"," // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/settings/global/?limit=-115&offset=%F0%9D%95%8B%F0%9D%95%99%F0%9D%95%96+%F0%9D%95%A2%F0%9D%95%A6%F0%9D%95%9A%F0%9D%95%94%F0%9D%95%9C+%F0%9D%95%93%F0%9D%95%A3%F0%9D%95%A0%F0%9D%95%A8%F0%9D%95%9F+%F0%9D%95%97%F0%9D%95%A0%F0%9D%95%A9+%F0%9D%95%9B%F0%9D%95%A6%F0%9D%95%9E%F0%9D%95%A1%F0%9D%95%A4+%F0%9D%95%A0%F0%9D%95%A7%F0%9D%95%96%F0%9D%95%A3+%F0%9D%95%A5%F0%9D%95%99%F0%9D%95%96+%F0%9D%95%9D%F0%9D%95%92%F0%9D%95%AB%F0%9D%95%AA+%F0%9D%95%95%F0%9D%95%A0%F0%9D%95%98&offset=%C3%92%7B&offset=&offset=false&offset=%28%C2%84%60Xu%10%3C%C2%9E&offset=w&offset=true&offset=true' 4. Test Case ID: Eg5nKy - Response violates schema false is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/GlobalSettings/properties/value: { "anyOf": [ { "type": "string" }, { "type": "null" } ] } Value: false [200] OK: `{"count":155,"next":null,"previous":null,"results":[{"pk":1,"key":"BUILDORDER_REFERENCE_PATTERN","value":"BO-{ref:04d}","name":"Build Order Reference Pattern","description":"Required pattern for generating Build Order reference field","type":"string","units":"","choices":[],"model_name":null,"api_url":null,"typ":"inventree","read_only":false,"confirm":false,"confirm_text":""},{"pk":2,"key":"SALESORDER_REFERENCE_PATTERN","value":"SO-{ref:04d}","name":"Sales Order Reference Pattern","description":"Required pa // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/settings/global/?limit=2509317' _______________________ GET /api/settings/global/{key}/ ________________________ 1. Test Case ID: MWmxnE - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/settings/global/%C2%84/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/settings/global/%C2%84/ 2. Test Case ID: nhrHTv - Response violates schema false is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /properties/value: { "anyOf": [ { "type": "string" }, { "type": "null" } ] } Value: false [200] OK: `{"pk":8,"key":"ENABLE_PLUGINS_SCHEDULE","value":false,"name":"Enable schedule integration","description":"Enable plugins to run scheduled tasks","type":"boolean","units":"","choices":[],"model_name":null,"api_url":null,"typ":"inventree","read_only":false,"confirm":false,"confirm_text":""}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/settings/global/ENABLE_PLUGINS_SCHEDULE/ ___________________________ GET /api/settings/user/ ____________________________ 1. Test Case ID: MVGxvt - Response violates schema [{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Receive notifications for system errors","key":"NOTIFICATION_ERROR_REPORT","model_name":null,"name":"Receive error reports","pk":1,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Save the last used printing machines for a user","key":"LAST_USED_PRINTING_MACHINES","model_name":null,"name":"Last used printing machines","pk":2,"typ":"user","type":"string","units":"","user":1,"value":""},{"api_url":null,"choices":[{"display_name":"2022-02-22","value":"YYYY-MM-DD"},{"display_name":"2022/22/22","value":"YYYY/MM/DD"},{"display_name":"22-02-2022","value":"DD-MM-YYYY"},{"display_name":"22/02/2022","value":"DD/MM/YYYY"},{"display_name":"02-22-2022","value":"MM-DD-YYYY"},{"display_name":"02/22/2022","value":"MM/DD/YYYY"},{"display_name":"Feb 22 2022","value":"MMM DD YYYY"}],"confirm":false,"confirm_text":"","description":"Preferred format for displaying dates","key":"DATE_DISPLAY_FORMAT","model_name":null,"name":"Date Format","pk":3,"typ":"user","type":"string","units":"","user":1,"value":"YYYY-MM-DD"},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable regular expressions in search queries","key":"SEARCH_REGEX","model_name":null,"name":"Regex Search","pk":4,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Disabled: The full location path is displayed as a hover tooltip. Enabled: The full location path is displayed as plain text.","key":"SHOW_FULL_LOCATION_IN_TABLES","model_name":null,"name":"Show full stock location in tables","pk":5,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display stock locations in search preview window","key":"SEARCH_PREVIEW_SHOW_LOCATIONS","model_name":null,"name":"Search Locations","pk":6,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display supplier parts in search preview window","key":"SEARCH_PREVIEW_SHOW_SUPPLIER_PARTS","model_name":null,"name":"Search Supplier Parts","pk":7,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display sales order shipments in search preview window","key":"SEARCH_PREVIEW_SHOW_SALES_ORDER_SHIPMENTS","model_name":null,"name":"Search Sales Order Shipments","pk":8,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display icons in the navigation bar","key":"ICONS_IN_NAVBAR","model_name":null,"name":"Navigation Icons","pk":9,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Disabled: The full category path is displayed as a hover tooltip. Enabled: The full category path is displayed as plain text.","key":"SHOW_FULL_CATEGORY_IN_TABLES","model_name":null,"name":"Show full part categories in tables","pk":10,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Search queries return results for matches from the item's notes","key":"SEARCH_NOTES","model_name":null,"name":"Search Notes","pk":11,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Show the current page in breadcrumbs","key":"ENABLE_LAST_BREADCRUMB","model_name":null,"name":"Show Last Breadcrumb","pk":12,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display extra information in model selection dropdowns","key":"SHOW_EXTRA_MODEL_INFO","model_name":null,"name":"Show Extra Model Information","pk":13,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable display of subassemblies in the BOM table","key":"SHOW_BOM_SUBASSEMBLY_LEVELS","model_name":null,"name":"Show Subassemblies in BOM table","pk":14,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Allow barcode scanner input in form fields","key":"BARCODE_IN_FORM_FIELDS","model_name":null,"name":"Barcode Scanner in Form Fields","pk":15,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Table headers are fixed to the top of the table","key":"STICKY_TABLE_HEADER","model_name":null,"name":"Fixed Table Headers","pk":16,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display build orders in search preview window","key":"SEARCH_PREVIEW_SHOW_BUILD_ORDERS","model_name":null,"name":"Search Build Orders","pk":17,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display PDF reports in the browser, instead of downloading as a file","key":"REPORT_INLINE","model_name":null,"name":"Inline report display","pk":18,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Excluded inactive parts from search preview window","key":"SEARCH_HIDE_INACTIVE_PARTS","model_name":null,"name":"Hide Inactive Parts","pk":19,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Number of results to show in each section of the search preview window","key":"SEARCH_PREVIEW_RESULTS","model_name":null,"name":"Search Preview Results","pk":20,"typ":"user","type":"integer","units":"","user":1,"value":10},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Enable spotlight navigation functionality","key":"SHOW_SPOTLIGHT","model_name":null,"name":"Show Spotlight","pk":21,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display companies in search preview window","key":"SEARCH_PREVIEW_SHOW_COMPANIES","model_name":null,"name":"Search Companies","pk":22,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display part categories in search preview window","key":"SEARCH_PREVIEW_SHOW_CATEGORIES","model_name":null,"name":"Search Categories","pk":23,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display parts in search preview window","key":"SEARCH_PREVIEW_SHOW_PARTS","model_name":null,"name":"Search Parts","pk":24,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[{"display_name":"InvenTreeLabel - InvenTree PDF label printer","value":"inventreelabel"},{"display_name":"InvenTreeLabelMachine - InvenTree machine label printer","value":"inventreelabelmachine"}],"confirm":false,"confirm_text":"","description":"Configure which label printer should be selected by default","key":"LABEL_DEFAULT_PRINTER","model_name":null,"name":"Default label printer","pk":25,"typ":"user","type":"string","units":"","user":1,"value":""},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display manufacturer parts in search preview window","key":"SEARCH_PREVIEW_SHOW_MANUFACTURER_PARTS","model_name":null,"name":"Search Manufacturer Parts","pk":26,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Exclude inactive return orders from search preview window","key":"SEARCH_PREVIEW_EXCLUDE_INACTIVE_RETURN_ORDERS","model_name":null,"name":"Exclude Inactive Return Orders","pk":27,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Use the escape key to close modal forms","key":"FORMS_CLOSE_USING_ESCAPE","model_name":null,"name":"Escape Key Closes Forms","pk":28,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Exclude inactive purchase orders from search preview window","key":"SEARCH_PREVIEW_EXCLUDE_INACTIVE_PURCHASE_ORDERS","model_name":null,"name":"Exclude Inactive Purchase Orders","pk":29,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display stock items in search preview window","key":"SEARCH_PREVIEW_SHOW_STOCK","model_name":null,"name":"Search Stock","pk":30,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Automatically default to showing items/parts instead of sub-levels for locations or categories with no children","key":"DISPLAY_ITEMS_FINAL_LEVEL","model_name":null,"name":"Display Items at Final Level","pk":31,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Exclude inactive sales orders from search preview window","key":"SEARCH_PREVIEW_EXCLUDE_INACTIVE_SALES_ORDERS","model_name":null,"name":"Exclude Inactive Sales Orders","pk":32,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Exclude stock items which are not available from the search preview window","key":"SEARCH_PREVIEW_HIDE_UNAVAILABLE_STOCK","model_name":null,"name":"Hide Unavailable Stock Items","pk":33,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display purchase orders in search preview window","key":"SEARCH_PREVIEW_SHOW_PURCHASE_ORDERS","model_name":null,"name":"Search Purchase Orders","pk":34,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display sales orders in search preview window","key":"SEARCH_PREVIEW_SHOW_SALES_ORDERS","model_name":null,"name":"Search Sales Orders","pk":35,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display return orders in search preview window","key":"SEARCH_PREVIEW_SHOW_RETURN_ORDERS","model_name":null,"name":"Search Return Orders","pk":36,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display PDF labels in the browser, instead of downloading as a file","key":"LABEL_INLINE","model_name":null,"name":"Inline label display","pk":37,"typ":"user","type":"boolean","units":"","user":1,"value":true},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"The navbar position is fixed to the top of the screen","key":"STICKY_HEADER","model_name":null,"name":"Fixed Navbar","pk":38,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Search queries return results for whole word matches","key":"SEARCH_WHOLE","model_name":null,"name":"Whole Word Search","pk":39,"typ":"user","type":"boolean","units":"","user":1,"value":false},{"api_url":null,"choices":[],"confirm":false,"confirm_text":"","description":"Display stock history information in the part detail page","key":"DISPLAY_STOCKTAKE_TAB","model_name":null,"name":"Show Stock History","pk":40,"typ":"user","type":"boolean","units":"","user":1,"value":true}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedUserSettingsList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [ { "api_url": null, "choices": [], "confirm": false, "confirm_text": "", "description": "Receive notifications for system errors", "key": "NOTIFICATION_ERROR_REPORT", "model_name": null, "name": "Receive error reports", "pk": 1, "typ": "user", "type": "boolean", "units": "", "user": 1, "value": true }, { "api_url": null, // Output truncated... ] [200] OK: `[{"pk":1,"key":"NOTIFICATION_ERROR_REPORT","value":true,"name":"Receive error reports","description":"Receive notifications for system errors","user":1,"type":"boolean","units":"","choices":[],"model_name":null,"api_url":null,"typ":"user","confirm":false,"confirm_text":""},{"pk":2,"key":"LAST_USED_PRINTING_MACHINES","value":"","name":"Last used printing machines","description":"Save the last used printing machines for a user","user":1,"type":"string","units":"","choices":[],"model_name":null,"api_url":null, // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/settings/user/?limit=0&offset=0&ordering=pk' 2. Test Case ID: Zib2rf - Response violates schema true is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/UserSettings/properties/value: { "anyOf": [ { "type": "string" }, { "type": "null" } ] } Value: true [200] OK: `{"count":40,"next":null,"previous":null,"results":[{"pk":1,"key":"NOTIFICATION_ERROR_REPORT","value":true,"name":"Receive error reports","description":"Receive notifications for system errors","user":1,"type":"boolean","units":"","choices":[],"model_name":null,"api_url":null,"typ":"user","confirm":false,"confirm_text":""},{"pk":2,"key":"LAST_USED_PRINTING_MACHINES","value":"","name":"Last used printing machines","description":"Save the last used printing machines for a user","user":1,"type":"string","units" // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/settings/user/?limit=2641' 3. Test Case ID: sZEFMx - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"FieldError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/settings/user/","status_code":500}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/settings/user/?ordering=name&limit=5821' 4. Test Case ID: kgIJcj - 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: parameters `ordering`, `limit` in query - violates `enum` at /properties/ordering - violates `type` at /properties/limit (was integer, became object) [200] OK: `[{"pk":1,"key":"NOTIFICATION_ERROR_REPORT","value":true,"name":"Receive error reports","description":"Receive notifications for system errors","user":1,"type":"boolean","units":"","choices":[],"model_name":null,"api_url":null,"typ":"user","confirm":false,"confirm_text":""},{"pk":2,"key":"LAST_USED_PRINTING_MACHINES","value":"","name":"Last used printing machines","description":"Save the last used printing machines for a user","user":1,"type":"string","units":"","choices":[],"model_name":null,"api_url":null, // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/settings/user/?ordering=%C2%9E%7D%C2%90%F2%AD%BE%AF%C3%80%C3%A5b%C3%92o%5C%E4%9D%94%3A%C2%A5&limit=%0F%1C%00%F2%84%86%93K%C2%83&limit=V%E0%BF%A7%C3%AD%C3%98q%03%C2%AC%C2%8F&limit=9%F2%A6%9E%8F%C2%A9%F0%AA%9A%BB%C3%99%C2%86' ________________________ GET /api/settings/user/{key}/ _________________________ 1. Test Case ID: KWP8qe - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/settings/user/%C2%84/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/settings/user/%C2%84/ _______________________________ GET /api/stock/ ________________________________ 1. Test Case ID: CSFQyc - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"supplier_part":["Select a valid choice. That choice is not one of the available choices."],"belongs_to":["Select a valid choice. That choice is not one of the available choices."],"build":["Select a valid choice. That choice is not one of the available choices."],"customer":["Select a valid choice. That choice is not one of the available choices."],"consumed_by":["Select a valid choice. That choice is not one of the available choices."],"sales_order":["Select a valid choice. That choice is not one of the // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/stock/?IPN=&IPN_contains=&IPN_regex=&active=true&allocated=true&ancestor=0&assembly=true&available=true&batch=&batch_regex=&belongs_to=0&bom_item=0&build=0&cascade=true&category=0&company=0&consumed=true&consumed_by=0&created_after=2000-01-01&created_before=2000-01-01&customer=0&depleted=true&exclude_tree=0&expired=true&expiry_after=2000-01-01&expiry_before=2000-01-01&external=true&has_batch=true&has_child_items=true&has_installed_items=true&has_purchase_price=true&has_stocktake=true&in_stock=true&include_variants=true&installed=true&is_building=true&limit=0&location=0&location_detail=true&manufacturer=0&manufacturer_part=0&max_stock=0&min_stock=0&name=&name_contains=&name_regex=&offset=0&ordering=batch&part=0&part_detail=true&part_tree=0&path_detail=true&purchase_order=0&salable=true&sales_order=0&search=&sent_to_customer=true&serial=&serial_gte=0&serial_lte=0&serialized=true&stale=true&status=0&stocktake_after=2000-01-01&stocktake_before=2000-01-01&supplier=0&supplier_part=0&supplier_part_detail=true&tags=&tags__name=&tags__slug=&tests=true&tracked=true&updated_after=2000-01-01' 2. Test Case ID: UO0bBH - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedStockItemList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/stock/?limit=0' ________________________ GET /api/stock/location-type/ _________________________ 1. Test Case ID: DVEbW6 - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedStockLocationTypeList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/stock/location-type/?limit=0&offset=0&ordering=name' 2. Test Case ID: w4DA0D - 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 `offset` in query - violates `type` at /properties/offset (was integer, became string) [200] OK: `[{"pk":13,"name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","description":"","icon":"","location_count":0},{"pk":12,"name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","description":"","icon":"","location_count":0},{"pk":11,"name":"t󤞝b𵃆x󮘲","description":"","icon":"","location_count":0},{"pk":10,"name":"t󤞝b𵃆x󮘲","description":"","icon":"","location_count":0},{"pk":9,"name":"P}cW","description":" // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/stock/location-type/?offset=&limit=-1301' ______________________ GET /api/stock/location-type/{id}/ ______________________ 1. Test Case ID: d2F05M - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/stock/location-type/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/location-type/null%2Cnull/ ___________________________ GET /api/stock/location/ ___________________________ 1. Test Case ID: 6JENCA - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"location_type":["Select a valid choice. That choice is not one of the available choices."],"parent":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/stock/location/?cascade=true&depth=0&external=true&has_location_type=true&limit=0&location_type=0&name=&offset=0&ordering=name&parent=0&path_detail=true&search=&structural=true&tags=' 2. Test Case ID: ikKSR1 - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedLocationList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/stock/location/?cascade=true&depth=0&external=true&has_location_type=true&limit=0' 3. Test Case ID: eLvv8T - 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: parameters `structural`, `limit` in query - violates `type` at /properties/structural (was boolean, became string) - violates `type` at /properties/limit (was integer, became string) [200] OK: `[{"pk":1,"barcode_hash":"","name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","level":0,"description":"","parent":null,"pathstring":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","items":0,"sublocations":0,"owner":null,"icon":"","custom_icon":null,"structural":false,"external":false,"location_type":null,"location_type_detail":null},{"pk":2,"barcode_hash":"","name":"<%Ý","level":0,"description":"" // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/stock/location/?structural=%C3%90&limit=%40%C2%A0IG%28%C3%8F%C2%83' ________________________ GET /api/stock/location/tree/ _________________________ 1. Test Case ID: hfIGbh - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"parent":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/stock/location/tree/?level=0&limit=0&max_level=0&offset=0&ordering=level&parent=0&search=' 2. Test Case ID: iC8NM8 - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedLocationTreeList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/stock/location/tree/?level=0&limit=0&max_level=0&offset=0&ordering=level' ________________________ GET /api/stock/location/{id}/ _________________________ 1. Test Case ID: shxD12 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No StockLocation matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/stock/location/0/?path_detail=null&path_detail=null' _____________________________ GET /api/stock/test/ _____________________________ 1. Test Case ID: vn9lF5 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"user":["Select a valid choice. That choice is not one of the available choices."],"template":["Select a valid choice. That choice is not one of the available choices."],"build":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/stock/test/?build=0&enabled=true&include_installed=true&limit=0&offset=0&ordering=date&part=0&required=true&result=true&search=&stock_item=0&template=0&template_detail=true&test=&user=0&user_detail=true' 2. Test Case ID: SzZNSw - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedStockItemTestResultList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/stock/test/?limit=null&limit=null&value=' 3. Test Case ID: euzPPy - 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 `enabled` in query - violates `type` at /properties/enabled (was boolean, became null) [200] OK: `{"count":0,"next":null,"previous":null,"results":[]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/stock/test/?enabled=null&limit=2' __________________________ GET /api/stock/test/{id}/ ___________________________ 1. Test Case ID: 7vKz5r - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No StockItemTestResult matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/stock/test/0/?user_detail=null&user_detail=null' ____________________________ GET /api/stock/track/ _____________________________ 1. Test Case ID: czdpho - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"item":["Select a valid choice. That choice is not one of the available choices."],"user":["Select a valid choice. That choice is not one of the available choices."],"part":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/stock/track/?include_variants=true&item=0&item_detail=true&limit=0&max_date=2000-01-01&min_date=2000-01-01&offset=0&ordering=date&part=0&search=&user=0' 2. Test Case ID: plCONJ - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedStockTrackingList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/stock/track/?limit=0&user_detail=null&user_detail=null' __________________________ GET /api/stock/track/{id}/ __________________________ 1. Test Case ID: lYmcRY - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/stock/track/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/track/null%2Cnull/ _____________________________ GET /api/stock/{id}/ _____________________________ 1. Test Case ID: bjkzL2 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No StockItem matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/stock/0/?location_detail=true&part_detail=true&path_detail=true&supplier_part_detail=true' _____________________ GET /api/stock/{id}/serial-numbers/ ______________________ 1. Test Case ID: p2xrxG - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/stock/null,null/serial-numbers/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/null%2Cnull/serial-numbers/ __________________________ GET /api/supplier/search/ ___________________________ 1. Test Case ID: WLzd76 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Plugin '' not found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/supplier/search/?plugin=&supplier=' ___________________________ GET /api/system/health/ ____________________________ 1. Test Case ID: IixAJS - API accepts requests without authentication Expected 401 or 403, got `200 OK` for `GET /api/system/health/` [200] OK: `{"status": "ok"}` Reproduce with: curl -X GET http://0.0.0.0:34609/api/system/health/ ________________________________ GET /api/tag/ _________________________________ 1. Test Case ID: rMw32X - Response violates schema [{"name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","pk":1,"slug":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedTagList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [ { "name": "000000000000000000000000000000000000000000000000000000000000... "pk": 1, "slug": "000000000000000000000000000000000000000000000000000000000000... } ] [200] OK: `[{"pk":1,"name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","slug":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/tag/?limit=0&model_type=&offset=0&ordering=name' 2. Test Case ID: pIHWKo - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"model_type":["Invalid model type: šìf"]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/tag/?search=B%C3%86%C3%A0r&offset=-18386&ordering=name&model_type=%C2%9A%C3%ACf' ______________________________ GET /api/tag/{id}/ ______________________________ 1. Test Case ID: 3F81Hw - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/tag/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/tag/null%2Cnull/ _______________________________ GET /api/units/ ________________________________ 1. Test Case ID: 9bDwJ8 - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedCustomUnitList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/units/?limit=0&offset=0&ordering=' 2. Test Case ID: trtUnL - 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 `offset` in query - violates `type` at /properties/offset (was integer, became boolean) [200] OK: `{"count":0,"next":null,"previous":null,"results":[]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/units/?ordering=M%F3%8D%9F%A1W&offset=false&search=%2F&limit=307541' _____________________________ GET /api/units/{id}/ _____________________________ 1. Test Case ID: zmK6VR - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/units/null%2Cnull/ ________________________________ GET /api/user/ ________________________________ 1. Test Case ID: kI82Qf - Response violates schema [{"email":"admin@example.com","first_name":"","groups":[],"is_active":true,"is_staff":true,"is_superuser":true,"last_name":"","pk":1,"profile":{"active":true,"contact":null,"displayname":null,"location":null,"organisation":null,"position":null,"primary_group":null,"status":null,"type":"internal"},"username":"admin"}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedUserCreateList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [ { "email": "admin@example.com", "first_name": "", "groups": [], "is_active": true, "is_staff": true, "is_superuser": true, "last_name": "", "pk": 1, "profile": { "active": true, "contact": null, "displayname": null, "location": null, "organisation": null, "position": null, "primary_group": null, "status": null, // Output truncated... ] [200] OK: `[{"pk":1,"username":"admin","first_name":"","last_name":"","email":"admin@example.com","groups":[],"is_staff":true,"is_superuser":true,"is_active":true,"profile":{"displayname":null,"position":null,"status":null,"location":null,"active":true,"contact":null,"type":"internal","organisation":null,"primary_group":null}}]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/?is_active=true&is_staff=true&is_superuser=true&limit=0&offset=0&ordering=email' 2. Test Case ID: 2mgBva - 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 `is_superuser` in query - violates `type` at /properties/is_superuser (was boolean, became integer) [200] OK: `{"count":1,"next":null,"previous":null,"results":[{"pk":1,"username":"admin","first_name":"","last_name":"","email":"admin@example.com","groups":[],"is_staff":true,"is_superuser":true,"is_active":true,"profile":{"displayname":"ç¥@","position":null,"status":"ok","location":"","active":false,"contact":null,"type":"internal","organisation":"󆐸adN򫪀ïTÛ􅸭","primary_group":null}}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/?is_superuser=-1&limit=2' _____________________________ GET /api/user/group/ _____________________________ 1. Test Case ID: rZ1MQZ - Response violates schema [{"name":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","permissions":{},"pk":1,"roles":[{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Admin","name":"admin","pk":1},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Part Categories","name":"part_category","pk":2},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Parts","name":"part","pk":3},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Bills of Material","name":"bom","pk":4},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Stock Locations","name":"stock_location","pk":5},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Stock Items","name":"stock","pk":6},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Build Orders","name":"build","pk":7},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Purchase Orders","name":"purchase_order","pk":8},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Sales Orders","name":"sales_order","pk":9},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Return Orders","name":"return_order","pk":10},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Transfer Orders","name":"transfer_order","pk":11}]},{"name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","permissions":{},"pk":2,"roles":[{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Admin","name":"admin","pk":12},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Part Categories","name":"part_category","pk":13},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Parts","name":"part","pk":14},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Bills of Material","name":"bom","pk":15},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Stock Locations","name":"stock_location","pk":16},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Stock Items","name":"stock","pk":17},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Build Orders","name":"build","pk":18},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Purchase Orders","name":"purchase_order","pk":19},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Sales Orders","name":"sales_order","pk":20},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Return Orders","name":"return_order","pk":21},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Transfer Orders","name":"transfer_order","pk":22}]}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedGroupList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [ { "name": "000000000000000000000000000000000000000000000000000000000000... "permissions": {}, "pk": 1, "roles": [ { "can_add": false, "can_change": false, "can_delete": false, "can_view": false, "group": 1, "label": "Admin", "name": "admin", "pk": 1 }, { "can_add": false, "can_change": false, // Output truncated... ] [200] OK: `[{"pk":1,"name":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","roles":[{"pk":1,"name":"admin","label":"Admin","group":1,"can_view":false,"can_add":false,"can_change":false,"can_delete":false},{"pk":2,"name":"part_category","label":"Part Categories","group":1,"can_view":false,"can_add":false,"can_change":false,"can_delete":false},{"pk":3,"name":"part","label":"Parts","group":1,"can_view":false,"can_add": // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/group/?limit=0&offset=0&ordering=name&permission_detail=true&role_detail=true&search=' 2. Test Case ID: 82FEmS - 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 `ordering` in query - violates `enum` at /properties/ordering [200] OK: `[{"pk":1,"name":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","roles":[{"pk":1,"name":"admin","label":"Admin","group":1,"can_view":false,"can_add":false,"can_change":false,"can_delete":false},{"pk":2,"name":"part_category","label":"Part Categories","group":1,"can_view":false,"can_add":false,"can_change":false,"can_delete":false},{"pk":3,"name":"part","label":"Parts","group":1,"can_view":false,"can_add": // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/user/group/?ordering=&limit=-594044096901430' __________________________ GET /api/user/group/{id}/ ___________________________ 1. Test Case ID: XPNxyB - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No Group matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/group/0/?permission_detail=true&role_detail=true' _____________________________ GET /api/user/owner/ _____________________________ 1. Test Case ID: V4wVBt - Response violates schema [{"label":"user","name":"admin","owner_id":1,"owner_model":"user","pk":1},{"label":"group","name":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","owner_id":1,"owner_model":"group","pk":2},{"label":"group","name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","owner_id":2,"owner_model":"group","pk":3}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedOwnerList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [ { "label": "user", "name": "admin", "owner_id": 1, "owner_model": "user", "pk": 1 }, { "label": "group", "name": "000000000000000000000000000000000000000000000000000000000000... "owner_id": 1, "owner_model": "group", "pk": 2 }, { "label": "group", "name": "000000000000000000000000000000000000000000000000000000000000... "owner_id": 2, // Output truncated... ] [200] OK: `[{"pk":1,"owner_id":1,"owner_model":"user","name":"admin","label":"user"},{"pk":2,"owner_id":1,"owner_model":"group","name":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","label":"group"},{"pk":3,"owner_id":2,"owner_model":"group","name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","label":"group"} // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/owner/?is_active=true&limit=0&offset=0&ordering=' 2. Test Case ID: ayD7cl - 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 `limit` in query - violates `required` (was limit) [200] OK: `[{"pk":1,"owner_id":1,"owner_model":"user","name":"admin","label":"user"},{"pk":2,"owner_id":1,"owner_model":"group","name":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","label":"group"},{"pk":3,"owner_id":2,"owner_model":"group","name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","label":"group"} // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/owner/?is_active=false' __________________________ GET /api/user/owner/{id}/ ___________________________ 1. Test Case ID: e31lRn - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/user/owner/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/user/owner/null%2Cnull/ ____________________________ GET /api/user/ruleset/ ____________________________ 1. Test Case ID: 91xi9o - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"group":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/ruleset/?group=0&limit=0&name=admin&offset=0&ordering=name' 2. Test Case ID: tRtakL - Response violates schema [{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Admin","name":"admin","pk":1},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Part Categories","name":"part_category","pk":2},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Parts","name":"part","pk":3},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Bills of Material","name":"bom","pk":4},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Stock Locations","name":"stock_location","pk":5},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Stock Items","name":"stock","pk":6},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Build Orders","name":"build","pk":7},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Purchase Orders","name":"purchase_order","pk":8},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Sales Orders","name":"sales_order","pk":9},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Return Orders","name":"return_order","pk":10},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":1,"label":"Transfer Orders","name":"transfer_order","pk":11},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Admin","name":"admin","pk":12},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Part Categories","name":"part_category","pk":13},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Parts","name":"part","pk":14},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Bills of Material","name":"bom","pk":15},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Stock Locations","name":"stock_location","pk":16},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Stock Items","name":"stock","pk":17},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Build Orders","name":"build","pk":18},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Purchase Orders","name":"purchase_order","pk":19},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Sales Orders","name":"sales_order","pk":20},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Return Orders","name":"return_order","pk":21},{"can_add":false,"can_change":false,"can_delete":false,"can_view":false,"group":2,"label":"Transfer Orders","name":"transfer_order","pk":22}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedRuleSetList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [ { "can_add": false, "can_change": false, "can_delete": false, "can_view": false, "group": 1, "label": "Admin", "name": "admin", "pk": 1 }, { "can_add": false, "can_change": false, "can_delete": false, "can_view": false, "group": 1, "label": "Part Categories", "name": "part_category", // Output truncated... ] [200] OK: `[{"pk":1,"name":"admin","label":"Admin","group":1,"can_view":false,"can_add":false,"can_change":false,"can_delete":false},{"pk":2,"name":"part_category","label":"Part Categories","group":1,"can_view":false,"can_add":false,"can_change":false,"can_delete":false},{"pk":3,"name":"part","label":"Parts","group":1,"can_view":false,"can_add":false,"can_change":false,"can_delete":false},{"pk":4,"name":"bom","label":"Bills of Material","group":1,"can_view":false,"can_add":false,"can_change":false,"can_delete":false}, // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/ruleset/?limit=null&limit=null&search=' 3. Test Case ID: vV7lkA - 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 `name` in query - violates `enum` at /properties/name [200] OK: `{"count":66,"next":null,"previous":null,"results":[{"pk":1,"name":"admin","label":"Admin","group":1,"can_view":false,"can_add":false,"can_change":false,"can_delete":false},{"pk":2,"name":"part_category","label":"Part Categories","group":1,"can_view":false,"can_add":false,"can_change":false,"can_delete":false},{"pk":3,"name":"part","label":"Parts","group":1,"can_view":false,"can_add":false,"can_change":false,"can_delete":false},{"pk":4,"name":"bom","label":"Bills of Material","group":1,"can_view":false,"can_ // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/ruleset/?limit=18521&name=&search=' _________________________ GET /api/user/ruleset/{id}/ __________________________ 1. Test Case ID: WpiEbJ - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/user/ruleset/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/user/ruleset/null%2Cnull/ ____________________________ GET /api/user/tokens/ _____________________________ 1. Test Case ID: 3N19WX - Response violates schema [] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/PaginatedApiTokenList: { "type": "object", "required": [ "count", "results" ], "properties": { "count": { "type": "integer", "example": 123 }, "next": { "anyOf": [ { "type": "string", "format": "uri", "example": "http://api.example.org/accounts/?offset=400&l... }, { // Output truncated... } Value: [] [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/tokens/?limit=0&offset=0&ordering=created&revoked=true&search=' 2. Test Case ID: droNsy - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"user":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/tokens/?limit=0&user=null&user=null' 3. Test Case ID: VifCVG - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"user":["Select a valid choice. That choice is not one of the available choices."]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/tokens/?limit=0&user=0' 4. Test Case ID: qi4wRC - Response violates schema "2026-10-07 16:55" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/ApiToken/properties/created: { "format": "date-time", "type": "string", "readOnly": true } Value: "2026-10-07 16:55" [200] OK: `{"count":18,"next":null,"previous":null,"results":[{"created":"2026-10-07 16:55","expiry":"2027-10-07","id":1,"last_seen":null,"name":"","token":"inv-9769*********************************cce-20261007","active":true,"revoked":false,"user":1,"user_detail":{"pk":1,"username":"admin","first_name":"","last_name":"","email":"admin@example.com"},"in_use":false},{"created":"2026-10-07 17:10","expiry":"2027-10-07","id":2,"last_seen":null,"name":"","token":"inv-6b7c*********************************e28-20261007","acti // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/tokens/?limit=40' 5. Test Case ID: HLzgBb - 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 `ordering` in query - violates `enum` at /properties/ordering [200] OK: `[{"created":"2026-10-07 16:55","expiry":"2027-10-07","id":1,"last_seen":null,"name":"","token":"inv-9769*********************************cce-20261007","active":true,"revoked":false,"user":1,"user_detail":{"pk":1,"username":"admin","first_name":"","last_name":"","email":"admin@example.com"},"in_use":false},{"created":"2026-10-07 17:10","expiry":"2027-10-07","id":2,"last_seen":null,"name":"","token":"inv-6b7c*********************************e28-20261007","active":true,"revoked":false,"user":1,"user_detail":{" // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/tokens/?limit=0&ordering=' __________________________ GET /api/user/tokens/{id}/ __________________________ 1. Test Case ID: MTqZiJ - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No ApiToken matches the given query."}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/tokens/0/?all_users=null&all_users=null' 2. Test Case ID: xzzgZk - Response violates schema "2026-10-07 17:10" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/ApiToken/properties/created: { "format": "date-time", "type": "string", "readOnly": true } Value: "2026-10-07 17:10" [200] OK: `{"created":"2026-10-07 17:10","expiry":"2027-10-07","id":2,"last_seen":null,"name":"","token":"inv-6b7c*********************************e28-20261007","active":true,"revoked":false,"user":1,"user_detail":{"pk":1,"username":"admin","first_name":"","last_name":"","email":"admin@example.com"},"in_use":false}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/user/tokens/2/ _____________________________ GET /api/user/{id}/ ______________________________ 1. Test Case ID: cvXM08 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/user/null,null/"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/user/null%2Cnull/ ____________________________ GET /api/version-text _____________________________ 1. Test Case ID: drgpcJ - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"ValueError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/version-text","status_code":500}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/version-text?versions=null&versions=null' 2. Test Case ID: KNC49A - Response violates schema null is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/VersionInformation: { "type": "object", "description": "Serializer for a single version.", "properties": { "version": { "type": "string" }, "date": { "type": "string", "format": "date" }, "gh": { "anyOf": [ { "type": "string" }, { "type": "null" } // Output truncated... } Value: null [200] OK: `[null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, n // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/version-text?versions=10452&start_version=-6019839' _________________________ PATCH /api/attachment/{id}/ __________________________ 1. Test Case ID: 50PNhh - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/attachment/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"attachment": "https://0.com", "filename": "", "link": "https://0.com", "comment": "", "model_type": "build", "model_id": 0, "tags": []}' http://0.0.0.0:34609/api/attachment/null%2Cnull/ 2. Test Case ID: ExuE8Q - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/attachment/1/ _______________________________ PATCH /api/bom/ ________________________________ 1. Test Case ID: pKbdJD - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/bom/","status_code":500}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=8c5f613bf112a8c4c104e64052a1b418' -d $'--8c5f613bf112a8c4c104e64052a1b418\r\nContent-Disposition: form-data; name="part"\r\n\r\n0\r\n--8c5f613bf112a8c4c104e64052a1b418\r\nContent-Disposition: form-data; name="sub_part"\r\n\r\n0\r\n--8c5f613bf112a8c4c104e64052a1b418\r\nContent-Disposition: form-data; name="reference"\r\n\r\n\r\n--8c5f613bf112a8c4c104e64052a1b418\r\nContent-Disposition: form-data; name="raw_amount"\r\n\r\n\r\n--8c5f613bf112a8c4c104e64052a1b418\r\nContent-Disposition: form-data; name="quantity"\r\n\r\n0\r\n--8c5f613bf112a8c4c104e64052a1b418\r\nContent-Disposition: form-data; name="allow_variants"\r\n\r\nfalse\r\n--8c5f613bf112a8c4c104e64052a1b418\r\nContent-Disposition: form-data; name="inherited"\r\n\r\nfalse\r\n--8c5f613bf112a8c4c104e64052a1b418\r\nContent-Disposition: form-data; name="optional"\r\n\r\nfalse\r\n--8c5f613bf112a8c4c104e64052a1b418\r\nContent-Disposition: form-data; name="consumable"\r\n\r\nfalse\r\n--8c5f613bf112a8c4c104e64052a1b418\r\nContent-Disposition: form-data; name="setup_quantity"\r\n\r\n0\r\n--8c5f613bf112a8c4c104e64052a1b418\r\nContent-Disposition: form-data; name="attrition"\r\n\r\n0\r\n--8c5f613bf112a8c4c104e64052a1b418\r\nContent-Disposition: form-data; name="rounding_multiple"\r\n\r\nnull\r\n--8c5f613bf112a8c4c104e64052a1b418\r\nContent-Disposition: form-data; name="note"\r\n\r\n\r\n--8c5f613bf112a8c4c104e64052a1b418\r\nContent-Disposition: form-data; name="validated"\r\n\r\nfalse\r\n--8c5f613bf112a8c4c104e64052a1b418\r\nContent-Disposition: form-data; name="category_detail"\r\n\r\n{}\r\n--8c5f613bf112a8c4c104e64052a1b418--\r\n' http://0.0.0.0:34609/api/bom/ 2. Test Case ID: G45RLv - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/bom/ _______________________ PATCH /api/bom/substitute/{id}/ ________________________ 1. Test Case ID: 599sjq - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/bom/substitute/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"bom_item": 0, "part": 0}' http://0.0.0.0:34609/api/bom/substitute/null%2Cnull/ 2. Test Case ID: KpS6uG - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/bom/substitute/1/ _____________________________ PATCH /api/bom/{id}/ _____________________________ 1. Test Case ID: NQ5BCy - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/bom/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"part": 0, "sub_part": 0, "reference": "", "raw_amount": "", "quantity": 0, "allow_variants": false, "inherited": false, "optional": false, "consumable": false, "setup_quantity": 0, "attrition": 0, "rounding_multiple": null, "note": "", "validated": false}' http://0.0.0.0:34609/api/bom/null%2Cnull/ 2. Test Case ID: iYwdZJ - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/bom/1/ ________________________ PATCH /api/bom/{id}/validate/ _________________________ 1. Test Case ID: IldcSL - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/bom/null,null/validate/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"valid": false}' http://0.0.0.0:34609/api/bom/null%2Cnull/validate/ 2. Test Case ID: sgTKSD - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/bom/1/validate/ _________________________ PATCH /api/build/item/{id}/ __________________________ 1. Test Case ID: IcDOn8 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/item/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"build_line": null, "install_into": null, "stock_item": 0, "quantity": 0}' http://0.0.0.0:34609/api/build/item/null%2Cnull/ 2. Test Case ID: OTyF0d - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/build/item/1/ _________________________ PATCH /api/build/line/{id}/ __________________________ 1. Test Case ID: f1Vi2R - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/line/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"quantity": 0, "consumed": 0}' http://0.0.0.0:34609/api/build/line/null%2Cnull/ 2. Test Case ID: L1frW0 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/build/line/1/ ____________________________ PATCH /api/build/{id}/ ____________________________ 1. Test Case ID: hSgd8p - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"title": "", "batch": "", "destination": null, "external": false, "parent": null, "part": 0, "project_code": null, "reference": "", "sales_order": null, "quantity": 0, "start_date": "2000-01-01", "target_date": "2000-01-01", "take_from": null, "notes": "", "link": "https://0.com", "responsible": null, "priority": 0, "tags": []}' http://0.0.0.0:34609/api/build/null%2Cnull/ 2. Test Case ID: lolHEm - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/build/1/ _______________________ PATCH /api/company/address/{id}/ _______________________ 1. Test Case ID: 1CyTzL - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/address/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"company": 0, "title": "", "primary": false, "line1": "", "line2": "", "postal_code": "", "postal_city": "", "province": "", "country": "", "shipping_notes": "", "internal_shipping_notes": "", "link": "https://0.com"}' http://0.0.0.0:34609/api/company/address/null%2Cnull/ _______________________ PATCH /api/company/contact/{id}/ _______________________ 1. Test Case ID: EwOrCa - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/contact/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"company": 0, "name": "", "phone": "", "email": "0@0.com", "role": ""}' http://0.0.0.0:34609/api/company/contact/null%2Cnull/ 2. Test Case ID: FOjYec - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/company/contact/1/ __________________ PATCH /api/company/part/manufacturer/{id}/ __________________ 1. Test Case ID: MCabbH - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/part/manufacturer/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"part": 0, "manufacturer": 0, "description": "", "MPN": "", "link": "https://0.com", "barcode_hash": "", "notes": "", "tags": []}' http://0.0.0.0:34609/api/company/part/manufacturer/null%2Cnull/ 2. Test Case ID: EtZuxs - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/company/part/manufacturer/1/ ________________________ PATCH /api/company/part/{id}/ _________________________ 1. Test Case ID: ZDcHRG - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/part/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"available": 0, "description": "", "link": "https://0.com", "active": false, "primary": false, "manufacturer_part": null, "note": "", "packaging": "", "pack_quantity": "", "part": 0, "SKU": "", "supplier": 0, "notes": "", "tags": []}' http://0.0.0.0:34609/api/company/part/null%2Cnull/ 2. Test Case ID: sVlFiq - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/company/part/1/ _____________________ PATCH /api/company/price-break/{id}/ _____________________ 1. Test Case ID: aZv72u - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/price-break/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"part": 0, "quantity": 0, "price": "", "price_currency": ""}' http://0.0.0.0:34609/api/company/price-break/null%2Cnull/ 2. Test Case ID: B8wPsO - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/company/price-break/1/ ___________________________ PATCH /api/company/{id}/ ___________________________ 1. Test Case ID: TN0QwE - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/company/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"name": "", "description": "", "website": "https://0.com", "phone": "", "email": "0@0.com", "currency": "", "contact": "", "link": "https://0.com", "image": "https://0.com", "active": false, "is_customer": false, "is_manufacturer": false, "is_supplier": false, "notes": "", "tax_id": "", "tags": []}' http://0.0.0.0:34609/api/company/null%2Cnull/ 2. Test Case ID: vGQQgL - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/company/1/ ________________________ PATCH /api/error-report/{id}/ _________________________ 1. Test Case ID: qo0tOa - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{}' http://0.0.0.0:34609/api/error-report/null%2Cnull/ 2. Test Case ID: 28Cuee - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"path":["Enter a valid URL."]}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/error-report/1/ ____________________ PATCH /api/generic/status/custom/{id}/ ____________________ 1. Test Case ID: ecepql - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/generic/status/custom/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"key": 0, "name": "", "label": "", "color": "primary", "logical_key": 0, "model": null, "reference_status": "BuildStatus"}' http://0.0.0.0:34609/api/generic/status/custom/null%2Cnull/ ___________________ PATCH /api/importer/column-mapping/{id}/ ___________________ 1. Test Case ID: CS7Keu - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/importer/column-mapping/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"column": "", "lookup_field": ""}' http://0.0.0.0:34609/api/importer/column-mapping/null%2Cnull/ ________________________ PATCH /api/importer/row/{id}/ _________________________ 1. Test Case ID: a5AVO1 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/importer/row/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"data": null}' http://0.0.0.0:34609/api/importer/row/null%2Cnull/ 2. Test Case ID: SFnIWE - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/importer/row/1/ ______________________ PATCH /api/importer/session/{id}/ _______________________ 1. Test Case ID: BJXtKt - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/importer/session/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"data_file": "https://0.com", "update_records": false, "model_type": "projectcode", "field_defaults": null, "field_overrides": null, "field_filters": null, "completed_row_count_history": 0, "row_count_history": 0}' http://0.0.0.0:34609/api/importer/session/null%2Cnull/ 2. Test Case ID: 1MNW4u - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/importer/session/1/ _______________________ PATCH /api/label/template/{id}/ ________________________ 1. Test Case ID: iHGYTf - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/label/template/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"name": "", "description": "", "model_type": "build", "template": "https://0.com", "filters": "", "filename_pattern": "", "enabled": false, "attach_to_model": false, "updated": "2000-01-01T00:00:00Z", "updated_by": null, "width": 2.0, "height": 2.0}' http://0.0.0.0:34609/api/label/template/null%2Cnull/ 2. Test Case ID: KEb5Ed - Response violates schema (2 violations) "/media/report/label/part_label.html" is not a "uri" Validated against the response schema for status code 200. Schema at /components/schemas/LabelTemplate/properties/template: { "format": "uri", "type": "string" } Value: "/media/report/label/part_label.html" "2026-10-07 17:18" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/LabelTemplate/properties/updated: { "anyOf": [ { "type": "string", "format": "date-time", "description": "Timestamp of last update" }, { "type": "null" } ] } Value: "2026-10-07 17:18" [200] OK: `{"pk":1,"name":"InvenTree Part Label","description":"Sample part label","model_type":"part","template":"/media/report/label/part_label.html","filters":"","filename_pattern":"output.pdf","enabled":true,"revision":3,"attach_to_model":false,"updated":"2026-10-07 17:18","updated_by":1,"updated_by_detail":{"pk":1,"username":"admin","first_name":"","last_name":"","email":"admin@example.com"},"width":50.0,"height":20.0}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/label/template/1/ 3. Test Case ID: luQPqe - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/label/template/1/ ___________________________ PATCH /api/machine/{id}/ ___________________________ 1. Test Case ID: V6LF7I - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/machine/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"name": "", "active": false}' http://0.0.0.0:34609/api/machine/null%2Cnull/ 2. Test Case ID: 2fcL3D - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/machine/e3e70682-c209-1cac-a29f-6fbed82c07cd/ ____________ PATCH /api/machine/{id}/settings/{config_type}/{key}/ _____________ 1. Test Case ID: XWJr5S - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/machine/e3e70682-c209-1cac-a29f-6fbed82c07cd/settings/M/%C2%84/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"value": null}' http://0.0.0.0:34609/api/machine/e3e70682-c209-1cac-a29f-6fbed82c07cd/settings/M/%C2%84/ 2. Test Case ID: 7i0vz3 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d $'\x00' http://0.0.0.0:34609/api/machine/e3e70682-c209-1cac-a29f-6fbed82c07cd/settings/%F3%B8%94%97%C2%A8%7F%C3%B5%21%F3%85%B2%ADD/INVENTREE_DEBUG/ ______________________ PATCH /api/metadata/{model}/{id}/ _______________________ 1. Test Case ID: Nmlyp4 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/metadata/0/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/metadata/0/null%2Cnull/ 2. Test Case ID: i57Eka - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `["GenericMetadataView called with invalid model '0'"]` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/metadata/0/0/ 3. Test Case ID: IBSpEW - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/metadata/user/1/","status_code":500}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/metadata/user/1/ __________ PATCH /api/metadata/{model}/{lookup_field}/{lookup_value}/ __________ 1. Test Case ID: YvGeUV - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `["GenericMetadataView called with invalid model '0'"]` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/metadata/0/0/0/ 2. Test Case ID: 9I3Dwk - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"FieldError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/metadata/user/0/0/","status_code":500}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' http://0.0.0.0:34609/api/metadata/user/0/0/ ____________________________ PATCH /api/news/{id}/ _____________________________ 1. Test Case ID: 9SYNA9 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"feed_id": "", "title": "", "link": "https://0.com", "published": "2000-01-01T00:00:00Z", "author": "", "summary": "", "read": false}' http://0.0.0.0:34609/api/news/null%2Cnull/ 2. Test Case ID: R41Ca0 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/news/1/ ________________________ PATCH /api/notifications/{id}/ ________________________ 1. Test Case ID: d9RIo4 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"read": false}' http://0.0.0.0:34609/api/notifications/null%2Cnull/ 2. Test Case ID: p3iwUG - Response violates schema "2026-10-07 16:57" is not a "date-time" Validated against the response schema for status code 200. Schema at /properties/creation: { "format": "date-time", "type": "string", "readOnly": true } Value: "2026-10-07 16:57" [200] OK: `{"pk":193,"target":{"name":"Error object (193)","model_name":"Error","model_type":"error","model_id":193,"link":"http://localhost:34609/admin/error_report/error/193/change/"},"source":{"name":"admin","model_name":"user","model_type":"user","model_id":1},"user":1,"category":"inventree.error_log","name":"Server Error","message":"An error has been logged by the server.","creation":"2026-10-07 16:57","age":1506,"age_human":"25 minutes ago","read":false}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/notifications/193/ 3. Test Case ID: zqmXnj - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/notifications/1/ _____________________ PATCH /api/order/po-extra-line/{id}/ _____________________ 1. Test Case ID: r5RmM6 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/po-extra-line/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"line": "", "description": "", "link": "https://0.com", "notes": "", "order": 0, "price": "", "price_currency": "", "project_code": null, "quantity": 0, "reference": "", "target_date": "2000-01-01"}' http://0.0.0.0:34609/api/order/po-extra-line/null%2Cnull/ 2. Test Case ID: 0GJuXM - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/po-extra-line/1/ ________________________ PATCH /api/order/po-line/{id}/ ________________________ 1. Test Case ID: 2Bg5hC - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/po-line/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"line": "", "link": "https://0.com", "notes": "", "order": 0, "project_code": null, "quantity": 0.0, "reference": "", "target_date": "2000-01-01", "part": null, "build_order": null, "purchase_price": "", "purchase_price_currency": "", "auto_pricing": false, "destination": null, "merge_items": true}' http://0.0.0.0:34609/api/order/po-line/null%2Cnull/ __________________________ PATCH /api/order/po/{id}/ ___________________________ 1. Test Case ID: 5m4uIv - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/po/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"creation_date": "2000-01-01", "start_date": "2000-01-01", "target_date": "2000-01-01", "description": "", "link": "https://0.com", "project_code": null, "reference": "", "responsible": null, "contact": null, "address": null, "status_custom_key": null, "notes": "", "duplicate": {"order_id": 0}, "supplier": null, "supplier_reference": "", "order_currency": null, "destination": null, "tags": []}' http://0.0.0.0:34609/api/order/po/null%2Cnull/ 2. Test Case ID: 5ueo7M - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/po/1/ _____________________ PATCH /api/order/ro-extra-line/{id}/ _____________________ 1. Test Case ID: lEFphG - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/ro-extra-line/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"line": "", "description": "", "link": "https://0.com", "notes": "", "order": 0, "price": "", "price_currency": "", "project_code": null, "quantity": 0, "reference": "", "target_date": "2000-01-01"}' http://0.0.0.0:34609/api/order/ro-extra-line/null%2Cnull/ 2. Test Case ID: ZeMmNC - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/ro-extra-line/1/ ________________________ PATCH /api/order/ro-line/{id}/ ________________________ 1. Test Case ID: 0dEqYU - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/ro-line/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"line": "", "link": "https://0.com", "notes": "", "order": 0, "project_code": null, "quantity": 0, "reference": "", "target_date": "2000-01-01", "item": 0, "received_date": "2000-01-01", "outcome": 10, "price": "", "price_currency": ""}' http://0.0.0.0:34609/api/order/ro-line/null%2Cnull/ 2. Test Case ID: fPPVVi - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/ro-line/1/ __________________________ PATCH /api/order/ro/{id}/ ___________________________ 1. Test Case ID: yw8DXu - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/ro/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"creation_date": "2000-01-01", "issue_date": "2000-01-01", "start_date": "2000-01-01", "target_date": "2000-01-01", "description": "", "link": "https://0.com", "project_code": null, "reference": "", "responsible": null, "contact": null, "address": null, "status_custom_key": null, "notes": "", "duplicate": {"order_id": 0}, "complete_date": "2000-01-01", "customer": null, "customer_reference": "", "order_currency": null, "tags": []}' http://0.0.0.0:34609/api/order/ro/null%2Cnull/ 2. Test Case ID: W5cnSI - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/ro/1/ _______________________ PATCH /api/order/so-allocation/ ________________________ 1. Test Case ID: vk8K3X - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/so-allocation/","status_code":500}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=097349d5ecf970e390b2be4f54db2c74' -d $'--097349d5ecf970e390b2be4f54db2c74\r\nContent-Disposition: form-data; name="item"\r\n\r\n0\r\n--097349d5ecf970e390b2be4f54db2c74\r\nContent-Disposition: form-data; name="quantity"\r\n\r\n0\r\n--097349d5ecf970e390b2be4f54db2c74\r\nContent-Disposition: form-data; name="shipment"\r\n\r\nnull\r\n--097349d5ecf970e390b2be4f54db2c74\r\nContent-Disposition: form-data; name="customer_detail"\r\n\r\n{}\r\n--097349d5ecf970e390b2be4f54db2c74--\r\n' http://0.0.0.0:34609/api/order/so-allocation/ 2. Test Case ID: A93cBm - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/order/so-allocation/ _____________________ PATCH /api/order/so-allocation/{id}/ _____________________ 1. Test Case ID: Kd6hoI - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so-allocation/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"item": 0, "quantity": 0, "shipment": null}' http://0.0.0.0:34609/api/order/so-allocation/null%2Cnull/ 2. Test Case ID: i0dbnV - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/so-allocation/1/ _____________________ PATCH /api/order/so-extra-line/{id}/ _____________________ 1. Test Case ID: 6Wb05r - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so-extra-line/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"line": "", "description": "", "link": "https://0.com", "notes": "", "order": 0, "price": "", "price_currency": "", "project_code": null, "quantity": 0, "reference": "", "target_date": "2000-01-01"}' http://0.0.0.0:34609/api/order/so-extra-line/null%2Cnull/ 2. Test Case ID: FKYJ41 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/so-extra-line/1/ ________________________ PATCH /api/order/so-line/{id}/ ________________________ 1. Test Case ID: n8P7el - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so-line/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"line": "", "link": "https://0.com", "notes": "", "order": 0, "project_code": null, "quantity": 0, "reference": "", "target_date": "2000-01-01", "part": null, "sale_price": "", "sale_price_currency": ""}' http://0.0.0.0:34609/api/order/so-line/null%2Cnull/ 2. Test Case ID: GScwdg - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/so-line/1/ ______________________ PATCH /api/order/so/shipment/{id}/ ______________________ 1. Test Case ID: BslziZ - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so/shipment/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"order": 0, "shipment_date": "2000-01-01", "shipment_address": null, "delivery_date": "2000-01-01", "checked_by": null, "reference": "1", "tracking_number": "", "invoice_number": "", "barcode_hash": "", "link": "https://0.com", "notes": "", "tags": []}' http://0.0.0.0:34609/api/order/so/shipment/null%2Cnull/ 2. Test Case ID: RwzlMC - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/so/shipment/1/ __________________________ PATCH /api/order/so/{id}/ ___________________________ 1. Test Case ID: FV2EnR - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"creation_date": "2000-01-01", "issue_date": "2000-01-01", "start_date": "2000-01-01", "target_date": "2000-01-01", "description": "", "link": "https://0.com", "project_code": null, "reference": "", "responsible": null, "contact": null, "address": null, "status_custom_key": null, "notes": "", "duplicate": {"order_id": 0}, "customer": null, "customer_reference": "", "order_currency": null, "tags": []}' http://0.0.0.0:34609/api/order/so/null%2Cnull/ 2. Test Case ID: DYwNYO - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/so/1/ _________________ PATCH /api/order/transfer-order-allocation/ __________________ 1. Test Case ID: I7bQk5 - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/transfer-order-allocation/","status_code":500}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=07cf608d7a8af9636fc6a2bbbd6f64d6' -d $'--07cf608d7a8af9636fc6a2bbbd6f64d6\r\nContent-Disposition: form-data; name="item"\r\n\r\n0\r\n--07cf608d7a8af9636fc6a2bbbd6f64d6\r\nContent-Disposition: form-data; name="quantity"\r\n\r\n0\r\n--07cf608d7a8af9636fc6a2bbbd6f64d6\r\nContent-Disposition: form-data; name="location_detail"\r\n\r\n{}\r\n--07cf608d7a8af9636fc6a2bbbd6f64d6--\r\n' http://0.0.0.0:34609/api/order/transfer-order-allocation/ 2. Test Case ID: 2HqtK8 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/order/transfer-order-allocation/ _______________ PATCH /api/order/transfer-order-allocation/{id}/ _______________ 1. Test Case ID: b2IF8t - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/transfer-order-allocation/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"item": 0, "quantity": 0}' http://0.0.0.0:34609/api/order/transfer-order-allocation/null%2Cnull/ 2. Test Case ID: XwjMkr - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/transfer-order-allocation/1/ __________________ PATCH /api/order/transfer-order-line/{id}/ __________________ 1. Test Case ID: Qel7ic - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/transfer-order-line/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"line": "", "link": "https://0.com", "notes": "", "order": 0, "project_code": null, "quantity": 0, "reference": "", "target_date": "2000-01-01", "part": null}' http://0.0.0.0:34609/api/order/transfer-order-line/null%2Cnull/ 2. Test Case ID: TTGfJs - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/transfer-order-line/1/ ____________________ PATCH /api/order/transfer-order/{id}/ _____________________ 1. Test Case ID: CwYx6N - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/transfer-order/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"creation_date": "2000-01-01", "issue_date": "2000-01-01", "start_date": "2000-01-01", "target_date": "2000-01-01", "description": "", "link": "https://0.com", "project_code": null, "reference": "", "responsible": null, "contact": null, "address": null, "status_custom_key": null, "notes": "", "duplicate": {"order_id": 0}, "take_from": null, "destination": null, "consume": false, "complete_date": "2000-01-01", "tags": []}' http://0.0.0.0:34609/api/order/transfer-order/null%2Cnull/ 2. Test Case ID: bAHO78 - Response violates schema "" is not a "uri" Validated against the response schema for status code 200. Schema at /components/schemas/TransferOrder/properties/link: { "format": "uri", "type": "string", "description": "Link to external page", "maxLength": 2000 } Value: "" [200] OK: `{"pk":1,"created_by":{"pk":1,"username":"admin","first_name":"","last_name":"","email":"admin@example.com"},"creation_date":"2026-10-07","issue_date":null,"start_date":null,"target_date":null,"description":"","line_items":0,"completed_lines":0,"link":"","project_code":null,"reference":"TO-0001","responsible":null,"contact":null,"address":null,"status":40,"status_text":"Cancelled","status_custom_key":null,"notes":null,"barcode_hash":"","overdue":false,"address_detail":null,"contact_detail":null,"project_code // Output truncated...` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/order/transfer-order/1/ 3. Test Case ID: kB5L92 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/transfer-order/1/ _____________________ PATCH /api/parameter/template/{id}/ ______________________ 1. Test Case ID: USCuGj - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/parameter/template/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"name": "", "units": "", "description": "", "model_type": null, "checkbox": false, "choices": "", "selectionlist": null, "enabled": false}' http://0.0.0.0:34609/api/parameter/template/null%2Cnull/ 2. Test Case ID: HwTCfE - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/parameter/template/1/ __________________________ PATCH /api/parameter/{id}/ __________________________ 1. Test Case ID: jVWPdS - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/parameter/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"template": 0, "model_type": "build.build", "model_id": 0, "data": "0", "data_numeric": null, "note": ""}' http://0.0.0.0:34609/api/parameter/null%2Cnull/ 2. Test Case ID: 1Ssm4A - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/parameter/1/ _______________________________ PATCH /api/part/ _______________________________ 1. Test Case ID: 6PHROZ - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/part/","status_code":500}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=985ed9218ee93e47e21d59914d052089' -d $'--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="active"\r\n\r\nfalse\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="assembly"\r\n\r\nfalse\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="category"\r\n\r\nnull\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="component"\r\n\r\nfalse\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="creation_user"\r\n\r\nnull\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="default_expiry"\r\n\r\n0\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="default_location"\r\n\r\nnull\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="description"\r\n\r\n\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="image"\r\n\r\nhttps://0.com\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="existing_image"\r\n\r\n\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="IPN"\r\n\r\n\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="is_template"\r\n\r\nfalse\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="keywords"\r\n\r\n\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="link"\r\n\r\nhttps://0.com\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="locked"\r\n\r\nfalse\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="minimum_stock"\r\n\r\n0.0\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="maximum_stock"\r\n\r\n0.0\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="name"\r\n\r\n\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="notes"\r\n\r\n\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="purchaseable"\r\n\r\nfalse\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="revision"\r\n\r\n\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="revision_of"\r\n\r\nnull\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="salable"\r\n\r\nfalse\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="testable"\r\n\r\nfalse\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="trackable"\r\n\r\nfalse\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="units"\r\n\r\n\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="variant_of"\r\n\r\nnull\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="virtual"\r\n\r\nfalse\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="responsible"\r\n\r\nnull\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="duplicate"\r\n\r\n{"part": 0}\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="initial_stock"\r\n\r\n{"quantity": ""}\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="initial_supplier"\r\n\r\n{}\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="copy_category_parameters"\r\n\r\ntrue\r\n--985ed9218ee93e47e21d59914d052089\r\nContent-Disposition: form-data; name="parameters"\r\n\r\n{}\r\n--985ed9218ee93e47e21d59914d052089--\r\n' http://0.0.0.0:34609/api/part/ 2. Test Case ID: HmNBK6 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/part/ __________________________ PATCH /api/part/category/ ___________________________ 1. Test Case ID: THAoIp - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/part/category/","status_code":500}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=ce7b22414db9de61c1f352956a667262' -d $'--ce7b22414db9de61c1f352956a667262\r\nContent-Disposition: form-data; name="name"\r\n\r\n\r\n--ce7b22414db9de61c1f352956a667262\r\nContent-Disposition: form-data; name="description"\r\n\r\n\r\n--ce7b22414db9de61c1f352956a667262\r\nContent-Disposition: form-data; name="default_location"\r\n\r\nnull\r\n--ce7b22414db9de61c1f352956a667262\r\nContent-Disposition: form-data; name="default_keywords"\r\n\r\n\r\n--ce7b22414db9de61c1f352956a667262\r\nContent-Disposition: form-data; name="parent"\r\n\r\nnull\r\n--ce7b22414db9de61c1f352956a667262\r\nContent-Disposition: form-data; name="structural"\r\n\r\nfalse\r\n--ce7b22414db9de61c1f352956a667262\r\nContent-Disposition: form-data; name="icon"\r\n\r\n\r\n--ce7b22414db9de61c1f352956a667262\r\nContent-Disposition: form-data; name="parameters"\r\n\r\n{}\r\n--ce7b22414db9de61c1f352956a667262--\r\n' http://0.0.0.0:34609/api/part/category/ 2. Test Case ID: AA9MFp - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/part/category/ __________________ PATCH /api/part/category/parameters/{id}/ ___________________ 1. Test Case ID: b0rmOz - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/category/parameters/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"category": 0, "template": 0, "default_value": ""}' http://0.0.0.0:34609/api/part/category/parameters/null%2Cnull/ 2. Test Case ID: U08vUf - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/category/parameters/1/ ________________________ PATCH /api/part/category/{id}/ ________________________ 1. Test Case ID: bDr9Vr - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/category/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"name": "", "description": "", "default_location": null, "default_keywords": "", "parent": null, "structural": false, "icon": ""}' http://0.0.0.0:34609/api/part/category/null%2Cnull/ 2. Test Case ID: UNt8Ox - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/category/1/ _____________________ PATCH /api/part/internal-price/{id}/ _____________________ 1. Test Case ID: P5wzwz - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/internal-price/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"part": 0, "quantity": 0, "price": "", "price_currency": ""}' http://0.0.0.0:34609/api/part/internal-price/null%2Cnull/ 2. Test Case ID: WOGitk - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/internal-price/1/ ________________________ PATCH /api/part/related/{id}/ _________________________ 1. Test Case ID: r5Yv81 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/related/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"part_1": 0, "part_2": 0, "note": ""}' http://0.0.0.0:34609/api/part/related/null%2Cnull/ 2. Test Case ID: jdz5XT - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/related/1/ _______________________ PATCH /api/part/sale-price/{id}/ _______________________ 1. Test Case ID: voxkkg - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/sale-price/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"part": 0, "quantity": 0, "price": "", "price_currency": ""}' http://0.0.0.0:34609/api/part/sale-price/null%2Cnull/ 2. Test Case ID: K1odNg - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/sale-price/1/ _______________________ PATCH /api/part/stocktake/{id}/ ________________________ 1. Test Case ID: Wyf94n - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/stocktake/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"part": 0, "item_count": 0, "quantity": 0, "cost_min": "", "cost_min_currency": "", "cost_max": "", "cost_max_currency": ""}' http://0.0.0.0:34609/api/part/stocktake/null%2Cnull/ 2. Test Case ID: kijLvT - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/stocktake/1/ _____________________ PATCH /api/part/test-template/{id}/ ______________________ 1. Test Case ID: EUsWVu - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/test-template/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"part": 0, "test_name": "", "description": "", "enabled": false, "required": false, "requires_value": false, "requires_attachment": false, "choices": ""}' http://0.0.0.0:34609/api/part/test-template/null%2Cnull/ 2. Test Case ID: 6dZjwD - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/test-template/1/ _________________________ PATCH /api/part/thumbs/{id}/ _________________________ 1. Test Case ID: seXnO1 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/thumbs/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"image": "https://0.com"}' http://0.0.0.0:34609/api/part/thumbs/null%2Cnull/ 2. Test Case ID: cbxoEC - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/thumbs/1/ ____________________________ PATCH /api/part/{id}/ _____________________________ 1. Test Case ID: 0bL3ov - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"active": false, "assembly": false, "category": null, "component": false, "creation_user": null, "default_expiry": 0, "default_location": null, "description": "", "image": "https://0.com", "existing_image": "", "IPN": "", "is_template": false, "keywords": "", "link": "https://0.com", "locked": false, "minimum_stock": 0.0, "maximum_stock": 0.0, "name": "", "notes": "", "purchaseable": false, "revision": "", "revision_of": null, "salable": false, "testable": false, "trackable": false, "units": "", "variant_of": null, "virtual": false, "responsible": null, "duplicate": {"part": 0}, "initial_stock": {"quantity": ""}, "initial_supplier": {}, "copy_category_parameters": true, "tags": []}' http://0.0.0.0:34609/api/part/null%2Cnull/ 2. Test Case ID: RfnQkW - Response violates schema (2 violations) "2026-10-07 17:24" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/Part/properties/pricing_updated: { "anyOf": [ { "type": "string", "format": "date-time", "readOnly": true }, { "type": "null" } ] } Value: "2026-10-07 17:24" "category_name" is a required property Validated against the response schema for status code 200. Schema at /components/schemas/Part: { "required": [ "barcode_hash", "category_name", "full_name", "name", "pk", "starred", "thumbnail" ], "type": "object", "description": "Serializer for complete detail information of a part.\n\n... "properties": { "active": { "type": "boolean", "description": "Is this part active?" }, "assembly": { "type": "boolean", // Output truncated... } Value: { "IPN": "", "active": true, "allocated_to_build_orders": 0.0, "allocated_to_sales_orders": 0.0, "assembly": false, "barcode_hash": "", "building": 0.0, "category": null, "category_default_location": null, "category_detail": null, "category_path": null, "component": true, "creation_date": "2026-10-07", "creation_user": 1, "default_expiry": 0, "default_location": null, "default_location_detail": null, "description": "", // Output truncated... } [200] OK: `{"active":true,"assembly":false,"barcode_hash":"","category":null,"component":true,"creation_date":"2026-10-07","creation_user":1,"default_expiry":0,"default_location":null,"description":"","full_name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","image":null,"IPN":"","is_template":false,"keywords":null,"link":null,"locked":false,"minimum_stock":0.0,"maximum_stock":0.0,"name":"000000000000000000000000000000000000000000000000000000000000000000000000000 // Output truncated...` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/part/1/ 3. Test Case ID: 0ALoWX - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/1/ 4. Test Case ID: AgH2Wd - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 4 additional properties not defined in the schema (``, `ÔÜÏ`, `Ü橄𣼷n{/Ç򖹌=”𵭕` and 1 more). The server likely rejects unexpected fields. Add `additionalProperties: false` to your schema to prevent this. [400] Bad Request: `{"existing_image":["Image file does not exist"]}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u00dc\u6a44\ud84f\udf37n{/\u00c7\uda1b\ude4c=\u0094\ud896\udf55": [], "": [[[true, "\u0004"], [true]]], "\u00d4\u0004\u00dc\u00cf": [true], "\uda16\udc16|\u00b7": {}, "existing_image": "\ud9f1\udcb1lN?"}' http://0.0.0.0:34609/api/part/1/ ______________________ PATCH /api/part/{id}/bom-validate/ ______________________ 1. Test Case ID: P6aL7O - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/null,null/bom-validate/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"valid": false}' http://0.0.0.0:34609/api/part/null%2Cnull/bom-validate/ 2. Test Case ID: xwUc8s - Response violates schema "bom_checksum" is a required property Validated against the response schema for status code 200. Schema at /components/schemas/PartBomValidate: { "required": [ "bom_checksum", "bom_validated", "pk" ], "type": "object", "description": "Serializer for Part BOM information.", "properties": { "pk": { "type": "integer", "readOnly": true, "title": "ID" }, "bom_validated": { "type": "boolean", "readOnly": true, "description": "Is the BOM for this part valid?" }, // Output truncated... } Value: { "complete": true, "exists": false, "http_status": 200, "pending": false, "success": true, "task_id": "" } [200] OK: `{"task_id":"","exists":false,"pending":false,"complete":true,"success":true,"http_status":200}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/part/1/bom-validate/ 3. Test Case ID: wZM7Rs - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/1/bom-validate/ ________________________ PATCH /api/part/{id}/pricing/ _________________________ 1. Test Case ID: fET9lm - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/null,null/pricing/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"override_min": "", "override_min_currency": "", "override_max": "", "override_max_currency": "", "update": null}' http://0.0.0.0:34609/api/part/null%2Cnull/pricing/ 2. Test Case ID: JOB6WR - Response violates schema "2026-10-07 17:26" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /properties/updated: { "anyOf": [ { "type": "string", "format": "date-time", "readOnly": true }, { "type": "null" } ] } Value: "2026-10-07 17:26" [200] OK: `{"currency":"USD","updated":"2026-10-07 17:26","scheduled_for_update":false,"bom_cost_min":null,"bom_cost_max":null,"purchase_cost_min":null,"purchase_cost_max":null,"internal_cost_min":null,"internal_cost_max":null,"supplier_price_min":null,"supplier_price_max":null,"variant_cost_min":null,"variant_cost_max":null,"override_min":null,"override_min_currency":"USD","override_max":null,"override_max_currency":"USD","overall_min":null,"overall_max":null,"sale_price_min":null,"sale_price_max":null,"sale_history_ // Output truncated...` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/part/1/pricing/ 3. Test Case ID: njcFUr - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/1/pricing/ ____________________ PATCH /api/plugins/{plugin}/activate/ _____________________ 1. Test Case ID: irrmZY - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PluginConfig matches the given query."}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=e738434166262a928321ed9df347ec5b' -d $'--e738434166262a928321ed9df347ec5b\r\nContent-Disposition: form-data; name="active"\r\n\r\n{}\r\n--e738434166262a928321ed9df347ec5b--\r\n' http://0.0.0.0:34609/api/plugins/0/activate/ 2. Test Case ID: Gd2vSZ - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/plugins/0/activate/","status_code":500}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/plugins/0/activate/ 3. Test Case ID: 35vQj3 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/plugins/inventreebarcode/activate/ _________________ PATCH /api/plugins/{plugin}/settings/{key}/ __________________ 1. Test Case ID: vbcv6f - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/plugins/0/settings/%C2%84/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"value": null}' http://0.0.0.0:34609/api/plugins/0/settings/%C2%84/ 2. Test Case ID: Rosg6K - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/plugins/inventreebarcode/settings/INVENTREE_DEBUG/ ____________________ PATCH /api/plugins/{plugin}/uninstall/ ____________________ 1. Test Case ID: bPOJ62 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PluginConfig matches the given query."}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=5cb0718deff72e10ca96fd9f8f681a79' -d $'--5cb0718deff72e10ca96fd9f8f681a79\r\nContent-Disposition: form-data; name="delete_config"\r\n\r\n{}\r\n--5cb0718deff72e10ca96fd9f8f681a79--\r\n' http://0.0.0.0:34609/api/plugins/0/uninstall/ 2. Test Case ID: bqO6E0 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":["Plugin uninstalling is disabled"]}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/plugins/inventreebarcode/uninstall/ _______________ PATCH /api/plugins/{plugin}/user-settings/{key}/ _______________ 1. Test Case ID: W5UnSt - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/plugins/0/user-settings/%C2%84/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"value": null}' http://0.0.0.0:34609/api/plugins/0/user-settings/%C2%84/ 2. Test Case ID: xIwBlO - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d $'\x00' http://0.0.0.0:34609/api/plugins/inventreebarcode/user-settings/INVENTREE_DEBUG/ ________________________ PATCH /api/project-code/{id}/ _________________________ 1. Test Case ID: WSYWJA - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/project-code/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"code": "", "description": "", "responsible": null}' http://0.0.0.0:34609/api/project-code/null%2Cnull/ 2. Test Case ID: ZaHm9m - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/project-code/1/ 3. Test Case ID: FXhiAQ - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 5 additional properties not defined in the schema (`?`, `Ø`, `éÂâ³*ÛY s򯨪0` and 2 more). The server likely rejects unexpected fields. Add `additionalProperties: false` to your schema to prevent this. [400] Bad Request: `{"responsible":["Incorrect type. Expected pk value, received str."]}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=2e681cf6210c9101985ed4aafbea6f6d' -d $'--2e681cf6210c9101985ed4aafbea6f6d\r\nContent-Disposition: form-data; name="\xf3\xac\x80\x9ap%êß3º]&~\xc2\x90"\r\n\r\nnull\r\n--2e681cf6210c9101985ed4aafbea6f6d\r\nContent-Disposition: form-data; name="\xf3\xac\x80\x9ap%êß3º]&~\xc2\x90"\r\n\r\n-3216\r\n--2e681cf6210c9101985ed4aafbea6f6d\r\nContent-Disposition: form-data; name="\xf3\xac\x80\x9ap%êß3º]&~\xc2\x90"\r\n\r\nÆku\xc2\x87O\x10ß\x17\x7f°\x1f\x16\r\n--2e681cf6210c9101985ed4aafbea6f6d\r\nContent-Disposition: form-data; name="?\x0e"\r\n\r\n{}\r\n--2e681cf6210c9101985ed4aafbea6f6d\r\nContent-Disposition: form-data; name="稧\xf2\x87\x89\xad®)½º\xc2\x81\xc2\x87"\r\n\r\nfalse\r\n--2e681cf6210c9101985ed4aafbea6f6d\r\nContent-Disposition: form-data; name="éÂâ³*ÛY\x0c\x19s\xf2\xaf\xa8\xaa0"\r\n\r\nÖùþ\xf4\x84\x91\x8d\xc2\x9ey\r\n--2e681cf6210c9101985ed4aafbea6f6d\r\nContent-Disposition: form-data; name="éÂâ³*ÛY\x0c\x19s\xf2\xaf\xa8\xaa0"\r\n\r\nfalse\r\n--2e681cf6210c9101985ed4aafbea6f6d\r\nContent-Disposition: form-data; name="éÂâ³*ÛY\x0c\x19s\xf2\xaf\xa8\xaa0"\r\n\r\n1.5758706764871237e-48\r\n--2e681cf6210c9101985ed4aafbea6f6d\r\nContent-Disposition: form-data; name="Ø"\r\n\r\nfalse\r\n--2e681cf6210c9101985ed4aafbea6f6d\r\nContent-Disposition: form-data; name="responsible"\r\n\r\nnull\r\n--2e681cf6210c9101985ed4aafbea6f6d--\r\n' http://0.0.0.0:34609/api/project-code/1/ ________________________ PATCH /api/report/asset/{id}/ _________________________ 1. Test Case ID: pJLlSi - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/report/asset/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"asset": "https://0.com", "description": ""}' http://0.0.0.0:34609/api/report/asset/null%2Cnull/ 2. Test Case ID: n0qtEl - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/report/asset/1/ _______________________ PATCH /api/report/snippet/{id}/ ________________________ 1. Test Case ID: 5bmxyi - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/report/snippet/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"snippet": "https://0.com", "description": ""}' http://0.0.0.0:34609/api/report/snippet/null%2Cnull/ 2. Test Case ID: 13j3dZ - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/report/snippet/1/ _______________________ PATCH /api/report/template/{id}/ _______________________ 1. Test Case ID: blcnHZ - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/report/template/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"name": "", "description": "", "model_type": "build", "template": "https://0.com", "filters": "", "filename_pattern": "", "enabled": false, "attach_to_model": false, "updated": "2000-01-01T00:00:00Z", "updated_by": null, "page_size": "A4", "landscape": false, "merge": false}' http://0.0.0.0:34609/api/report/template/null%2Cnull/ 2. Test Case ID: uUfL9w - Response violates schema (2 violations) "/media/report/report/inventree_bill_of_materials_report.html" is not a "uri" Validated against the response schema for status code 200. Schema at /components/schemas/ReportTemplate/properties/template: { "format": "uri", "type": "string" } Value: "/media/report/report/inventree_bill_of_materials_report.html" "2026-10-07 17:18" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/ReportTemplate/properties/updated: { "anyOf": [ { "type": "string", "format": "date-time", "description": "Timestamp of last update" }, { "type": "null" } ] } Value: "2026-10-07 17:18" [200] OK: `{"pk":1,"name":"InvenTree Bill of Materials","description":"Sample bill of materials report","model_type":"part","template":"/media/report/report/inventree_bill_of_materials_report.html","filters":"","filename_pattern":"output.pdf","enabled":true,"revision":3,"attach_to_model":false,"updated":"2026-10-07 17:18","updated_by":1,"updated_by_detail":{"pk":1,"username":"admin","first_name":"","last_name":"","email":"admin@example.com"},"page_size":"A4","landscape":false,"merge":false}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/report/template/1/ 3. Test Case ID: xS12Ui - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/report/template/1/ 4. Test Case ID: tIAwkd - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"updated":["Datetime has wrong format. Use one of these formats instead: YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z]."]}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Cookie: [Filtered]' -d '%C3%87=1.401298464324817e-45&%C3%87=-2.9272445655245652e-95&%F2%BC%A2%9D=%F2%90%82%A1n&description=%C3%B1%F0%9F%97%B8%C3%9A%C2%B8%C2%91%C3%88&merge=false&updated=null' http://0.0.0.0:34609/api/report/template/1/ __________________________ PATCH /api/selection/{id}/ __________________________ 1. Test Case ID: 06rg97 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/selection/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"name": "", "description": "", "active": false, "locked": false, "source_plugin": null, "source_string": ""}' http://0.0.0.0:34609/api/selection/null%2Cnull/ 2. Test Case ID: omTmjO - Response violates schema (2 violations) "2026-10-07 17:09" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/SelectionList/properties/created: { "format": "date-time", "type": "string", "readOnly": true, "description": "Date and time that the selection list was created" } Value: "2026-10-07 17:09" "2026-10-07 17:26" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/SelectionList/properties/last_updated: { "format": "date-time", "type": "string", "readOnly": true, "description": "Date and time that the selection list was last updated" } Value: "2026-10-07 17:26" [200] OK: `{"pk":1,"name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","description":"","active":true,"locked":false,"source_plugin":null,"source_string":"","default":null,"created":"2026-10-07 17:09","last_updated":"2026-10-07 17:26","entry_count":0,"choices":[]}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/selection/1/ 3. Test Case ID: 15JYG9 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/selection/1/ __________________ PATCH /api/selection/{id}/entry/{entrypk}/ __________________ 1. Test Case ID: ZsVfng - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/selection/null,null/entry/0/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"value": "", "label": "", "description": "", "active": false, "list": null}' http://0.0.0.0:34609/api/selection/null%2Cnull/entry/0/ 2. Test Case ID: 4hf9MI - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/selection/1/entry/1/ ______________________ PATCH /api/settings/global/{key}/ _______________________ 1. Test Case ID: DkbDZE - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/settings/global/%C2%84/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"value": null}' http://0.0.0.0:34609/api/settings/global/%C2%84/ 2. Test Case ID: 7ME8ZR - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/settings/global/INVENTREE_DEBUG/ _______________________ PATCH /api/settings/user/{key}/ ________________________ 1. Test Case ID: 4LxkC3 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/settings/user/%C2%84/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"value": null}' http://0.0.0.0:34609/api/settings/user/%C2%84/ 2. Test Case ID: n6SyeR - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/settings/user/INVENTREE_DEBUG/ ______________________________ PATCH /api/stock/ _______________________________ 1. Test Case ID: VE8eeV - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/stock/","status_code":500}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=f18f7f5adbe492f99edc308880f7fd66' -d $'--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="part"\r\n\r\n0\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="quantity"\r\n\r\n0\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="serial"\r\n\r\n\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="batch"\r\n\r\n\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="location"\r\n\r\nnull\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="belongs_to"\r\n\r\nnull\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="build"\r\n\r\nnull\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="consumed_by"\r\n\r\nnull\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="customer"\r\n\r\nnull\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="delete_on_deplete"\r\n\r\nfalse\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="expiry_date"\r\n\r\n2000-01-01\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="is_building"\r\n\r\nfalse\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="link"\r\n\r\nhttps://0.com\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="notes"\r\n\r\n\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="owner"\r\n\r\nnull\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="packaging"\r\n\r\n\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="purchase_order"\r\n\r\nnull\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="sales_order"\r\n\r\nnull\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="status"\r\n\r\n10\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="status_custom_key"\r\n\r\nnull\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="supplier_part"\r\n\r\nnull\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="purchase_price"\r\n\r\n\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="purchase_price_currency"\r\n\r\n\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="use_pack_size"\r\n\r\nnull\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="serial_numbers"\r\n\r\nnull\r\n--f18f7f5adbe492f99edc308880f7fd66\r\nContent-Disposition: form-data; name="location_path"\r\n\r\n{}\r\n--f18f7f5adbe492f99edc308880f7fd66--\r\n' http://0.0.0.0:34609/api/stock/ 2. Test Case ID: j6RPbf - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/stock/ _____________________ PATCH /api/stock/location-type/{id}/ _____________________ 1. Test Case ID: uElbGe - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/stock/location-type/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"name": "", "description": "", "icon": ""}' http://0.0.0.0:34609/api/stock/location-type/null%2Cnull/ 2. Test Case ID: sX9jxl - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/stock/location-type/1/ __________________________ PATCH /api/stock/location/ __________________________ 1. Test Case ID: 4aWlNc - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/stock/location/","status_code":500}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=cb56e572b8dc514f6804b43b8d370662' -d $'--cb56e572b8dc514f6804b43b8d370662\r\nContent-Disposition: form-data; name="name"\r\n\r\n\r\n--cb56e572b8dc514f6804b43b8d370662\r\nContent-Disposition: form-data; name="description"\r\n\r\n\r\n--cb56e572b8dc514f6804b43b8d370662\r\nContent-Disposition: form-data; name="parent"\r\n\r\nnull\r\n--cb56e572b8dc514f6804b43b8d370662\r\nContent-Disposition: form-data; name="owner"\r\n\r\nnull\r\n--cb56e572b8dc514f6804b43b8d370662\r\nContent-Disposition: form-data; name="custom_icon"\r\n\r\n\r\n--cb56e572b8dc514f6804b43b8d370662\r\nContent-Disposition: form-data; name="structural"\r\n\r\nfalse\r\n--cb56e572b8dc514f6804b43b8d370662\r\nContent-Disposition: form-data; name="external"\r\n\r\nfalse\r\n--cb56e572b8dc514f6804b43b8d370662\r\nContent-Disposition: form-data; name="location_type"\r\n\r\nnull\r\n--cb56e572b8dc514f6804b43b8d370662\r\nContent-Disposition: form-data; name="parameters"\r\n\r\n{}\r\n--cb56e572b8dc514f6804b43b8d370662--\r\n' http://0.0.0.0:34609/api/stock/location/ 2. Test Case ID: 2zNkO6 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/stock/location/ _______________________ PATCH /api/stock/location/{id}/ ________________________ 1. Test Case ID: vjFzjx - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/stock/location/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"name": "", "description": "", "parent": null, "owner": null, "custom_icon": "", "structural": false, "external": false, "location_type": null, "tags": []}' http://0.0.0.0:34609/api/stock/location/null%2Cnull/ 2. Test Case ID: tFUhev - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/stock/location/1/ _________________________ PATCH /api/stock/test/{id}/ __________________________ 1. Test Case ID: oJrJEX - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/stock/test/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"stock_item": 0, "result": false, "value": "", "attachment": "https://0.com", "notes": "", "test_station": "", "started_datetime": "2000-01-01T00:00:00Z", "finished_datetime": "2000-01-01T00:00:00Z", "template": null}' http://0.0.0.0:34609/api/stock/test/null%2Cnull/ 2. Test Case ID: PZH7IL - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/stock/test/1/ ____________________________ PATCH /api/stock/{id}/ ____________________________ 1. Test Case ID: hDVVis - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/stock/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"part": 0, "quantity": 0, "serial": "", "batch": "", "location": null, "belongs_to": null, "build": null, "consumed_by": null, "customer": null, "delete_on_deplete": false, "expiry_date": "2000-01-01", "is_building": false, "link": "https://0.com", "notes": "", "owner": null, "packaging": "", "purchase_order": null, "sales_order": null, "status": 10, "status_custom_key": null, "supplier_part": null, "purchase_price": "", "purchase_price_currency": "", "use_pack_size": null, "serial_numbers": null, "tags": []}' http://0.0.0.0:34609/api/stock/null%2Cnull/ 2. Test Case ID: zZt3R4 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/stock/1/ _____________________________ PATCH /api/tag/{id}/ _____________________________ 1. Test Case ID: k3YGUN - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/tag/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"name": ""}' http://0.0.0.0:34609/api/tag/null%2Cnull/ 2. Test Case ID: cxU89U - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"name":["This field may not be blank."]}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/x-www-form-urlencoded' -d '=%C3%A6%1F%F1%A4%B6%AD%C2%87&name=%C2%87' http://0.0.0.0:34609/api/tag/1/ ____________________________ PATCH /api/units/{id}/ ____________________________ 1. Test Case ID: upJB7O - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"name": "", "symbol": "", "definition": ""}' http://0.0.0.0:34609/api/units/null%2Cnull/ 2. Test Case ID: GjL041 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/units/1/ _________________________ PATCH /api/user/group/{id}/ __________________________ 1. Test Case ID: iy3zE0 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/user/group/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"name": ""}' http://0.0.0.0:34609/api/user/group/null%2Cnull/ 2. Test Case ID: 5f0GUs - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/user/group/1/ _________________________ PATCH /api/user/me/profile/ __________________________ 1. Test Case ID: pOOdPf - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"primary_group":["Incorrect type. Expected pk value, received str."]}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=c9874d2b5c80f6e597633ba117518172' -d $'--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="language"\r\n\r\n\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="theme"\r\n\r\nnull\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="widgets"\r\n\r\nnull\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="displayname"\r\n\r\n\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="position"\r\n\r\n\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="status"\r\n\r\n\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="location"\r\n\r\n\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="active"\r\n\r\nfalse\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="contact"\r\n\r\n\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="type"\r\n\r\nbot\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="organisation"\r\n\r\n\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="primary_group"\r\n\r\n{}\r\n--c9874d2b5c80f6e597633ba117518172--\r\n' http://0.0.0.0:34609/api/user/me/profile/ 2. Test Case ID: kuvqlQ - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"primary_group":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=a08d10cbe140891ff53badf342506579' -d $'--a08d10cbe140891ff53badf342506579\r\nContent-Disposition: form-data; name="language"\r\n\r\n\r\n--a08d10cbe140891ff53badf342506579\r\nContent-Disposition: form-data; name="theme"\r\n\r\nnull\r\n--a08d10cbe140891ff53badf342506579\r\nContent-Disposition: form-data; name="widgets"\r\n\r\nnull\r\n--a08d10cbe140891ff53badf342506579\r\nContent-Disposition: form-data; name="displayname"\r\n\r\n\r\n--a08d10cbe140891ff53badf342506579\r\nContent-Disposition: form-data; name="position"\r\n\r\n\r\n--a08d10cbe140891ff53badf342506579\r\nContent-Disposition: form-data; name="status"\r\n\r\n\r\n--a08d10cbe140891ff53badf342506579\r\nContent-Disposition: form-data; name="location"\r\n\r\n\r\n--a08d10cbe140891ff53badf342506579\r\nContent-Disposition: form-data; name="active"\r\n\r\nfalse\r\n--a08d10cbe140891ff53badf342506579\r\nContent-Disposition: form-data; name="contact"\r\n\r\n\r\n--a08d10cbe140891ff53badf342506579\r\nContent-Disposition: form-data; name="type"\r\n\r\nbot\r\n--a08d10cbe140891ff53badf342506579\r\nContent-Disposition: form-data; name="organisation"\r\n\r\n\r\n--a08d10cbe140891ff53badf342506579\r\nContent-Disposition: form-data; name="primary_group"\r\n\r\n0\r\n--a08d10cbe140891ff53badf342506579--\r\n' http://0.0.0.0:34609/api/user/me/profile/ ________________________ PATCH /api/user/ruleset/{id}/ _________________________ 1. Test Case ID: H5IO22 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/user/ruleset/null,null/"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"can_view": false, "can_add": false, "can_change": false, "can_delete": false}' http://0.0.0.0:34609/api/user/ruleset/null%2Cnull/ 2. Test Case ID: 3xE98X - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/user/ruleset/23/ ______________________________ POST /api/action/ _______________________________ 1. Test Case ID: utwSHw - Response violates schema "error" is a required property Validated against the response schema for status code 400. Schema: { "required": [ "error" ], "type": "object", "description": "Serializer for the ActionPluginView error responses.", "properties": { "error": { "type": "string" }, "action": { "type": "string" } } } Value: { "detail": "JSON parse error - Expecting value: line 1 column 1 (char 0)" } [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/action/ 2. Test Case ID: 6A0HeH - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 400, 404 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/action/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d null http://0.0.0.0:34609/api/action/ _________________________ POST /api/admin/email/test/ __________________________ 1. Test Case ID: ecRbAR - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"email":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/admin/email/test/ 2. Test Case ID: 4HeSWu - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `["Failed to send test email: \"INVE-W7: Email server not configured\""]` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=df4637c25fd6974030f37c163fe8c18e' -d $'--df4637c25fd6974030f37c163fe8c18e\r\nContent-Disposition: form-data; name="email"\r\n\r\n0@0.com\r\n--df4637c25fd6974030f37c163fe8c18e--\r\n' http://0.0.0.0:34609/api/admin/email/test/ ____________________________ POST /api/attachment/ _____________________________ 1. Test Case ID: 4Jd0lR - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"model_type":["This field is required."],"model_id":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/attachment/ 2. Test Case ID: 3ZsDeX - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"attachment":["Missing file"],"link":["Missing external link"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"model_id": 0, "model_type": "part"}' http://0.0.0.0:34609/api/attachment/ ______________________________ POST /api/barcode/ ______________________________ 1. Test Case ID: ZsXJeD - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"barcode":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/barcode/ 2. Test Case ID: icZEtf - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"plugin":"None","barcode_data":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // Output truncated...` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=e0153f8bddaf6880f31830085f0708cf' -d $'--e0153f8bddaf6880f31830085f0708cf\r\nContent-Disposition: form-data; name="barcode"\r\n\r\n00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\r\n--e0153f8bddaf6880f31830085f0708cf--\r\n' http://0.0.0.0:34609/api/barcode/ 3. Test Case ID: YZc2Yb - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"TypeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/barcode/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/barcode/ _________________________ POST /api/barcode/generate/ __________________________ 1. Test Case ID: hEuGBK - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"model":["This field is required."],"pk":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/barcode/generate/ 2. Test Case ID: lmVEPH - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"model":["This field may not be blank."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=85faafa7af38e34e6ea248d486d51a32' -d $'--85faafa7af38e34e6ea248d486d51a32\r\nContent-Disposition: form-data; name="model"\r\n\r\n\r\n--85faafa7af38e34e6ea248d486d51a32\r\nContent-Disposition: form-data; name="pk"\r\n\r\n0\r\n--85faafa7af38e34e6ea248d486d51a32--\r\n' http://0.0.0.0:34609/api/barcode/generate/ ___________________________ POST /api/barcode/link/ ____________________________ 1. Test Case ID: 0fEyMI - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"barcode":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/barcode/link/ 2. Test Case ID: ze0MHq - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"barcode":["This field may not be blank."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"barcode": ""}' http://0.0.0.0:34609/api/barcode/link/ ________________________ POST /api/barcode/po-allocate/ ________________________ 1. Test Case ID: nBPZ4i - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"barcode":["This field is required."],"purchase_order":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/barcode/po-allocate/ 2. Test Case ID: KiX01O - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"purchase_order":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=e663d3dc41dca3b9df6281cea4fecacf' -d $'--e663d3dc41dca3b9df6281cea4fecacf\r\nContent-Disposition: form-data; name="barcode"\r\n\r\n00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\r\n--e663d3dc41dca3b9df6281cea4fecacf\r\nContent-Disposition: form-data; name="purchase_order"\r\n\r\n0\r\n--e663d3dc41dca3b9df6281cea4fecacf--\r\n' http://0.0.0.0:34609/api/barcode/po-allocate/ 3. Test Case ID: dzx2sG - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"TypeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/barcode/po-allocate/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/barcode/po-allocate/ ________________________ POST /api/barcode/po-receive/ _________________________ 1. Test Case ID: Sv88GW - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"barcode":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/barcode/po-receive/ 2. Test Case ID: m96dTR - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"barcode":["This field may not be blank."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"barcode": ""}' http://0.0.0.0:34609/api/barcode/po-receive/ ________________________ POST /api/barcode/so-allocate/ ________________________ 1. Test Case ID: N8qdie - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"barcode":["This field is required."],"sales_order":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/barcode/so-allocate/ 2. Test Case ID: 2ZZFHV - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"barcode":["This field may not be blank."],"sales_order":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"barcode": "", "sales_order": 0}' http://0.0.0.0:34609/api/barcode/so-allocate/ __________________________ POST /api/barcode/unlink/ ___________________________ 1. Test Case ID: jWFP5J - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"build":["Incorrect type. Expected pk value, received str."],"manufacturerpart":["Incorrect type. Expected pk value, received str."],"supplierpart":["Incorrect type. Expected pk value, received str."],"purchaseorder":["Incorrect type. Expected pk value, received str."],"returnorder":["Incorrect type. Expected pk value, received str."],"salesorder":["Incorrect type. Expected pk value, received str."],"salesordershipment":["Incorrect type. Expected pk value, received str."],"transferorder":["Incorrect type. // Output truncated...` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=15212eb7282a316e84aa9d9079a7b235' -d $'--15212eb7282a316e84aa9d9079a7b235\r\nContent-Disposition: form-data; name="build"\r\n\r\nnull\r\n--15212eb7282a316e84aa9d9079a7b235\r\nContent-Disposition: form-data; name="manufacturerpart"\r\n\r\nnull\r\n--15212eb7282a316e84aa9d9079a7b235\r\nContent-Disposition: form-data; name="supplierpart"\r\n\r\nnull\r\n--15212eb7282a316e84aa9d9079a7b235\r\nContent-Disposition: form-data; name="purchaseorder"\r\n\r\nnull\r\n--15212eb7282a316e84aa9d9079a7b235\r\nContent-Disposition: form-data; name="returnorder"\r\n\r\nnull\r\n--15212eb7282a316e84aa9d9079a7b235\r\nContent-Disposition: form-data; name="salesorder"\r\n\r\nnull\r\n--15212eb7282a316e84aa9d9079a7b235\r\nContent-Disposition: form-data; name="salesordershipment"\r\n\r\nnull\r\n--15212eb7282a316e84aa9d9079a7b235\r\nContent-Disposition: form-data; name="transferorder"\r\n\r\nnull\r\n--15212eb7282a316e84aa9d9079a7b235\r\nContent-Disposition: form-data; name="part"\r\n\r\nnull\r\n--15212eb7282a316e84aa9d9079a7b235\r\nContent-Disposition: form-data; name="stockitem"\r\n\r\nnull\r\n--15212eb7282a316e84aa9d9079a7b235\r\nContent-Disposition: form-data; name="stocklocation"\r\n\r\n{}\r\n--15212eb7282a316e84aa9d9079a7b235--\r\n' http://0.0.0.0:34609/api/barcode/unlink/ 2. Test Case ID: 4faiKS - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"error":"Missing data: Provide one of 'build, manufacturerpart, supplierpart, purchaseorder, returnorder, salesorder, salesordershipment, transferorder, part, stockitem, stocklocation'"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/barcode/unlink/ ________________________________ POST /api/bom/ ________________________________ 1. Test Case ID: wjJ65j - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"part":["This field is required."],"sub_part":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/bom/ 2. Test Case ID: w3qQfX - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"part":["Invalid pk \"0\" - object does not exist."],"sub_part":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"part": 0, "sub_part": 0}' http://0.0.0.0:34609/api/bom/ __________________________ POST /api/bom/substitute/ ___________________________ 1. Test Case ID: iSmrCZ - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"bom_item":["This field is required."],"part":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/bom/substitute/ 2. Test Case ID: gFbwMt - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"bom_item":["Invalid pk \"0\" - object does not exist."],"part":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"bom_item": 0, "part": 0}' http://0.0.0.0:34609/api/bom/substitute/ _______________________________ POST /api/build/ _______________________________ 1. Test Case ID: LcQ4on - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"part":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/ 2. Test Case ID: koBlqf - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"part":["Invalid pk \"0\" - object does not exist."],"reference":["Reference must match required pattern: BO-{ref:04d}"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"part": 0, "quantity": 0.0, "reference": "TO-0001"}' http://0.0.0.0:34609/api/build/ ____________________________ POST /api/build/item/ _____________________________ 1. Test Case ID: plDMhU - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"stock_item":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/item/ 2. Test Case ID: oPElqI - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"stock_item":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"quantity": 0.0, "stock_item": 0}' http://0.0.0.0:34609/api/build/item/ ____________________________ POST /api/build/line/ _____________________________ 1. Test Case ID: q3GMcs - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"build":["This field cannot be null."],"bom_item":["This field cannot be null."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/line/ 2. Test Case ID: gV5oUy - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"build":["This field cannot be null."],"bom_item":["This field cannot be null."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"consumed": 0.0, "quantity": 0.0}' http://0.0.0.0:34609/api/build/line/ ________________________ POST /api/build/{id}/allocate/ ________________________ 1. Test Case ID: Htf6PZ - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"items":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/0/allocate/ 2. Test Case ID: duItPf - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/null,null/allocate/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"items": []}' http://0.0.0.0:34609/api/build/null%2Cnull/allocate/ 3. Test Case ID: aidTwm - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":["Allocation items must be provided"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": []}' http://0.0.0.0:34609/api/build/1/allocate/ 4. Test Case ID: iE0qCI - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/build/0/allocate/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/build/0/allocate/ _____________________ POST /api/build/{id}/auto-allocate/ ______________________ 1. Test Case ID: d1cKNa - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/null,null/auto-allocate/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"location": null, "exclude_location": null, "interchangeable": false, "substitutes": true, "optional_items": false, "item_type": "untracked", "stock_sort_by": "updated", "build_lines": []}' http://0.0.0.0:34609/api/build/null%2Cnull/auto-allocate/ 2. Test Case ID: 48k6Xl - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/build/1/auto-allocate/ _________________________ POST /api/build/{id}/cancel/ _________________________ 1. Test Case ID: pJnUNV - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/null,null/cancel/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"remove_allocated_stock": false, "remove_incomplete_outputs": false}' http://0.0.0.0:34609/api/build/null%2Cnull/cancel/ 2. Test Case ID: F5SVmM - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"remove_incomplete_outputs":["Must be a valid boolean."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=98247dcffe8620a213370d1f3e6a63a8' -d $'--98247dcffe8620a213370d1f3e6a63a8\r\nContent-Disposition: form-data; name="remove_allocated_stock"\r\n\r\nfalse\r\n--98247dcffe8620a213370d1f3e6a63a8\r\nContent-Disposition: form-data; name="remove_incomplete_outputs"\r\n\r\n{}\r\n--98247dcffe8620a213370d1f3e6a63a8--\r\n' http://0.0.0.0:34609/api/build/0/cancel/ 3. Test Case ID: fwzaND - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/build/0/cancel/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=d974144956ed92caeef6f5dc13c3be35' -d $'--d974144956ed92caeef6f5dc13c3be35\r\nContent-Disposition: form-data; name="remove_allocated_stock"\r\n\r\nfalse\r\n--d974144956ed92caeef6f5dc13c3be35\r\nContent-Disposition: form-data; name="remove_incomplete_outputs"\r\n\r\n0\r\n--d974144956ed92caeef6f5dc13c3be35--\r\n' http://0.0.0.0:34609/api/build/0/cancel/ ________________________ POST /api/build/{id}/complete/ ________________________ 1. Test Case ID: uoNdMW - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Build not found"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/0/complete/ 2. Test Case ID: JaWiwB - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/build/1/complete/ ________________________ POST /api/build/{id}/consume/ _________________________ 1. Test Case ID: FGxNqH - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/null,null/consume/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"items": [], "lines": [], "notes": ""}' http://0.0.0.0:34609/api/build/null%2Cnull/consume/ 2. Test Case ID: 1qnZbJ - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/build/1/consume/ _____________________ POST /api/build/{id}/create-output/ ______________________ 1. Test Case ID: zD0Ty4 - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"quantity":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/0/create-output/ 2. Test Case ID: zZg3P0 - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/null,null/create-output/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"quantity": "", "batch_code": "", "serial_numbers": "", "location": null, "auto_allocate": null}' http://0.0.0.0:34609/api/build/null%2Cnull/create-output/ 3. Test Case ID: vdc0tH - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"quantity":["A valid number is required."],"location":["Incorrect type. Expected pk value, received str."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=86562077a2ad55fd7d1f24ca17b85765' -d $'--86562077a2ad55fd7d1f24ca17b85765\r\nContent-Disposition: form-data; name="quantity"\r\n\r\n\r\n--86562077a2ad55fd7d1f24ca17b85765\r\nContent-Disposition: form-data; name="batch_code"\r\n\r\n\r\n--86562077a2ad55fd7d1f24ca17b85765\r\nContent-Disposition: form-data; name="serial_numbers"\r\n\r\n\r\n--86562077a2ad55fd7d1f24ca17b85765\r\nContent-Disposition: form-data; name="location"\r\n\r\nnull\r\n--86562077a2ad55fd7d1f24ca17b85765\r\nContent-Disposition: form-data; name="auto_allocate"\r\n\r\nfalse\r\n--86562077a2ad55fd7d1f24ca17b85765--\r\n' http://0.0.0.0:34609/api/build/0/create-output/ _____________________ POST /api/build/{id}/delete-outputs/ _____________________ 1. Test Case ID: N2jrp0 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Build not found"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/0/delete-outputs/ 2. Test Case ID: AXccJu - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/build/1/delete-outputs/ _________________________ POST /api/build/{id}/finish/ _________________________ 1. Test Case ID: 2AKfpc - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/null,null/finish/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"accept_overallocated": "reject", "accept_unallocated": false, "accept_incomplete": false}' http://0.0.0.0:34609/api/build/null%2Cnull/finish/ 2. Test Case ID: 5YuiSr - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/build/0/finish/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=e9a9f0fafdc807f3e4d50214bba5c53e' -d $'--e9a9f0fafdc807f3e4d50214bba5c53e\r\nContent-Disposition: form-data; name="accept_overallocated"\r\n\r\nreject\r\n--e9a9f0fafdc807f3e4d50214bba5c53e\r\nContent-Disposition: form-data; name="accept_unallocated"\r\n\r\nfalse\r\n--e9a9f0fafdc807f3e4d50214bba5c53e\r\nContent-Disposition: form-data; name="accept_incomplete"\r\n\r\n{}\r\n--e9a9f0fafdc807f3e4d50214bba5c53e--\r\n' http://0.0.0.0:34609/api/build/0/finish/ 3. Test Case ID: csxGZB - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/build/1/finish/ __________________________ POST /api/build/{id}/hold/ __________________________ 1. Test Case ID: mgWBqh - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/null,null/hold/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/null%2Cnull/hold/ 2. Test Case ID: UCUtbp - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/build/0/hold/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/0/hold/ _________________________ POST /api/build/{id}/issue/ __________________________ 1. Test Case ID: crS9n7 - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/null,null/issue/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/null%2Cnull/issue/ 2. Test Case ID: aaulSR - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/build/0/issue/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/0/issue/ _____________________ POST /api/build/{id}/scrap-outputs/ ______________________ 1. Test Case ID: yLOWVW - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Build not found"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/0/scrap-outputs/ 2. Test Case ID: ao4B1U - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/build/1/scrap-outputs/ _______________________ POST /api/build/{id}/unallocate/ _______________________ 1. Test Case ID: WHUOUX - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/build/null,null/unallocate/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"build_line": null, "output": null}' http://0.0.0.0:34609/api/build/null%2Cnull/unallocate/ 2. Test Case ID: PCPU37 - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"build_line":["Incorrect type. Expected pk value, received str."],"output":["Incorrect type. Expected pk value, received str."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=816faaf2e56d08892900ca6c46798e49' -d $'--816faaf2e56d08892900ca6c46798e49\r\nContent-Disposition: form-data; name="build_line"\r\n\r\nnull\r\n--816faaf2e56d08892900ca6c46798e49\r\nContent-Disposition: form-data; name="output"\r\n\r\n{}\r\n--816faaf2e56d08892900ca6c46798e49--\r\n' http://0.0.0.0:34609/api/build/0/unallocate/ 3. Test Case ID: KDVYQw - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"build_line":["Incorrect type. Expected pk value, received str."],"output":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=7b687d1dcf8c2cbff24b6a70e9f04130' -d $'--7b687d1dcf8c2cbff24b6a70e9f04130\r\nContent-Disposition: form-data; name="build_line"\r\n\r\nnull\r\n--7b687d1dcf8c2cbff24b6a70e9f04130\r\nContent-Disposition: form-data; name="output"\r\n\r\n0\r\n--7b687d1dcf8c2cbff24b6a70e9f04130--\r\n' http://0.0.0.0:34609/api/build/0/unallocate/ 4. Test Case ID: 2dXrso - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/build/0/unallocate/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=c637e12e2b1a998d80d1b087531af51c' -H 'Cookie: [Filtered]' -d $'--c637e12e2b1a998d80d1b087531af51c--\r\n' http://0.0.0.0:34609/api/build/0/unallocate/ ______________________________ POST /api/company/ ______________________________ 1. Test Case ID: 6fkSAF - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"name":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/ 2. Test Case ID: zWdGom - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"currency":["\"\" is not a valid choice."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"currency": "", "name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/company/ 3. Test Case ID: DWOCdw - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/company/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/company/ __________________________ POST /api/company/address/ __________________________ 1. Test Case ID: XPCsKH - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"company":["This field is required."],"title":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/address/ 2. Test Case ID: uScGCw - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"company":["Invalid pk \"0\" - object does not exist."],"title":["This field may not be blank."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"company": 0, "title": ""}' http://0.0.0.0:34609/api/company/address/ 3. Test Case ID: gmaZXP - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/company/address/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/company/address/ __________________________ POST /api/company/contact/ __________________________ 1. Test Case ID: XrVYtA - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"company":["This field is required."],"name":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/contact/ 2. Test Case ID: d4Sy2x - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"company":["Invalid pk \"0\" - object does not exist."],"name":["This field may not be blank."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=bc39ab018fb97fd0798ab27d2ca925fb' -d $'--bc39ab018fb97fd0798ab27d2ca925fb\r\nContent-Disposition: form-data; name="company"\r\n\r\n0\r\n--bc39ab018fb97fd0798ab27d2ca925fb\r\nContent-Disposition: form-data; name="name"\r\n\r\n\r\n--bc39ab018fb97fd0798ab27d2ca925fb\r\nContent-Disposition: form-data; name="phone"\r\n\r\n\r\n--bc39ab018fb97fd0798ab27d2ca925fb\r\nContent-Disposition: form-data; name="email"\r\n\r\n0@0.com\r\n--bc39ab018fb97fd0798ab27d2ca925fb\r\nContent-Disposition: form-data; name="role"\r\n\r\n000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\r\n--bc39ab018fb97fd0798ab27d2ca925fb--\r\n' http://0.0.0.0:34609/api/company/contact/ 3. Test Case ID: TtsuNM - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/company/contact/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/company/contact/ ___________________________ POST /api/company/part/ ____________________________ 1. Test Case ID: mpdB4A - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"part":["This field is required."],"SKU":["This field is required."],"supplier":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/part/ 2. Test Case ID: YX9NiU - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"part":["Invalid pk \"0\" - object does not exist."],"SKU":["This field may not be blank."],"supplier":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"SKU": "", "part": 0, "supplier": 0}' http://0.0.0.0:34609/api/company/part/ _____________________ POST /api/company/part/manufacturer/ _____________________ 1. Test Case ID: 0Tbmu3 - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"part":["This field is required."],"manufacturer":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/part/manufacturer/ 2. Test Case ID: 0ByTE4 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"part":["Invalid pk \"0\" - object does not exist."],"manufacturer":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"manufacturer": 0, "part": 0}' http://0.0.0.0:34609/api/company/part/manufacturer/ ________________________ POST /api/company/price-break/ ________________________ 1. Test Case ID: tYJx35 - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"part":["This field is required."],"price":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/price-break/ 2. Test Case ID: 1bYWyA - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"part":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"part": 0, "price": "", "quantity": 0.0}' http://0.0.0.0:34609/api/company/price-break/ __________________________ POST /api/email/generate/ ___________________________ 1. Test Case ID: dgqi6q - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"email":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/email/generate/ 2. Test Case ID: KPQTKx - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"email":["This field may not be blank."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=c64d56b4aa3a7fad77e1864d548c2cc5' -d $'--c64d56b4aa3a7fad77e1864d548c2cc5\r\nContent-Disposition: form-data; name="email"\r\n\r\n\r\n--c64d56b4aa3a7fad77e1864d548c2cc5--\r\n' http://0.0.0.0:34609/api/email/generate/ 3. Test Case ID: 513xOV - Response violates schema "email" is a required property Validated against the response schema for status code 200. Schema: { "required": [ "email" ], "type": "object", "description": "Serializer for the simple login view.", "properties": { "email": { "type": "string" } } } Value: { "status": "ok" } - 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 - email: Incorrect type [200] OK: `{"status":"ok"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"email": 0}' http://0.0.0.0:34609/api/email/generate/ 4. Test Case ID: 1EWHKF - API accepts requests without authentication Expected 401 or 403, got `200 OK` for `POST /api/email/generate/` [200] OK: `{"status":"ok"}` Reproduce with: curl -X POST -H 'Content-Type: application/json' -d '{"email": 0}' http://0.0.0.0:34609/api/email/generate/ ________________________ POST /api/generate/batch-code/ ________________________ 1. Test Case ID: mZpRZS - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"build_order":["Incorrect type. Expected pk value, received str."],"item":["Incorrect type. Expected pk value, received str."],"location":["Incorrect type. Expected pk value, received str."],"part":["Incorrect type. Expected pk value, received str."],"purchase_order":["Incorrect type. Expected pk value, received str."],"quantity":["A valid number is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=16de64fc1fd45ee4156e2c7070839028' -d $'--16de64fc1fd45ee4156e2c7070839028\r\nContent-Disposition: form-data; name="build_order"\r\n\r\nnull\r\n--16de64fc1fd45ee4156e2c7070839028\r\nContent-Disposition: form-data; name="item"\r\n\r\nnull\r\n--16de64fc1fd45ee4156e2c7070839028\r\nContent-Disposition: form-data; name="location"\r\n\r\nnull\r\n--16de64fc1fd45ee4156e2c7070839028\r\nContent-Disposition: form-data; name="part"\r\n\r\nnull\r\n--16de64fc1fd45ee4156e2c7070839028\r\nContent-Disposition: form-data; name="purchase_order"\r\n\r\nnull\r\n--16de64fc1fd45ee4156e2c7070839028\r\nContent-Disposition: form-data; name="quantity"\r\n\r\n{}\r\n--16de64fc1fd45ee4156e2c7070839028--\r\n' http://0.0.0.0:34609/api/generate/batch-code/ 2. Test Case ID: jU02ky - Undocumented HTTP status code Received: 201 Documented: 200 [201] Created: `{"batch_code":""}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/generate/batch-code/ ______________________ POST /api/generate/serial-number/ _______________________ 1. Test Case ID: niFLro - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"part":["Incorrect type. Expected pk value, received str."],"quantity":["A valid integer is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=eedff1e228603a0343771066ea24faf0' -d $'--eedff1e228603a0343771066ea24faf0\r\nContent-Disposition: form-data; name="part"\r\n\r\nnull\r\n--eedff1e228603a0343771066ea24faf0\r\nContent-Disposition: form-data; name="quantity"\r\n\r\n{}\r\n--eedff1e228603a0343771066ea24faf0--\r\n' http://0.0.0.0:34609/api/generate/serial-number/ 2. Test Case ID: Tbtcmo - Undocumented HTTP status code Received: 201 Documented: 200 [201] Created: `{"serial_number":null}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/generate/serial-number/ 3. Test Case ID: 9tRFNA - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 2 additional properties not defined in the schema (``, `A§`). The server likely rejects unexpected fields. Add `additionalProperties: false` to your schema to prevent this. [400] Bad Request: `{"part":["Invalid pk \"-105612\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": {"\u0089": true, "\uda59\udcefE\ud9ca\udf27\u00a2": "\ud8ac\ude4ak\u00c4$S\u009a"}, "A\u00a7": null, "part": -105612, "quantity": 255227417690}' http://0.0.0.0:34609/api/generate/serial-number/ _______________________ POST /api/generic/status/custom/ _______________________ 1. Test Case ID: ydFK1F - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"key":["This field is required."],"name":["This field is required."],"label":["This field is required."],"logical_key":["This field is required."],"reference_status":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/generic/status/custom/ 2. Test Case ID: TwyyL4 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"name":["Value must be a valid variable identifier"],"label":["This field may not be blank."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"key": 0, "label": "", "logical_key": 0, "name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "reference_status": "BuildStatus"}' http://0.0.0.0:34609/api/generic/status/custom/ 3. Test Case ID: BSPSAl - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/generic/status/custom/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/generic/status/custom/ _________________________ POST /api/importer/session/ __________________________ 1. Test Case ID: CAmRm4 - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"data_file":["No file was submitted."],"model_type":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/importer/session/ 2. Test Case ID: PjrVAR - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"data_file":["The submitted data was not a file. Check the encoding type on the form."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"data_file": "https://0.com", "model_type": "tag"}' http://0.0.0.0:34609/api/importer/session/ ________________ POST /api/importer/session/{id}/accept_fields/ ________________ 1. Test Case ID: srO8yp - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/importer/session/null,null/accept_fields/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/importer/session/null%2Cnull/accept_fields/ _________________ POST /api/importer/session/{id}/accept_rows/ _________________ 1. Test Case ID: qIrZuH - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"rows":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/importer/session/0/accept_rows/ 2. Test Case ID: HnzMAB - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/importer/session/null,null/accept_rows/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"rows": []}' http://0.0.0.0:34609/api/importer/session/null%2Cnull/accept_rows/ 3. Test Case ID: Oc3X6G - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"rows":["No rows provided"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"rows": []}' http://0.0.0.0:34609/api/importer/session/1/accept_rows/ 4. Test Case ID: DPcCf5 - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/importer/session/0/accept_rows/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/importer/session/0/accept_rows/ ____________________________ POST /api/label/print/ ____________________________ 1. Test Case ID: 7JvPYJ - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"template":["This field is required."],"items":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/label/print/ 2. Test Case ID: 3Ec6kg - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"template":["Invalid pk \"0\" - object does not exist."],"items":["This list may not be empty."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": [], "template": 0}' http://0.0.0.0:34609/api/label/print/ __________________________ POST /api/label/template/ ___________________________ 1. Test Case ID: LE3Si9 - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"name":["This field is required."],"description":["This field is required."],"model_type":["This field is required."],"template":["No file was submitted."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/label/template/ 2. Test Case ID: RX0mh8 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"description":["This field may not be blank."],"template":["The submitted data was not a file. Check the encoding type on the form."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"description": "", "model_type": "part", "name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "template": "https://0.com"}' http://0.0.0.0:34609/api/label/template/ 3. Test Case ID: pBjpft - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/label/template/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/label/template/ ______________________________ POST /api/locate/ _______________________________ 1. Test Case ID: Yy9K2V - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"'plugin' field must be supplied"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/locate/ 2. Test Case ID: xKo9qv - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"detail":"'plugin' field must be supplied"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"plugin": ""}' http://0.0.0.0:34609/api/locate/ 3. Test Case ID: jc0QGt - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/locate/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d -7.291588626851624e-182 http://0.0.0.0:34609/api/locate/ ______________________________ POST /api/machine/ ______________________________ 1. Test Case ID: K6SvDH - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"name":["This field is required."],"machine_type":["This field is required."],"driver":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/machine/ 2. Test Case ID: zh8swe - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"machine_type":["This field may not be blank."],"driver":["This field may not be blank."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"driver": "", "machine_type": "", "name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/machine/ _______________________ POST /api/machine/{id}/restart/ ________________________ 1. Test Case ID: 4V8cLs - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/machine/null,null/restart/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/machine/null%2Cnull/restart/ ________________________ POST /api/notes-image-upload/ _________________________ 1. Test Case ID: xFsghD - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"image":["No file was submitted."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/notes-image-upload/ 2. Test Case ID: n7Cl9A - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"image":["The submitted data was not a file. Check the encoding type on the form."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"image": "https://0.com"}' http://0.0.0.0:34609/api/notes-image-upload/ _______________________ POST /api/notifications/readall/ _______________________ 1. Test Case ID: lrVRCJ - Response violates schema "age" is a required property Validated against the response schema for status code 200. Schema: { "required": [ "age", "age_human", "category", "creation", "name", "pk", "read", "source", "target", "user" ], "type": "object", "description": "Serializer for the InvenTreeUserSetting model.", "properties": { "pk": { "type": "integer", "readOnly": true, // Output truncated... } Value: { "status": "ok" } - 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: Missing request body [200] OK: `{"status":"ok"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/notifications/readall/ 2. Test Case ID: WbzmlS - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/notifications/readall/ ________________________ POST /api/order/po-extra-line/ ________________________ 1. Test Case ID: e4D4J9 - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"order":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po-extra-line/ 2. Test Case ID: SvcShd - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"order":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"order": 0, "quantity": 0.0}' http://0.0.0.0:34609/api/order/po-extra-line/ ___________________________ POST /api/order/po-line/ ___________________________ 1. Test Case ID: 8KVd5g - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"order":["This field is required."],"part":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po-line/ 2. Test Case ID: YfNiwJ - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"order":["Invalid pk \"0\" - object does not exist."],"quantity":["Quantity must be greater than zero"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"order": 0, "part": null, "quantity": 0.0}' http://0.0.0.0:34609/api/order/po-line/ _____________________________ POST /api/order/po/ ______________________________ 1. Test Case ID: D3QKZD - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"supplier":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po/ 2. Test Case ID: DHdVvj - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"reference":["Reference must match required pattern: PO-{ref:04d}"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"reference": "TO-0001", "supplier": null}' http://0.0.0.0:34609/api/order/po/ _______________________ POST /api/order/po/{id}/cancel/ ________________________ 1. Test Case ID: cShdku - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/po/null,null/cancel/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po/null%2Cnull/cancel/ 2. Test Case ID: 6JNZEg - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/po/0/cancel/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po/0/cancel/ ______________________ POST /api/order/po/{id}/complete/ _______________________ 1. Test Case ID: orioT6 - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/po/null,null/complete/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"accept_incomplete": false}' http://0.0.0.0:34609/api/order/po/null%2Cnull/complete/ 2. Test Case ID: S7RFGf - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"accept_incomplete":["Must be a valid boolean."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=9928d60cdd41d8d97abfe42a1be8d621' -d $'--9928d60cdd41d8d97abfe42a1be8d621\r\nContent-Disposition: form-data; name="accept_incomplete"\r\n\r\n{}\r\n--9928d60cdd41d8d97abfe42a1be8d621--\r\n' http://0.0.0.0:34609/api/order/po/0/complete/ 3. Test Case ID: MMzMbF - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/po/0/complete/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=fd2cf37214a4a381e1707cdcbedb1f79' -d $'--fd2cf37214a4a381e1707cdcbedb1f79\r\nContent-Disposition: form-data; name="accept_incomplete"\r\n\r\n0\r\n--fd2cf37214a4a381e1707cdcbedb1f79--\r\n' http://0.0.0.0:34609/api/order/po/0/complete/ ________________________ POST /api/order/po/{id}/hold/ _________________________ 1. Test Case ID: DcGKNc - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/po/null,null/hold/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po/null%2Cnull/hold/ 2. Test Case ID: uxgjap - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/po/0/hold/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po/0/hold/ ________________________ POST /api/order/po/{id}/issue/ ________________________ 1. Test Case ID: nob3l6 - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/po/null,null/issue/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po/null%2Cnull/issue/ 2. Test Case ID: VFbDzr - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/po/0/issue/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po/0/issue/ _______________________ POST /api/order/po/{id}/receive/ _______________________ 1. Test Case ID: j5SexT - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"items":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po/0/receive/ 2. Test Case ID: hO5HY1 - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/po/null,null/receive/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"items": [], "location": null}' http://0.0.0.0:34609/api/order/po/null%2Cnull/receive/ 3. Test Case ID: kHQg64 - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/po/1/receive/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": []}' http://0.0.0.0:34609/api/order/po/1/receive/ 4. Test Case ID: EpGKs0 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"items":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Cookie: [Filtered]' -d '%278%F0%A4%8C%9AW%19%F2%BC%B1%80%F2%AA%96%8A%E7%9D%82%C3%9B=false&%278%F0%A4%8C%9AW%19%F2%BC%B1%80%F2%AA%96%8A%E7%9D%82%C3%9B=161&1%F2%BA%88%BF8%C3%906%C2%8A%F4%8D%B0%95%40%F1%AD%8B%8Dy%C3%93=3oB%C3%A2U%3B%F2%BF%97%B1%C2%80%C2%BDd%F4%82%B4%B9%F0%9D%80%B9%7D%C3%A9%F2%B2%B5%89%F2%87%9D%84%C2%A3%F3%93%81%89%C3%A1&1%F2%BA%88%BF8%C3%906%C2%8A%F4%8D%B0%95%40%F1%AD%8B%8Dy%C3%93=%F0%90%93%B7%5Co%C3%82%04%C2%84' http://0.0.0.0:34609/api/order/po/241/receive/ ________________________ POST /api/order/ro-extra-line/ ________________________ 1. Test Case ID: cel97Q - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"order":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro-extra-line/ 2. Test Case ID: ZDiMCa - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"order":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"order": 0, "quantity": 0.0}' http://0.0.0.0:34609/api/order/ro-extra-line/ ___________________________ POST /api/order/ro-line/ ___________________________ 1. Test Case ID: lktcxt - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"order":["This field is required."],"item":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro-line/ 2. Test Case ID: MPohS3 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"order":["Invalid pk \"0\" - object does not exist."],"item":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"item": 0, "order": 0, "quantity": 0.0}' http://0.0.0.0:34609/api/order/ro-line/ _____________________________ POST /api/order/ro/ ______________________________ 1. Test Case ID: Ct2022 - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"customer":["This field cannot be blank."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro/ 2. Test Case ID: JUMCIj - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"reference":["Reference must match required pattern: RMA-{ref:04d}"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"reference": "TO-0001"}' http://0.0.0.0:34609/api/order/ro/ _______________________ POST /api/order/ro/{id}/cancel/ ________________________ 1. Test Case ID: oFZcJK - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/ro/null,null/cancel/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro/null%2Cnull/cancel/ 2. Test Case ID: Z5ecKY - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/ro/0/cancel/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro/0/cancel/ ______________________ POST /api/order/ro/{id}/complete/ _______________________ 1. Test Case ID: IWQQHt - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/ro/null,null/complete/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro/null%2Cnull/complete/ 2. Test Case ID: YP73x5 - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/ro/0/complete/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro/0/complete/ ________________________ POST /api/order/ro/{id}/hold/ _________________________ 1. Test Case ID: 7Hz0pu - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/ro/null,null/hold/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro/null%2Cnull/hold/ 2. Test Case ID: 9UB5bb - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/ro/0/hold/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro/0/hold/ ________________________ POST /api/order/ro/{id}/issue/ ________________________ 1. Test Case ID: zWsfUQ - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/ro/null,null/issue/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro/null%2Cnull/issue/ 2. Test Case ID: mSIt7o - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/ro/0/issue/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro/0/issue/ _______________________ POST /api/order/ro/{id}/receive/ _______________________ 1. Test Case ID: fS0COM - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"items":["This field is required."],"location":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro/0/receive/ 2. Test Case ID: V0i1PX - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/ro/null,null/receive/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"items": [], "location": 0, "note": ""}' http://0.0.0.0:34609/api/order/ro/null%2Cnull/receive/ 3. Test Case ID: oBomJM - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"location":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": [], "location": 0}' http://0.0.0.0:34609/api/order/ro/1/receive/ ________________________ POST /api/order/so-extra-line/ ________________________ 1. Test Case ID: bkqj5c - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"order":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so-extra-line/ 2. Test Case ID: HRlG8U - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"order":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"order": 0, "quantity": 0.0}' http://0.0.0.0:34609/api/order/so-extra-line/ ___________________________ POST /api/order/so-line/ ___________________________ 1. Test Case ID: v3RzbH - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"order":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so-line/ 2. Test Case ID: tg8A5H - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"order":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"order": 0, "quantity": 0.0}' http://0.0.0.0:34609/api/order/so-line/ _____________________________ POST /api/order/so/ ______________________________ 1. Test Case ID: cjdfJN - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"customer":["This field cannot be blank."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so/ 2. Test Case ID: KEec73 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"reference":["Reference must match required pattern: SO-{ref:04d}"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"reference": "TO-0001"}' http://0.0.0.0:34609/api/order/so/ _________________________ POST /api/order/so/shipment/ _________________________ 1. Test Case ID: z1600S - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"order":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so/shipment/ 2. Test Case ID: 0xNwZX - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"order":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"order": 0}' http://0.0.0.0:34609/api/order/so/shipment/ ____________________ POST /api/order/so/shipment/{id}/ship/ ____________________ 1. Test Case ID: A7Rntr - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so/shipment/null,null/ship/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"shipment_date": "2000-01-01", "delivery_date": "2000-01-01", "tracking_number": "", "invoice_number": "", "link": "https://0.com"}' http://0.0.0.0:34609/api/order/so/shipment/null%2Cnull/ship/ __________________ POST /api/order/so/{id}/allocate-serials/ ___________________ 1. Test Case ID: Qnm3mA - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"line_item":["This field is required."],"quantity":["This field is required."],"serial_numbers":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so/0/allocate-serials/ 2. Test Case ID: gA015J - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so/null,null/allocate-serials/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"line_item": 0, "quantity": 1, "serial_numbers": "", "shipment": null}' http://0.0.0.0:34609/api/order/so/null%2Cnull/allocate-serials/ 3. Test Case ID: FBiSL9 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"line_item":["Invalid pk \"0\" - object does not exist."],"serial_numbers":["This field may not be blank."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"line_item": 0, "quantity": 1, "serial_numbers": ""}' http://0.0.0.0:34609/api/order/so/1/allocate-serials/ 4. Test Case ID: H5MGTW - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/so/16313/allocate-serials/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '"\u0004)\ud857\udc8c%\u00b4'"'"'\ud8c6\udcba\u00fcw\u0096T\uda27\udc3e\u00fd\u0092g\u008d-\u00d1\u008cS\u00cbU\ud952\udcb6\ud808\ude84A\uda59\udfc2\udae1\udf28_"' http://0.0.0.0:34609/api/order/so/16313/allocate-serials/ ______________________ POST /api/order/so/{id}/allocate/ _______________________ 1. Test Case ID: zSaLHV - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"items":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so/0/allocate/ 2. Test Case ID: bn7j97 - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so/null,null/allocate/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"items": [], "shipment": null}' http://0.0.0.0:34609/api/order/so/null%2Cnull/allocate/ 3. Test Case ID: nZ7jEX - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":["Allocation items must be provided"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": []}' http://0.0.0.0:34609/api/order/so/1/allocate/ ____________________ POST /api/order/so/{id}/auto-allocate/ ____________________ 1. Test Case ID: UcTtdt - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so/null,null/auto-allocate/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"location": null, "exclude_location": null, "shipment": null, "interchangeable": true, "stock_sort_by": "updated", "serialized_stock": "any", "line_items": []}' http://0.0.0.0:34609/api/order/so/null%2Cnull/auto-allocate/ 2. Test Case ID: fsQ8ZM - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/so/1/auto-allocate/ _______________________ POST /api/order/so/{id}/cancel/ ________________________ 1. Test Case ID: ouraqq - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so/null,null/cancel/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so/null%2Cnull/cancel/ 2. Test Case ID: YzJbZV - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/so/0/cancel/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so/0/cancel/ ______________________ POST /api/order/so/{id}/complete/ _______________________ 1. Test Case ID: CgPePr - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so/null,null/complete/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"accept_incomplete": false}' http://0.0.0.0:34609/api/order/so/null%2Cnull/complete/ 2. Test Case ID: 6gex37 - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"accept_incomplete":["Must be a valid boolean."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=9928d60cdd41d8d97abfe42a1be8d621' -d $'--9928d60cdd41d8d97abfe42a1be8d621\r\nContent-Disposition: form-data; name="accept_incomplete"\r\n\r\n{}\r\n--9928d60cdd41d8d97abfe42a1be8d621--\r\n' http://0.0.0.0:34609/api/order/so/0/complete/ 3. Test Case ID: ZaTn3j - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/so/0/complete/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=fd2cf37214a4a381e1707cdcbedb1f79' -d $'--fd2cf37214a4a381e1707cdcbedb1f79\r\nContent-Disposition: form-data; name="accept_incomplete"\r\n\r\n0\r\n--fd2cf37214a4a381e1707cdcbedb1f79--\r\n' http://0.0.0.0:34609/api/order/so/0/complete/ ________________________ POST /api/order/so/{id}/hold/ _________________________ 1. Test Case ID: SfYyoD - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so/null,null/hold/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so/null%2Cnull/hold/ 2. Test Case ID: tV2Y8O - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/so/0/hold/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so/0/hold/ ________________________ POST /api/order/so/{id}/issue/ ________________________ 1. Test Case ID: a8QZE4 - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/so/null,null/issue/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so/null%2Cnull/issue/ 2. Test Case ID: IkJHHm - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/so/0/issue/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so/0/issue/ _____________________ POST /api/order/transfer-order-line/ _____________________ 1. Test Case ID: yyHJMY - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"order":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order-line/ 2. Test Case ID: 5QN75K - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"order":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"order": 0, "quantity": 0.0}' http://0.0.0.0:34609/api/order/transfer-order-line/ _______________________ POST /api/order/transfer-order/ ________________________ 1. Test Case ID: WyM1Up - Response violates schema "" is not a "uri" Validated against the response schema for status code 201. Schema at /components/schemas/TransferOrder/properties/link: { "format": "uri", "type": "string", "description": "Link to external page", "maxLength": 2000 } Value: "" - 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: Missing request body [201] Created: `{"pk":1,"created_by":{"pk":1,"username":"admin","first_name":"","last_name":"","email":"admin@example.com"},"creation_date":"2026-10-07","issue_date":null,"start_date":null,"target_date":null,"description":"","line_items":null,"completed_lines":null,"link":"","project_code":null,"reference":"TO-0001","responsible":null,"contact":null,"address":null,"status":10,"status_text":"Pending","status_custom_key":null,"notes":null,"barcode_hash":"","overdue":null,"address_detail":null,"contact_detail":null,"project_c // Output truncated...` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order/ 2. Test Case ID: CvG0UL - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"project_code":["Incorrect type. Expected pk value, received str."],"responsible":["Incorrect type. Expected pk value, received str."],"contact":["Incorrect type. Expected pk value, received str."],"address":["Incorrect type. Expected pk value, received str."],"status_custom_key":["A valid integer is required."],"duplicate":{"non_field_errors":["Invalid data. Expected a dictionary, but got str."]},"take_from":["Incorrect type. Expected pk value, received str."],"destination":["Incorrect type. Expected pk v // Output truncated...` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=3a1cd560c15ada00e5661bfdcf5195cd' -d $'--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="creation_date"\r\n\r\n2000-01-01\r\n--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="issue_date"\r\n\r\n2000-01-01\r\n--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="start_date"\r\n\r\n2000-01-01\r\n--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="target_date"\r\n\r\n2000-01-01\r\n--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="description"\r\n\r\n\r\n--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="link"\r\n\r\nhttps://0.com\r\n--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="project_code"\r\n\r\nnull\r\n--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="responsible"\r\n\r\nnull\r\n--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="contact"\r\n\r\nnull\r\n--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="address"\r\n\r\nnull\r\n--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="status_custom_key"\r\n\r\nnull\r\n--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="duplicate"\r\n\r\n{"order_id": 0}\r\n--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="take_from"\r\n\r\nnull\r\n--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="destination"\r\n\r\nnull\r\n--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="consume"\r\n\r\nfalse\r\n--3a1cd560c15ada00e5661bfdcf5195cd\r\nContent-Disposition: form-data; name="complete_date"\r\n\r\n2000-01-01\r\n--3a1cd560c15ada00e5661bfdcf5195cd--\r\n' http://0.0.0.0:34609/api/order/transfer-order/ 3. Test Case ID: AkO3hj - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"reference":["Transfer Order with this Reference already exists."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"reference": "TO-0001"}' http://0.0.0.0:34609/api/order/transfer-order/ ____________ POST /api/order/transfer-order/{id}/allocate-serials/ _____________ 1. Test Case ID: DFr7dV - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"line_item":["This field is required."],"quantity":["This field is required."],"serial_numbers":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order/0/allocate-serials/ 2. Test Case ID: rUAPFl - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/transfer-order/null,null/allocate-serials/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"line_item": 0, "quantity": 1, "serial_numbers": ""}' http://0.0.0.0:34609/api/order/transfer-order/null%2Cnull/allocate-serials/ 3. Test Case ID: 3cjeU9 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"line_item":["Invalid pk \"0\" - object does not exist."],"serial_numbers":["This field may not be blank."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=eee02e2aa9dcc9d529e60f03ab0375de' -d $'--eee02e2aa9dcc9d529e60f03ab0375de\r\nContent-Disposition: form-data; name="line_item"\r\n\r\n0\r\n--eee02e2aa9dcc9d529e60f03ab0375de\r\nContent-Disposition: form-data; name="quantity"\r\n\r\n2\r\n--eee02e2aa9dcc9d529e60f03ab0375de\r\nContent-Disposition: form-data; name="serial_numbers"\r\n\r\n\r\n--eee02e2aa9dcc9d529e60f03ab0375de--\r\n' http://0.0.0.0:34609/api/order/transfer-order/0/allocate-serials/ 4. Test Case ID: yUOksH - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/transfer-order/0/allocate-serials/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/order/transfer-order/0/allocate-serials/ ________________ POST /api/order/transfer-order/{id}/allocate/ _________________ 1. Test Case ID: yT4Uob - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"items":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order/0/allocate/ 2. Test Case ID: Ctgwoj - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/transfer-order/null,null/allocate/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"items": []}' http://0.0.0.0:34609/api/order/transfer-order/null%2Cnull/allocate/ 3. Test Case ID: f5zhxy - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":["Allocation items must be provided"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": []}' http://0.0.0.0:34609/api/order/transfer-order/1/allocate/ 4. Test Case ID: xm10NV - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/transfer-order/1/allocate/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/order/transfer-order/1/allocate/ _________________ POST /api/order/transfer-order/{id}/cancel/ __________________ 1. Test Case ID: cSiRse - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/transfer-order/null,null/cancel/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order/null%2Cnull/cancel/ 2. Test Case ID: ZKJXtw - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/transfer-order/0/cancel/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order/0/cancel/ ________________ POST /api/order/transfer-order/{id}/complete/ _________________ 1. Test Case ID: 8pCLWA - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/transfer-order/null,null/complete/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"accept_incomplete_allocation": false}' http://0.0.0.0:34609/api/order/transfer-order/null%2Cnull/complete/ 2. Test Case ID: XAVoyh - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"accept_incomplete_allocation":["Must be a valid boolean."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=ce30f1de3abd3c50c4bd75e6d54a8929' -d $'--ce30f1de3abd3c50c4bd75e6d54a8929\r\nContent-Disposition: form-data; name="accept_incomplete_allocation"\r\n\r\n{}\r\n--ce30f1de3abd3c50c4bd75e6d54a8929--\r\n' http://0.0.0.0:34609/api/order/transfer-order/0/complete/ 3. Test Case ID: 0aSjV3 - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/transfer-order/0/complete/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=fd69519f3ff320bb6e65fbf17295d2b2' -d $'--fd69519f3ff320bb6e65fbf17295d2b2\r\nContent-Disposition: form-data; name="accept_incomplete_allocation"\r\n\r\n0\r\n--fd69519f3ff320bb6e65fbf17295d2b2--\r\n' http://0.0.0.0:34609/api/order/transfer-order/0/complete/ 4. Test Case ID: u6g3Ni - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":["Order is already cancelled"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/order/transfer-order/1/complete/ __________________ POST /api/order/transfer-order/{id}/hold/ ___________________ 1. Test Case ID: z0F3IY - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/transfer-order/null,null/hold/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order/null%2Cnull/hold/ 2. Test Case ID: Xw6Z5e - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/transfer-order/0/hold/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order/0/hold/ __________________ POST /api/order/transfer-order/{id}/issue/ __________________ 1. Test Case ID: Tdpatx - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/order/transfer-order/null,null/issue/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order/null%2Cnull/issue/ 2. Test Case ID: Qn79u3 - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"KeyError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/transfer-order/0/issue/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order/0/issue/ _____________________________ POST /api/parameter/ _____________________________ 1. Test Case ID: 1TRSIz - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"template":["This field is required."],"model_id":["This field is required."],"data":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/parameter/ 2. Test Case ID: ftzxtR - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"template":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"data": "0", "model_id": 0, "template": 0}' http://0.0.0.0:34609/api/parameter/ ________________________ POST /api/parameter/template/ _________________________ 1. Test Case ID: IFAUFS - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"name":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/parameter/template/ 2. Test Case ID: AVremR - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"name":["Parameter Template with this Name already exists."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/parameter/template/ _______________________________ POST /api/part/ ________________________________ 1. Test Case ID: CtGlLz - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"name":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/ 2. Test Case ID: f9e208 - Response violates schema "category_name" is a required property Validated against the response schema for status code 201. Schema at /components/schemas/Part: { "required": [ "barcode_hash", "category_name", "full_name", "name", "pk", "starred", "thumbnail" ], "type": "object", "description": "Serializer for complete detail information of a part.\n\n... "properties": { "active": { "type": "boolean", "description": "Is this part active?" }, "assembly": { "type": "boolean", // Output truncated... } Value: { "IPN": "", "active": true, "allocated_to_build_orders": null, "allocated_to_sales_orders": null, "assembly": false, "barcode_hash": "", "building": null, "category": null, "category_default_location": null, "category_detail": null, "category_path": null, "component": true, "creation_date": "2026-10-07", "creation_user": 1, "default_expiry": 0, "default_location": null, "default_location_detail": null, "description": "", // Output truncated... } [201] Created: `{"active":true,"assembly":false,"barcode_hash":"","category":null,"component":true,"creation_date":"2026-10-07","creation_user":1,"default_expiry":0,"default_location":null,"description":"","full_name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","image":null,"IPN":"","is_template":false,"keywords":null,"link":null,"locked":false,"minimum_stock":0.0,"maximum_stock":0.0,"name":"000000000000000000000000000000000000000000000000000000000000000000000000000 // Output truncated...` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/part/ 3. Test Case ID: NApM3B - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":["The fields name, IPN, revision must make a unique set."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/part/ ___________________________ POST /api/part/category/ ___________________________ 1. Test Case ID: bSfUyS - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"name":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/category/ 2. Test Case ID: HWm4E8 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":["Duplicate names cannot exist under the same parent"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/part/category/ _____________________ POST /api/part/category/parameters/ ______________________ 1. Test Case ID: sqLfEm - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"category":["This field is required."],"template":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/category/parameters/ 2. Test Case ID: E2LudS - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"category":["Invalid pk \"0\" - object does not exist."],"template":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"category": 0, "template": 0}' http://0.0.0.0:34609/api/part/category/parameters/ ________________________ POST /api/part/internal-price/ ________________________ 1. Test Case ID: UcBRIW - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"part":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/internal-price/ 2. Test Case ID: kWdqzk - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"part":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"part": 0, "quantity": 0.0}' http://0.0.0.0:34609/api/part/internal-price/ ___________________________ POST /api/part/related/ ____________________________ 1. Test Case ID: O7Oxkr - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"part_1":["This field is required."],"part_2":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/related/ 2. Test Case ID: 7SXFxW - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"part_1":["Invalid pk \"0\" - object does not exist."],"part_2":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"part_1": 0, "part_2": 0}' http://0.0.0.0:34609/api/part/related/ __________________________ POST /api/part/sale-price/ __________________________ 1. Test Case ID: K99K5S - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"part":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/sale-price/ 2. Test Case ID: OENnYs - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"part":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"part": 0, "quantity": 0.0}' http://0.0.0.0:34609/api/part/sale-price/ __________________________ POST /api/part/stocktake/ ___________________________ 1. Test Case ID: M4Q9i5 - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"part":["This field is required."],"quantity":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/stocktake/ 2. Test Case ID: WhJDMo - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"part":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"part": 0, "quantity": 0.0}' http://0.0.0.0:34609/api/part/stocktake/ 3. Test Case ID: XD4fIu - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"TypeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/part/stocktake/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"part": 1, "quantity": 0.0}' http://0.0.0.0:34609/api/part/stocktake/ ______________________ POST /api/part/stocktake/generate/ ______________________ 1. Test Case ID: 1vZAlR - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"part":["Incorrect type. Expected pk value, received str."],"category":["Incorrect type. Expected pk value, received str."],"location":["Incorrect type. Expected pk value, received str."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=e7c31c0a6ec52603463acfdcc438eb80' -d $'--e7c31c0a6ec52603463acfdcc438eb80\r\nContent-Disposition: form-data; name="part"\r\n\r\nnull\r\n--e7c31c0a6ec52603463acfdcc438eb80\r\nContent-Disposition: form-data; name="category"\r\n\r\nnull\r\n--e7c31c0a6ec52603463acfdcc438eb80\r\nContent-Disposition: form-data; name="location"\r\n\r\nnull\r\n--e7c31c0a6ec52603463acfdcc438eb80\r\nContent-Disposition: form-data; name="generate_entry"\r\n\r\nfalse\r\n--e7c31c0a6ec52603463acfdcc438eb80\r\nContent-Disposition: form-data; name="generate_report"\r\n\r\nfalse\r\n--e7c31c0a6ec52603463acfdcc438eb80\r\nContent-Disposition: form-data; name="output"\r\n\r\n{}\r\n--e7c31c0a6ec52603463acfdcc438eb80--\r\n' http://0.0.0.0:34609/api/part/stocktake/generate/ 2. Test Case ID: jRLmwz - Undocumented HTTP status code Received: 200 Documented: 201 [200] OK: `{"part":null,"category":null,"location":null,"output":null}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/part/stocktake/generate/ ________________________ POST /api/part/test-template/ _________________________ 1. Test Case ID: 2KWOZL - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"part":["This field is required."],"test_name":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/test-template/ 2. Test Case ID: Upu5W8 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"part":["Invalid pk \"0\" - object does not exist."],"test_name":["This field may not be blank."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"part": 0, "test_name": ""}' http://0.0.0.0:34609/api/part/test-template/ 3. Test Case ID: BrY9lD - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/part/test-template/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/part/test-template/ ________________________ POST /api/part/{id}/bom-copy/ _________________________ 1. Test Case ID: HORMKs - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"part":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/0/bom-copy/ 2. Test Case ID: NyUy1C - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/null,null/bom-copy/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"part": 0, "remove_existing": true, "include_inherited": false, "skip_invalid": false, "copy_substitutes": true}' http://0.0.0.0:34609/api/part/null%2Cnull/bom-copy/ 3. Test Case ID: nQHlpW - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"part":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"part": 0}' http://0.0.0.0:34609/api/part/1/bom-copy/ __________________________ POST /api/plugins/install/ __________________________ 1. Test Case ID: Sd0IvX - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"confirm":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/plugins/install/ 2. Test Case ID: 5FKYdi - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"url":["Either packagename or URL must be provided"],"packagename":["Either packagename or URL must be provided"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=36239ee429ef5a874e4b0dc86ef81b97' -d $'--36239ee429ef5a874e4b0dc86ef81b97\r\nContent-Disposition: form-data; name="url"\r\n\r\n\r\n--36239ee429ef5a874e4b0dc86ef81b97\r\nContent-Disposition: form-data; name="packagename"\r\n\r\n\r\n--36239ee429ef5a874e4b0dc86ef81b97\r\nContent-Disposition: form-data; name="version"\r\n\r\n\r\n--36239ee429ef5a874e4b0dc86ef81b97\r\nContent-Disposition: form-data; name="confirm"\r\n\r\ntrue\r\n--36239ee429ef5a874e4b0dc86ef81b97--\r\n' http://0.0.0.0:34609/api/plugins/install/ __________________________ POST /api/plugins/reload/ ___________________________ 1. Test Case ID: BQQ9YH - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"collect_plugins":["Must be a valid boolean."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=f63e5c0234e7252f4749f1cf56e07658' -d $'--f63e5c0234e7252f4749f1cf56e07658\r\nContent-Disposition: form-data; name="full_reload"\r\n\r\nfalse\r\n--f63e5c0234e7252f4749f1cf56e07658\r\nContent-Disposition: form-data; name="force_reload"\r\n\r\nfalse\r\n--f63e5c0234e7252f4749f1cf56e07658\r\nContent-Disposition: form-data; name="collect_plugins"\r\n\r\n{}\r\n--f63e5c0234e7252f4749f1cf56e07658--\r\n' http://0.0.0.0:34609/api/plugins/reload/ 2. Test Case ID: 7tYNs1 - 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 - collect_plugins: Incorrect type [201] Created: `{"full_reload":false,"force_reload":false,"collect_plugins":false}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=b4174855837a47efa90234b968c4e3a5' -d $'--b4174855837a47efa90234b968c4e3a5\r\nContent-Disposition: form-data; name="full_reload"\r\n\r\nfalse\r\n--b4174855837a47efa90234b968c4e3a5\r\nContent-Disposition: form-data; name="force_reload"\r\n\r\nfalse\r\n--b4174855837a47efa90234b968c4e3a5\r\nContent-Disposition: form-data; name="collect_plugins"\r\n\r\n0\r\n--b4174855837a47efa90234b968c4e3a5--\r\n' http://0.0.0.0:34609/api/plugins/reload/ ___________________________ POST /api/project-code/ ____________________________ 1. Test Case ID: tMiOWJ - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"code":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/project-code/ 2. Test Case ID: 1Q0VRT - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"code":["This field may not be blank."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"code": ""}' http://0.0.0.0:34609/api/project-code/ ___________________________ POST /api/report/asset/ ____________________________ 1. Test Case ID: eHo69g - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"asset":["No file was submitted."],"description":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/report/asset/ 2. Test Case ID: AVycyZ - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"asset":["The submitted data was not a file. Check the encoding type on the form."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=de13ed360a930ec8d45380bbe2a599f5' -d $'--de13ed360a930ec8d45380bbe2a599f5\r\nContent-Disposition: form-data; name="asset"\r\n\r\nhttps://0.com\r\n--de13ed360a930ec8d45380bbe2a599f5\r\nContent-Disposition: form-data; name="description"\r\n\r\n000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\r\n--de13ed360a930ec8d45380bbe2a599f5--\r\n' http://0.0.0.0:34609/api/report/asset/ 3. Test Case ID: RWmIpn - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/report/asset/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/report/asset/ ___________________________ POST /api/report/print/ ____________________________ 1. Test Case ID: 0czs7e - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"template":["This field is required."],"items":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/report/print/ 2. Test Case ID: SZivKF - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"template":["Invalid pk \"0\" - object does not exist."],"items":["This list may not be empty."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": [], "template": 0}' http://0.0.0.0:34609/api/report/print/ __________________________ POST /api/report/snippet/ ___________________________ 1. Test Case ID: AM8DN4 - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"snippet":["No file was submitted."],"description":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/report/snippet/ 2. Test Case ID: I0aFXI - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"snippet":["The submitted data was not a file. Check the encoding type on the form."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=a1aa056d36565bc3d5be6982778a4340' -d $'--a1aa056d36565bc3d5be6982778a4340\r\nContent-Disposition: form-data; name="snippet"\r\n\r\nhttps://0.com\r\n--a1aa056d36565bc3d5be6982778a4340\r\nContent-Disposition: form-data; name="description"\r\n\r\n000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\r\n--a1aa056d36565bc3d5be6982778a4340--\r\n' http://0.0.0.0:34609/api/report/snippet/ 3. Test Case ID: v0XCNE - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/report/snippet/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/report/snippet/ __________________________ POST /api/report/template/ __________________________ 1. Test Case ID: Z1gWh3 - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"name":["This field is required."],"description":["This field is required."],"model_type":["This field is required."],"template":["No file was submitted."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/report/template/ 2. Test Case ID: cklqPf - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"description":["This field may not be blank."],"template":["The submitted data was not a file. Check the encoding type on the form."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"description": "", "model_type": "part", "name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "template": "https://0.com"}' http://0.0.0.0:34609/api/report/template/ 3. Test Case ID: ZW5UAp - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/report/template/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/report/template/ ______________________________ POST /api/search/ _______________________________ 1. Test Case ID: VEVPR0 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"search":"Search term must be provided"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/search/ 2. Test Case ID: pqH9Gd - Response violates schema "search" is a required property Validated against the response schema for status code 200. Schema: { "required": [ "search" ], "type": "object", "description": "Serializer for the APISearchView.", "properties": { "search": { "type": "string" }, "search_regex": { "type": "boolean", "default": false }, "search_whole": { "type": "boolean", "default": false }, "search_notes": { // Output truncated... } Value: {} - 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 - offset: Incorrect type [200] OK: `{}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=8eebfb1094adbf17aad445d5b9205904' -d $'--8eebfb1094adbf17aad445d5b9205904\r\nContent-Disposition: form-data; name="search"\r\n\r\n\r\n--8eebfb1094adbf17aad445d5b9205904\r\nContent-Disposition: form-data; name="search_regex"\r\n\r\nfalse\r\n--8eebfb1094adbf17aad445d5b9205904\r\nContent-Disposition: form-data; name="search_whole"\r\n\r\nfalse\r\n--8eebfb1094adbf17aad445d5b9205904\r\nContent-Disposition: form-data; name="search_notes"\r\n\r\nfalse\r\n--8eebfb1094adbf17aad445d5b9205904\r\nContent-Disposition: form-data; name="limit"\r\n\r\n1\r\n--8eebfb1094adbf17aad445d5b9205904\r\nContent-Disposition: form-data; name="offset"\r\n\r\n{}\r\n--8eebfb1094adbf17aad445d5b9205904--\r\n' http://0.0.0.0:34609/api/search/ _____________________________ POST /api/selection/ _____________________________ 1. Test Case ID: gb8S6w - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"name":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/selection/ 2. Test Case ID: CHn1TO - Response violates schema (3 violations) "2026-10-07 17:09" is not a "date-time" Validated against the response schema for status code 201. Schema at /components/schemas/SelectionList/properties/created: { "format": "date-time", "type": "string", "readOnly": true, "description": "Date and time that the selection list was created" } Value: "2026-10-07 17:09" "2026-10-07 17:09" is not a "date-time" Validated against the response schema for status code 201. Schema at /components/schemas/SelectionList/properties/last_updated: { "format": "date-time", "type": "string", "readOnly": true, "description": "Date and time that the selection list was last updated" } Value: "2026-10-07 17:09" "entry_count" is a required property Validated against the response schema for status code 201. Schema at /components/schemas/SelectionList: { "required": [ "choices", "created", "entry_count", "last_updated", "name", "pk" ], "type": "object", "description": "Serializer for a selection list.", "properties": { "pk": { "type": "integer", "readOnly": true, "title": "ID" }, "name": { "type": "string", // Output truncated... } Value: { "active": true, "choices": [], "created": "2026-10-07 17:09", "default": null, "description": "", "last_updated": "2026-10-07 17:09", "locked": false, "name": "0000000000000000000000000000000000000000000000000000000000000000... "pk": 1, "source_plugin": null, "source_string": "" } [201] Created: `{"pk":1,"name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","description":"","active":true,"locked":false,"source_plugin":null,"source_string":"","default":null,"created":"2026-10-07 17:09","last_updated":"2026-10-07 17:09","choices":[]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/selection/ 3. Test Case ID: RxepTC - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"name":["Selection List with this Name already exists."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/selection/ _______________________ POST /api/selection/{id}/entry/ ________________________ 1. Test Case ID: jrbbod - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"value":["This field is required."],"label":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/selection/0/entry/ 2. Test Case ID: MakD5C - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/selection/null,null/entry/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"value": "", "label": "", "description": "", "active": false, "list": null}' http://0.0.0.0:34609/api/selection/null%2Cnull/entry/ 3. Test Case ID: WyG0S0 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 1 additional property not defined in the schema (`š`). The server likely rejects unexpected fields. Add `additionalProperties: false` to your schema to prevent this. [400] Bad Request: `{"list":["Incorrect type. Expected pk value, received str."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/x-www-form-urlencoded' -d 'value=%C3%85%C3%BC&label=Part+Categories&list=null' http://0.0.0.0:34609/api/selection/1575103334122/entry/ _______________________________ POST /api/stock/ _______________________________ 1. Test Case ID: xZLcIZ - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"quantity":"Quantity is required"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/ 2. Test Case ID: TWGXuq - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"part":"Valid part must be supplied"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"part": 0, "quantity": 0.0}' http://0.0.0.0:34609/api/stock/ _____________________________ POST /api/stock/add/ _____________________________ 1. Test Case ID: PCwTvn - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"items":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/add/ 2. Test Case ID: ygvTtv - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":["A list of stock items must be provided"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": []}' http://0.0.0.0:34609/api/stock/add/ ___________________________ POST /api/stock/assign/ ____________________________ 1. Test Case ID: tEp1iO - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"items":["This field is required."],"customer":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/assign/ 2. Test Case ID: np99HI - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"customer":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"customer": 0, "items": []}' http://0.0.0.0:34609/api/stock/assign/ 3. Test Case ID: bsbvKw - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/stock/assign/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/stock/assign/ ________________________ POST /api/stock/change_status/ ________________________ 1. Test Case ID: 5XZICN - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"items":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/change_status/ 2. Test Case ID: X9ibJa - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"items":["No stock items selected"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": []}' http://0.0.0.0:34609/api/stock/change_status/ 3. Test Case ID: 54FDuX - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/stock/change_status/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d 0.0 http://0.0.0.0:34609/api/stock/change_status/ ____________________________ POST /api/stock/count/ ____________________________ 1. Test Case ID: y3LjCh - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"items":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/count/ 2. Test Case ID: FBEtSj - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":["A list of stock items must be provided"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": []}' http://0.0.0.0:34609/api/stock/count/ ________________________ POST /api/stock/location-type/ ________________________ 1. Test Case ID: OfMtGF - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"name":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/location-type/ __________________________ POST /api/stock/location/ ___________________________ 1. Test Case ID: 3n6yjB - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"name":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/location/ 2. Test Case ID: 7bWeTN - Response violates schema "items" is a required property Validated against the response schema for status code 201. Schema at /components/schemas/Location: { "required": [ "barcode_hash", "icon", "items", "level", "name", "pathstring", "pk", "sublocations" ], "type": "object", "description": "Detailed information about a stock location.", "properties": { "pk": { "type": "integer", "readOnly": true, "title": "ID" }, // Output truncated... } Value: { "barcode_hash": "", "custom_icon": null, "description": "", "external": false, "icon": "", "level": 0, "location_type": null, "location_type_detail": null, "name": "0000000000000000000000000000000000000000000000000000000000000000... "owner": null, "parameters": [], "parent": null, "path": [ { "icon": "", "name": "00000000000000000000000000000000000000000000000000000000... "pk": 1 } // Output truncated... } [201] Created: `{"pk":1,"barcode_hash":"","name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","level":0,"description":"","parent":null,"pathstring":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","owner":null,"icon":"","custom_icon":null,"structural":false,"external":false,"location_type":null,"location_type_detail":null,"tags":[],"path":[{"pk":1,"name":"000000000000000000000000000000000000000000000000000000000000 // Output truncated...` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/stock/location/ 3. Test Case ID: mIEJip - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":["Duplicate names cannot exist under the same parent"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/stock/location/ ____________________________ POST /api/stock/merge/ ____________________________ 1. Test Case ID: wOBnkV - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"items":["This field is required."],"location":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/merge/ 2. Test Case ID: l1VDhr - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"location":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": [], "location": 0}' http://0.0.0.0:34609/api/stock/merge/ ___________________________ POST /api/stock/remove/ ____________________________ 1. Test Case ID: ekv1aS - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"items":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/remove/ 2. Test Case ID: yS63lP - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":["A list of stock items must be provided"]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": []}' http://0.0.0.0:34609/api/stock/remove/ ___________________________ POST /api/stock/return/ ____________________________ 1. Test Case ID: 5AVs5V - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"items":["This field is required."],"location":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/return/ 2. Test Case ID: 5Rxsva - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"location":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": [], "location": 0}' http://0.0.0.0:34609/api/stock/return/ ____________________________ POST /api/stock/test/ _____________________________ 1. Test Case ID: AZVMiU - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"stock_item":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/test/ 2. Test Case ID: LNxkEf - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"stock_item":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"stock_item": 0}' http://0.0.0.0:34609/api/stock/test/ __________________________ POST /api/stock/transfer/ ___________________________ 1. Test Case ID: NKgkCq - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"items":["This field is required."],"location":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/transfer/ 2. Test Case ID: xRgPXM - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"location":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"items": [], "location": 0}' http://0.0.0.0:34609/api/stock/transfer/ ________________________ POST /api/stock/{id}/convert/ _________________________ 1. Test Case ID: KnLwhF - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"part":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/0/convert/ 2. Test Case ID: 0xey7y - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/stock/null,null/convert/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"part": 0}' http://0.0.0.0:34609/api/stock/null%2Cnull/convert/ 3. Test Case ID: SQTVbr - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"part":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=8cb273821ea0ecf57c266d87924a71a2' -d $'--8cb273821ea0ecf57c266d87924a71a2\r\nContent-Disposition: form-data; name="part"\r\n\r\n0\r\n--8cb273821ea0ecf57c266d87924a71a2--\r\n' http://0.0.0.0:34609/api/stock/0/convert/ ________________________ POST /api/stock/{id}/install/ _________________________ 1. Test Case ID: 6aiV4C - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"stock_item":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/0/install/ 2. Test Case ID: pJXZYk - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/stock/null,null/install/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"stock_item": 0, "quantity": 1, "note": ""}' http://0.0.0.0:34609/api/stock/null%2Cnull/install/ 3. Test Case ID: LiJUcW - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"stock_item":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"stock_item": 0}' http://0.0.0.0:34609/api/stock/1/install/ _______________________ POST /api/stock/{id}/serialize/ ________________________ 1. Test Case ID: tZt5Jj - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"quantity":["This field is required."],"serial_numbers":["This field is required."],"destination":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/0/serialize/ 2. Test Case ID: 9USNCT - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/stock/null,null/serialize/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"quantity": 0, "serial_numbers": "", "destination": 0, "notes": ""}' http://0.0.0.0:34609/api/stock/null%2Cnull/serialize/ 3. Test Case ID: ONqtti - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"quantity":["No stock item provided"],"serial_numbers":["This field may not be blank."],"destination":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"destination": 0, "quantity": 0, "serial_numbers": ""}' http://0.0.0.0:34609/api/stock/1/serialize/ _______________________ POST /api/stock/{id}/uninstall/ ________________________ 1. Test Case ID: zX6lrO - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"location":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/0/uninstall/ 2. Test Case ID: StJWZw - Undocumented HTTP status code Received: 404 Documented: 201 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/stock/null,null/uninstall/"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"location": 0, "note": ""}' http://0.0.0.0:34609/api/stock/null%2Cnull/uninstall/ 3. Test Case ID: 7NqFWq - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"location":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=a43446e8c0573b14bf6b3a53f31790b1' -d $'--a43446e8c0573b14bf6b3a53f31790b1\r\nContent-Disposition: form-data; name="location"\r\n\r\n0\r\n--a43446e8c0573b14bf6b3a53f31790b1--\r\n' http://0.0.0.0:34609/api/stock/0/uninstall/ __________________________ POST /api/supplier/import/ __________________________ 1. Test Case ID: xlo8pV - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"plugin":["This field is required."],"supplier":["This field is required."],"part_import_id":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/supplier/import/ 2. Test Case ID: 1rIYtd - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"plugin":["This field may not be blank."],"supplier":["This field may not be blank."],"part_import_id":["This field may not be blank."],"category_id":["Incorrect type. Expected pk value, received str."],"part_id":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=d54618563f474fedce935515a483a4b3' -d $'--d54618563f474fedce935515a483a4b3\r\nContent-Disposition: form-data; name="plugin"\r\n\r\n\r\n--d54618563f474fedce935515a483a4b3\r\nContent-Disposition: form-data; name="supplier"\r\n\r\n\r\n--d54618563f474fedce935515a483a4b3\r\nContent-Disposition: form-data; name="part_import_id"\r\n\r\n\r\n--d54618563f474fedce935515a483a4b3\r\nContent-Disposition: form-data; name="category_id"\r\n\r\nnull\r\n--d54618563f474fedce935515a483a4b3\r\nContent-Disposition: form-data; name="part_id"\r\n\r\n0\r\n--d54618563f474fedce935515a483a4b3--\r\n' http://0.0.0.0:34609/api/supplier/import/ 3. Test Case ID: yV6p5S - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Plugin '0' not found"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=5f036f76037940c415a63a820844ccc6' -d $'--5f036f76037940c415a63a820844ccc6\r\nContent-Disposition: form-data; name="plugin"\r\n\r\n0\r\n--5f036f76037940c415a63a820844ccc6\r\nContent-Disposition: form-data; name="supplier"\r\n\r\n0\r\n--5f036f76037940c415a63a820844ccc6\r\nContent-Disposition: form-data; name="part_import_id"\r\n\r\n0\r\n--5f036f76037940c415a63a820844ccc6--\r\n' http://0.0.0.0:34609/api/supplier/import/ _________________ POST /api/system-internal/observability/end __________________ 1. Test Case ID: 9fU0eK - 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: Missing request body - Undocumented HTTP status code Received: 200 Documented: 201 [200] OK: `{"status":"ok"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/system-internal/observability/end 2. Test Case ID: RU9wUe - API accepts requests without authentication Expected 401 or 403, got `200 OK` for `POST /api/system-internal/observability/end` [200] OK: `{"status":"ok"}` Reproduce with: curl -X POST http://0.0.0.0:34609/api/system-internal/observability/end 3. Test Case ID: PGWcds - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/system-internal/observability/end ________________________________ POST /api/tag/ ________________________________ 1. Test Case ID: gJrr1K - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"name":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/tag/ 2. Test Case ID: bWrgEg - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"name":["tag with this name already exists."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/tag/ _______________________________ POST /api/units/ _______________________________ 1. Test Case ID: y5Hcci - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"name":["This field is required."],"definition":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/units/ 2. Test Case ID: E2m5QH - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"name":["This field may not be blank."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=9a1372bdc740afb9add53b32ffa2a7d3' -d $'--9a1372bdc740afb9add53b32ffa2a7d3\r\nContent-Disposition: form-data; name="name"\r\n\r\n\r\n--9a1372bdc740afb9add53b32ffa2a7d3\r\nContent-Disposition: form-data; name="symbol"\r\n\r\n\r\n--9a1372bdc740afb9add53b32ffa2a7d3\r\nContent-Disposition: form-data; name="definition"\r\n\r\n0000000000000000000000000000000000000000000000000\r\n--9a1372bdc740afb9add53b32ffa2a7d3--\r\n' http://0.0.0.0:34609/api/units/ 3. Test Case ID: A0V5rI - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"TypeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/units/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/units/ _______________________________ POST /api/user/ ________________________________ 1. Test Case ID: mAZOuI - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"username":["This field is required."],"first_name":["This field is required."],"last_name":["This field is required."],"email":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/user/ 2. Test Case ID: qRT7ut - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"username":["A user with that username already exists."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"email": "admin@example.com", "first_name": "", "last_name": "", "username": "admin"}' http://0.0.0.0:34609/api/user/ ____________________________ POST /api/user/group/ _____________________________ 1. Test Case ID: pNN77U - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"name":["This field is required."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/user/group/ 2. Test Case ID: 8dVvsU - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"name":["group with this name already exists."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/user/group/ 3. Test Case ID: pJcgdV - Server error - Undocumented HTTP status code Received: 500 Documented: 201 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/user/group/","status_code":500}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/user/group/ ____________________________ POST /api/user/tokens/ ____________________________ 1. Test Case ID: cojhmH - Undocumented HTTP status code Received: 400 Documented: 201 [400] Bad Request: `{"user":["Invalid pk \"0\" - object does not exist."]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=a47a39bbb4058b5f9493355512eaf0b5' -d $'--a47a39bbb4058b5f9493355512eaf0b5\r\nContent-Disposition: form-data; name="expiry"\r\n\r\n2000-01-01\r\n--a47a39bbb4058b5f9493355512eaf0b5\r\nContent-Disposition: form-data; name="last_seen"\r\n\r\n2000-01-01\r\n--a47a39bbb4058b5f9493355512eaf0b5\r\nContent-Disposition: form-data; name="name"\r\n\r\n\r\n--a47a39bbb4058b5f9493355512eaf0b5\r\nContent-Disposition: form-data; name="revoked"\r\n\r\nfalse\r\n--a47a39bbb4058b5f9493355512eaf0b5\r\nContent-Disposition: form-data; name="user"\r\n\r\n0\r\n--a47a39bbb4058b5f9493355512eaf0b5\r\nContent-Disposition: form-data; name="in_use"\r\n\r\n{}\r\n--a47a39bbb4058b5f9493355512eaf0b5--\r\n' http://0.0.0.0:34609/api/user/tokens/ 2. Test Case ID: DZcs6s - Response violates schema "2026-10-07 17:10" is not a "date-time" Validated against the response schema for status code 201. Schema at /components/schemas/ApiToken/properties/created: { "format": "date-time", "type": "string", "readOnly": true } Value: "2026-10-07 17:10" [201] Created: `{"created":"2026-10-07 17:10","expiry":"2027-10-07","id":2,"last_seen":null,"name":"","token":"inv-6b7c6930cd6b8eda40932845c2389c4a801aae28-20261007","active":true,"revoked":false,"user":1,"user_detail":{"pk":1,"username":"admin","first_name":"","last_name":"","email":"admin@example.com"},"in_use":false}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/user/tokens/ ________________________ POST /api/webhook/{endpoint}/ _________________________ 1. Test Case ID: de8u9M - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X POST http://0.0.0.0:34609/api/webhook/0/ 2. Test Case ID: XpPUZL - Undocumented HTTP status code Received: 401 Documented: 200 [401] Unauthorized: `{"detail":"Authentication credentials were not provided."}` Reproduce with: curl -X POST http://0.0.0.0:34609/api/webhook/%0B%E3%83%A6%09i%C2%AE/ __________________________ PUT /api/attachment/{id}/ ___________________________ 1. Test Case ID: zlJNAM - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No Attachment matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/attachment/0/ 2. Test Case ID: 2h6HH3 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/attachment/1/ ________________________________ PUT /api/bom/ _________________________________ 1. Test Case ID: RMPdyC - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/bom/ 2. Test Case ID: W9908K - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/bom/","status_code":500}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=aac40639bda00338d982ff3cda6be090' -d $'--aac40639bda00338d982ff3cda6be090\r\nContent-Disposition: form-data; name="part"\r\n\r\n0\r\n--aac40639bda00338d982ff3cda6be090\r\nContent-Disposition: form-data; name="reference"\r\n\r\n\r\n--aac40639bda00338d982ff3cda6be090\r\nContent-Disposition: form-data; name="raw_amount"\r\n\r\n\r\n--aac40639bda00338d982ff3cda6be090\r\nContent-Disposition: form-data; name="quantity"\r\n\r\n0\r\n--aac40639bda00338d982ff3cda6be090\r\nContent-Disposition: form-data; name="allow_variants"\r\n\r\nfalse\r\n--aac40639bda00338d982ff3cda6be090\r\nContent-Disposition: form-data; name="inherited"\r\n\r\nfalse\r\n--aac40639bda00338d982ff3cda6be090\r\nContent-Disposition: form-data; name="optional"\r\n\r\nfalse\r\n--aac40639bda00338d982ff3cda6be090\r\nContent-Disposition: form-data; name="consumable"\r\n\r\nfalse\r\n--aac40639bda00338d982ff3cda6be090\r\nContent-Disposition: form-data; name="setup_quantity"\r\n\r\n0\r\n--aac40639bda00338d982ff3cda6be090\r\nContent-Disposition: form-data; name="attrition"\r\n\r\n0\r\n--aac40639bda00338d982ff3cda6be090\r\nContent-Disposition: form-data; name="rounding_multiple"\r\n\r\nnull\r\n--aac40639bda00338d982ff3cda6be090\r\nContent-Disposition: form-data; name="note"\r\n\r\n\r\n--aac40639bda00338d982ff3cda6be090\r\nContent-Disposition: form-data; name="validated"\r\n\r\nfalse\r\n--aac40639bda00338d982ff3cda6be090--\r\n' http://0.0.0.0:34609/api/bom/ 3. Test Case ID: xc27c5 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"part": 0, "sub_part": 0}' http://0.0.0.0:34609/api/bom/ ________________________ PUT /api/bom/substitute/{id}/ _________________________ 1. Test Case ID: JwJlMK - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No BomItemSubstitute matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/bom/substitute/0/ 2. Test Case ID: tOlWQ3 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/bom/substitute/1/ ______________________________ PUT /api/bom/{id}/ ______________________________ 1. Test Case ID: ilf7d3 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No BomItem matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/bom/0/ 2. Test Case ID: raELK5 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/bom/1/ _________________________ PUT /api/bom/{id}/validate/ __________________________ 1. Test Case ID: 6BEm0X - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/bom/null,null/validate/"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"valid": false}' http://0.0.0.0:34609/api/bom/null%2Cnull/validate/ 2. Test Case ID: iH46l2 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/bom/1/validate/ __________________________ PUT /api/build/item/{id}/ ___________________________ 1. Test Case ID: Aad36c - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No BuildItem matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/item/0/ 2. Test Case ID: RJKAua - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/build/item/1/ __________________________ PUT /api/build/line/{id}/ ___________________________ 1. Test Case ID: TfwblO - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No BuildLine matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/line/0/ 2. Test Case ID: PD6Gdd - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/build/line/1/ _____________________________ PUT /api/build/{id}/ _____________________________ 1. Test Case ID: mX1uM8 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No Build matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/build/0/ 2. Test Case ID: Pk0XJ2 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/build/1/ ________________________ PUT /api/company/address/{id}/ ________________________ 1. Test Case ID: fHfRM5 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No Address matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/address/0/ 2. Test Case ID: wF2y6e - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/company/address/1/ ________________________ PUT /api/company/contact/{id}/ ________________________ 1. Test Case ID: c1b2pt - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No Contact matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/contact/0/ 2. Test Case ID: fSqPFZ - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/company/contact/1/ ___________________ PUT /api/company/part/manufacturer/{id}/ ___________________ 1. Test Case ID: V9ZAyf - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No ManufacturerPart matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/part/manufacturer/0/ 2. Test Case ID: tJFnYO - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/company/part/manufacturer/1/ _________________________ PUT /api/company/part/{id}/ __________________________ 1. Test Case ID: jJarUi - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No SupplierPart matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/part/0/ 2. Test Case ID: DC623O - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/company/part/1/ ______________________ PUT /api/company/price-break/{id}/ ______________________ 1. Test Case ID: 28X14v - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No SupplierPriceBreak matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/price-break/0/ 2. Test Case ID: 5Z5069 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/company/price-break/1/ ____________________________ PUT /api/company/{id}/ ____________________________ 1. Test Case ID: iF5M6p - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No Company matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/company/0/ 2. Test Case ID: qgn7IO - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/company/1/ _________________________ PUT /api/error-report/{id}/ __________________________ 1. Test Case ID: 9zVQKx - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{}' http://0.0.0.0:34609/api/error-report/null%2Cnull/ 2. Test Case ID: 7xdsjl - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"path":["Enter a valid URL."]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/error-report/1/ _____________________ PUT /api/generic/status/custom/{id}/ _____________________ 1. Test Case ID: qJZ62v - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No InvenTreeCustomUserStateModel matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/generic/status/custom/0/ ____________________ PUT /api/importer/column-mapping/{id}/ ____________________ 1. Test Case ID: kDaFOA - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/importer/column-mapping/null,null/"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"column": "", "lookup_field": ""}' http://0.0.0.0:34609/api/importer/column-mapping/null%2Cnull/ 2. Test Case ID: jA30tA - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/importer/column-mapping/1/ _________________________ PUT /api/importer/row/{id}/ __________________________ 1. Test Case ID: mKjVRB - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/importer/row/null,null/"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"data": null}' http://0.0.0.0:34609/api/importer/row/null%2Cnull/ _______________________ PUT /api/importer/session/{id}/ ________________________ 1. Test Case ID: BKHMzg - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No DataImportSession matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/importer/session/0/ 2. Test Case ID: y0RoRn - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/importer/session/1/ ________________________ PUT /api/label/template/{id}/ _________________________ 1. Test Case ID: d1v2Xw - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No LabelTemplate matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/label/template/0/ 2. Test Case ID: hAvM72 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"description":["This field may not be blank."],"template":["The submitted data was not a file. Check the encoding type on the form."]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"description": "", "model_type": "part", "name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "template": "https://0.com"}' http://0.0.0.0:34609/api/label/template/1/ ____________________________ PUT /api/machine/{id}/ ____________________________ 1. Test Case ID: a6URKS - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No MachineConfig matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/machine/e3e70682-c209-1cac-a29f-6fbed82c07cd/ 2. Test Case ID: R5b7ly - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/machine/%C3%96%1D6/ _____________ PUT /api/machine/{id}/settings/{config_type}/{key}/ ______________ 1. Test Case ID: rD2ruV - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Machine 'e3e70682-c209-1cac-a29f-6fbed82c07cd' not found"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/machine/e3e70682-c209-1cac-a29f-6fbed82c07cd/settings/M/0/ 2. Test Case ID: M9ZjRH - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/machine/e3e70682-c209-1cac-a29f-6fbed82c07cd/settings/M/INVENTREE_DEBUG/ _______________________ PUT /api/metadata/{model}/{id}/ ________________________ 1. Test Case ID: tWTVsu - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/metadata/0/null,null/"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/metadata/0/null%2Cnull/ 2. Test Case ID: 5SIYyN - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `["GenericMetadataView called with invalid model '0'"]` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/metadata/0/0/ ___________ PUT /api/metadata/{model}/{lookup_field}/{lookup_value}/ ___________ 1. Test Case ID: X4Rx5W - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `["GenericMetadataView called with invalid model '0'"]` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/metadata/0/0/0/ _____________________________ PUT /api/news/{id}/ ______________________________ 1. Test Case ID: bjNTil - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No NewsFeedEntry matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/news/0/ 2. Test Case ID: K22fJ4 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/news/1/ _________________________ PUT /api/notifications/{id}/ _________________________ 1. Test Case ID: ob7qwP - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No NotificationMessage matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/notifications/0/ 2. Test Case ID: AVo6hO - Response violates schema "2026-10-07 16:48" is not a "date-time" Validated against the response schema for status code 200. Schema at /properties/creation: { "format": "date-time", "type": "string", "readOnly": true } Value: "2026-10-07 16:48" [200] OK: `{"pk":1,"target":{"name":"Error object (1)","model_name":"Error","model_type":"error","model_id":1,"link":"http://localhost:34609/admin/error_report/error/1/change/"},"source":{"name":"admin","model_name":"user","model_type":"user","model_id":1},"user":1,"category":"inventree.error_log","name":"Server Error","message":"An error has been logged by the server.","creation":"2026-10-07 16:48","age":1403,"age_human":"23 minutes ago","read":false}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"read": false}' http://0.0.0.0:34609/api/notifications/1/ 3. Test Case ID: nhnx9L - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d $'\x00' http://0.0.0.0:34609/api/notifications/1/ ______________________ PUT /api/order/po-extra-line/{id}/ ______________________ 1. Test Case ID: 4pEJqZ - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PurchaseOrderExtraLine matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po-extra-line/0/ 2. Test Case ID: 8xiqqV - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/po-extra-line/1/ _________________________ PUT /api/order/po-line/{id}/ _________________________ 1. Test Case ID: KdvTRI - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PurchaseOrderLineItem matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po-line/0/ 2. Test Case ID: RqhAYk - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/po-line/1/ ___________________________ PUT /api/order/po/{id}/ ____________________________ 1. Test Case ID: Q5yhuU - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PurchaseOrder matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/po/0/ 2. Test Case ID: xdoY4K - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/po/1/ ______________________ PUT /api/order/ro-extra-line/{id}/ ______________________ 1. Test Case ID: RHPhxi - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No ReturnOrderExtraLine matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro-extra-line/0/ 2. Test Case ID: m4KsyH - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/ro-extra-line/1/ _________________________ PUT /api/order/ro-line/{id}/ _________________________ 1. Test Case ID: bd0xZy - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No ReturnOrderLineItem matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro-line/0/ 2. Test Case ID: Hutn0c - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/ro-line/1/ ___________________________ PUT /api/order/ro/{id}/ ____________________________ 1. Test Case ID: tn4vi2 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No ReturnOrder matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/ro/0/ 2. Test Case ID: b3QSgT - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/ro/1/ ________________________ PUT /api/order/so-allocation/ _________________________ 1. Test Case ID: 0JlJex - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so-allocation/ 2. Test Case ID: KKb8me - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/so-allocation/","status_code":500}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=cc2e08b098c6301b2bccce921c6dce55' -d $'--cc2e08b098c6301b2bccce921c6dce55\r\nContent-Disposition: form-data; name="item"\r\n\r\n0\r\n--cc2e08b098c6301b2bccce921c6dce55\r\nContent-Disposition: form-data; name="shipment"\r\n\r\nnull\r\n--cc2e08b098c6301b2bccce921c6dce55--\r\n' http://0.0.0.0:34609/api/order/so-allocation/ 3. Test Case ID: Tr0PWw - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"item": 0, "quantity": 0.0}' http://0.0.0.0:34609/api/order/so-allocation/ ______________________ PUT /api/order/so-allocation/{id}/ ______________________ 1. Test Case ID: AykieC - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No SalesOrderAllocation matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so-allocation/0/ 2. Test Case ID: dYW3wk - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/so-allocation/1/ ______________________ PUT /api/order/so-extra-line/{id}/ ______________________ 1. Test Case ID: s6ysK8 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No SalesOrderExtraLine matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so-extra-line/0/ 2. Test Case ID: Ij9UKv - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/so-extra-line/1/ _________________________ PUT /api/order/so-line/{id}/ _________________________ 1. Test Case ID: pWs2PV - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No SalesOrderLineItem matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so-line/0/ 2. Test Case ID: ducMGC - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/so-line/1/ _______________________ PUT /api/order/so/shipment/{id}/ _______________________ 1. Test Case ID: WXPK7V - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No SalesOrderShipment matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so/shipment/0/ 2. Test Case ID: Hzy7dg - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/so/shipment/1/ ___________________________ PUT /api/order/so/{id}/ ____________________________ 1. Test Case ID: fDJ5G8 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No SalesOrder matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/so/0/ 2. Test Case ID: rZ2D7i - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/so/1/ __________________ PUT /api/order/transfer-order-allocation/ ___________________ 1. Test Case ID: fmMenE - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order-allocation/ 2. Test Case ID: btG2NY - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/transfer-order-allocation/","status_code":500}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=d5bd897a30ce94f4e79f9b1db94e505c' -d $'--d5bd897a30ce94f4e79f9b1db94e505c\r\nContent-Disposition: form-data; name="item"\r\n\r\n0\r\n--d5bd897a30ce94f4e79f9b1db94e505c--\r\n' http://0.0.0.0:34609/api/order/transfer-order-allocation/ 3. Test Case ID: KKqu8x - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"item": 0, "quantity": 0.0}' http://0.0.0.0:34609/api/order/transfer-order-allocation/ ________________ PUT /api/order/transfer-order-allocation/{id}/ ________________ 1. Test Case ID: SVXuW5 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No TransferOrderAllocation matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order-allocation/0/ 2. Test Case ID: 5YKwgm - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/transfer-order-allocation/1/ ___________________ PUT /api/order/transfer-order-line/{id}/ ___________________ 1. Test Case ID: IDByPh - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No TransferOrderLineItem matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order-line/0/ 2. Test Case ID: BJjtLG - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/transfer-order-line/1/ _____________________ PUT /api/order/transfer-order/{id}/ ______________________ 1. Test Case ID: 9TNDQY - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No TransferOrder matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/order/transfer-order/0/ 2. Test Case ID: kzjasc - Response violates schema "" is not a "uri" Validated against the response schema for status code 200. Schema at /components/schemas/TransferOrder/properties/link: { "format": "uri", "type": "string", "description": "Link to external page", "maxLength": 2000 } Value: "" [200] OK: `{"pk":1,"created_by":{"pk":1,"username":"admin","first_name":"","last_name":"","email":"admin@example.com"},"creation_date":"2026-10-07","issue_date":null,"start_date":null,"target_date":null,"description":"","line_items":0,"completed_lines":0,"link":"","project_code":null,"reference":"TO-0001","responsible":null,"contact":null,"address":null,"status":40,"status_text":"Cancelled","status_custom_key":null,"notes":null,"barcode_hash":"","overdue":false,"address_detail":null,"contact_detail":null,"project_code // Output truncated...` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"reference": "TO-0001"}' http://0.0.0.0:34609/api/order/transfer-order/1/ 3. Test Case ID: H6YAcL - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/order/transfer-order/1/ 4. Test Case ID: rvMiTs - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 5 additional properties not defined in the schema (``, `4󧷆`, `w񔂬|ç` and 2 more). The server likely rejects unexpected fields. Add `additionalProperties: false` to your schema to prevent this. [400] Bad Request: `{"reference":["Reference must match required pattern: TO-{ref:04d}"]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Cookie: [Filtered]' -d 'w%F1%94%82%AC%7C%C3%A7=M6%C2%B2%F3%BF%80%BB%C3%89%C2%A2lY&%EA%9C%95J%C2%A1%7C%C3%91%F2%9A%A5%B2%C2%AF%1B=&%EA%9C%95J%C2%A1%7C%C3%91%F2%9A%A5%B2%C2%AF%1B=%F0%B6%84%96&%EA%9C%95J%C2%A1%7C%C3%91%F2%9A%A5%B2%C2%AF%1B=%F2%B2%A2%A6%F2%87%93%8A%F2%BA%A3%B4%C3%89-e&4%F3%A7%B7%86=&4%F3%A7%B7%86=316890&reference=s%12' http://0.0.0.0:34609/api/order/transfer-order/1/ ______________________ PUT /api/parameter/template/{id}/ _______________________ 1. Test Case ID: P1kQqe - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No ParameterTemplate matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/parameter/template/0/ 2. Test Case ID: AK9fko - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/parameter/template/1/ ___________________________ PUT /api/parameter/{id}/ ___________________________ 1. Test Case ID: lNNvJk - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No Parameter matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/parameter/0/ 2. Test Case ID: 0XtXUp - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/parameter/1/ ________________________________ PUT /api/part/ ________________________________ 1. Test Case ID: iSRRUn - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/ 2. Test Case ID: Id6pXZ - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/part/","status_code":500}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=d38bf8c900df3aeb04189966bd51e935' -d $'--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="active"\r\n\r\nfalse\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="assembly"\r\n\r\nfalse\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="category"\r\n\r\nnull\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="component"\r\n\r\nfalse\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="creation_user"\r\n\r\nnull\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="default_expiry"\r\n\r\n0\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="default_location"\r\n\r\nnull\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="description"\r\n\r\n\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="image"\r\n\r\nhttps://0.com\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="existing_image"\r\n\r\n\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="IPN"\r\n\r\n\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="is_template"\r\n\r\nfalse\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="keywords"\r\n\r\n\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="link"\r\n\r\nhttps://0.com\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="locked"\r\n\r\nfalse\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="minimum_stock"\r\n\r\n0.0\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="maximum_stock"\r\n\r\n0.0\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="purchaseable"\r\n\r\nfalse\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="revision"\r\n\r\n\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="revision_of"\r\n\r\nnull\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="salable"\r\n\r\nfalse\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="testable"\r\n\r\nfalse\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="trackable"\r\n\r\nfalse\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="units"\r\n\r\n\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="variant_of"\r\n\r\nnull\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="virtual"\r\n\r\nfalse\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="responsible"\r\n\r\nnull\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="duplicate"\r\n\r\n{"part": 0}\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="initial_stock"\r\n\r\n{"quantity": ""}\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="initial_supplier"\r\n\r\n{}\r\n--d38bf8c900df3aeb04189966bd51e935\r\nContent-Disposition: form-data; name="copy_category_parameters"\r\n\r\ntrue\r\n--d38bf8c900df3aeb04189966bd51e935--\r\n' http://0.0.0.0:34609/api/part/ 3. Test Case ID: ioUbll - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/part/ ___________________________ PUT /api/part/category/ ____________________________ 1. Test Case ID: keZWzm - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/category/ 2. Test Case ID: to1vG8 - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/part/category/","status_code":500}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=8b3bb340c0f3573ecb06122f6a0d94f8' -d $'--8b3bb340c0f3573ecb06122f6a0d94f8\r\nContent-Disposition: form-data; name="description"\r\n\r\n\r\n--8b3bb340c0f3573ecb06122f6a0d94f8\r\nContent-Disposition: form-data; name="default_location"\r\n\r\nnull\r\n--8b3bb340c0f3573ecb06122f6a0d94f8\r\nContent-Disposition: form-data; name="default_keywords"\r\n\r\n\r\n--8b3bb340c0f3573ecb06122f6a0d94f8\r\nContent-Disposition: form-data; name="parent"\r\n\r\nnull\r\n--8b3bb340c0f3573ecb06122f6a0d94f8\r\nContent-Disposition: form-data; name="structural"\r\n\r\nfalse\r\n--8b3bb340c0f3573ecb06122f6a0d94f8\r\nContent-Disposition: form-data; name="icon"\r\n\r\n\r\n--8b3bb340c0f3573ecb06122f6a0d94f8--\r\n' http://0.0.0.0:34609/api/part/category/ 3. Test Case ID: TaTOOf - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/part/category/ ___________________ PUT /api/part/category/parameters/{id}/ ____________________ 1. Test Case ID: H6mx6A - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PartCategoryParameterTemplate matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/category/parameters/0/ 2. Test Case ID: 60g1K4 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/category/parameters/1/ _________________________ PUT /api/part/category/{id}/ _________________________ 1. Test Case ID: RSJtZr - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PartCategory matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/category/0/ 2. Test Case ID: mCb1xF - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/category/1/ ______________________ PUT /api/part/internal-price/{id}/ ______________________ 1. Test Case ID: sYWRF8 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PartInternalPriceBreak matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/internal-price/0/ _________________________ PUT /api/part/related/{id}/ __________________________ 1. Test Case ID: wSL6ql - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PartRelated matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/related/0/ 2. Test Case ID: 8i3LrN - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/related/1/ ________________________ PUT /api/part/sale-price/{id}/ ________________________ 1. Test Case ID: rVaD4S - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PartSellPriceBreak matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/sale-price/0/ 2. Test Case ID: TNY5H9 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/sale-price/1/ ________________________ PUT /api/part/stocktake/{id}/ _________________________ 1. Test Case ID: oZiUtd - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PartStocktake matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/stocktake/0/ 2. Test Case ID: Ldok6O - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/stocktake/1/ ______________________ PUT /api/part/test-template/{id}/ _______________________ 1. Test Case ID: ZYeP21 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PartTestTemplate matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/test-template/0/ 2. Test Case ID: yAahfN - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/test-template/1/ __________________________ PUT /api/part/thumbs/{id}/ __________________________ 1. Test Case ID: 7tzHiv - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No Part matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/thumbs/0/ 2. Test Case ID: R5Qxbt - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/thumbs/1/ _____________________________ PUT /api/part/{id}/ ______________________________ 1. Test Case ID: 7VgVvX - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No Part matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/part/0/ 2. Test Case ID: ZGJ2Ie - Response violates schema "category_name" is a required property Validated against the response schema for status code 200. Schema at /components/schemas/Part: { "required": [ "barcode_hash", "category_name", "full_name", "name", "pk", "starred", "thumbnail" ], "type": "object", "description": "Serializer for complete detail information of a part.\n\n... "properties": { "active": { "type": "boolean", "description": "Is this part active?" }, "assembly": { "type": "boolean", // Output truncated... } Value: { "IPN": "", "active": true, "allocated_to_build_orders": 0.0, "allocated_to_sales_orders": 0.0, "assembly": false, "barcode_hash": "", "building": 0.0, "category": null, "category_default_location": null, "category_detail": null, "category_path": null, "component": true, "creation_date": "2026-10-07", "creation_user": 1, "default_expiry": 0, "default_location": null, "default_location_detail": null, "description": "", // Output truncated... } [200] OK: `{"active":true,"assembly":false,"barcode_hash":"","category":null,"component":true,"creation_date":"2026-10-07","creation_user":1,"default_expiry":0,"default_location":null,"description":"","full_name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","image":null,"IPN":"","is_template":false,"keywords":null,"link":null,"locked":false,"minimum_stock":0.0,"maximum_stock":0.0,"name":"000000000000000000000000000000000000000000000000000000000000000000000000000 // Output truncated...` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/part/1/ 3. Test Case ID: AExUeu - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/1/ _______________________ PUT /api/part/{id}/bom-validate/ _______________________ 1. Test Case ID: 9mbpew - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/null,null/bom-validate/"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"valid": false}' http://0.0.0.0:34609/api/part/null%2Cnull/bom-validate/ 2. Test Case ID: 076oM7 - Response violates schema "bom_checksum" is a required property Validated against the response schema for status code 200. Schema at /components/schemas/PartBomValidate: { "required": [ "bom_checksum", "bom_validated", "pk" ], "type": "object", "description": "Serializer for Part BOM information.", "properties": { "pk": { "type": "integer", "readOnly": true, "title": "ID" }, "bom_validated": { "type": "boolean", "readOnly": true, "description": "Is the BOM for this part valid?" }, // Output truncated... } Value: { "complete": true, "exists": false, "http_status": 200, "pending": false, "success": true, "task_id": "" } [200] OK: `{"task_id":"","exists":false,"pending":false,"complete":true,"success":true,"http_status":200}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/part/1/bom-validate/ 3. Test Case ID: LtqTvW - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/1/bom-validate/ _________________________ PUT /api/part/{id}/pricing/ __________________________ 1. Test Case ID: 0CdMFd - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/part/null,null/pricing/"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"override_min": "", "override_min_currency": "", "override_max": "", "override_max_currency": "", "update": null}' http://0.0.0.0:34609/api/part/null%2Cnull/pricing/ 2. Test Case ID: q4rTK6 - Response violates schema "2026-10-07 17:24" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /properties/updated: { "anyOf": [ { "type": "string", "format": "date-time", "readOnly": true }, { "type": "null" } ] } Value: "2026-10-07 17:24" [200] OK: `{"currency":"USD","updated":"2026-10-07 17:24","scheduled_for_update":false,"bom_cost_min":null,"bom_cost_max":null,"purchase_cost_min":null,"purchase_cost_max":null,"internal_cost_min":null,"internal_cost_max":null,"supplier_price_min":null,"supplier_price_max":null,"variant_cost_min":null,"variant_cost_max":null,"override_min":null,"override_min_currency":"USD","override_max":null,"override_max_currency":"USD","overall_min":null,"overall_max":null,"sale_price_min":null,"sale_price_max":null,"sale_history_ // Output truncated...` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/part/1/pricing/ 3. Test Case ID: d2Z68z - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/part/1/pricing/ _____________________ PUT /api/plugins/{plugin}/activate/ ______________________ 1. Test Case ID: Bx58Om - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PluginConfig matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=e738434166262a928321ed9df347ec5b' -d $'--e738434166262a928321ed9df347ec5b\r\nContent-Disposition: form-data; name="active"\r\n\r\n{}\r\n--e738434166262a928321ed9df347ec5b--\r\n' http://0.0.0.0:34609/api/plugins/0/activate/ 2. Test Case ID: EQDBgR - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/plugins/0/activate/","status_code":500}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' http://0.0.0.0:34609/api/plugins/0/activate/ 3. Test Case ID: YwCHeN - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/plugins/inventreebarcode/activate/ 4. Test Case ID: U8hCer - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":["INVE-E10: Mandatory plugin cannot be deactivated"]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"active": false}' http://0.0.0.0:34609/api/plugins/inventreebarcode/activate/ __________________ PUT /api/plugins/{plugin}/settings/{key}/ ___________________ 1. Test Case ID: CDtITD - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Plugin '0' not installed"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/plugins/0/settings/0/ 2. Test Case ID: Ra1muh - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/plugins/inventreebarcode/settings/INVENTREE_DEBUG/ _____________________ PUT /api/plugins/{plugin}/uninstall/ _____________________ 1. Test Case ID: Qy2plY - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No PluginConfig matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=5cb0718deff72e10ca96fd9f8f681a79' -d $'--5cb0718deff72e10ca96fd9f8f681a79\r\nContent-Disposition: form-data; name="delete_config"\r\n\r\n{}\r\n--5cb0718deff72e10ca96fd9f8f681a79--\r\n' http://0.0.0.0:34609/api/plugins/0/uninstall/ 2. Test Case ID: 6oiB8f - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":["Plugin uninstalling is disabled"]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' http://0.0.0.0:34609/api/plugins/inventreebarcode/uninstall/ ________________ PUT /api/plugins/{plugin}/user-settings/{key}/ ________________ 1. Test Case ID: wB1cg8 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Plugin '0' not installed"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/plugins/0/user-settings/0/ _________________________ PUT /api/project-code/{id}/ __________________________ 1. Test Case ID: ywDocE - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No ProjectCode matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/project-code/0/ 2. Test Case ID: Bq6780 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/project-code/1/ 3. Test Case ID: 8FgX65 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"code":["Project Code with this Project Code already exists."]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"code": "0", "description": "Directly print labels for various items."}' http://0.0.0.0:34609/api/project-code/1/ _________________________ PUT /api/report/asset/{id}/ __________________________ 1. Test Case ID: tn6CEA - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No ReportAsset matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/report/asset/0/ 2. Test Case ID: 0OijFE - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/report/asset/1/ ________________________ PUT /api/report/snippet/{id}/ _________________________ 1. Test Case ID: DYIMTC - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No ReportSnippet matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/report/snippet/0/ 2. Test Case ID: sLBSPQ - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/report/snippet/1/ ________________________ PUT /api/report/template/{id}/ ________________________ 1. Test Case ID: blNioJ - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No ReportTemplate matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/report/template/0/ 2. Test Case ID: 8QW97d - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"description":["This field may not be blank."],"template":["The submitted data was not a file. Check the encoding type on the form."]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"description": "", "model_type": "part", "name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "template": "https://0.com"}' http://0.0.0.0:34609/api/report/template/1/ ___________________________ PUT /api/selection/{id}/ ___________________________ 1. Test Case ID: iWvebz - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No SelectionList matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/selection/0/ 2. Test Case ID: tYrI40 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/selection/1/ 3. Test Case ID: nn5ZGv - Response violates schema (2 violations) "2026-10-07 17:09" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/SelectionList/properties/created: { "format": "date-time", "type": "string", "readOnly": true, "description": "Date and time that the selection list was created" } Value: "2026-10-07 17:09" "2026-10-07 17:24" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/SelectionList/properties/last_updated: { "format": "date-time", "type": "string", "readOnly": true, "description": "Date and time that the selection list was last updated" } Value: "2026-10-07 17:24" [200] OK: `{"pk":1,"name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","description":"","active":true,"locked":false,"source_plugin":null,"source_string":"","default":null,"created":"2026-10-07 17:09","last_updated":"2026-10-07 17:24","entry_count":0,"choices":[]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/selection/1/ ___________________ PUT /api/selection/{id}/entry/{entrypk}/ ___________________ 1. Test Case ID: d4sxpc - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No SelectionListEntry matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/selection/0/entry/0/ 2. Test Case ID: GmYBfc - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/selection/8/entry/1/ _______________________ PUT /api/settings/global/{key}/ ________________________ 1. Test Case ID: krQLtQ - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/settings/global/0/ 2. Test Case ID: oJg9ef - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/settings/global/INVENTREE_DEBUG/ ________________________ PUT /api/settings/user/{key}/ _________________________ 1. Test Case ID: eeQfCc - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"Not found."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/settings/user/0/ 2. Test Case ID: JmBlTa - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/settings/user/INVENTREE_DEBUG/ _______________________________ PUT /api/stock/ ________________________________ 1. Test Case ID: 7FQVN8 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/ 2. Test Case ID: wsGNp2 - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/stock/","status_code":500}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=89ee18a1525e8ffceab8d0f345e805ae' -d $'--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="part"\r\n\r\n0\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="serial"\r\n\r\n\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="batch"\r\n\r\n\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="location"\r\n\r\nnull\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="belongs_to"\r\n\r\nnull\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="build"\r\n\r\nnull\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="consumed_by"\r\n\r\nnull\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="customer"\r\n\r\nnull\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="delete_on_deplete"\r\n\r\nfalse\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="expiry_date"\r\n\r\n2000-01-01\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="is_building"\r\n\r\nfalse\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="link"\r\n\r\nhttps://0.com\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="notes"\r\n\r\n\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="owner"\r\n\r\nnull\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="packaging"\r\n\r\n\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="purchase_order"\r\n\r\nnull\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="sales_order"\r\n\r\nnull\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="status"\r\n\r\n10\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="status_custom_key"\r\n\r\nnull\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="supplier_part"\r\n\r\nnull\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="purchase_price"\r\n\r\n\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="purchase_price_currency"\r\n\r\n\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="use_pack_size"\r\n\r\nnull\r\n--89ee18a1525e8ffceab8d0f345e805ae\r\nContent-Disposition: form-data; name="serial_numbers"\r\n\r\nnull\r\n--89ee18a1525e8ffceab8d0f345e805ae--\r\n' http://0.0.0.0:34609/api/stock/ 3. Test Case ID: pRcwPe - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"part": 0, "quantity": 0.0}' http://0.0.0.0:34609/api/stock/ ______________________ PUT /api/stock/location-type/{id}/ ______________________ 1. Test Case ID: GyCD2g - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No StockLocationType matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/location-type/0/ 2. Test Case ID: oqoQ7t - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/stock/location-type/1/ ___________________________ PUT /api/stock/location/ ___________________________ 1. Test Case ID: nfKnri - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/location/ 2. Test Case ID: Y6GQro - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"AttributeError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/stock/location/","status_code":500}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=f14bed321325a5dc6f466e1605d8ef07' -d $'--f14bed321325a5dc6f466e1605d8ef07\r\nContent-Disposition: form-data; name="description"\r\n\r\n\r\n--f14bed321325a5dc6f466e1605d8ef07\r\nContent-Disposition: form-data; name="parent"\r\n\r\nnull\r\n--f14bed321325a5dc6f466e1605d8ef07\r\nContent-Disposition: form-data; name="owner"\r\n\r\nnull\r\n--f14bed321325a5dc6f466e1605d8ef07\r\nContent-Disposition: form-data; name="custom_icon"\r\n\r\n\r\n--f14bed321325a5dc6f466e1605d8ef07\r\nContent-Disposition: form-data; name="structural"\r\n\r\nfalse\r\n--f14bed321325a5dc6f466e1605d8ef07\r\nContent-Disposition: form-data; name="external"\r\n\r\nfalse\r\n--f14bed321325a5dc6f466e1605d8ef07\r\nContent-Disposition: form-data; name="location_type"\r\n\r\nnull\r\n--f14bed321325a5dc6f466e1605d8ef07--\r\n' http://0.0.0.0:34609/api/stock/location/ 3. Test Case ID: vYTsl3 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"non_field_errors":"List of items must be provided for bulk operation"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/stock/location/ ________________________ PUT /api/stock/location/{id}/ _________________________ 1. Test Case ID: N5PX62 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No StockLocation matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/location/0/ 2. Test Case ID: xuso9c - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/stock/location/1/ __________________________ PUT /api/stock/test/{id}/ ___________________________ 1. Test Case ID: TT1Vwe - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No StockItemTestResult matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/test/0/ 2. Test Case ID: DbLiTL - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/stock/test/1/ _____________________________ PUT /api/stock/{id}/ _____________________________ 1. Test Case ID: f3T0FV - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No StockItem matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/stock/0/ 2. Test Case ID: AIhhQU - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/stock/1/ ______________________________ PUT /api/tag/{id}/ ______________________________ 1. Test Case ID: zp8EfX - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No Tag matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/tag/0/ 2. Test Case ID: eptshI - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/tag/1/ _____________________________ PUT /api/units/{id}/ _____________________________ 1. Test Case ID: LEeKTF - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No CustomUnit matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/units/0/ __________________________ PUT /api/user/group/{id}/ ___________________________ 1. Test Case ID: KlZcHA - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail":"No Group matches the given query."}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' http://0.0.0.0:34609/api/user/group/0/ 2. Test Case ID: vyASwl - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"name":["group with this name already exists."]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"name": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}' http://0.0.0.0:34609/api/user/group/1/ __________________________ PUT /api/user/me/profile/ ___________________________ 1. Test Case ID: FCCbV6 - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"primary_group":["Incorrect type. Expected pk value, received str."]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=c9874d2b5c80f6e597633ba117518172' -d $'--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="language"\r\n\r\n\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="theme"\r\n\r\nnull\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="widgets"\r\n\r\nnull\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="displayname"\r\n\r\n\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="position"\r\n\r\n\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="status"\r\n\r\n\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="location"\r\n\r\n\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="active"\r\n\r\nfalse\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="contact"\r\n\r\n\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="type"\r\n\r\nbot\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="organisation"\r\n\r\n\r\n--c9874d2b5c80f6e597633ba117518172\r\nContent-Disposition: form-data; name="primary_group"\r\n\r\n{}\r\n--c9874d2b5c80f6e597633ba117518172--\r\n' http://0.0.0.0:34609/api/user/me/profile/ 2. Test Case ID: rv1cB0 - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx Hint: The request body contains 1 additional property not defined in the schema (`, I•pNX~ç… `). The server likely rejects unexpected fields. Add `additionalProperties: false` to your schema to prevent this. [400] Bad Request: `{"primary_group":["Incorrect type. Expected pk value, received str."]}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=87d8d9bc11ac73f9a30573e9258f0293' -d $'--87d8d9bc11ac73f9a30573e9258f0293\r\nContent-Disposition: form-data; name=",\xc2\xa0I\xc2\x95pNX~ç\xc2\x85"\r\n\r\n4.2818151811550745e+24\r\n--87d8d9bc11ac73f9a30573e9258f0293\r\nContent-Disposition: form-data; name="displayname"\r\n\r\nnull\r\n--87d8d9bc11ac73f9a30573e9258f0293\r\nContent-Disposition: form-data; name="position"\r\n\r\nnull\r\n--87d8d9bc11ac73f9a30573e9258f0293\r\nContent-Disposition: form-data; name="location"\r\n\r\nnull\r\n--87d8d9bc11ac73f9a30573e9258f0293\r\nContent-Disposition: form-data; name="primary_group"\r\n\r\nnull\r\n--87d8d9bc11ac73f9a30573e9258f0293\r\nContent-Disposition: form-data; name="active"\r\n\r\ntrue\r\n--87d8d9bc11ac73f9a30573e9258f0293\r\nContent-Disposition: form-data; name="language"\r\n\r\nnull\r\n--87d8d9bc11ac73f9a30573e9258f0293\r\nContent-Disposition: form-data; name="contact"\r\n\r\n%\r\n--87d8d9bc11ac73f9a30573e9258f0293\r\nContent-Disposition: form-data; name="type"\r\n\r\nexternal\r\n--87d8d9bc11ac73f9a30573e9258f0293\r\nContent-Disposition: form-data; name="status"\r\n\r\nnull\r\n--87d8d9bc11ac73f9a30573e9258f0293\r\nContent-Disposition: form-data; name="organisation"\r\n\r\n󠅸\r\n--87d8d9bc11ac73f9a30573e9258f0293--\r\n' http://0.0.0.0:34609/api/user/me/profile/ _________________________ PUT /api/user/ruleset/{id}/ __________________________ 1. Test Case ID: xcPMHb - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/user/ruleset/null,null/"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"can_view": false, "can_add": false, "can_change": false, "can_delete": false}' http://0.0.0.0:34609/api/user/ruleset/null%2Cnull/ 2. Test Case ID: uJkMqm - Undocumented HTTP status code Received: 400 Documented: 200 [400] Bad Request: `{"detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'\x00' http://0.0.0.0:34609/api/user/ruleset/1/ ________________________________ Stateful tests ________________________________ 1. Test Case ID: 2exAfO - API rejected schema-compliant request Valid data should have been accepted Expected: 2xx, 3xx, 401, 403, 404, 409, 429, 5xx [400] Bad Request: `{"model_type":["Invalid model type: Å"]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/tag/?model_type=%C3%85&offset=-3081156&limit=-2265061656601502' 2. Test Case ID: qlaSwX - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"IntegrityError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/user/group/","status_code":500}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/user/group/?limit=29335314021997703331840' 3. Test Case ID: qkg0v5 - Response violates schema (2 violations) "2026-10-07 17:09" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/SelectionList/properties/created: { "format": "date-time", "type": "string", "readOnly": true, "description": "Date and time that the selection list was created" } Value: "2026-10-07 17:09" "2026-10-07 17:09" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/SelectionList/properties/last_updated: { "format": "date-time", "type": "string", "readOnly": true, "description": "Date and time that the selection list was last updated" } Value: "2026-10-07 17:09" [200] OK: `{"count":2,"next":null,"previous":null,"results":[{"pk":2,"name":"©w","description":"","active":true,"locked":false,"source_plugin":null,"source_string":"Ó񰌖G®Y","default":null,"created":"2026-10-07 17:09","last_updated":"2026-10-07 17:09","entry_count":0,"choices":[]},{"pk":4,"name":"0","description":"","active":false,"locked":false,"source_plugin":null,"source_string":"","default":null,"created":"2026-10-07 17:30","last_updated":"2026-10-07 17:30","entry_count":0,"choices":[]}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/selection/?limit=4450813451711' 4. Test Case ID: zpZVuG - Response violates schema "" is not a "uri" Validated against the response schema for status code 200. Schema at /components/schemas/TransferOrder/properties/link: { "format": "uri", "type": "string", "description": "Link to external page", "maxLength": 2000 } Value: "" [200] OK: `{"count":7,"next":null,"previous":null,"results":[{"pk":8,"created_by":{"pk":1,"username":"admin","first_name":"","last_name":"","email":"admin@example.com"},"creation_date":"2026-10-07","issue_date":null,"start_date":null,"target_date":null,"description":"","line_items":0,"completed_lines":0,"link":"","project_code":null,"reference":"TO-0008","responsible":null,"contact":null,"address":null,"status":10,"status_text":"Pending","status_custom_key":null,"barcode_hash":"","overdue":false,"address_detail":null, // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/order/transfer-order/?limit=3202011212388' 5. Test Case ID: SrwWmU - 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: parameters `limit`, `ordering` in query - violates `type` at /properties/limit (was integer, became array) - violates `enum` at /properties/ordering [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/contact/?ordering=&limit=%F1%BE%A7%81%C2%A7%10%C3%B4%C3%9F%F2%97%8D%AB%7Da%C3%BC%C2%80%F4%8E%BF%95%F1%B6%84%9F%F1%9D%93%AE%09%C3%87%02%F2%B5%A3%90%C2%B8%0D%F1%BF%BE%96&limit=%C3%B9O%11%C3%87N%C2%86&limit=%5B%7B%27%27%3A+%7B%27%5Cx16M-%5Cx8f%27%3A+%27false%27%7D%7D%5D&limit=%5B%7B%7D%2C+%7B%7D%2C+%7B%27%C2%BC%C3%B9%E7%BA%83%C3%A7%27%3A+%27true%27%2C+%27%27%3A+%27true%27%7D%5D&limit=%F3%94%91%89&limit=%C3%8A%F1%9E%80%B3%C3%B1&limit=%F0%A9%B8%86%F0%B2%8A%81%C3%96&limit=1.7368897471120297e-138&limit=5.117952059484191e%2B16' 6. Test Case ID: bhtrCT - Response violates schema (4 violations) "" is not a "uri" Validated against the response schema for status code 201. Schema at /properties/link: { "format": "uri", "type": "string", "description": "Link to external company information", "maxLength": 2000 } Value: "" "" is not a "uri" Validated against the response schema for status code 201. Schema at /properties/website: { "format": "uri", "type": "string", "description": "Company website URL", "maxLength": 2000 } Value: "" "" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 201. Schema at /properties/email: { "anyOf": [ { "type": "string", "format": "email", "default": "" }, { "type": "null" } ] } Value: "" "parts_manufactured" is a required property Validated against the response schema for status code 201. Schema: { "required": [ "currency", "name", "parts_manufactured", "parts_supplied", "pk" ], "type": "object", "description": "Serializer for Company object (full detail).", "properties": { "pk": { "type": "integer", "readOnly": true, "title": "ID" }, "name": { "type": "string", "title": "Company name", // Output truncated... } Value: { "active": true, "contact": "", "currency": "USD", "description": "", "email": "", "image": null, "is_customer": false, "is_manufacturer": false, "is_supplier": true, "link": "", "name": "~\u00c5[^\u00a7\ud8ef\udd6d", "notes": null, "parameters": [], "phone": "", "pk": 1, "primary_address": null, "tags": [], "tax_id": "", // Output truncated... } [201] Created: `{"pk":1,"name":"~Å[^§񋵭","description":"","website":"","phone":"","email":"","currency":"USD","contact":"","link":"","image":null,"active":true,"is_customer":false,"is_manufacturer":false,"is_supplier":true,"notes":null,"tax_id":"","primary_address":null,"tags":[],"parameters":[]}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"": {"\u00f9": "B$", "\ud817\uded8\u0083\"\u0090": [0.005], "\u008b\r-\u00eb\ud8b9\udfa3": -2.116168103980076e+16}, "\u00e0c \u00d6\u00cdC\u0016\u0014": [-1.382108238367469e+126, 4.62295701044518e-103, false], "\u00af,A\u009d": 6.484476318770426e-189, "currency": "USD", "name": "~\u00c5[^\u00a7\ud8ef\udd6d"}' http://0.0.0.0:34609/api/company/ 7. Test Case ID: nxibpa - 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 `limit` in query - violates `required` (was limit) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/attachment/?has_thumbnail=false&is_file=false' 8. Test Case ID: yyfvX8 - Undocumented HTTP status code Received: 404 Documented: 200 [404] Not Found: `{"detail": "API endpoint not found", "url": "http://0.0.0.0:34609/api/selection/+%C2%B5%C2%85%C3%AA/entry/?limit=false"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/selection/?limit=31' curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/selection/%2B%C2%B5%C2%85%C3%AA/entry/?limit=false' 9. Test Case ID: dHj4t6 - 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 `limit` in query - violates `type` at /properties/limit (was integer, became array) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/tag/?model_type=&search=v%C2%B9o%C2%AF%F0%B1%85%8E%C3%B80%E4%95%8F%10%1D0%E8%81%AC%C2%AEn%05%C3%8BX%F3%8D%B9%96x_%C2%99%C3%B4&offset=-118651314&limit=false&ordering=name' 10. Test Case ID: vLAUMz - 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: parameters `enabled`, `limit`, `ordering` in query - violates `type` at /properties/enabled (was boolean, became number) - violates `type` at /properties/limit (was integer, became boolean) - violates `enum` at /properties/ordering [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/parameter/?enabled=-1.7976931348623157e%2B308&limit=false&ordering=' 11. Test Case ID: rdXjas - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"IntegrityError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/part/category/","status_code":500}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/part/category/?limit=136486869873019821490176&depth=9.212932162704342e-85' 12. Test Case ID: 4RyIsA - 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 `limit` in query - violates `required` (was limit) [200] OK: `[]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/order/transfer-order/?assigned_to_me=false&completed_after=8746-01-01&completed_before=2000-03-04' 13. Test Case ID: N4LoXV - 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 `limit` in query - violates `required` (was limit) [200] OK: `[{"pk":1,"name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","description":"","pathstring":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","parent":null,"tree_id":1,"level":0,"icon":"","structural":false,"sublocations":0},{"pk":2,"name":"<%Ý","description":"","pathstring":"<%Ý","parent":null,"tree_id":2,"level":0,"icon":"","structural":false,"sublocations":0},{"pk":6,"name":"v","description":"","pa // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/part/category/tree/?limit=418&level=32&tree_id=1' curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:34609/api/stock/location/tree/?level=0' 14. Test Case ID: EDtgC6 - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"IntegrityError","error_class":"","detail":"Error details can be found in the admin panel","path":"/api/order/transfer-order/","status_code":500}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/order/transfer-order/?limit=2215992944554274218599949787845361664' 15. Test Case ID: yMvR4I - Response violates schema (3 violations) "" is not a "uri" Validated against the response schema for status code 200. Schema at /components/schemas/Company/properties/link: { "format": "uri", "type": "string", "description": "Link to external company information", "maxLength": 2000 } Value: "" "" is not a "uri" Validated against the response schema for status code 200. Schema at /components/schemas/Company/properties/website: { "format": "uri", "type": "string", "description": "Company website URL", "maxLength": 2000 } Value: "" "" is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/Company/properties/email: { "anyOf": [ { "type": "string", "format": "email", "default": "" }, { "type": "null" } ] } Value: "" [200] OK: `{"count":2,"next":null,"previous":null,"results":[{"pk":2,"name":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","description":"","website":"","phone":"","email":"","currency":"USD","contact":"","link":"","image":null,"active":true,"is_customer":false,"is_manufacturer":false,"is_supplier":true,"notes":null,"parts_supplied":0,"parts_manufactured":0,"tax_id":""},{"pk":1,"name":"~Å[^§񋵭","description":"","website":"","phone":"","email":"","currency":"USD","c // Output truncated...` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:34609/api/company/?limit=485' =================================== WARNINGS =================================== Missing test data: 1 operation repeatedly returned 404 Not Found, preventing tests from reaching your API's core logic - POST /api/action/ 💡 Provide realistic parameter values in your config file so tests can access existing resources =================================== SUMMARY ==================================== API Operations: Selected: 575/583 Tested: 575 Test Phases: ⏭ Examples ❌ Coverage ❌ Fuzzing ❌ Stateful Failures: ❌ API accepts requests without authentication: 7 ❌ Server error: 100 ❌ Response violates schema: 157 ❌ API accepted schema-violating request: 60 ❌ API rejected schema-compliant request: 207 ❌ Undocumented HTTP status code: 788 Warnings: ⚠️ Missing valid test data: 1 operation repeatedly returned 404 responses Test cases: 33949 generated, 1114 found 1319 unique failures, 4 errored, 946 skipped Reports: - HAR: /home/stranger6667/data/programming/workbench/debug-inventree/har3/har/har-20261007T184645Z.json Seed: 141255818425026567989092112174793404311 ===================== 1319 failures, 1 warning in 3600.05s =====================