{"openapi":"3.0.3","info":{"title":"SKULabs API","description":"Most API keys have \"platformGeneric\" and \"platformApi\" scopes included. Contact us to convert more routes from \"platformUser\" (only available to users) to \"platformGeneric\" (available to users and api keys) upon request.","version":"4.5.0"},"servers":[{"url":"https://api.skulabs.com"},{"url":"https://app.skulabs.com/s"}],"tags":[{"name":"batch"},{"name":"customer","description":"Manage customers, tags, and notes"},{"name":"cycle_count"},{"name":"distributor"},{"name":"inventory","description":"Query and modify inventory levels across locations"},{"name":"inventory_table"},{"name":"item","description":"Manage items, barcodes, serial numbers, and tags"},{"name":"kit","description":"Manage kits and their component items"},{"name":"listing"},{"name":"location"},{"name":"oauth"},{"name":"order","description":"Manage orders, shipments, tags, and statuses"},{"name":"purchase_order","description":"Manage purchase orders and receiving"},{"name":"run"},{"name":"shipments"},{"name":"shipping"},{"name":"store"},{"name":"tag","description":"Create, update, and remove tags"},{"name":"transfer_order"},{"name":"warehouse","description":"Manage warehouses and view statistics"},{"name":"webhook","description":"Manage webhook handlers"}],"paths":{"/batch/get":{"get":{"operationId":"get_batch_get","summary":"Batch - Get","description":"Retrieve batch details by ID, including orders and fulfillment progress.","tags":["batch"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Full batch detail with orders, inventory, and scan data","content":{"application/json":{"schema":{"type":"object","properties":{"batch":{"$ref":"#/components/schemas/BatchDetail"}},"required":["batch"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"batch_id","in":"query","required":false,"schema":{"type":"string","description":"Batch ID to retrieve","example":"507f1f77bcf86cd799439011"}},{"name":"batch_number","in":"query","required":false,"schema":{"type":"number","description":"Batch number to retrieve"}}]}},"/customer/add_note":{"post":{"operationId":"post_customer_add_note","summary":"Customer - Add Note","description":"Add a note to a customer record.","tags":["customer"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Note added, returns updated customer","content":{"application/json":{"schema":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/FullCustomer"}},"required":["customer"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Customer ID","example":"507f1f77bcf86cd799439011"},"note":{"type":"string","description":"Note text to add"}},"required":["id","note"]}}}}}},"/customer/add_tag":{"post":{"operationId":"post_customer_add_tag","summary":"Customer - Add Tag","description":"Add a tag to one or more customers.","tags":["customer"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tag added to customers","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"},"description":"Array of customer IDs"},"tag_id":{"type":"string","description":"Tag ID to add"}},"required":["ids","tag_id"]}}}}}},"/customer/get_customer":{"get":{"operationId":"get_customer_get_customer","summary":"Customer - Get Customer","description":"Retrieve a single customer by ID with full details including notes and activity log.","tags":["customer"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Customer found","content":{"application/json":{"schema":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/FullCustomer"}},"required":["customer"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string","description":"Customer ID","example":"507f1f77bcf86cd799439011"}}]}},"/customer/get_customers":{"get":{"operationId":"get_customer_get_customers","summary":"Customer - Get Customers","description":"Retrieve a paginated list of customers with optional filtering.","tags":["customer"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of customers","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Customer"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"selector","in":"query","required":true,"schema":{"type":"object","properties":{},"description":"Query selector object for filtering results"}},{"name":"limit","in":"query","required":false,"schema":{"type":"number","description":"Max results to return","example":50}},{"name":"skip","in":"query","required":false,"schema":{"type":"number","description":"Number of results to skip","example":0}},{"name":"sort","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Sort fields object, e.g. { \"name\": 1 }"}}]}},"/customer/remove_tag":{"post":{"operationId":"post_customer_remove_tag","summary":"Customer - Remove Tag","description":"Remove a tag from one or more customers.","tags":["customer"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tag removed from customers","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"},"description":"Array of customer IDs"},"tag_id":{"type":"string","description":"Tag ID to remove"}},"required":["ids","tag_id"]}}}}}},"/cycle_count/get":{"get":{"operationId":"get_cycle_count_get","summary":"Cycle Count - Get","description":"Retrieve a single cycle count by ID with its item details.","tags":["cycle_count"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Single cycle count","content":{"application/json":{"schema":{"type":"object","properties":{"cycle_count":{"$ref":"#/components/schemas/CycleCount"}},"required":["cycle_count"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string","description":"Cycle count ID","example":"507f1f77bcf86cd799439011"}}]}},"/cycle_count/get_all":{"get":{"operationId":"get_cycle_count_get_all","summary":"Cycle Count - Get All","description":"Retrieve all cycle counts with optional filtering by status and warehouse.","tags":["cycle_count"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of cycle counts within the date range","content":{"application/json":{"schema":{"type":"object","properties":{"cycle_counts":{"type":"array","items":{"$ref":"#/components/schemas/CycleCount"},"description":"Array of cycle counts"}},"required":["cycle_counts"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","description":"Start date/time filter for log entries","example":"2025-01-15T12:00:00.000Z"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","description":"End date/time filter for log entries","example":"2025-01-15T12:00:00.000Z"}}]}},"/distributor/add_item":{"put":{"operationId":"put_distributor_add_item","summary":"Distributor - Add Item","description":"Add an item to a distributor's catalog with supplier-specific SKU, cost, and lead time.","tags":["distributor"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Item added to supplier successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"distributor_id":{"type":"string","description":"Supplier ID","example":"507f1f77bcf86cd799439011"},"id":{"type":"string","description":"Supplier ID (legacy parameter, use distributor_id)","example":"507f1f77bcf86cd799439011"},"item_id":{"type":"string","description":"SKULabs item ID","example":"507f1f77bcf86cd799439011"},"cost":{"type":"number","description":"Unit cost from this supplier"},"quantity":{"type":"number","description":"Default order quantity"},"minimum_quantity":{"type":"number","description":"Minimum order quantity"},"lot_quantity":{"type":"number","description":"Lot quantity for ordering"},"part_number":{"type":"string","description":"Supplier part number / MPN"},"reorder_point":{"type":"number","description":"Inventory level that triggers a reorder"},"reorder_rule":{"type":"string","description":"Reorder rule expression"},"notes":{"type":"string","description":"Notes for this supplier item"}},"description":"Item data to add to the supplier"}},"required":["data"]}}}}}},"/distributor/bulk_remove_item":{"delete":{"operationId":"delete_distributor_bulk_remove_item","summary":"Distributor - Bulk Remove Item","description":"Remove multiple items from a distributor's catalog in a single request.","tags":["distributor"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Items removed from supplier successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Supplier ID","example":"507f1f77bcf86cd799439011"},"item_ids":{"type":"array","items":{"type":"string"},"description":"Array of distributor item entry IDs to remove","example":["507f1f77bcf86cd799439011"]}},"required":["id","item_ids"]}}}}}},"/distributor/create":{"post":{"operationId":"post_distributor_create","summary":"Distributor - Create","description":"Create a new distributor with contact details and address.","tags":["distributor"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Supplier created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"_id":{"type":"string","description":"ID of the created resource","example":"507f1f77bcf86cd799439011"}},"required":["success","_id"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","description":"Supplier name","example":"Acme Supplies"},"email":{"type":"string","description":"Supplier email","example":"contact@acme.com"},"phone":{"type":"string","description":"Supplier phone number"},"address":{"$ref":"#/components/schemas/DistributorAddress"},"terms":{"type":"string","description":"Default payment terms"},"shipping":{"type":"string","description":"Default shipping method"},"memo":{"type":"string","description":"Default memo for purchase orders"},"notes":{"type":"string","description":"Supplier notes"},"warehouse_id":{"type":"string","description":"Associated warehouse ID","example":"507f1f77bcf86cd799439011"},"location_id":{"type":"string","description":"Default location ID","example":"507f1f77bcf86cd799439011"}},"required":["name"],"description":"Supplier data to create"}},"required":["data"]}}}}}},"/distributor/edit_item":{"put":{"operationId":"put_distributor_edit_item","summary":"Distributor - Edit Item","description":"Update an item's details in a distributor's catalog.","tags":["distributor"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Supplier item updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item":{"type":"object","properties":{"_id":{"type":"string","description":"Distributor item entry ID","example":"507f1f77bcf86cd799439011"},"distributor_id":{"type":"string","description":"Supplier ID","example":"507f1f77bcf86cd799439011"},"item_id":{"type":"string","description":"SKULabs item ID","example":"507f1f77bcf86cd799439011"},"cost":{"type":"number","description":"Unit cost from this supplier"},"quantity":{"type":"number","description":"Default order quantity"},"minimum_quantity":{"type":"number","description":"Minimum order quantity"},"lot_quantity":{"type":"number","description":"Lot quantity for ordering"},"part_number":{"type":"string","description":"Supplier part number / MPN"},"reorder_point":{"type":"number","description":"Inventory level that triggers a reorder"},"reorder_rule":{"type":"string","description":"Reorder rule expression"},"notes":{"type":"string","description":"Notes for this supplier item"}},"required":["_id","distributor_id"],"description":"Updated supplier item data"}},"required":["item"]}}}}}},"/distributor/get":{"get":{"operationId":"get_distributor_get","summary":"Distributor - Get","description":"Retrieve a paginated list of distributors (suppliers/vendors).","tags":["distributor"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of suppliers matching the query","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Distributor"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"selector","in":"query","required":true,"schema":{"type":"object","properties":{},"description":"Query selector object for filtering results"}},{"name":"limit","in":"query","required":false,"schema":{"type":"number","description":"Max results to return","example":50}},{"name":"skip","in":"query","required":false,"schema":{"type":"number","description":"Number of results to skip","example":0}},{"name":"sort","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Sort fields object, e.g. { \"name\": 1 }"}},{"name":"fields","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Projection fields object, e.g. { \"name\": 1 }"}}]}},"/distributor/remove_item":{"delete":{"operationId":"delete_distributor_remove_item","summary":"Distributor - Remove Item","description":"Remove an item from a distributor's catalog.","tags":["distributor"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Item removed from supplier successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Supplier ID","example":"507f1f77bcf86cd799439011"},"item_id":{"type":"string","description":"Distributor item entry ID to remove","example":"507f1f77bcf86cd799439011"}},"required":["id","item_id"]}}}}}},"/distributor/update":{"put":{"operationId":"put_distributor_update","summary":"Distributor - Update","description":"Update an existing distributor's information.","tags":["distributor"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Supplier updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"distributor_id":{"type":"string","description":"ID of the supplier to update","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"Supplier name"},"email":{"type":"string","description":"Supplier email"},"phone":{"type":"string","description":"Supplier phone number"},"address":{"$ref":"#/components/schemas/DistributorAddress"},"terms":{"type":"string","description":"Default payment terms"},"shipping":{"type":"string","description":"Default shipping method"},"memo":{"type":"string","description":"Default memo for purchase orders"},"notes":{"type":"string","description":"Supplier notes"},"location_id":{"type":"string","description":"Default location ID","example":"507f1f77bcf86cd799439011"},"feed_info":{"type":"object","properties":{"feed_link":{"type":"string","description":"URL for the supplier inventory feed"}},"description":"Feed configuration for supplier inventory"}},"required":["distributor_id"],"description":"Supplier data to update"}},"required":["data"]}}}}}},"/inventory/bulk_reconciliation":{"post":{"operationId":"post_inventory_bulk_reconciliation","summary":"Inventory - Bulk Reconciliation","description":"Reconcile inventory quantities in bulk, adjusting on-hand counts to match physical counts.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Reconciliation completed","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","description":"Reconciliation type"},"reason":{"type":"string","description":"Reason for reconciliation"},"notes":{"type":"string","description":"Notes"},"rows":{"type":"array","items":{"type":"object","properties":{"location_id":{"type":"string","description":"Location ID"},"item_id":{"type":"string","description":"Item ID"},"quantity":{"type":"number","description":"Quantity to reconcile"}},"required":["location_id","item_id","quantity"]},"description":"Array of reconciliation row objects"}},"required":["type","rows"]}}}}}},"/inventory/calculate_free_map":{"post":{"operationId":"post_inventory_calculate_free_map","summary":"Inventory - Calculate Free Map","description":"Calculate available inventory by subtracting reserved quantities from on-hand stock.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Map of item IDs to free inventory quantities. When warehouse_linked_reserves is enabled, returns nested map by warehouse_id then item_id.","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/FreeInventoryEntry"},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FreeInventoryEntry"}}]}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"items_ids":{"type":"array","items":{"type":"string"},"description":"Array of item IDs"},"warehouse_ids":{"type":"array","items":{"type":"string"},"description":"Filter by warehouse IDs"}},"required":["items_ids"]}}}}}},"/inventory/decrease_on_hand":{"put":{"operationId":"put_inventory_decrease_on_hand","summary":"Inventory - Decrease On Hand","description":"Decrease the on-hand inventory quantity for an item at a specific warehouse.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"On-hand decreased","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"location_id":{"type":"string","description":"Location ID"},"item_id":{"type":"string","description":"Item ID"},"amount":{"type":"number","description":"Amount to decrease by"},"notes":{"type":"string","description":"Notes for the change"}},"required":["location_id","item_id","amount"]}}}}}},"/inventory/deduct_serial_numbers":{"post":{"operationId":"post_inventory_deduct_serial_numbers","summary":"Inventory - Deduct Serial Numbers","description":"Deduct serial numbers from inventory, marking them as used or shipped.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Serial numbers deducted","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID"},"serial_numbers":{"type":"array","items":{"type":"string"},"description":"Serial numbers to deduct"}},"required":["item_id","serial_numbers"]}}}}}},"/inventory/get":{"get":{"operationId":"get_inventory_get","summary":"Inventory - Get","description":"Retrieve inventory records for items and kits across warehouses.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Inventory records wrapped in object","content":{"application/json":{"schema":{"type":"object","properties":{"inventory":{"type":"array","items":{"$ref":"#/components/schemas/InventoryRecord"},"description":"Array of inventory records with item_id remapped from element_id"}},"required":["inventory"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"data","in":"query","required":true,"schema":{"type":"object","properties":{},"description":"Query data object"}}]}},"/inventory/get_grouped_locations_map":{"post":{"operationId":"post_inventory_get_grouped_locations_map","summary":"Inventory - Get Grouped Locations Map","description":"Retrieve inventory quantities grouped by location across warehouses.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Inventory grouped by location or element. Returns an array by default, or a map when result_type is \"map\".","content":{"application/json":{"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GroupedLocationEntry"}},{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"location_id":{"type":"string","description":"Location identifier"},"item_id":{"type":"string","description":"Item identifier"},"on_hand":{"type":"number","description":"Quantity on hand"},"alert":{"type":"number","description":"Alert threshold"}},"required":["location_id","item_id","on_hand"]}}}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{},"description":"Query data object"}},"required":["data"]}}}}}},"/inventory/get_history":{"get":{"operationId":"get_inventory_get_history","summary":"Inventory - Get History","description":"Retrieve the inventory change history for a specific item at a warehouse.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Inventory history records","content":{"application/json":{"schema":{"type":"object","properties":{"rows":{"type":"array","items":{"$ref":"#/components/schemas/HistoryRow"},"description":"Array of inventory change log rows"}},"required":["rows"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Start date","example":"2025-01-15"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date","description":"End date","example":"2025-01-15"}},{"name":"notes","in":"query","required":false,"schema":{"type":"string","description":"Filter by notes text"}}]}},"/inventory/get_inventory_history":{"get":{"operationId":"get_inventory_get_inventory_history","summary":"Inventory - Get Inventory History","description":"Retrieve detailed inventory history with change types, quantities, and timestamps.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Inventory history records","content":{"application/json":{"schema":{"type":"object","properties":{"rows":{"type":"array","items":{"$ref":"#/components/schemas/HistoryRow"},"description":"Array of inventory change log rows"}},"required":["rows"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Start date","example":"2025-01-15"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date","description":"End date","example":"2025-01-15"}},{"name":"notes","in":"query","required":false,"schema":{"type":"string","description":"Filter by notes text"}}]}},"/inventory/get_item_free":{"get":{"operationId":"get_inventory_get_item_free","summary":"Inventory - Get Item Free","description":"Retrieve the available (free) inventory quantity for an item, excluding reserved stock.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Free (available) inventory for the item","content":{"application/json":{"schema":{"type":"object","properties":{"free":{"type":"number","description":"Free inventory quantity (on_hand - reserved)"},"on_hand":{"type":"number","description":"Total on-hand quantity across locations"},"reserved":{"type":"number","description":"Total reserved quantity from open orders"}},"required":["free","on_hand","reserved"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"sku","in":"query","required":true,"schema":{"type":"string","description":"Item SKU to look up free inventory for"}},{"name":"warehouse_ids","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Filter by warehouse IDs"}}]}},"/inventory/get_items":{"post":{"operationId":"post_inventory_get_items","summary":"Inventory - Get Items","description":"Retrieve inventory records for a specific list of item IDs.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Inventory for requested items","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/InventoryItem"},"description":"Array of inventory items with location details"}},"required":["items"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_ids":{"type":"array","items":{"type":"string"},"description":"Array of item IDs to look up"},"warehouse_ids":{"type":"array","items":{"type":"string"},"description":"Filter by warehouse IDs"}},"required":["item_ids"]}}}}}},"/inventory/get_items_and_kits_map":{"post":{"operationId":"post_inventory_get_items_and_kits_map","summary":"Inventory - Get Items And Kits Map","description":"Retrieve a combined map of both item and kit inventory quantities.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Combined items and kits inventory map.","content":{"application/json":{"schema":{"type":"object","properties":{"kits":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/KitsMapEntry"},"description":"Map of kit IDs to kit inventory (on_hand, free)"},"items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ItemsMapEntry"},"description":"Map of item IDs to item inventory including all items across kits"}},"required":["kits"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{},"description":"Query data object"}},"required":["data"]}}}}}},"/inventory/get_items_incoming":{"post":{"operationId":"post_inventory_get_items_incoming","summary":"Inventory - Get Items Incoming","description":"Retrieve incoming inventory quantities from open purchase orders.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Incoming inventory for requested items from open purchase orders","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/IncomingItem"},"description":"Array of items with ordered and received totals"}},"required":["items"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_ids":{"type":"array","items":{"type":"string"},"description":"Array of item IDs to look up"},"warehouse_ids":{"type":"array","items":{"type":"string"},"description":"Filter by warehouse IDs"}},"required":["item_ids"]}}}}}},"/inventory/get_items_map":{"post":{"operationId":"post_inventory_get_items_map","summary":"Inventory - Get Items Map","description":"Retrieve a map of item inventory quantities keyed by item ID and warehouse.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Items inventory map. Keys are item IDs, values contain on_hand, reserved, and free quantities.","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ItemsMapEntry"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{},"description":"Query data object"}},"required":["data"]}}}}}},"/inventory/get_kits_map":{"post":{"operationId":"post_inventory_get_kits_map","summary":"Inventory - Get Kits Map","description":"Retrieve a map of kit inventory quantities keyed by kit ID and warehouse.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Kits inventory map with optional items inventory.","content":{"application/json":{"schema":{"type":"object","properties":{"kits":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/KitsMapEntry"},"description":"Map of kit IDs to kit inventory (on_hand, free)"},"items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ItemsMapEntry"},"description":"Map of item IDs to item inventory (when include_items_inventory is true)"}},"required":["kits"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{},"description":"Query data object"}},"required":["data"]}}}}}},"/inventory/get_on_hand_location_map":{"post":{"operationId":"post_inventory_get_on_hand_location_map","summary":"Inventory - Get On Hand Location Map","description":"Retrieve on-hand inventory quantities broken down by warehouse location.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"On-hand inventory by location map. Keys are location IDs, values are objects mapping item IDs to on-hand quantities.","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"number"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{},"description":"Query data object"}},"required":["data"]}}}}}},"/inventory/get_received_history":{"get":{"operationId":"get_inventory_get_received_history","summary":"Inventory - Get Received History","description":"Retrieve the history of inventory received through purchase orders.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Inventory history records","content":{"application/json":{"schema":{"type":"object","properties":{"rows":{"type":"array","items":{"$ref":"#/components/schemas/HistoryRow"},"description":"Array of inventory change log rows"}},"required":["rows"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Start date","example":"2025-01-15"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date","description":"End date","example":"2025-01-15"}}]}},"/inventory/get_reserved_map":{"get":{"operationId":"get_inventory_get_reserved_map","summary":"Inventory - Get Reserved Map","description":"Retrieve a map of reserved inventory quantities per item across warehouses.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Reserved inventory map keyed by SKU","content":{"application/json":{"schema":{"type":"object","properties":{"reserved_map":{"type":"object","additionalProperties":{"nullable":true},"description":"Map of SKU to reserved inventory data"}},"required":["reserved_map"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"store_ids","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Filter by store IDs"}},{"name":"listing_links","in":"query","required":false,"schema":{"type":"array","items":{"type":"object","properties":{}},"description":"Listing link objects to filter by"}}]}},"/inventory/get_via_post_reserved_map":{"post":{"operationId":"post_inventory_get_via_post_reserved_map","summary":"Inventory - Get Via Post Reserved Map","description":"Retrieve reserved inventory map via POST for large item ID lists that exceed GET URL limits.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Reserved inventory map keyed by SKU (via POST)","content":{"application/json":{"schema":{"type":"object","properties":{"reserved_map":{"type":"object","additionalProperties":{"nullable":true},"description":"Map of SKU to reserved inventory data"}},"required":["reserved_map"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"store_ids":{"type":"array","items":{"type":"string"},"description":"Filter by store IDs"},"listing_links":{"type":"array","items":{"type":"object","properties":{}},"description":"Listing link objects to filter by"}}}}}}}},"/inventory/increase_on_hand":{"put":{"operationId":"put_inventory_increase_on_hand","summary":"Inventory - Increase On Hand","description":"Increase the on-hand inventory quantity for an item at a specific warehouse.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"On-hand increased","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"location_id":{"type":"string","description":"Location ID"},"item_id":{"type":"string","description":"Item ID"},"amount":{"type":"number","description":"Amount to increase by"},"notes":{"type":"string","description":"Notes for the change"},"no_invalidate":{"type":"boolean","description":"Skip cache invalidation"},"lock_key":{"type":"string","description":"Lock key for concurrent operations"},"alert":{"type":"number","description":"Set alert threshold"}},"required":["location_id","item_id","amount"]}}}}}},"/inventory/upsert":{"put":{"operationId":"put_inventory_upsert","summary":"Inventory - Upsert","description":"Create or update an inventory record for an item at a specific warehouse.","tags":["inventory"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Inventory upserted","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"location_name":{"type":"string","description":"Location name to upsert inventory at"},"item_id":{"type":"string","description":"Item ID"},"on_hand":{"type":"number","description":"On-hand quantity to set"},"alert":{"type":"number","description":"Low-stock alert threshold"},"notes":{"type":"string","description":"Notes for the inventory change"}},"required":["location_name","item_id","on_hand"]}}}}}},"/s/job/inventory_table/export_velocity":{"post":{"operationId":"post_inventory_table_export_velocity","summary":"Inventory Table - Export Velocity","description":"Export inventory velocity data (sales speed analysis) as a downloadable report.","tags":["inventory_table"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://app.skulabs.com"}],"responses":{"200":{"description":"S3 signed URL for the exported velocity CSV file","content":{"application/json":{"schema":{"type":"object","properties":{"path":{"type":"string","nullable":true,"description":"S3 signed URL for the exported CSV file, or null if no data"},"count":{"type":"number","description":"Number of rows exported"}},"required":["path","count"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BuildRowsData"}},"required":["data"]}}}}}},"/item/add_barcode":{"post":{"operationId":"post_item_add_barcode","summary":"Item - Add Barcode","description":"Add a barcode to an existing item.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Barcode added","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID"},"upc":{"type":"string","description":"Barcode to add"}},"required":["item_id","upc"]}}}}}},"/item/add_custom_field":{"post":{"operationId":"post_item_add_custom_field","summary":"Item - Add Custom Field","description":"Add a custom field key-value pair to an item.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Custom field added","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID"},"field":{"type":"string","description":"Custom field name"},"value":{"type":"string","description":"Custom field value"}},"required":["item_id","field","value"]}}}}}},"/item/add_serial_numbers":{"post":{"operationId":"post_item_add_serial_numbers","summary":"Item - Add Serial Numbers","description":"Add serial numbers to an item's inventory at a specific warehouse.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Serial numbers added","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"serial_numbers":{"type":"array","items":{"type":"string"},"description":"Serial numbers that were added"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID"},"serial_numbers":{"type":"array","items":{"type":"string"},"description":"Serial numbers to add"},"no_refresh":{"type":"boolean","description":"Skip cache refresh"},"sku":{"type":"string","description":"Item SKU (alternative lookup)"},"lot_count":{"type":"number","description":"Lot count"},"lot_prefix":{"type":"string","description":"Lot prefix"}},"required":["item_id","serial_numbers"]}}}}}},"/item/add_tag":{"post":{"operationId":"post_item_add_tag","summary":"Item - Add Tag","description":"Add a tag to one or more items by tag ID.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tag added to items","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_ids":{"type":"array","items":{"type":"string"},"description":"Array of item IDs"},"tag_id":{"type":"string","description":"Tag ID to add"}},"required":["item_ids","tag_id"]}}}}}},"/item/bulk_assign":{"post":{"operationId":"post_item_bulk_assign","summary":"Item - Bulk Assign","description":"Assign items to a warehouse location in bulk. If the location does not exist, it will be created.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Items assigned to location","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","description":"Error message"}}},"description":"Errors encountered during assignment"},"skulabs_warning":{"type":"object","properties":{"message":{"type":"string","description":"Warning message"},"overview":{"type":"string","description":"Warning overview"}},"description":"Non-fatal warning summary"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_ids":{"type":"array","items":{"type":"string"},"description":"Array of item IDs to assign"},"warehouse_id":{"type":"string","description":"Target warehouse ID"},"name":{"type":"string","description":"Location name"},"location_alias":{"type":"string","description":"Location alias / bin name"}},"required":["item_ids","warehouse_id","name"]}}}}}},"/item/bulk_upsert":{"put":{"operationId":"put_item_bulk_upsert","summary":"Item - Bulk Upsert","description":"Create or update multiple items in a single request.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Items upserted","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{}},"description":"Array of item objects to upsert"}},"required":["items"]}}}}}},"/item/create":{"post":{"operationId":"post_item_create","summary":"Item - Create","description":"Create a new item with SKU, name, and optional details like barcodes and dimensions.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Item created","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"_id":{"type":"string","description":"Item ID","example":"507f1f77bcf86cd799439011"},"sku":{"type":"string","description":"Item SKU"},"notice":{"type":"string","description":"Additional notice (e.g. kit cost update issue)"}},"required":["success","_id"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Item name"},"sku":{"type":"string","description":"SKU"},"upc":{"type":"string","description":"UPC barcode"},"location":{"type":"string","description":"Initial warehouse location"}},"required":["name","sku"]}}}}}},"/item/create_upsert":{"post":{"operationId":"post_item_create_upsert","summary":"Item - Create Upsert","description":"Create a new item or update an existing one if the SKU already exists.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Item created or updated","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"_id":{"type":"string","description":"Item ID","example":"507f1f77bcf86cd799439011"},"sku":{"type":"string","description":"Item SKU"},"notice":{"type":"string","description":"Additional notice (e.g. kit cost update issue)"}},"required":["success","_id"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item":{"type":"object","properties":{},"description":"Item data object to create or update"}},"required":["item"]}}}}}},"/item/find_by_barcode":{"get":{"operationId":"get_item_find_by_barcode","summary":"Item - Find By Barcode","description":"Look up an item by its barcode (UPC, EAN, ISBN, or custom barcode).","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Items matching the barcode","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ItemBarcodeResult"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"barcode","in":"query","required":true,"schema":{"type":"string","description":"Barcode to search for","example":"012345678901"}}]}},"/item/get":{"get":{"operationId":"get_item_get","summary":"Item - Get","description":"Retrieve a paginated list of items with optional filtering.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of items matching the query","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Item"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"selector","in":"query","required":true,"schema":{"type":"object","properties":{},"description":"Query selector object for filtering results"}},{"name":"limit","in":"query","required":false,"schema":{"type":"number","description":"Max results to return","example":50}},{"name":"skip","in":"query","required":false,"schema":{"type":"number","description":"Number of results to skip","example":0}},{"name":"sort","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Sort fields object, e.g. { \"name\": 1 }"}},{"name":"fields","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Projection fields object, e.g. { \"name\": 1 }"}}]}},"/item/get_locations":{"get":{"operationId":"get_item_get_locations","summary":"Item - Get Locations","description":"Retrieve warehouse locations assigned to an item.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Item warehouse locations with inventory data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ItemLocation"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"item_id","in":"query","required":true,"schema":{"type":"string","description":"Item ID","example":"507f1f77bcf86cd799439011"}}]}},"/item/new_remove_serial_number":{"delete":{"operationId":"delete_item_new_remove_serial_number","summary":"Item - New Remove Serial Number","description":"Remove a serial number from an item using the updated removal method.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Serial number removed","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"params":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID"},"serial_number":{"type":"string","description":"Serial number to remove"},"remove_serial_info":{"type":"boolean","description":"Also remove serial info metadata"}},"required":["item_id","serial_number"],"description":"Serial number removal parameters"}},"required":["params"]}}}}}},"/item/remove":{"delete":{"operationId":"delete_item_remove","summary":"Item - Remove","description":"Permanently delete an item and its associated inventory records.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Item removed","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID to remove"}},"required":["item_id"]}}}}}},"/item/remove_barcode":{"delete":{"operationId":"delete_item_remove_barcode","summary":"Item - Remove Barcode","description":"Remove a barcode from an item.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Barcode removed","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID"},"upc":{"type":"string","description":"Barcode to remove"}},"required":["item_id","upc"]}}}}}},"/item/remove_custom_field":{"delete":{"operationId":"delete_item_remove_custom_field","summary":"Item - Remove Custom Field","description":"Remove a custom field from an item.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Custom field removed","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID"},"field":{"type":"string","description":"Custom field name to remove"}},"required":["item_id","field"]}}}}}},"/item/remove_serial_number":{"delete":{"operationId":"delete_item_remove_serial_number","summary":"Item - Remove Serial Number","description":"Remove a serial number from an item's inventory.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Serial number removed","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID"},"serial_number":{"type":"string","description":"Serial number to remove"}},"required":["item_id","serial_number"]}}}}}},"/item/remove_tag":{"delete":{"operationId":"delete_item_remove_tag","summary":"Item - Remove Tag","description":"Remove a tag from one or more items.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tag removed from items","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_ids":{"type":"array","items":{"type":"string"},"description":"Array of item IDs"},"tag_id":{"type":"string","description":"Tag ID to remove"}},"required":["item_ids","tag_id"]}}}}}},"/item/set_tags":{"put":{"operationId":"put_item_set_tags","summary":"Item - Set Tags","description":"Replace all tags on one or more items with a new set of tags.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tags set on item","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID"},"tag_ids":{"type":"array","items":{"type":"string"},"description":"Array of tag IDs to set"}},"required":["item_id","tag_ids"]}}}}}},"/item/update":{"put":{"operationId":"put_item_update","summary":"Item - Update","description":"Update an existing item's properties such as name, weight, dimensions, or cost.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Item updated","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"_id":{"type":"string","description":"Item ID","example":"507f1f77bcf86cd799439011"},"sku":{"type":"string","description":"Item SKU"},"notice":{"type":"string","description":"Additional notice (e.g. kit cost update issue)"}},"required":["success","_id"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID to update"},"name":{"type":"string","description":"Item name"},"sku":{"type":"string","description":"SKU"},"upc":{"type":"string","description":"UPC barcode"},"weight":{"type":"number","description":"Weight"},"weight_unit":{"type":"string","enum":["oz","lb","g","kg"],"description":"Weight unit"},"length":{"type":"number","description":"Length"},"width":{"type":"number","description":"Width"},"height":{"type":"number","description":"Height"},"dimensions_unit":{"type":"string","enum":["in","cm"],"description":"Dimensions unit"},"fulfillment_sku":{"type":"string","description":"Fulfillment SKU"},"notes":{"type":"string","description":"Notes"},"unit":{"type":"string","description":"Unit of measure"},"cost":{"type":"number","description":"Cost"},"wholesale":{"type":"number","description":"Wholesale price"},"retail":{"type":"number","description":"Retail price"},"image":{"type":"string","description":"Image URL"},"active":{"type":"boolean","description":"Active status"},"description":{"type":"string","description":"Item description"},"sale":{"type":"number","description":"Sale price"}},"required":["item_id"]}}}}}},"/item/update_alias_locations":{"put":{"operationId":"put_item_update_alias_locations","summary":"Item - Update Alias Locations","description":"Update the alias location mappings for an item across warehouses.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Alias locations updated","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"_id":{"type":"string","description":"Item ID","example":"507f1f77bcf86cd799439011"},"sku":{"type":"string","description":"Item SKU"},"notice":{"type":"string","description":"Additional notice (e.g. kit cost update issue)"}},"required":["success","_id"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item":{"type":"object","properties":{},"description":"Item object with alias_locations to update"}},"required":["item"]}}}}}},"/item/upsert":{"put":{"operationId":"put_item_upsert","summary":"Item - Upsert","description":"Create a new item or update an existing one based on the provided identifier.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Item upserted","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"_id":{"type":"string","description":"Item ID","example":"507f1f77bcf86cd799439011"},"sku":{"type":"string","description":"Item SKU"},"notice":{"type":"string","description":"Additional notice (e.g. kit cost update issue)"}},"required":["success","_id"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item":{"type":"object","properties":{},"description":"Item data object to upsert (matched by SKU)"}},"required":["item"]}}}}}},"/s/job/item/bulk_remove":{"delete":{"operationId":"delete_item_bulk_remove","summary":"Item - Bulk Remove","description":"Remove multiple items in a single bulk operation.","tags":["item"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://app.skulabs.com"}],"responses":{"200":{"description":"Items removed","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"item_ids":{"type":"array","items":{"type":"string"},"description":"Array of item IDs to remove"}},"required":["item_ids"]}}}}}},"/kit/add_barcode":{"post":{"operationId":"post_kit_add_barcode","summary":"Kit - Add Barcode","description":"Add a barcode to an existing kit.","tags":["kit"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Barcode added to kit","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kit_id":{"type":"string","description":"Kit ID"},"upc":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Barcode or array of barcodes to add"}},"required":["kit_id","upc"]}}}}}},"/kit/add_custom_field":{"post":{"operationId":"post_kit_add_custom_field","summary":"Kit - Add Custom Field","description":"Add a custom field key-value pair to a kit.","tags":["kit"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Custom field added to kit","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kit_id":{"type":"string","description":"Kit ID"},"field":{"type":"string","description":"Custom field name"},"value":{"type":"string","description":"Custom field value (use \"REMOVE\" to delete an existing field)"}},"required":["kit_id","field","value"]}}}}}},"/kit/add_item":{"post":{"operationId":"post_kit_add_item","summary":"Kit - Add Item","description":"Add a component item to an existing kit.","tags":["kit"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Item added to kit","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kit_id":{"type":"string","description":"Kit ID"},"item_id":{"type":"string","description":"Item ID to add"},"quantity":{"type":"number","description":"Quantity of the item in the kit"}},"required":["kit_id","item_id","quantity"]}}}}}},"/kit/add_tag":{"post":{"operationId":"post_kit_add_tag","summary":"Kit - Add Tag","description":"Add a tag to one or more kits by tag ID.","tags":["kit"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tag added to kits","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kit_ids":{"type":"array","items":{"type":"string"},"description":"Array of kit IDs"},"tag_id":{"type":"string","description":"Tag ID to add"}},"required":["kit_ids","tag_id"]}}}}}},"/kit/bulk_update":{"put":{"operationId":"put_kit_bulk_update","summary":"Kit - Bulk Update","description":"Update multiple kits in a single request.","tags":["kit"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Kits updated","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kits":{"type":"array","items":{"type":"object","properties":{}},"description":"Array of kit objects to update"}},"required":["kits"]}}}}}},"/kit/create":{"post":{"operationId":"post_kit_create","summary":"Kit - Create","description":"Create a new kit with component items, SKU, and optional details.","tags":["kit"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Kit created","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"_id":{"type":"string","description":"ID of the created kit","example":"507f1f77bcf86cd799439011"},"new_kit_id":{"type":"string","description":"ID of the newly created kit (same as _id)"}},"required":["success","_id","new_kit_id"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","description":"Kit name (required)"},"listing_sku":{"type":"string","description":"Listing SKU (required if sku not provided)"},"sku":{"type":"string","description":"SKU (alias for listing_sku)"},"fulfillment_sku":{"type":"string","description":"Fulfillment SKU"},"items":{"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","description":"Component item ID"},"sku":{"type":"string","description":"Component item SKU (used to look up item_id)"},"quantity":{"type":"number","description":"Quantity of this item in the kit"},"type":{"type":"string","description":"Set to \"new\" to create a new item"}},"required":["quantity"]},"description":"Component items to add to the kit"},"barcodes":{"type":"array","items":{"type":"string"},"description":"Barcodes to assign"},"tags":{"type":"array","items":{"type":"string"},"description":"Tag IDs to assign (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"]},"cost":{"type":"number","description":"Kit cost"},"retail":{"type":"number","description":"Retail price"},"wholesale":{"type":"number","description":"Wholesale price"},"sale":{"type":"number","description":"Sale price"},"active":{"type":"boolean","description":"Whether the kit is active"},"image":{"type":"string","description":"Image URL"},"description":{"type":"string","description":"Kit description"},"notes":{"type":"string","description":"Kit notes"},"weight":{"type":"number","description":"Weight"},"weight_unit":{"type":"string","enum":["oz","lb","g","kg"],"description":"Weight unit"},"lag_time":{"type":"number","description":"Lag time in days"}},"required":["name"],"description":"Kit data object"}},"required":["data"]}}}}}},"/kit/edit_item":{"put":{"operationId":"put_kit_edit_item","summary":"Kit - Edit Item","description":"Edit a component item's quantity or properties within a kit.","tags":["kit"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Kit item updated","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kit_id":{"type":"string","description":"Kit ID"},"item_id":{"type":"string","description":"Item ID to edit"},"quantity":{"type":"number","description":"New quantity"}},"required":["kit_id","item_id","quantity"]}}}}}},"/kit/get":{"get":{"operationId":"get_kit_get","summary":"Kit - Get","description":"Retrieve a paginated list of kits with optional filtering.","tags":["kit"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of kits","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Kit"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"selector","in":"query","required":true,"schema":{"type":"object","properties":{},"description":"Query selector object for filtering results"}},{"name":"limit","in":"query","required":false,"schema":{"type":"number","description":"Max results to return","example":50}},{"name":"skip","in":"query","required":false,"schema":{"type":"number","description":"Number of results to skip","example":0}},{"name":"sort","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Sort fields object, e.g. { \"name\": 1 }"}},{"name":"fields","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Projection fields object, e.g. { \"name\": 1 }"}}]}},"/kit/remove":{"delete":{"operationId":"delete_kit_remove","summary":"Kit - Remove","description":"Permanently delete a kit.","tags":["kit"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Kit removed","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kit_id":{"type":"string","description":"Kit ID to remove"}},"required":["kit_id"]}}}}}},"/kit/remove_barcode":{"delete":{"operationId":"delete_kit_remove_barcode","summary":"Kit - Remove Barcode","description":"Remove a barcode from a kit.","tags":["kit"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Barcode removed from kit","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kit_id":{"type":"string","description":"Kit ID"},"upc":{"type":"string","description":"Barcode to remove"}},"required":["kit_id","upc"]}}}}}},"/kit/remove_custom_field":{"delete":{"operationId":"delete_kit_remove_custom_field","summary":"Kit - Remove Custom Field","description":"Remove a custom field from a kit.","tags":["kit"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Custom field removed from kit","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kit_id":{"type":"string","description":"Kit ID"},"field":{"type":"string","description":"Custom field name to remove"}},"required":["kit_id","field"]}}}}}},"/kit/remove_item":{"delete":{"operationId":"delete_kit_remove_item","summary":"Kit - Remove Item","description":"Remove a component item from a kit.","tags":["kit"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Item removed from kit","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kit_id":{"type":"string","description":"Kit ID"},"item_id":{"type":"string","description":"Item ID to remove from kit"}},"required":["kit_id","item_id"]}}}}}},"/kit/remove_tag":{"delete":{"operationId":"delete_kit_remove_tag","summary":"Kit - Remove Tag","description":"Remove a tag from one or more kits.","tags":["kit"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tag removed from kits","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kit_ids":{"type":"array","items":{"type":"string"},"description":"Array of kit IDs"},"tag_id":{"type":"string","description":"Tag ID to remove"}},"required":["kit_ids","tag_id"]}}}}}},"/kit/set_tags":{"put":{"operationId":"put_kit_set_tags","summary":"Kit - Set Tags","description":"Replace all tags on one or more kits with a new set of tags.","tags":["kit"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tags set on kit","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kit_id":{"type":"string","description":"Kit ID"},"tag_ids":{"type":"array","items":{"type":"string"},"description":"Array of tag IDs to set"}},"required":["kit_id","tag_ids"]}}}}}},"/kit/update":{"put":{"operationId":"put_kit_update","summary":"Kit - Update","description":"Update an existing kit's properties such as name, weight, or component items.","tags":["kit"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Kit updated","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"_id":{"type":"string","description":"Kit ID (one of _id, kit_id, listing_sku, or sku required)","example":"507f1f77bcf86cd799439011"},"kit_id":{"type":"string","description":"Kit ID (alias for _id)"},"listing_sku":{"type":"string","description":"Listing SKU (used to look up kit if _id not provided)"},"sku":{"type":"string","description":"SKU (alias for listing_sku)"}},"description":"Kit data to update (must include _id, kit_id, listing_sku, or sku to identify the kit)"}},"required":["data"]}}}}}},"/listing/get":{"get":{"operationId":"get_listing_get","summary":"Listing - Get","description":"Retrieve product listings with optional filtering by store and linked item status.","tags":["listing"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of listings matching the query","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Listing"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"selector","in":"query","required":true,"schema":{"type":"object","properties":{},"description":"Query selector object for filtering results"}},{"name":"limit","in":"query","required":false,"schema":{"type":"number","description":"Max results to return","example":50}},{"name":"skip","in":"query","required":false,"schema":{"type":"number","description":"Number of results to skip","example":0}},{"name":"sort","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Sort fields object, e.g. { \"name\": 1 }"}}]}},"/s/job/listing/listing_links_csv_import":{"post":{"operationId":"post_listing_listing_links_csv_import","summary":"Listing - Listing Links Csv Import","description":"Import listing-to-item links from a CSV file.","tags":["listing"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://app.skulabs.com"}],"responses":{"200":{"description":"Listing links import results with row-by-row status","content":{"application/json":{"schema":{"type":"object","properties":{"output":{"type":"string","description":"HTML-formatted import results with row-by-row status"}},"required":["output"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"string","description":"CSV data for bulk listing link updates. Columns: sku (item/kit SKU), listing_sku (channel listing SKU), override_link or force (optional, to override existing links)"}},"required":["data"]}}}}}},"/s/job/listing/rules_csv_import":{"post":{"operationId":"post_listing_rules_csv_import","summary":"Listing - Rules Csv Import","description":"Import listing rules from a CSV file.","tags":["listing"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://app.skulabs.com"}],"responses":{"200":{"description":"Rules import results with row-by-row status","content":{"application/json":{"schema":{"type":"object","properties":{"output":{"type":"string","description":"HTML-formatted import results with row-by-row status"}},"required":["output"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"string","description":"CSV data for bulk rule updates. Columns: store, sku, inventory rule (or stock rule), price rule, fulfillment rule, restock date, restock quantity"}},"required":["data"]}}}}}},"/location/add_item":{"post":{"operationId":"post_location_add_item","summary":"Location - Add Item","description":"Assign an item to a warehouse location.","tags":["location"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Item added to location successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Location ID","example":"507f1f77bcf86cd799439011"},"item_id":{"type":"string","description":"SKULabs item ID to add","example":"507f1f77bcf86cd799439011"},"on_hand":{"type":"number","description":"Initial on-hand quantity","example":10},"alert":{"type":"number","description":"Low-stock alert level","example":5}},"required":["id","item_id","on_hand"]}}}}}},"/location/create":{"post":{"operationId":"post_location_create","summary":"Location - Create","description":"Create a new location within a warehouse (e.g. bin, shelf, or zone).","tags":["location"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Location created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string","description":"Location ID","example":"507f1f77bcf86cd799439011"},"success":{"type":"boolean","description":"Whether the operation succeeded"},"warehouse_id":{"type":"string","description":"Parent warehouse ID","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"Location name"},"note":{"type":"string","description":"Additional note, e.g. if location already existed"}},"required":["_id","success","warehouse_id","name"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"warehouse_id":{"type":"string","description":"Warehouse ID to create the location in","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"Location name","example":"Shelf A-1"}},"required":["warehouse_id","name"]}}}}}},"/location/get":{"get":{"operationId":"get_location_get","summary":"Location - Get","description":"Retrieve a single warehouse location by ID.","tags":["location"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Location details with inventory items","content":{"application/json":{"schema":{"type":"object","properties":{"location":{"$ref":"#/components/schemas/LocationWithItems"}},"required":["location"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string","description":"Location ID","example":"507f1f77bcf86cd799439011"}}]}},"/location/get_all":{"get":{"operationId":"get_location_get_all","summary":"Location - Get All","description":"Retrieve all locations for a specific warehouse.","tags":["location"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"All locations in the warehouse with their inventory items","content":{"application/json":{"schema":{"type":"object","properties":{"locations":{"type":"array","items":{"$ref":"#/components/schemas/LocationWithItems"},"description":"Array of locations with items"}},"required":["locations"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"warehouse_id","in":"query","required":true,"schema":{"type":"string","description":"Warehouse ID to get all locations for","example":"507f1f77bcf86cd799439011"}}]}},"/location/get_items":{"get":{"operationId":"get_location_get_items","summary":"Location - Get Items","description":"Retrieve all items assigned to a specific warehouse location.","tags":["location"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Location details with inventory items","content":{"application/json":{"schema":{"type":"object","properties":{"location":{"$ref":"#/components/schemas/LocationWithItems"}},"required":["location"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string","description":"Location ID","example":"507f1f77bcf86cd799439011"}}]}},"/location/get_list":{"get":{"operationId":"get_location_get_list","summary":"Location - Get List","description":"Retrieve a paginated list of locations with optional filtering.","tags":["location"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of locations matching the query","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Location"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"selector","in":"query","required":true,"schema":{"type":"object","properties":{},"description":"Query selector object for filtering results"}},{"name":"limit","in":"query","required":false,"schema":{"type":"number","description":"Max results to return","example":50}},{"name":"skip","in":"query","required":false,"schema":{"type":"number","description":"Number of results to skip","example":0}},{"name":"sort","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Sort fields object, e.g. { \"name\": 1 }"}}]}},"/location/remove_item":{"delete":{"operationId":"delete_location_remove_item","summary":"Location - Remove Item","description":"Remove an item from a warehouse location assignment.","tags":["location"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Item removed from location successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Location ID","example":"507f1f77bcf86cd799439011"},"item_id":{"type":"string","description":"SKULabs item ID to remove from location","example":"507f1f77bcf86cd799439011"}},"required":["id","item_id"]}}}}}},"/order/add":{"post":{"operationId":"post_order_add","summary":"Order - Add","description":"Create a new manual order with specified items, shipping address, and order details.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Order added","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"store_id":{"type":"string","description":"Store ID of the created order","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number of the created order"}},"required":["success","store_id","order_number"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID to add the order to","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number for the new order"},"stash":{"type":"object","properties":{},"description":"Order data object"},"tags":{"type":"array","items":{"type":"string"},"description":"Tag IDs to apply to the order (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"]}},"required":["store_id","order_number","stash"]}}}}}},"/order/add_manual_shipment":{"post":{"operationId":"post_order_add_manual_shipment","summary":"Order - Add Manual Shipment","description":"Add a manual shipment with tracking information to an order.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Shipment added successfully","content":{"application/json":{"schema":{"type":"object","properties":{"shipments":{"type":"array","items":{"$ref":"#/components/schemas/Shipment"},"description":"Created shipment(s)"},"skulabs_warning":{"type":"object","properties":{"message":{"type":"string","description":"Warning message"},"type":{"type":"string","description":"Warning type"}},"description":"Non-fatal warning (e.g. channel notification failure)"}},"required":["shipments"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"address":{"$ref":"#/components/schemas/ShipTo"},"carrier":{"type":"string","description":"Carrier name (e.g. USPS, UPS, FedEx)"},"tracking_number":{"type":"string","description":"Tracking number"},"service":{"type":"string","description":"Shipping service type"},"order_items":{"type":"array","items":{"type":"object","properties":{}},"description":"Items included in the shipment"},"warehouse_id":{"type":"string","description":"Warehouse ID to ship from"},"dropship":{"type":"boolean","description":"Whether this is a dropship order"},"no_refresh":{"type":"boolean","description":"Skip cache refresh after operation"},"notes":{"type":"string","description":"Shipment notes"},"force_deduction":{"type":"boolean","description":"Force inventory deduction"},"cost":{"type":"number","description":"Shipping cost"}},"required":["store_id","order_number"]}}}}}},"/order/add_note":{"post":{"operationId":"post_order_add_note","summary":"Order - Add Note","description":"Add an internal or customer-facing note to an order.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Note added","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"note":{"type":"string","description":"Note text"},"type":{"type":"string","enum":["internal","customer_facing"],"description":"Note type"}},"required":["store_id","order_number","note"]}}}}}},"/order/add_tag":{"post":{"operationId":"post_order_add_tag","summary":"Order - Add Tag","description":"Add a tag to one or more orders by tag ID.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tag added to orders","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","description":"Error message"}}},"description":"Errors for individual orders that failed"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"orders":{"type":"array","items":{"$ref":"#/components/schemas/OrderRef"},"description":"Array of order references"},"tag_id":{"type":"string","description":"Tag ID to add"},"no_refresh":{"type":"boolean","description":"Skip cache refresh"},"reason":{"type":"string","description":"Reason for adding the tag"},"is_system":{"type":"boolean","description":"Whether this is a system tag operation"}},"required":["orders","tag_id"]}}}}}},"/order/add_tag_by_name":{"post":{"operationId":"post_order_add_tag_by_name","summary":"Order - Add Tag By Name","description":"Add a tag to one or more orders by tag name, creating the tag if it doesn't exist.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tag added to orders by name","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","description":"Error message"}}},"description":"Errors for individual orders that failed"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"orders":{"type":"array","items":{"$ref":"#/components/schemas/OrderRef"},"description":"Array of order references"},"tag_name":{"type":"string","description":"Tag name to add (creates if not found)"},"reason":{"type":"string","description":"Reason for adding the tag"}},"required":["orders","tag_name"]}}}}}},"/order/bulk_add_manual_shipments":{"post":{"operationId":"post_order_bulk_add_manual_shipments","summary":"Order - Bulk Add Manual Shipments","description":"Add manual shipments with tracking information to multiple orders in a single request.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Bulk shipment results","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"True if no errors occurred in any row"},"results":{"type":"array","items":{"type":"object","properties":{"shipments":{"type":"array","items":{"$ref":"#/components/schemas/Shipment"},"description":"Created shipments"},"skulabs_warning":{"type":"object","properties":{"message":{"type":"string","description":"Warning message"},"type":{"type":"string","description":"Warning type"}},"description":"Non-fatal warning"},"error":{"type":"boolean","description":"True if this row errored"},"message":{"type":"string","description":"Error message for this row"},"shipment":{"type":"object","properties":{},"description":"The row that errored"}}},"description":"Per-row results"}},"required":["success","results"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"object","properties":{}},"description":"Array of shipment row objects"},"options":{"type":"object","properties":{},"description":"Additional options"}},"required":["rows"]}}}}}},"/order/get":{"get":{"operationId":"get_order_get","summary":"Order - Get","description":"Retrieve a paginated list of orders with optional filtering by status, store, tags, and date ranges. Maximum page size: 100 (Standard), 250 (Pro), 500 (Enterprise).","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of orders matching the query","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrderListItem"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"selector","in":"query","required":true,"schema":{"type":"object","properties":{},"description":"Query selector object for filtering results"}},{"name":"limit","in":"query","required":false,"schema":{"type":"number","description":"Max results to return","example":50}},{"name":"skip","in":"query","required":false,"schema":{"type":"number","description":"Number of results to skip","example":0}},{"name":"sort","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Sort fields object, e.g. { \"name\": 1 }"}},{"name":"fields","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Projection fields object, e.g. { \"name\": 1 }"}}]}},"/order/get_all":{"get":{"operationId":"get_order_get_all","summary":"Order - Get All","description":"Retrieve all orders without pagination. Use with caution on large datasets.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"All orders in date range","content":{"application/json":{"schema":{"type":"object","properties":{"orders":{"type":"array","items":{"$ref":"#/components/schemas/OrderShippedListItem"},"description":"Order list"},"db_time":{"type":"number","description":"Query execution time (ms)"},"process_time":{"type":"number","description":"Processing time (ms)"},"message":{"type":"string","description":"Limit warning message if result was truncated"}},"required":["orders"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Start date","example":"2024-01-01"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date","description":"End date","example":"2024-12-31"}},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Filter by tag IDs (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011"]}},{"name":"store_ids","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Filter by store IDs"}}]}},"/order/get_archived":{"get":{"operationId":"get_order_get_archived","summary":"Order - Get Archived","description":"Retrieve archived orders with optional filtering.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Archived orders","content":{"application/json":{"schema":{"type":"object","properties":{"orders":{"type":"array","items":{"$ref":"#/components/schemas/OrderShippedListItem"},"description":"Archived order list"},"db_time":{"type":"number","description":"Query execution time (ms)"},"process_time":{"type":"number","description":"Processing time (ms)"},"message":{"type":"string","description":"Limit warning message if result was truncated"}},"required":["orders"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Start date","example":"2024-01-01"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date","description":"End date","example":"2024-12-31"}},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Filter by tag IDs (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011"]}},{"name":"store_ids","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Filter by store IDs"}}]}},"/order/get_by_base_order_number":{"get":{"operationId":"get_order_get_by_base_order_number","summary":"Order - Get By Base Order Number","description":"Look up orders by their base order number, which groups split and combined orders.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Orders matching the base order number","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrderBaseNumberResult"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"base_order_number","in":"query","required":true,"schema":{"type":"string","description":"Base order number to search for","example":"ORD-1234"}}]}},"/order/get_customs_information":{"get":{"operationId":"get_order_get_customs_information","summary":"Order - Get Customs Information","description":"Retrieve customs declaration information for an order's items.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Customs information for orders","content":{"application/json":{"schema":{"type":"object","properties":{"orders":{"type":"array","items":{"$ref":"#/components/schemas/CustomsOrder"},"description":"Orders with customs shipment item data"}},"required":["orders"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"selector","in":"query","required":true,"schema":{"type":"object","properties":{},"description":"Query selector object for filtering results"}},{"name":"limit","in":"query","required":false,"schema":{"type":"number","description":"Max results to return","example":50}},{"name":"skip","in":"query","required":false,"schema":{"type":"number","description":"Number of results to skip","example":0}},{"name":"sort","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Sort fields object, e.g. { \"name\": 1 }"}}]}},"/order/get_scanned_serial_numbers":{"get":{"operationId":"get_order_get_scanned_serial_numbers","summary":"Order - Get Scanned Serial Numbers","description":"Retrieve serial numbers that have been scanned during order fulfillment.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Scanned serial number records","content":{"application/json":{"schema":{"type":"object","properties":{"serial_numbers":{"type":"array","items":{"$ref":"#/components/schemas/ScannedSerialNumber"},"description":"Serial number scan records"}},"required":["serial_numbers"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Start date","example":"2024-01-01"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date","description":"End date","example":"2024-12-31"}}]}},"/order/get_shipped":{"get":{"operationId":"get_order_get_shipped","summary":"Order - Get Shipped","description":"Retrieve shipped orders with optional filtering by date range and store.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Shipped orders","content":{"application/json":{"schema":{"type":"object","properties":{"orders":{"type":"array","items":{"$ref":"#/components/schemas/OrderShippedListItem"},"description":"Shipped order list"},"db_time":{"type":"number","description":"Query execution time (ms)"},"process_time":{"type":"number","description":"Processing time (ms)"},"message":{"type":"string","description":"Limit warning message if result was truncated"}},"required":["orders"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Start date","example":"2024-01-01"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date","description":"End date","example":"2024-12-31"}},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Filter by tag IDs (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011"]}},{"name":"store_ids","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Filter by store IDs"}}]}},"/order/get_single":{"get":{"operationId":"get_order_get_single","summary":"Order - Get Single","description":"Retrieve a single order by its order number and store ID.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Order found with full details","content":{"application/json":{"schema":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/OrderDetail"},"metrics":{"type":"object","properties":{},"description":"Performance metrics"},"barcode_generation_failed":{"type":"object","properties":{"message":{"type":"string","description":"Error message"},"code":{"type":"string","description":"Error code"}},"description":"Barcode generation failure info"}},"required":["order"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"store_id","in":"query","required":true,"schema":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"}},{"name":"order_number","in":"query","required":true,"schema":{"type":"string","description":"Order number","example":"ORD-1234"}}]}},"/order/get_single_bulk":{"post":{"operationId":"post_order_get_single_bulk","summary":"Order - Get Single Bulk","description":"Retrieve multiple orders by their order number and store ID pairs in a single request.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of order detail objects","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/OrderDetail"},"metrics":{"type":"object","properties":{},"description":"Performance metrics"},"barcode_generation_failed":{"type":"object","properties":{"message":{"type":"string","description":"Error message"},"code":{"type":"string","description":"Error code"}},"description":"Barcode generation failure info"}}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"order":{"type":"array","items":{"$ref":"#/components/schemas/OrderRef"},"description":"Array of order references (store_id + order_number)"}},"required":["order"]}}}}}},"/order/get_skipped_scans":{"get":{"operationId":"get_order_get_skipped_scans","summary":"Order - Get Skipped Scans","description":"Retrieve items that were skipped during barcode scanning in order fulfillment.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Skipped scan records","content":{"application/json":{"schema":{"type":"object","properties":{"scans":{"type":"array","items":{"$ref":"#/components/schemas/SkippedScan"},"description":"Aggregated skipped scan records"}},"required":["scans"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Start date","example":"2024-01-01"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date","description":"End date","example":"2024-12-31"}}]}},"/order/get_unscanned_items":{"get":{"operationId":"get_order_get_unscanned_items","summary":"Order - Get Unscanned Items","description":"Retrieve items that have not been scanned during order fulfillment.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Unscanned item report with cleared, shipped, and sold item aggregations","content":{"application/json":{"schema":{"type":"object","properties":{"cleared_items":{"type":"array","items":{"$ref":"#/components/schemas/AggregatedItem"},"description":"Items cleared/scanned in the period"},"shipped_items":{"type":"array","items":{"$ref":"#/components/schemas/AggregatedItem"},"description":"Items shipped in the period"},"sold_items":{"type":"array","items":{"$ref":"#/components/schemas/AggregatedItem"},"description":"Items sold in the period"}},"required":["cleared_items","shipped_items","sold_items"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Start date","example":"2024-01-01"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date","description":"End date","example":"2024-12-31"}}]}},"/order/modify_financial_status":{"put":{"operationId":"put_order_modify_financial_status","summary":"Order - Modify Financial Status","description":"Update the financial/payment status of one or more orders.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Financial status updated","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"financial_status":{"type":"string","enum":["pending","paid"],"description":"New financial status"},"status_date":{"type":"string","description":"Date for the status change","example":"2025-01-15T12:00:00.000Z"},"order":{"type":"object","properties":{},"description":"Order reference object"},"refresh_cache":{"type":"boolean","description":"Refresh cache after update"}},"required":["store_id","order_number","financial_status"]}}}}}},"/order/modify_status":{"put":{"operationId":"put_order_modify_status","summary":"Order - Modify Status","description":"Update the fulfillment status of one or more orders.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Status updated","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"status":{"type":"string","enum":["unstarted","in_progress","shipped","cancelled","cleared","delayed","stopped","partially shipped","archived","awaiting fulfillment","pending","partially cleared"],"description":"New status value"},"refresh_cache":{"type":"boolean","description":"Refresh cache after update"},"status_date":{"type":"string","description":"Date to set for the status change","example":"2025-01-15T12:00:00.000Z"},"force":{"type":"boolean","description":"Force the status change"},"order":{"type":"object","properties":{},"description":"Order reference object"}},"required":["store_id","order_number","status"]}}}}}},"/order/override":{"put":{"operationId":"put_order_override","summary":"Order - Override","description":"Override order fields with custom values.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Order overridden","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"stash":{"type":"object","properties":{},"description":"Object with fields to override on the order"}},"required":["store_id","order_number","stash"]}}}}}},"/order/remove_tag":{"delete":{"operationId":"delete_order_remove_tag","summary":"Order - Remove Tag","description":"Remove a tag from one or more orders.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tag removed from orders","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","description":"Error message"}}},"description":"Errors for individual orders that failed"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"orders":{"type":"array","items":{"$ref":"#/components/schemas/OrderRef"},"description":"Array of order references"},"tag_id":{"type":"string","description":"Tag ID to remove"}},"required":["orders","tag_id"]}}}}}},"/order/revert":{"put":{"operationId":"put_order_revert","summary":"Order - Revert","description":"Revert an order back to its previous status, undoing the last status change.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Order reverted to original stash","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"}},"required":["store_id","order_number"]}}}}}},"/order/set_tags":{"put":{"operationId":"put_order_set_tags","summary":"Order - Set Tags","description":"Replace all tags on one or more orders with a new set of tags.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tags set on orders","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID (use with order_number)","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number (use with store_id)"},"tags":{"type":"array","items":{"type":"string"},"description":"Array of tag IDs to set (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"]},"reason":{"type":"string","description":"Reason for setting tags"},"orders":{"type":"array","items":{"$ref":"#/components/schemas/OrderRef"},"description":"Array of order references (alternative to store_id + order_number)"}},"required":["tags"]}}}}}},"/order/status":{"get":{"operationId":"get_order_status","summary":"Order - Status","description":"Retrieve the current status of an order.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Order status","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string","description":"Order ID","example":"507f1f77bcf86cd799439011"},"status":{"type":"string","enum":["unstarted","in_progress","shipped","cancelled","cleared","delayed","stopped","partially shipped","archived","awaiting fulfillment","pending","partially cleared"],"description":"Current order status"}},"required":["_id","status"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"store_id","in":"query","required":true,"schema":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"}},{"name":"order_number","in":"query","required":true,"schema":{"type":"string","description":"Order number"}}]}},"/order/undershipped_item_report":{"get":{"operationId":"get_order_undershipped_item_report","summary":"Order - Undershipped Item Report","description":"Retrieve a report of items that were shipped in quantities less than ordered.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Undershipped item report","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UndershippedItem"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Start date","example":"2024-01-01"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date","description":"End date","example":"2024-12-31"}},{"name":"store_ids","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Filter by store IDs"}}]}},"/order/unscanned_order_list":{"get":{"operationId":"get_order_unscanned_order_list","summary":"Order - Unscanned Order List","description":"Retrieve a list of orders with items that have not been scanned during fulfillment.","tags":["order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Unscanned order list","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UnscannedOrder"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Start date","example":"2024-01-01"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date","description":"End date","example":"2024-12-31"}},{"name":"store_ids","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Filter by store IDs"}}]}},"/purchase_order/add_tag":{"post":{"operationId":"post_purchase_order_add_tag","summary":"Purchase Order - Add Tag","description":"Add a tag to one or more purchase orders.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tag added to purchase orders","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"purchase_order_ids":{"type":"array","items":{"type":"string"},"description":"Array of purchase order IDs"},"tag_id":{"type":"string","description":"Tag ID to add"}},"required":["purchase_order_ids","tag_id"]}}}}}},"/purchase_order/bulk_accept":{"post":{"operationId":"post_purchase_order_bulk_accept","summary":"Purchase Order - Bulk Accept","description":"Accept items on multiple purchase orders in bulk, updating received quantities.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Items accepted into inventory","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"po_id":{"type":"string","description":"Purchase order ID"},"item_id":{"type":"string","description":"Item ID (required when accepting an item, omit for kit)"},"kit_id":{"type":"string","description":"Kit ID (required when accepting a kit, omit for item)"},"location_id":{"type":"string","description":"Location ID to receive inventory into"},"quantity":{"type":"number","description":"Quantity to accept"},"serial_numbers":{"type":"array","items":{"type":"string"},"description":"Serial/lot numbers to add"},"note":{"type":"string","description":"Note for the acceptance"}},"required":["po_id","location_id","quantity"]},"description":"Array of items to accept into inventory"}},"required":["items"]}}}}}},"/purchase_order/create":{"post":{"operationId":"post_purchase_order_create","summary":"Purchase Order - Create","description":"August 2023: Now supports item_id, kit_id, sku (SKULabs Kit or Item), mpn (Supplier MPN), or barcode (SKULabs Kit or Item barcode) as lookup fields in the item array.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Purchase order created","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"_id":{"type":"string","description":"ID of the created purchase order","example":"507f1f77bcf86cd799439011"},"number":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"PO number (may be auto-generated)"},"errors":{"type":"array","items":{"type":"string"},"description":"Array of validation error messages"},"add_results":{"type":"array","items":{"nullable":true},"description":"Results from auto-adding serial numbers (pallet processing)"},"skulabs_warning":{"type":"object","properties":{},"description":"Non-fatal warning from background operations"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"PO number"},"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"distributor_id":{"type":"string","description":"Distributor ID"},"warehouse_id":{"type":"string","description":"Warehouse ID"},"items":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrderItem"},"description":"Line items"},"subtotal":{"type":"number","description":"Subtotal"},"tax":{"type":"number","description":"Tax amount"},"tax_per":{"type":"number","description":"Tax percentage"},"total":{"type":"number","description":"Total"},"memo":{"type":"string","description":"Memo"},"terms":{"type":"string","description":"Payment terms"},"shipping":{"type":"number","description":"Shipping cost"},"method":{"type":"string","description":"Payment method"},"discount":{"type":"number","description":"Discount amount"},"discount_per":{"type":"number","description":"Discount percentage"},"dropship_address":{"type":"object","properties":{},"description":"Dropship address"},"status":{"type":"string","enum":["closed","created","receiving","acknowledged","sent","edited","transit","accepting"],"description":"Initial PO status"},"due_date":{"type":"string","format":"date","description":"Due date","example":"2025-01-15"},"dropshipped":{"type":"boolean","description":"Dropshipped flag"}},"required":["number"]}}}}}},"/purchase_order/create_v2":{"post":{"operationId":"post_purchase_order_create_v2","summary":"Purchase Order - Create V2","description":"Create a purchase order using names instead of IDs for store, distributor, and warehouse. Supports item lookup by SKU, MPN, or barcode.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Purchase order created","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"_id":{"type":"string","description":"ID of the created purchase order","example":"507f1f77bcf86cd799439011"},"number":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"PO number (may be auto-generated)"},"errors":{"type":"array","items":{"type":"string"},"description":"Array of validation error messages"},"add_results":{"type":"array","items":{"nullable":true},"description":"Results from auto-adding serial numbers (pallet processing)"},"skulabs_warning":{"type":"object","properties":{},"description":"Non-fatal warning from background operations"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{},"description":"Purchase order data object (v2)"}},"required":["data"]}}}}}},"/purchase_order/get":{"get":{"operationId":"get_purchase_order_get","summary":"Purchase Order - Get","description":"Retrieve a paginated list of purchase orders with optional filtering.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of purchase orders","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrder"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"selector","in":"query","required":true,"schema":{"type":"object","properties":{},"description":"Query selector object for filtering results"}},{"name":"limit","in":"query","required":false,"schema":{"type":"number","description":"Max results to return","example":50}},{"name":"skip","in":"query","required":false,"schema":{"type":"number","description":"Number of results to skip","example":0}},{"name":"sort","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Sort fields object, e.g. { \"name\": 1 }"}}]}},"/purchase_order/get_by_status":{"get":{"operationId":"get_purchase_order_get_by_status","summary":"Purchase Order - Get By Status","description":"Retrieve purchase orders filtered by their current status.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Purchase orders by status","content":{"application/json":{"schema":{"type":"object","properties":{"purchase_orders":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrder"},"description":"Array of purchase orders"}},"required":["purchase_orders"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"status","in":"query","required":true,"schema":{"type":"string","enum":["closed","created","receiving","acknowledged","sent","edited","transit","accepting"],"description":"PO status to filter by"}}]}},"/purchase_order/get_closed":{"get":{"operationId":"get_purchase_order_get_closed","summary":"Purchase Order - Get Closed","description":"Retrieve all closed (completed) purchase orders.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Closed purchase orders","content":{"application/json":{"schema":{"type":"object","properties":{"purchase_orders":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrder"},"description":"Array of purchase orders"}},"required":["purchase_orders"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Start date","example":"2025-01-15"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date","description":"End date","example":"2025-01-15"}}]}},"/purchase_order/get_closed_with_items":{"get":{"operationId":"get_purchase_order_get_closed_with_items","summary":"Purchase Order - Get Closed With Items","description":"Retrieve closed purchase orders with their full item details included.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Closed purchase orders with item details","content":{"application/json":{"schema":{"type":"object","properties":{"purchase_orders":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrder"},"description":"Array of purchase orders"}},"required":["purchase_orders"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Start date","example":"2025-01-15"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date","description":"End date","example":"2025-01-15"}}]}},"/purchase_order/get_processing":{"get":{"operationId":"get_purchase_order_get_processing","summary":"Purchase Order - Get Processing","description":"Retrieve purchase orders currently being processed (not yet closed).","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Processing purchase orders","content":{"application/json":{"schema":{"type":"object","properties":{"purchase_orders":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrder"},"description":"Array of purchase orders"}},"required":["purchase_orders"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"data","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Query data"}}]}},"/purchase_order/get_processing_with_item_id":{"get":{"operationId":"get_purchase_order_get_processing_with_item_id","summary":"Purchase Order - Get Processing With Item Id","description":"Retrieve processing purchase orders that contain a specific item.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Processing POs containing the item","content":{"application/json":{"schema":{"type":"object","properties":{"purchase_orders":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrder"},"description":"Array of purchase orders"}},"required":["purchase_orders"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"item_id","in":"query","required":true,"schema":{"type":"string","description":"Item ID to filter by"}}]}},"/purchase_order/get_processing_with_items":{"get":{"operationId":"get_purchase_order_get_processing_with_items","summary":"Purchase Order - Get Processing With Items","description":"Retrieve processing purchase orders with their full item details included.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Processing purchase orders with item details","content":{"application/json":{"schema":{"type":"object","properties":{"purchase_orders":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrder"},"description":"Array of purchase orders"}},"required":["purchase_orders"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[]}},"/purchase_order/get_single":{"get":{"operationId":"get_purchase_order_get_single","summary":"Purchase Order - Get Single","description":"Retrieve a single purchase order by its ID.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Single purchase order","content":{"application/json":{"schema":{"type":"object","properties":{"purchase_order":{"$ref":"#/components/schemas/PurchaseOrder"}},"required":["purchase_order"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string","description":"Purchase order ID"}},{"name":"fields","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Projection fields object, e.g. { \"name\": 1 }"}},{"name":"options","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Additional options"}}]}},"/purchase_order/get_single_bulk":{"post":{"operationId":"post_purchase_order_get_single_bulk","summary":"Purchase Order - Get Single Bulk","description":"Retrieve multiple purchase orders by their IDs in a single request.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Multiple purchase orders","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrder"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"array","items":{"type":"string"},"description":"Array of purchase order IDs"},"fields":{"type":"object","properties":{},"description":"Projection fields object, e.g. { \"name\": 1 }"},"options":{"type":"object","properties":{},"description":"Additional options"}},"required":["id"]}}}}}},"/purchase_order/get_single_by_number":{"get":{"operationId":"get_purchase_order_get_single_by_number","summary":"Purchase Order - Get Single By Number","description":"Retrieve a single purchase order by its PO number.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Purchase order by number","content":{"application/json":{"schema":{"type":"object","properties":{"purchase_order":{"$ref":"#/components/schemas/PurchaseOrder"}},"required":["purchase_order"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"number","in":"query","required":true,"schema":{"type":"string","description":"PO number"}},{"name":"fields","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Projection fields object, e.g. { \"name\": 1 }"}}]}},"/purchase_order/new_create":{"post":{"operationId":"post_purchase_order_new_create","summary":"Purchase Order - New Create","description":"Create a purchase order using the latest creation endpoint with enhanced validation.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Purchase order created","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"_id":{"type":"string","description":"ID of the created purchase order","example":"507f1f77bcf86cd799439011"},"number":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"PO number (may be auto-generated)"},"errors":{"type":"array","items":{"type":"string"},"description":"Array of validation error messages"},"add_results":{"type":"array","items":{"nullable":true},"description":"Results from auto-adding serial numbers (pallet processing)"},"skulabs_warning":{"type":"object","properties":{},"description":"Non-fatal warning from background operations"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{},"description":"Purchase order data object"}},"required":["data"]}}}}}},"/purchase_order/remove_tag":{"post":{"operationId":"post_purchase_order_remove_tag","summary":"Purchase Order - Remove Tag","description":"Remove a tag from one or more purchase orders.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tag removed from purchase orders","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"purchase_order_ids":{"type":"array","items":{"type":"string"},"description":"Array of purchase order IDs"},"tag_id":{"type":"string","description":"Tag ID to remove"}},"required":["purchase_order_ids","tag_id"]}}}}}},"/purchase_order/set_tags":{"put":{"operationId":"put_purchase_order_set_tags","summary":"Purchase Order - Set Tags","description":"Replace all tags on one or more purchase orders with a new set of tags.","tags":["purchase_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tags set on purchase order","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Purchase order ID"},"tags":{"type":"array","items":{"type":"string"},"description":"Array of tag IDs to set (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"]}},"required":["id","tags"]}}}}}},"/run/debug_request":{"post":{"operationId":"post_run_debug_request","summary":"Run - Debug Request","description":"/run/debug_request","tags":["run"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"OK"},"400":{"description":"Malformed request. Check that you have the correct parameters and that they are formatted correctly.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized. Did you forget to include your API key?","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"store_id":{"type":"string"},"url":{"type":"string"},"method":{"type":"string"},"body":{"type":"string"}}}}}}}},"/run/shopify_returns_cleanup":{"post":{"operationId":"post_run_shopify_returns_cleanup","summary":"Run - Shopify Returns Cleanup","description":"/run/shopify_returns_cleanup","tags":["run"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"OK"},"400":{"description":"Malformed request. Check that you have the correct parameters and that they are formatted correctly.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized. Did you forget to include your API key?","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"params":{"type":"object"}}}}}}}},"/run/shopify_returns_simulation":{"post":{"operationId":"post_run_shopify_returns_simulation","summary":"Run - Shopify Returns Simulation","description":"/run/shopify_returns_simulation","tags":["run"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"OK"},"400":{"description":"Malformed request. Check that you have the correct parameters and that they are formatted correctly.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized. Did you forget to include your API key?","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}}}},"/shipments/get":{"get":{"operationId":"get_shipments_get","summary":"Shipments - Get","description":"Retrieve shipments for a specific order.","tags":["shipments"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of shipments matching the query (flattened from orders)","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Shipment"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"selector","in":"query","required":true,"schema":{"type":"object","properties":{},"description":"Query selector object for filtering results"}},{"name":"limit","in":"query","required":false,"schema":{"type":"number","description":"Max results to return","example":50}},{"name":"skip","in":"query","required":false,"schema":{"type":"number","description":"Number of results to skip","example":0}},{"name":"sort","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Sort fields object, e.g. { \"name\": 1 }"}}]}},"/shipments/get_by_range":{"get":{"operationId":"get_shipments_get_by_range","summary":"Shipments - Get By Range","description":"Retrieve shipments within a date range with optional warehouse filtering.","tags":["shipments"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Orders with shipments in the specified date range","content":{"application/json":{"schema":{"type":"object","properties":{"orders":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string","description":"Order ID","example":"507f1f77bcf86cd799439011"},"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"batch_number":{"type":"string","description":"Batch number"},"status":{"type":"string","description":"Order status"},"tags":{"type":"array","items":{"type":"string"},"description":"Array of order tag IDs (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"]},"notes":{"type":"array","items":{"type":"object","properties":{}},"description":"Order notes"},"shipments":{"type":"array","items":{"$ref":"#/components/schemas/Shipment"},"description":"Shipments on this order"},"stash":{"type":"object","properties":{},"description":"Order stash data (included when simple is false)"}},"required":["_id","store_id","order_number"]},"description":"Orders with shipments in the date range"},"skulabs_warning":{"type":"object","properties":{"message":{"type":"string","description":"Warning message"},"type":{"type":"string","description":"Warning type"}},"required":["message","type"],"description":"Warning if results were truncated"}},"required":["orders"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":false,"schema":{"type":"string","description":"Start date for shipment range (ISO 8601)","example":"2025-01-01T00:00:00.000Z"}},{"name":"end","in":"query","required":false,"schema":{"type":"string","description":"End date for shipment range (ISO 8601)","example":"2025-01-31T23:59:59.000Z"}},{"name":"page","in":"query","required":false,"schema":{"type":"number","description":"Page number for pagination","example":1}},{"name":"simple","in":"query","required":false,"schema":{"type":"boolean","description":"Return simplified response with fewer fields"}}]}},"/s/job/shipments/csv_export":{"get":{"operationId":"get_shipments_csv_export","summary":"Shipments - Csv Export","description":"Export shipments data as a CSV file within a specified date range.","tags":["shipments"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://app.skulabs.com"}],"responses":{"200":{"description":"Presigned S3 URLs for the generated CSV files","content":{"application/json":{"schema":{"type":"object","properties":{"shipment":{"type":"string","description":"S3 URL for shipments CSV export"},"shipment_items":{"type":"string","description":"S3 URL for shipment items CSV export"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"store_ids","in":"query","required":true,"schema":{"type":"array","items":{"type":"string"},"description":"Store IDs to export shipments from","example":["507f1f77bcf86cd799439011"]}},{"name":"start","in":"query","required":true,"schema":{"type":"string","description":"Start date (ISO 8601)","example":"2025-01-01T00:00:00.000Z"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","description":"End date (ISO 8601)","example":"2025-01-31T23:59:59.000Z"}},{"name":"warehouse_ids","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"Filter by warehouse IDs"}},{"name":"options","in":"query","required":false,"schema":{"type":"object","properties":{"order_level":{"type":"boolean","description":"Include order-level financial data (subtotal, shipping, discount, tax, total)"},"shipment_items":{"type":"boolean","description":"Include a separate shipment items CSV with per-item detail"},"shipments_no_items":{"type":"boolean","description":"Include itemless shipments when filtering by warehouse"},"shipments_no_location":{"type":"boolean","description":"Include shipments with no location when filtering by warehouse"}},"description":"CSV export options"}}]}},"/s/ship/shipping/restore_inventory":{"post":{"operationId":"post_shipping_restore_inventory","summary":"Shipping - Restore Inventory","description":"Restore inventory that was previously deducted when a shipment was created.","tags":["shipping"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://app.skulabs.com"}],"responses":{"200":{"description":"Inventory restored and returns updated order shipments","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string","description":"Order ID","example":"507f1f77bcf86cd799439011"},"shipments":{"type":"array","items":{"$ref":"#/components/schemas/ShipmentResult"},"description":"Order shipments"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"shipment_id":{"type":"string","description":"SKULabs shipment ID","example":"507f1f77bcf86cd799439011"},"tracking_number":{"type":"string","description":"Tracking number to identify the shipment"},"no_refresh":{"type":"boolean","description":"Skip cache refresh after restoring"},"carrier_shipment_id":{"type":"string","description":"Carrier-specific shipment ID"}},"required":["store_id","order_number"]}}}}}},"/s/ship/shipping/set_manifested":{"post":{"operationId":"post_shipping_set_manifested","summary":"Shipping - Set Manifested","description":"Mark shipments as manifested, indicating they have been handed off to the carrier.","tags":["shipping"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://app.skulabs.com"}],"responses":{"200":{"description":"Updated order shipments with manifested flag set","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string","description":"Order ID","example":"507f1f77bcf86cd799439011"},"shipments":{"type":"array","items":{"$ref":"#/components/schemas/ShipmentResult"},"description":"Order shipments"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"skulabs_shipment_id":{"type":"string","description":"SKULabs shipment ID to set manifested flag on","example":"507f1f77bcf86cd799439011"},"flag":{"type":"boolean","description":"Manifested flag value (true or false)"}},"required":["store_id","order_number","skulabs_shipment_id","flag"]}}}}}},"/s/ship/shipping/void":{"delete":{"operationId":"delete_shipping_void","summary":"Shipping - Void","description":"Void a shipment, cancelling the shipping label and optionally restoring inventory.","tags":["shipping"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://app.skulabs.com"}],"responses":{"200":{"description":"Shipment voided and inventory restored (returns updated order shipments)","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string","description":"Order ID","example":"507f1f77bcf86cd799439011"},"shipments":{"type":"array","items":{"$ref":"#/components/schemas/ShipmentResult"},"description":"Order shipments"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"shipment_id":{"type":"string","description":"SKULabs shipment ID","example":"507f1f77bcf86cd799439011"},"tracking_number":{"type":"string","description":"Tracking number to identify the shipment"},"no_refresh":{"type":"boolean","description":"Skip cache refresh after voiding"},"carrier_shipment_id":{"type":"string","description":"Carrier-specific shipment ID"},"force_void":{"type":"boolean","description":"Force void even if carrier void fails"}},"required":["store_id","order_number"]}}}}}},"/store/get":{"get":{"operationId":"get_store_get","summary":"Store - Get","description":"Retrieve all connected store integrations for the current account.","tags":["store"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of stores with _id, name, and type","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Store"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[]}},"/tag/add":{"post":{"operationId":"post_tag_add","summary":"Add Tag","description":"Creates a new tag","tags":["tag"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tag created or existing tag returned","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the tag was newly created (false if preexisting)"},"_id":{"type":"string","description":"Tag ID (new or existing)","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"Tag name"},"type":{"type":"string","enum":["orders","items","purchase_order","customers"],"description":"Tag type"},"preexisting":{"type":"boolean","description":"True if a tag with this name and type already existed"}},"required":["success","_id","name"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Tag name","example":"Priority"},"type":{"type":"string","enum":["orders","items","purchase_order","customers"],"description":"Tag type"},"color":{"type":"string","enum":["red","orange","yellow","green","blue","purple","indigo","gray","maroon","fuchsia","chartreuse","dodger","salmon","cornflower","khaki","steel","plum"],"description":"Tag color"}},"required":["name","type"]}}}}}},"/tag/get":{"get":{"operationId":"get_tag_get","summary":"Tag - Get","description":"Retrieve all tags with optional filtering by type.","tags":["tag"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of tags matching the query","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"selector","in":"query","required":true,"schema":{"type":"object","properties":{},"description":"Query selector object for filtering results"}},{"name":"limit","in":"query","required":false,"schema":{"type":"number","description":"Max results to return","example":50}},{"name":"skip","in":"query","required":false,"schema":{"type":"number","description":"Number of results to skip","example":0}},{"name":"sort","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Sort fields object, e.g. { \"name\": 1 }"}}]}},"/tag/remove":{"delete":{"operationId":"delete_tag_remove","summary":"Tag - Remove","description":"Permanently delete a tag.","tags":["tag"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tag removed successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tag_id":{"type":"string","description":"ID of the tag to remove","example":"507f1f77bcf86cd799439011"}},"required":["tag_id"]}}}}}},"/tag/update":{"put":{"operationId":"put_tag_update","summary":"Tag - Update","description":"Update an existing tag's name or color.","tags":["tag"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Tag updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tag_id":{"type":"string","description":"ID of the tag to update","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"New tag name"},"color":{"type":"string","enum":["red","orange","yellow","green","blue","purple","indigo","gray","maroon","fuchsia","chartreuse","dodger","salmon","cornflower","khaki","steel","plum"],"description":"New tag color"}},"required":["tag_id"]}}}}}},"/transfer_order/create":{"post":{"operationId":"post_transfer_order_create","summary":"Transfer Order - Create","description":"Create a new transfer order to move inventory between warehouses.","tags":["transfer_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Transfer order created","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"_id":{"type":"string","description":"ID of the created resource","example":"507f1f77bcf86cd799439011"}},"required":["success","_id"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"number","nullable":true,"description":"Transfer order number (auto-generated if null)"},"items":{"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","description":"Catalog item ID","example":"507f1f77bcf86cd799439011"},"source_location_id":{"type":"string","description":"Source location ID","example":"507f1f77bcf86cd799439011"},"destination_location_id":{"type":"string","description":"Destination location ID","example":"507f1f77bcf86cd799439011"},"quantity":{"type":"number","description":"Quantity to transfer"}},"required":["item_id","quantity"]},"description":"Items to include in the transfer order"},"source_warehouse_id":{"type":"string","description":"Source warehouse ID","example":"507f1f77bcf86cd799439011"},"destination_warehouse_id":{"type":"string","description":"Destination warehouse ID","example":"507f1f77bcf86cd799439011"},"notes":{"type":"string","nullable":true,"description":"Transfer order notes"}},"required":["items","source_warehouse_id","destination_warehouse_id"]}}}}}},"/transfer_order/get":{"get":{"operationId":"get_transfer_order_get","summary":"Transfer Order - Get","description":"Retrieve a single transfer order by ID.","tags":["transfer_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Single transfer order with items","content":{"application/json":{"schema":{"type":"object","properties":{"transfer_order":{"$ref":"#/components/schemas/TransferOrder"}},"required":["transfer_order"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string","description":"Transfer order ID","example":"507f1f77bcf86cd799439011"}}]}},"/transfer_order/get_all":{"get":{"operationId":"get_transfer_order_get_all","summary":"Transfer Order - Get All","description":"Retrieve all transfer orders with optional filtering by status and warehouse.","tags":["transfer_order"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of transfer orders within the date range (items excluded)","content":{"application/json":{"schema":{"type":"object","properties":{"transfer_orders":{"type":"array","items":{"$ref":"#/components/schemas/TransferOrder"},"description":"Array of transfer orders (items excluded)"}},"required":["transfer_orders"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","description":"Start date/time filter for log entries","example":"2025-01-15T12:00:00.000Z"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","description":"End date/time filter for log entries","example":"2025-01-15T12:00:00.000Z"}}]}},"/warehouse/create":{"post":{"operationId":"post_warehouse_create","summary":"Warehouse - Create","description":"Create a new warehouse with name and address details.","tags":["warehouse"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Warehouse created","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"_id":{"type":"string","description":"ID of the created resource","example":"507f1f77bcf86cd799439011"}},"required":["success","_id"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Warehouse name","example":"Main Warehouse"},"type":{"type":"string","description":"Warehouse type"},"address":{"$ref":"#/components/schemas/Address"}},"required":["name"]}}}}}},"/warehouse/create_v2":{"post":{"operationId":"post_warehouse_create_v2","summary":"Warehouse - Create V2","description":"Create a new warehouse using the latest creation endpoint with enhanced options.","tags":["warehouse"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Warehouse created","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"},"_id":{"type":"string","description":"ID of the created resource","example":"507f1f77bcf86cd799439011"}},"required":["success","_id"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Warehouse name","example":"Main Warehouse"},"type":{"type":"string","description":"Warehouse type"},"address":{"$ref":"#/components/schemas/Address"},"is_default":{"type":"boolean","description":"Set as default warehouse"}},"required":["name"]}}}}}},"/warehouse/get":{"get":{"operationId":"get_warehouse_get","summary":"Warehouse - Get","description":"Retrieve all warehouses for the current account.","tags":["warehouse"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of warehouses","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Warehouse"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"selector","in":"query","required":true,"schema":{"type":"object","properties":{},"description":"Query selector object for filtering results"}},{"name":"limit","in":"query","required":false,"schema":{"type":"number","description":"Max results to return","example":50}},{"name":"skip","in":"query","required":false,"schema":{"type":"number","description":"Number of results to skip","example":0}},{"name":"sort","in":"query","required":false,"schema":{"type":"object","properties":{},"description":"Sort fields object, e.g. { \"name\": 1 }"}}]}},"/warehouse/stats":{"get":{"operationId":"get_warehouse_stats","summary":"Warehouse - Stats","description":"Retrieve warehouse statistics including item counts and inventory totals.","tags":["warehouse"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Array of warehouse (or location) statistics from aggregation","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string","description":"Warehouse ID (or location ID when with_locations is true)","example":"507f1f77bcf86cd799439011"},"on_hand":{"type":"number","description":"Total on-hand quantity across all SKUs"},"sku_count":{"type":"number","description":"Total number of distinct SKUs"},"skus_available":{"type":"number","description":"Number of SKUs with on_hand greater than zero"},"pct_available":{"type":"number","description":"Percentage of SKUs in stock (0-100)"},"summary":{"type":"string","description":"Human-readable summary, e.g. \"1.2k skus, 85% in stock\""}},"required":["_id","on_hand","sku_count","skus_available","pct_available","summary"]}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[{"name":"warehouse_id","in":"query","required":false,"schema":{"type":"string","description":"Warehouse ID to filter stats for a single warehouse","example":"507f1f77bcf86cd799439011"}},{"name":"with_locations","in":"query","required":false,"schema":{"type":"boolean","description":"Group stats by location instead of warehouse"}}]}},"/warehouse/summary":{"get":{"operationId":"get_warehouse_summary","summary":"Warehouse - Summary","description":"/warehouse/summary","tags":["warehouse"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"OK"},"400":{"description":"Malformed request. Check that you have the correct parameters and that they are formatted correctly.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized. Did you forget to include your API key?","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"parameters":[]}},"/webhook/add_handler":{"post":{"operationId":"post_webhook_add_handler","summary":"Add Handler","description":"Creates a new webhook handler","tags":["webhook"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Webhook handler created","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","description":"Webhook event type. Common patterns: order.status.*, order.shipped, order.tracking, order.tags, item.inventory, item.updated, shipment.created, shipment.voided, purchase_order.*, transfer_order.*"},"name":{"type":"string","description":"User-friendly name for the webhook handler"},"handler":{"$ref":"#/components/schemas/WebhookHandler"}},"required":["type","name","handler"]}}}}}},"/webhook/remove_handler":{"post":{"operationId":"post_webhook_remove_handler","summary":"Remove Handler","description":"Removes a webhook handler","tags":["webhook"],"security":[{"SKULabsToken":[]}],"servers":[{"url":"https://api.skulabs.com"}],"responses":{"200":{"description":"Webhook handler removed","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"403":{"description":"Forbidden. Insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"429":{"description":"Too many requests. Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message"},"code":{"type":"string","description":"Machine-readable error code"},"overview":{"type":"string","description":"Short human-friendly description"},"statusCode":{"type":"number","description":"HTTP status code"},"origin":{"type":"string","description":"Error source"},"skulabsTraceId":{"type":"string","description":"Trace ID for support"},"type":{"type":"string","enum":["error","notice","success"],"description":"Error severity for UI handling"},"user_error":{"type":"boolean","description":"Whether the error was caused by user input"},"display":{"type":"string","enum":["notification","panel"],"description":"Suggested UI display mode for the error"}},"required":["message","statusCode"]}},"required":["error"]}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string","description":"Webhook handler ID to remove","example":"507f1f77bcf86cd799439011"}},"required":["_id"]}}}}}}},"components":{"securitySchemes":{"SKULabsToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"BatchDetailOrder":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID of the order","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"bin":{"type":"string","description":"Bin assignment"},"status":{"type":"string","description":"Order status"},"items":{"type":"array","items":{"type":"object","properties":{}},"description":"Order line items"},"scans":{"type":"array","items":{"type":"object","properties":{}},"description":"Scan records for the order"},"misscans":{"type":"array","items":{"type":"object","properties":{}},"description":"Misscan records"},"shipments":{"type":"array","items":{"type":"object","properties":{}},"description":"Shipment records"},"purchase_orders":{"type":"array","items":{"type":"object","properties":{}},"description":"Related purchase orders"},"log":{"type":"array","items":{"type":"object","properties":{}},"description":"Order log entries"},"inventory":{"type":"array","items":{"type":"object","properties":{}},"description":"Inventory data for this order"},"combined_order_numbers":{"type":"array","items":{"type":"string"},"description":"Combined order numbers"},"stash":{"type":"object","properties":{},"description":"Original order data from the channel"},"barcodes":{"type":"array","items":{"type":"object","properties":{}},"description":"Barcode mappings for the order items"},"tags":{"type":"array","items":{"type":"string"},"description":"Array of tag IDs assigned to the order (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"]},"notes":{"type":"string","description":"Order notes"},"batch_number":{"type":"number","description":"Batch number this order belongs to"}},"required":["store_id","order_number"]},"BatchLogEntry":{"type":"object","properties":{"user_id":{"type":"string","description":"User who performed the action","example":"507f1f77bcf86cd799439011"},"action":{"type":"string","description":"Action performed (e.g. opened, shipped)"},"time":{"type":"string","description":"Timestamp of the action","example":"2025-01-15T12:00:00.000Z"}},"required":["user_id","action","time"]},"BatchSettings":{"type":"object","properties":{"name":{"type":"string","description":"Batch type name"},"type":{"type":"string","description":"Batch type identifier"},"warehouse_filters":{"type":"array","items":{"type":"string"},"description":"Warehouse IDs to filter by"},"include_out_of_stock":{"type":"boolean","description":"Whether to include out of stock orders"},"include_partially_fulfillable":{"type":"boolean","description":"Whether to include partially fulfillable orders"},"ship_mode":{"type":"string","description":"Shipping mode (e.g. bulk)"},"n_sku_batch":{"type":"boolean","description":"Whether to group by number of unique SKUs"},"same":{"type":"boolean","description":"Whether to group orders with identical items"}},"description":"Settings used to create this batch"},"BatchDetail":{"type":"object","properties":{"_id":{"type":"string","description":"Unique batch identifier","example":"507f1f77bcf86cd799439011"},"number":{"type":"number","description":"Batch number"},"state":{"type":"string","enum":["pick","pack","ship"],"description":"Batch state"},"status":{"type":"string","enum":["opened","shipped"],"description":"Batch status"},"orders":{"type":"array","items":{"$ref":"#/components/schemas/BatchDetailOrder"},"description":"Detailed order data for each order in the batch"},"log":{"type":"array","items":{"$ref":"#/components/schemas/BatchLogEntry"},"description":"Batch action log"},"ship_end":{"type":"string","description":"Timestamp when shipping ended","example":"2025-01-15T12:00:00.000Z"},"batch_settings":{"$ref":"#/components/schemas/BatchSettings"},"inventory":{"type":"array","items":{"type":"object","properties":{}},"description":"Inventory data across all batch items"},"inventory_map":{"type":"object","properties":{},"description":"Map of item_id to warehouse on-hand quantities"}},"required":["_id","number","orders"]},"CustomerNote":{"type":"object","properties":{"user_id":{"type":"string","nullable":true,"description":"ID of the user who added the note","example":"507f1f77bcf86cd799439011"},"time":{"type":"string","description":"ISO 8601 timestamp when the note was added","example":"2025-01-15T12:00:00.000Z"},"note":{"type":"string","description":"Note text content"}}},"CustomerLogEntry":{"type":"object","properties":{"user_id":{"type":"string","nullable":true,"description":"ID of the user who performed the action, null for system","example":"507f1f77bcf86cd799439011"},"action":{"type":"string","description":"Action performed (e.g. added tag, removed tag)"},"details":{"type":"object","properties":{},"description":"Additional details about the action"},"time":{"type":"string","description":"ISO 8601 timestamp of the action","example":"2025-01-15T12:00:00.000Z"}}},"FullCustomer":{"type":"object","properties":{"_id":{"type":"string","description":"Unique customer identifier","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"Customer name"},"company":{"type":"string","description":"Company name"},"phone":{"type":"string","description":"Phone number"},"email":{"type":"string","description":"Email address"},"address":{"type":"object","properties":{},"description":"Customer address object"},"notes":{"type":"array","items":{"$ref":"#/components/schemas/CustomerNote"},"description":"Array of notes attached to the customer"},"price_lists":{"type":"array","items":{"type":"string"},"description":"Assigned price list IDs"},"tags":{"type":"array","items":{"type":"string"},"description":"Array of tag IDs (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"]},"log":{"type":"array","items":{"$ref":"#/components/schemas/CustomerLogEntry"},"description":"Activity log entries for the customer"},"store_id":{"type":"string","description":"Associated store ID","example":"507f1f77bcf86cd799439011"}},"required":["_id"],"description":"Customer object with full details"},"Customer":{"type":"object","properties":{"_id":{"type":"string","description":"Unique customer identifier","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"Customer name"},"phone":{"type":"string","description":"Phone number"},"email":{"type":"string","description":"Email address"},"address":{"type":"object","properties":{},"description":"Customer address object"},"company":{"type":"string","description":"Company name"},"tags":{"type":"array","items":{"type":"string"},"description":"Array of tag IDs (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"]},"store_id":{"type":"string","description":"Associated store ID","example":"507f1f77bcf86cd799439011"},"price_lists":{"type":"array","items":{"type":"string"},"description":"Assigned price list IDs"}},"required":["_id"]},"CycleCountItem":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID","example":"507f1f77bcf86cd799439011"},"quantity":{"type":"number","description":"Counted quantity"},"ad_hoc":{"type":"boolean","description":"Whether the item was added ad-hoc during scanning"},"note":{"type":"string","description":"Note for this item"},"delta":{"type":"number","description":"Difference between scanned quantity and on-hand quantity"},"old_on_hand":{"type":"number","description":"On-hand quantity before cycle count was saved"},"scanned_serial_numbers":{"type":"array","items":{"type":"string"},"description":"Serial numbers scanned for this item"}},"required":["item_id","quantity"]},"CycleCountLogEntry":{"type":"object","properties":{"user_id":{"type":"string","nullable":true,"description":"User ID who performed the action","example":"507f1f77bcf86cd799439011"},"action":{"type":"string","description":"Action type (created, saved, etc.)"},"time":{"type":"string","description":"ISO 8601 timestamp of the action","example":"2025-01-15T12:00:00.000Z"}},"required":["action","time"]},"CycleCount":{"type":"object","properties":{"_id":{"type":"string","description":"Unique cycle count identifier","example":"507f1f77bcf86cd799439011"},"account_id":{"type":"string","description":"Account ID","example":"507f1f77bcf86cd799439011"},"number":{"type":"number","description":"Auto-incremented cycle count number"},"name":{"type":"string","description":"Cycle count name"},"warehouse_id":{"type":"string","description":"Warehouse ID","example":"507f1f77bcf86cd799439011"},"location_id":{"type":"string","description":"Location ID","example":"507f1f77bcf86cd799439011"},"status":{"type":"string","enum":["created","saved"],"description":"Cycle count status"},"allow_ad_hoc":{"type":"boolean","description":"Whether ad-hoc item scanning is allowed"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CycleCountItem"},"description":"Items in the cycle count"},"log":{"type":"array","items":{"$ref":"#/components/schemas/CycleCountLogEntry"},"description":"Activity log entries"}},"required":["_id","number","warehouse_id","location_id","status"],"description":"Cycle count object"},"DistributorAddress":{"type":"object","properties":{"street":{"type":"string","description":"Street address"},"street_2":{"type":"string","description":"Street address line 2"},"city":{"type":"string","description":"City"},"state":{"type":"string","description":"State or province"},"zip":{"type":"string","description":"ZIP or postal code"},"country":{"type":"string","description":"Country"}},"description":"Supplier address"},"DistributorItem":{"type":"object","properties":{"_id":{"type":"string","description":"Unique distributor item entry ID","example":"507f1f77bcf86cd799439011"},"item_id":{"type":"string","description":"SKULabs item ID","example":"507f1f77bcf86cd799439011"},"cost":{"type":"number","nullable":true,"description":"Unit cost from this supplier"},"quantity":{"type":"number","description":"Default order quantity"},"minimum_quantity":{"type":"number","description":"Minimum order quantity"},"lot_quantity":{"type":"number","description":"Lot quantity for ordering"},"part_number":{"type":"string","description":"Supplier part number / MPN"},"reorder_point":{"type":"number","description":"Inventory level that triggers a reorder"},"reorder_rule":{"type":"string","nullable":true,"description":"Reorder rule expression"},"notes":{"type":"string","nullable":true,"description":"Notes for this supplier item"}}},"Distributor":{"type":"object","properties":{"_id":{"type":"string","description":"Unique supplier identifier","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"Supplier name"},"phone":{"type":"string","nullable":true,"description":"Supplier phone number"},"email":{"type":"string","nullable":true,"description":"Supplier email address"},"active":{"type":"boolean","description":"Whether the supplier is active"},"address":{"$ref":"#/components/schemas/DistributorAddress"},"terms":{"type":"string","nullable":true,"description":"Default payment terms"},"shipping":{"type":"string","nullable":true,"description":"Default shipping method"},"memo":{"type":"string","nullable":true,"description":"Default memo for purchase orders"},"items":{"type":"array","items":{"$ref":"#/components/schemas/DistributorItem"},"description":"Items supplied by this supplier"},"location_id":{"type":"string","description":"Default location ID for this supplier","example":"507f1f77bcf86cd799439011"}},"required":["_id","name"]},"FreeInventoryEntry":{"type":"object","properties":{"on_hand":{"type":"number","description":"Total on-hand quantity"},"reserved":{"type":"number","description":"Reserved quantity"},"free":{"type":"number","description":"Free (available) quantity"}},"required":["on_hand","reserved","free"]},"InventoryRecord":{"type":"object","properties":{"location_id":{"type":"string","description":"Location identifier"},"item_id":{"type":"string","description":"Item ID (remapped from element_id)"},"warehouse_id":{"type":"string","description":"Warehouse ID"},"on_hand":{"type":"number","description":"Quantity on hand"},"inbound":{"type":"number","nullable":true,"description":"Inbound quantity from purchase orders"},"alert":{"type":"number","description":"Low-stock alert threshold"},"last_updated":{"type":"string","description":"Last update timestamp","example":"2025-01-15T12:00:00.000Z"},"type":{"type":"string","enum":["item","kit"],"description":"Record type"}},"required":["location_id","item_id","warehouse_id","on_hand"]},"GroupedLocationEntry":{"type":"object","properties":{"_id":{"type":"string","description":"Group key (location_id or element_id depending on group_by)","example":"507f1f77bcf86cd799439011"},"locations":{"type":"array","items":{"type":"object","properties":{"location_id":{"type":"string","description":"Location identifier"},"item_id":{"type":"string","description":"Item identifier"},"on_hand":{"type":"number","description":"Quantity on hand"},"alert":{"type":"number","description":"Alert threshold"}},"required":["location_id","item_id","on_hand"]},"description":"Location entries in the group"}},"required":["_id","locations"]},"InventoryChange":{"type":"object","properties":{"type":{"type":"string","enum":["increase","decrease","update","remove","add"],"description":"Change type"},"quantity":{"type":"number","description":"Quantity changed"},"notes":{"type":"string","description":"Notes about the change"}},"description":"Change details"},"HistoryRow":{"type":"object","properties":{"user_id":{"type":"string","nullable":true,"description":"User ID who made the change","example":"507f1f77bcf86cd799439011"},"item_id":{"type":"string","description":"Item ID affected"},"location_id":{"type":"string","description":"Location ID affected"},"change":{"$ref":"#/components/schemas/InventoryChange"},"time":{"type":"string","description":"Timestamp of the change","example":"2025-01-15T12:00:00.000Z"},"old_value":{"type":"number","description":"Previous on-hand value"},"sku":{"type":"string","description":"Item SKU at time of change"}}},"InventoryItem":{"type":"object","properties":{"location_id":{"type":"string","description":"Location identifier"},"item_id":{"type":"string","description":"Item ID (remapped from element_id)"},"on_hand":{"type":"number","description":"Quantity on hand"},"inbound":{"type":"number","nullable":true,"description":"Inbound quantity from purchase orders"},"alert":{"type":"number","description":"Low-stock alert threshold"}},"required":["location_id","item_id","on_hand"]},"KitsMapEntry":{"type":"object","properties":{"on_hand":{"type":"number","description":"Kit on-hand quantity (limited by component items)"},"free":{"type":"number","description":"Kit free quantity (when include_free is true)"}},"required":["on_hand"]},"ItemsMapEntry":{"type":"object","properties":{"on_hand":{"type":"number","description":"Total on-hand quantity"},"reserved":{"type":"number","description":"Reserved quantity (when include_free is true)"},"free":{"type":"number","description":"Free inventory quantity (when include_free is true)"},"alert":{"type":"number","description":"Alert threshold (when include_alert is true)"},"location_maps":{"type":"array","items":{"type":"object","properties":{}},"description":"Location map entries (when get_full_map is true)"}},"required":["on_hand"]},"IncomingItem":{"type":"object","properties":{"_id":{"type":"string","description":"Item ID","example":"507f1f77bcf86cd799439011"},"ordered":{"type":"number","description":"Total ordered quantity across open POs"},"received":{"type":"number","description":"Total received quantity across open POs"}},"required":["_id","ordered","received"]},"InventoryTableColumn":{"type":"object","properties":{"data":{"type":"string","description":"Data field name for the column"},"name":{"type":"string","description":"Column identifier name (e.g. name, sku, on_hand, sold)"},"visible":{"type":"boolean","description":"Whether the column is visible"}},"required":["name"]},"InventoryTableOrderSpec":{"type":"object","properties":{"column":{"type":"number","description":"Index of the column to sort by"},"dir":{"type":"string","enum":["asc","desc"],"description":"Sort direction"}},"required":["column"]},"InventoryTableFilters":{"type":"object","properties":{"warehouses":{"type":"array","items":{"type":"string"},"description":"Warehouse IDs to filter by"},"stores":{"type":"array","items":{"type":"string"},"description":"Store IDs to filter by"},"movers":{"type":"array","items":{"type":"string","enum":["fast","medium","slow","dead"]},"description":"Mover categories to filter by"},"show_unsold_items":{"type":"boolean","description":"Whether to include items with no sales"},"show_inactive_items":{"type":"boolean","description":"Whether to include inactive items"},"show_stocked_items":{"type":"boolean","description":"Whether to include stocked items"},"show_unstocked_items":{"type":"boolean","description":"Whether to include items with no stock"},"distributors":{"type":"array","items":{"type":"string"},"description":"Distributor IDs to filter by"},"order_tags":{"type":"array","items":{"type":"string"},"description":"Order tag IDs to filter velocity data by (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011"]}},"description":"Filter criteria for the table"},"InventoryTableRange":{"type":"object","properties":{"start":{"type":"string","description":"Start date for velocity range","example":"2025-01-01T00:00:00.000Z"},"end":{"type":"string","description":"End date for velocity range","example":"2025-01-31T23:59:59.000Z"}},"required":["start","end"],"description":"Date range for velocity table type"},"BuildRowsData":{"type":"object","properties":{"type":{"type":"string","enum":["inventory","velocity","reorder"],"description":"Table type"},"columns":{"type":"array","items":{"$ref":"#/components/schemas/InventoryTableColumn"},"description":"Column definitions for the table"},"order":{"type":"array","items":{"$ref":"#/components/schemas/InventoryTableOrderSpec"},"description":"Sort order specification"},"filters":{"$ref":"#/components/schemas/InventoryTableFilters"},"search":{"type":"object","properties":{"value":{"type":"string","description":"Search string to filter rows"},"regex":{"type":"boolean","description":"Whether the search value is a regex"}},"description":"Search parameters"},"start":{"type":"number","description":"Pagination offset (row index to start from)","example":0},"length":{"type":"number","description":"Number of rows to return (-1 for all)","example":50},"draw":{"type":"number","description":"DataTables draw counter for request/response sequencing"},"num_days":{"type":"number","description":"Number of days for velocity lookback (default 15)"},"range":{"$ref":"#/components/schemas/InventoryTableRange"},"statuses":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Order statuses to include in velocity calculation"},"source":{"type":"string","description":"Source context (e.g. purchase_order_add_items)"}},"required":["columns","order","start","length"],"description":"Table configuration for the velocity export (same as build_rows with type=velocity)"},"ItemBarcodeResult":{"type":"object","properties":{"_id":{"type":"string","description":"Item ID","example":"507f1f77bcf86cd799439011"},"sku":{"type":"string","description":"Item SKU"},"upc":{"type":"string","description":"Primary barcode"},"serial_numbers":{"type":"array","items":{"type":"string"},"description":"Serial numbers"},"barcodes":{"type":"array","items":{"type":"string"},"description":"Additional barcodes"}},"required":["_id"]},"ItemListing":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID the listing belongs to","example":"507f1f77bcf86cd799439011"},"item_id":{"type":"string","description":"Channel listing item ID"},"variant_id":{"type":"string","description":"Channel listing variant ID"},"source_name":{"type":"string","description":"Source of the listing link"}}},"ItemSupply":{"type":"object","properties":{"item_id":{"type":"string","description":"Supply item ID"},"quantity":{"type":"number","description":"Quantity per unit"},"unit":{"type":"string","description":"Unit of measure"},"deduction_method":{"type":"string","description":"Deduction method"}}},"ItemCustomField":{"type":"object","properties":{"field":{"type":"string","description":"Custom field name"},"value":{"type":"string","description":"Custom field value"}},"required":["field","value"]},"Item":{"type":"object","properties":{"_id":{"type":"string","description":"Unique item identifier","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"Item name"},"sku":{"type":"string","description":"Stock keeping unit"},"image":{"type":"string","description":"Image URL"},"upc":{"type":"string","description":"Universal product code"},"listings":{"type":"array","items":{"$ref":"#/components/schemas/ItemListing"},"description":"Store listing connections"},"supplies":{"type":"array","items":{"$ref":"#/components/schemas/ItemSupply"},"description":"Supply chain connections"},"custom_fields":{"type":"array","items":{"$ref":"#/components/schemas/ItemCustomField"},"description":"Custom field key-value pairs"},"barcodes":{"type":"array","items":{"type":"string"},"description":"Additional barcodes"},"tags":{"type":"array","items":{"type":"string"},"description":"Array of tag IDs assigned to this item (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"]},"length":{"type":"number","description":"Package length"},"width":{"type":"number","description":"Package width"},"height":{"type":"number","description":"Package height"},"weight_unit":{"type":"string","enum":["oz","lb","g","kg"],"description":"Weight unit"},"dimensions_unit":{"type":"string","enum":["in","cm"],"description":"Dimensions unit"},"weight":{"type":"number","description":"Package weight"},"notes":{"type":"string","description":"Item notes"},"fulfillment_sku":{"type":"string","description":"SKU used for fulfillment"},"unit":{"type":"string","description":"Unit of measure"},"cost":{"type":"number","description":"Item cost"},"wholesale":{"type":"number","description":"Wholesale price"},"retail":{"type":"number","description":"Retail price"},"active":{"type":"boolean","description":"Whether the item is active"},"alias_locations":{"type":"object","properties":{},"description":"Warehouse location assignments (keyed by warehouse ID)"}},"required":["_id"]},"LocationMapItem":{"type":"object","properties":{"element_id":{"type":"string","description":"Item ID"},"item_id":{"type":"string","description":"Item ID (alias for element_id, backwards compatible)"},"on_hand":{"type":"number","description":"Quantity on hand at this location"},"alert":{"type":"number","description":"Alert threshold"},"inbound":{"type":"number","description":"Inbound quantity"}}},"ItemLocation":{"type":"object","properties":{"_id":{"type":"string","description":"Location ID"},"name":{"type":"string","description":"Location name"},"warehouse_id":{"type":"string","description":"Warehouse ID"},"items":{"type":"array","items":{"$ref":"#/components/schemas/LocationMapItem"},"description":"Item inventory entries at this location"}}},"Kit":{"type":"object","properties":{"_id":{"type":"string","description":"Unique kit identifier","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"Kit name"},"active":{"type":"boolean","description":"Whether the kit is active"},"listing_sku":{"type":"string","description":"Listing SKU"},"fulfillment_sku":{"type":"string","description":"Fulfillment SKU"},"tags":{"type":"array","items":{"type":"string"},"description":"Array of tag IDs (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"]},"items":{"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","description":"Component item ID"},"quantity":{"type":"number","description":"Quantity of this item in the kit"}},"required":["item_id","quantity"]},"description":"Component items"},"listings":{"type":"array","items":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID for this listing link","example":"507f1f77bcf86cd799439011"},"item_id":{"type":"string","description":"Listing item ID"},"variant_id":{"type":"string","nullable":true,"description":"Listing variant ID"}}},"description":"Store listing connections"},"barcodes":{"type":"array","items":{"type":"string"},"description":"Additional barcodes"},"cost":{"type":"number","nullable":true,"description":"Kit cost"},"retail":{"type":"number","nullable":true,"description":"Retail price"},"wholesale":{"type":"number","nullable":true,"description":"Wholesale price"},"sale":{"type":"number","nullable":true,"description":"Sale price"},"image":{"type":"string","nullable":true,"description":"Kit image URL"},"images":{"type":"array","items":{"type":"string"},"description":"Additional image URLs"},"description":{"type":"string","nullable":true,"description":"Kit description"},"notes":{"type":"string","nullable":true,"description":"Kit notes"},"weight":{"type":"number","nullable":true,"description":"Kit weight"},"weight_unit":{"type":"string","nullable":true,"enum":["oz","lb","g","kg"],"description":"Weight unit"},"lag_time":{"type":"number","nullable":true,"description":"Lag time in days"},"custom_fields":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Custom field name"},"value":{"type":"string","description":"Custom field value"}},"required":["field","value"]},"description":"Custom fields"},"calc_cost":{"type":"number","description":"Calculated cost from component items"},"calc_retail":{"type":"number","description":"Calculated retail from component items"}},"required":["_id","name"]},"ListingVariant":{"type":"object","properties":{"id":{"type":"string","description":"Variant ID from the sales channel"},"sku":{"type":"string","description":"Variant SKU"},"name":{"type":"string","description":"Variant name or option value"},"upc":{"type":"string","description":"Variant barcode / UPC"},"price":{"type":"number","description":"Variant price"},"image":{"type":"string","description":"Variant image URL"},"weight":{"type":"number","description":"Variant weight"},"weight_unit":{"type":"string","description":"Weight unit (lb, kg, oz, g)"},"on_hand":{"type":"number","description":"On-hand quantity reported by the channel"},"inventory_rule":{"type":"string","description":"Inventory sync rule for this variant"},"price_rule":{"type":"string","description":"Price sync rule for this variant"},"last_pushed":{"type":"number","nullable":true,"description":"Last quantity pushed to the channel"},"last_pushed_time":{"type":"string","nullable":true,"description":"Timestamp of last inventory push","example":"2025-01-15T12:00:00.000Z"},"last_failed":{"type":"number","nullable":true,"description":"Last failed push quantity"},"last_failed_time":{"type":"string","nullable":true,"description":"Timestamp of last failed push","example":"2025-01-15T12:00:00.000Z"},"last_price":{"type":"number","nullable":true,"description":"Last price pushed to the channel"},"inventory":{"type":"array","items":{"type":"object","properties":{}},"description":"Multi-location inventory entries for this variant"}}},"Listing":{"type":"object","properties":{"_id":{"type":"string","description":"Unique listing identifier","example":"507f1f77bcf86cd799439011"},"store_id":{"type":"string","description":"Store ID this listing belongs to","example":"507f1f77bcf86cd799439011"},"id":{"type":"string","description":"Listing ID from the sales channel"},"active":{"type":"boolean","description":"Whether the listing is active for sync"},"type":{"type":"string","description":"Listing type (e.g. FBA, FBM for Amazon)"},"name":{"type":"string","description":"Listing name / title"},"sku":{"type":"string","description":"Listing SKU"},"upc":{"type":"string","description":"Listing barcode / UPC"},"weight":{"type":"number","description":"Listing weight"},"weight_unit":{"type":"string","description":"Weight unit (lb, kg, oz, g)"},"length":{"type":"number","description":"Package length"},"width":{"type":"number","description":"Package width"},"height":{"type":"number","description":"Package height"},"dimensions_unit":{"type":"string","description":"Dimensions unit (in, cm)"},"cost":{"type":"number","description":"Listing cost"},"retail":{"type":"number","description":"Retail price"},"location":{"type":"string","description":"Warehouse location"},"on_hand":{"type":"number","description":"On-hand quantity reported by the channel"},"image":{"type":"string","description":"Listing image URL"},"price":{"type":"number","description":"Listing price"},"variants":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/ListingVariant"},"description":"Listing variants"},"variant_sets":{"type":"array","items":{"type":"object","properties":{}},"description":"Variant option sets (e.g. Size, Color)"},"variants_rule":{"type":"string","description":"Rule for handling variant sync (e.g. sync_all, sync_none)"},"inventory_rule":{"type":"string","description":"Inventory sync rule"},"price_rule":{"type":"string","description":"Price sync rule"},"fulfillment_rule":{"type":"string","nullable":true,"description":"Fulfillment rule (Amazon only)"},"restock_date":{"type":"string","nullable":true,"description":"Restock date (Amazon only)","example":"2025-01-15"},"restock_quantity":{"type":"number","nullable":true,"description":"Restock quantity (Amazon only)"},"last_pushed":{"type":"number","nullable":true,"description":"Last quantity pushed to the channel"},"last_pushed_time":{"type":"string","nullable":true,"description":"Timestamp of last inventory push","example":"2025-01-15T12:00:00.000Z"},"last_failed":{"type":"number","nullable":true,"description":"Last failed push quantity"},"last_failed_time":{"type":"string","nullable":true,"description":"Timestamp of last failed push","example":"2025-01-15T12:00:00.000Z"},"last_price":{"type":"number","nullable":true,"description":"Last price pushed to the channel"},"custom_fields":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Custom field name"},"value":{"type":"string","description":"Custom field value"}},"required":["field","value"]},"description":"Custom field key-value pairs"}},"required":["_id","store_id","id"]},"LocationItem":{"type":"object","properties":{"item_id":{"type":"string","description":"SKULabs item ID","example":"507f1f77bcf86cd799439011"},"on_hand":{"type":"number","description":"On-hand quantity at this location"},"inbound":{"type":"number","nullable":true,"description":"Inbound quantity"},"alert":{"type":"number","description":"Low-stock alert level"}},"required":["item_id","on_hand"]},"LocationWithItems":{"type":"object","properties":{"_id":{"type":"string","description":"Unique location identifier","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"Location name"},"warehouse_id":{"type":"string","description":"Parent warehouse ID","example":"507f1f77bcf86cd799439011"},"items":{"type":"array","items":{"$ref":"#/components/schemas/LocationItem"},"description":"Items assigned to this location"}},"required":["_id","name","items"],"description":"Location with its assigned items"},"Location":{"type":"object","properties":{"_id":{"type":"string","description":"Unique location identifier","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"Location name"},"warehouse_id":{"type":"string","description":"Parent warehouse ID","example":"507f1f77bcf86cd799439011"},"deleted":{"type":"boolean","description":"Whether the location has been deleted"}},"required":["_id","name"]},"ShipTo":{"type":"object","properties":{"name":{"type":"string","description":"Recipient name"},"company":{"type":"string","description":"Company name"},"address":{"type":"string","description":"Street address line 1"},"address2":{"type":"string","description":"Street address line 2"},"city":{"type":"string","description":"City"},"state":{"type":"string","description":"State or province"},"postal_code":{"type":"string","description":"Postal or ZIP code"},"country_code":{"type":"string","description":"Two-letter country code"},"phone":{"type":"string","description":"Phone number"},"email":{"type":"string","description":"Email address"}},"description":"Shipping address"},"ShipmentOrderItem":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID"},"variant_id":{"type":"string","description":"Variant ID"},"quantity":{"type":"number","description":"Quantity shipped"},"sku":{"type":"string","description":"Item SKU"}}},"Shipment":{"type":"object","properties":{"_id":{"type":"string","description":"Shipment ID","example":"507f1f77bcf86cd799439011"},"user_id":{"type":"string","description":"User who created the shipment","example":"507f1f77bcf86cd799439011"},"time":{"type":"string","description":"Shipment creation time","example":"2025-01-15T12:00:00.000Z"},"voided":{"type":"boolean","description":"Whether the shipment is voided"},"return_label":{"type":"boolean","description":"Whether this is a return label"},"deducted":{"type":"boolean","description":"Whether inventory was deducted"},"response":{"type":"object","properties":{"provider":{"type":"string","description":"Carrier provider name"},"service":{"type":"string","description":"Service name"},"label_url":{"type":"string","description":"Label URL"},"tracking_number":{"type":"string","description":"Tracking number"},"tracking_url":{"type":"string","description":"Tracking URL"},"amount":{"type":"number","description":"Shipping cost amount"},"currency":{"type":"string","description":"Currency code"},"shipment_id":{"type":"string","description":"External shipment ID"},"signature":{"type":"boolean","description":"Signature confirmation"}},"description":"Shipment response details"},"request":{"type":"object","properties":{"order_items":{"type":"array","items":{"$ref":"#/components/schemas/ShipmentOrderItem"},"description":"Items included in shipment"},"parcel":{"type":"object","properties":{"length":{"type":"number","description":"Package length"},"width":{"type":"number","description":"Package width"},"height":{"type":"number","description":"Package height"},"weight":{"type":"number","description":"Package weight"},"weight_unit":{"type":"string","description":"Weight unit"},"dimensions_unit":{"type":"string","description":"Dimensions unit"}},"description":"Parcel dimensions"},"address":{"type":"object","properties":{},"description":"Ship-to address used in request"},"carrier_account_ids":{"type":"array","items":{"type":"string"},"description":"Carrier account IDs"},"provider":{"type":"string","description":"Carrier provider"},"service":{"nullable":true,"description":"Service code or name"}},"description":"Shipment request parameters"}}},"OrderRef":{"type":"object","properties":{"order_number":{"type":"string","description":"Order number"},"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"}},"required":["order_number","store_id"]},"OrderLogEntry":{"type":"object","properties":{"user_id":{"type":"string","nullable":true,"description":"User ID who performed the action","example":"507f1f77bcf86cd799439011"},"action":{"type":"string","description":"Action performed (e.g. shipped, cancelled, overrode)"},"time":{"type":"string","description":"ISO timestamp of the action","example":"2025-01-15T12:00:00.000Z"},"details":{"nullable":true,"description":"Additional details about the action"}}},"OrderScan":{"type":"object","properties":{"_id":{"type":"string","description":"Scan ID","example":"507f1f77bcf86cd799439011"},"user_id":{"type":"string","description":"User who performed the scan","example":"507f1f77bcf86cd799439011"},"barcode_id":{"type":"string","description":"Barcode ID scanned"},"item_id":{"type":"string","description":"Item ID"},"variant_id":{"type":"string","description":"Variant ID"},"time":{"type":"string","description":"Scan time","example":"2025-01-15T12:00:00.000Z"},"skipped":{"type":"boolean","description":"Whether the scan was skipped"},"out_of_stock":{"type":"boolean","description":"Whether item was out of stock"},"note":{"type":"string","description":"Scan note (e.g. serial number)"},"quantity":{"type":"number","description":"Quantity scanned"},"deducted":{"type":"boolean","description":"Whether inventory was deducted"},"location_id":{"type":"string","description":"Location ID"},"line_id":{"type":"string","description":"Line item ID"}}},"OrderFulfillment":{"type":"object","properties":{"_id":{"type":"string","description":"Fulfillment ID","example":"507f1f77bcf86cd799439011"},"status":{"type":"string","description":"Fulfillment status"},"tracking_number":{"type":"string","description":"Tracking number"},"tracking_url":{"type":"string","description":"Tracking URL"}}},"OrderTransaction":{"type":"object","properties":{"_id":{"type":"string","description":"Transaction ID","example":"507f1f77bcf86cd799439011"},"amount":{"type":"number","description":"Transaction amount"},"kind":{"type":"string","description":"Transaction kind"},"status":{"type":"string","description":"Transaction status"}}},"OrderReturn":{"type":"object","properties":{"_id":{"type":"string","description":"Return ID","example":"507f1f77bcf86cd799439011"},"rma_number":{"type":"string","description":"RMA number"},"status":{"type":"string","description":"Return status"},"items":{"type":"array","items":{"type":"object","properties":{}},"description":"Returned items"}}},"OrderNote":{"type":"object","properties":{"_id":{"type":"string","description":"Note ID","example":"507f1f77bcf86cd799439011"},"user_id":{"type":"string","description":"User who created the note","example":"507f1f77bcf86cd799439011"},"time":{"type":"string","description":"Note creation time","example":"2025-01-15T12:00:00.000Z"},"note":{"type":"string","description":"Note text"},"type":{"type":"string","enum":["internal","customer_facing"],"description":"Note type"}}},"StashItem":{"type":"object","properties":{"id":{"type":"string","description":"Listing item ID"},"variant_id":{"type":"string","description":"Variant ID"},"lineName":{"type":"string","description":"Line item name"},"quantity":{"type":"number","description":"Quantity ordered"},"price":{"type":"number","description":"Unit price"},"sku":{"type":"string","description":"SKU of the listing"},"line_id":{"type":"string","description":"Unique line item ID"},"metadata":{"nullable":true,"description":"Additional line item metadata"},"dropshipped":{"type":"boolean","description":"Whether this item is dropshipped"}}},"ShippingInformation":{"type":"object","properties":{"name":{"type":"string","description":"Recipient name"},"email":{"type":"string","description":"Email address"},"address":{"type":"string","description":"Street address line 1"},"street2":{"type":"string","description":"Street address line 2"},"city":{"type":"string","description":"City"},"state":{"type":"string","description":"State or province"},"zip":{"type":"string","description":"Postal or ZIP code"},"country":{"type":"string","description":"Country code"},"phone":{"type":"string","description":"Phone number"},"company":{"type":"string","description":"Company name"},"method":{"type":"string","description":"Shipping method"},"is_residential":{"type":"boolean","description":"Whether the address is residential"},"is_valid":{"type":"boolean","description":"Whether the address has been validated"},"hash":{"type":"string","description":"Address validation hash"},"address_type":{"type":"string","nullable":true,"description":"Address type classification"},"address_validation_data":{"type":"object","properties":{},"description":"Address validation result data"}},"description":"Shipping address and info"},"OrderStash":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"id":{"type":"string","description":"Order ID from the channel"},"date":{"type":"string","description":"Order date","example":"2025-01-15"},"items":{"type":"array","items":{"$ref":"#/components/schemas/StashItem"},"description":"Line items from the channel"},"shipping_information":{"$ref":"#/components/schemas/ShippingInformation"},"total":{"type":"number","description":"Order total"},"tax":{"type":"number","description":"Tax amount"},"shipping":{"type":"number","description":"Shipping cost"},"discount":{"type":"number","description":"Discount amount"},"notes":{"type":"string","description":"Channel notes"},"alternate_order_id":{"type":"string","description":"Alternate order identifier"},"order_id":{"type":"string","description":"Raw order ID from channel"},"currency":{"type":"string","description":"Currency code"}},"description":"Channel data stash"},"OrderListItem":{"type":"object","properties":{"_id":{"type":"string","description":"Unique order identifier","example":"507f1f77bcf86cd799439011"},"store_id":{"type":"string","description":"Store identifier","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"status":{"type":"string","enum":["unstarted","in_progress","shipped","cancelled","cleared","delayed","stopped","partially shipped","archived","awaiting fulfillment","pending","partially cleared"],"description":"Order status"},"type":{"type":"string","enum":["manual","combined","split","combined_child","split_parent"],"description":"Order type"},"items":{"type":"array","items":{"type":"object","properties":{}},"description":"Cleared/scanned items array"},"log":{"type":"array","items":{"$ref":"#/components/schemas/OrderLogEntry"},"description":"Order log entries"},"scans":{"type":"array","items":{"$ref":"#/components/schemas/OrderScan"},"description":"Scan records"},"fulfillments":{"type":"array","items":{"$ref":"#/components/schemas/OrderFulfillment"},"description":"Fulfillment records"},"transactions":{"type":"array","items":{"$ref":"#/components/schemas/OrderTransaction"},"description":"Transaction records"},"returns":{"type":"array","items":{"$ref":"#/components/schemas/OrderReturn"},"description":"Returns"},"notes":{"type":"array","items":{"$ref":"#/components/schemas/OrderNote"},"description":"Order notes"},"tags":{"type":"array","items":{"type":"string"},"description":"Array of tag IDs (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"]},"stash":{"$ref":"#/components/schemas/OrderStash"},"location":{"type":"string","description":"Assigned location name"},"batch_number":{"type":"number","nullable":true,"description":"Batch number"},"channel_status":{"type":"string","nullable":true,"description":"Channel-reported status"}}},"OrderShippedListItem":{"type":"object","properties":{"store_id":{"type":"string","description":"Store identifier","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"status":{"type":"string","enum":["unstarted","in_progress","shipped","cancelled","cleared","delayed","stopped","partially shipped","archived","awaiting fulfillment","pending","partially cleared"],"description":"Order status"},"type":{"type":"string","enum":["manual","combined","split","combined_child","split_parent"],"description":"Order type"},"stash":{"$ref":"#/components/schemas/OrderStash"},"log":{"type":"array","items":{"$ref":"#/components/schemas/OrderLogEntry"},"description":"Order log entries"},"batch_number":{"type":"number","nullable":true,"description":"Batch number"},"location":{"type":"string","description":"Assigned location name"},"warehouse_id":{"type":"string","description":"Warehouse ID"},"shipments":{"type":"array","items":{"$ref":"#/components/schemas/Shipment"},"description":"Shipment records"},"notes":{"type":"array","items":{"$ref":"#/components/schemas/OrderNote"},"description":"Order notes"},"shipped_date":{"type":"string","description":"Shipped date","example":"2025-01-15T12:00:00.000Z"},"last_shipment_date":{"type":"string","description":"Date of last shipment","example":"2025-01-15T12:00:00.000Z"},"tags":{"type":"array","items":{"type":"string"},"description":"Array of tag IDs (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"]},"channel_status":{"type":"string","nullable":true,"description":"Channel-reported status"},"marked_as_shipped":{"type":"boolean","description":"Whether marked as shipped on channel"},"processing":{"type":"boolean","description":"Whether the order is processing"},"date":{"type":"string","description":"Order date (copied from stash.date)","example":"2025-01-15"},"archived":{"type":"boolean","description":"Whether the order is archived"}}},"OrderBaseNumberResult":{"type":"object","properties":{"_id":{"type":"string","description":"Unique order identifier","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"status":{"type":"string","enum":["unstarted","in_progress","shipped","cancelled","cleared","delayed","stopped","partially shipped","archived","awaiting fulfillment","pending","partially cleared"],"description":"Order status"},"financial_status":{"type":"string","enum":["pending","paid"],"description":"Financial status"}},"required":["_id","order_number","status"]},"CustomsOrder":{"type":"object","properties":{"_id":{"type":"string","description":"Order ID","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"stash":{"type":"object","properties":{"shipping_information":{"$ref":"#/components/schemas/ShippingInformation"}},"description":"Order stash with shipping info"},"shipment_items":{"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID"},"quantity":{"type":"number","description":"Quantity"},"value":{"type":"number","description":"Retail value"},"weight":{"type":"number","description":"Item weight"},"weight_unit":{"type":"string","description":"Weight unit"},"tracking_number":{"type":"string","description":"Tracking number"},"carrier":{"type":"string","description":"Carrier provider"},"service":{"type":"string","description":"Shipping service"},"description":{"type":"string","description":"Customs description"},"tariff":{"type":"string","description":"Tariff code"},"origin":{"type":"string","description":"Country of origin"}}},"description":"Shipment items with customs data"}}},"ScannedSerialNumber":{"type":"object","properties":{"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"item_id":{"type":"string","description":"Item/barcode ID"},"time":{"type":"string","description":"Scan time","example":"2025-01-15T12:00:00.000Z"},"serial_number":{"type":"string","description":"Serial number note (prefixed with \"Serial #: \")"},"listing_id":{"type":"string","description":"Listing item ID"},"variant_id":{"type":"string","description":"Variant ID"},"quantity":{"type":"number","description":"Quantity scanned"}}},"OrderPurchaseOrder":{"type":"object","properties":{"_id":{"type":"string","description":"Purchase order ID","example":"507f1f77bcf86cd799439011"},"number":{"type":"string","description":"PO number"},"status":{"type":"string","description":"PO status"},"distributor_id":{"type":"string","description":"Distributor ID"},"warehouse_id":{"type":"string","description":"Warehouse ID"},"due_date":{"type":"string","description":"Due date","example":"2025-01-15"},"dropshipped":{"type":"boolean","description":"Whether dropshipped"},"items":{"type":"array","items":{"type":"object","properties":{}},"description":"PO items"},"log":{"type":"array","items":{"$ref":"#/components/schemas/OrderLogEntry"},"description":"PO log entries"},"total":{"type":"number","description":"PO total"},"currency":{"type":"string","description":"Currency code"}}},"OrderInventoryEntry":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID"},"location_id":{"type":"string","description":"Location ID"},"on_hand":{"type":"number","description":"Quantity on hand"},"alert":{"type":"number","description":"Alert threshold"},"inbound":{"type":"number","description":"Inbound quantity"}}},"OrderBarcode":{"type":"object","properties":{"id":{"type":"string","description":"Item ID"},"sku":{"type":"string","description":"Item SKU"},"quantity":{"type":"number","description":"Quantity needed"},"name":{"type":"string","description":"Item name"}}},"OrderDetail":{"type":"object","properties":{"_id":{"type":"string","description":"Unique order identifier","example":"507f1f77bcf86cd799439011"},"store_id":{"type":"string","description":"Store identifier","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"status":{"type":"string","enum":["unstarted","in_progress","shipped","cancelled","cleared","delayed","stopped","partially shipped","archived","awaiting fulfillment","pending","partially cleared"],"description":"Order status"},"financial_status":{"type":"string","enum":["pending","paid"],"description":"Financial status"},"type":{"type":"string","enum":["manual","combined","split","combined_child","split_parent"],"description":"Order type"},"stash":{"$ref":"#/components/schemas/OrderStash"},"backup_stash":{"allOf":[{"$ref":"#/components/schemas/OrderStash"},{"description":"Backup stash (saved before override)"}]},"log":{"type":"array","items":{"$ref":"#/components/schemas/OrderLogEntry"},"description":"Order log entries"},"items":{"type":"array","items":{"type":"object","properties":{}},"description":"Cleared/scanned items"},"scans":{"type":"array","items":{"$ref":"#/components/schemas/OrderScan"},"description":"Scan records"},"misscans":{"type":"array","items":{"type":"object","properties":{}},"description":"Misscan records"},"notes":{"type":"array","items":{"$ref":"#/components/schemas/OrderNote"},"description":"Order notes"},"shipments":{"type":"array","items":{"$ref":"#/components/schemas/Shipment"},"description":"Shipment records"},"fulfillments":{"type":"array","items":{"$ref":"#/components/schemas/OrderFulfillment"},"description":"Fulfillment records"},"transactions":{"type":"array","items":{"$ref":"#/components/schemas/OrderTransaction"},"description":"Transaction records"},"returns":{"type":"array","items":{"$ref":"#/components/schemas/OrderReturn"},"description":"Returns"},"tags":{"type":"array","items":{"type":"string"},"description":"Array of tag IDs (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"]},"purchase_orders":{"type":"array","items":{"$ref":"#/components/schemas/OrderPurchaseOrder"},"description":"Related purchase orders"},"inventory":{"type":"array","items":{"$ref":"#/components/schemas/OrderInventoryEntry"},"description":"Inventory for order items"},"barcodes":{"type":"array","items":{"$ref":"#/components/schemas/OrderBarcode"},"description":"Matched barcode/item mappings"},"parent_order_number":{"type":"string","description":"Parent order number (for split/combined orders)"},"source_store_id":{"type":"string","description":"Source store ID"},"source_order_number":{"type":"string","description":"Source order number"},"manual_order_number":{"type":"string","description":"Manual order number"},"combined_order_numbers":{"type":"array","items":{"type":"string"},"description":"Combined order numbers"},"base_order_number":{"type":"string","description":"Base order number"},"batch_number":{"type":"number","nullable":true,"description":"Batch number"},"overriden":{"type":"boolean","description":"Whether the order has been overridden"},"processing":{"type":"boolean","description":"Whether the order is processing (not archived)"},"channel_status":{"type":"string","nullable":true,"description":"Channel-reported status"},"location":{"type":"string","description":"Assigned location name"},"shipped_date":{"type":"string","description":"Shipped date","example":"2025-01-15T12:00:00.000Z"},"opened_date":{"type":"string","description":"Opened date","example":"2025-01-15T12:00:00.000Z"},"marked_as_shipped":{"type":"boolean","description":"Whether marked as shipped on channel"},"warehouse_id":{"type":"string","description":"Preferred warehouse ID"},"internal_order_number":{"type":"string","description":"Internal order number"},"shipping_memory_hash":{"type":"string","description":"Shipment memory hash"},"shipping_memory":{"type":"object","properties":{},"description":"Saved shipment memory settings"},"packaging":{"type":"object","properties":{},"description":"Calculated packaging dimensions"},"delivery_instructions":{"type":"array","items":{"$ref":"#/components/schemas/OrderNote"},"description":"Delivery instructions"}},"description":"Full order object with inventory and barcodes"},"SkippedScan":{"type":"object","properties":{"_id":{"type":"string","description":"Barcode ID","example":"507f1f77bcf86cd799439011"},"quantity":{"type":"number","description":"Total skipped quantity"},"user_ids":{"type":"array","items":{"type":"string"},"description":"User IDs who performed skipped scans"}},"required":["_id","quantity","user_ids"]},"AggregatedItem":{"type":"object","properties":{"_id":{"nullable":true,"description":"Grouped identifier","example":"507f1f77bcf86cd799439011"},"quantity":{"type":"number","description":"Aggregated quantity"}},"required":["quantity"]},"UndershippedItem":{"type":"object","properties":{"order_number":{"type":"string","description":"Order number"},"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"order_id":{"type":"string","description":"Order ID"},"order":{"type":"object","properties":{},"description":"Full order object"},"undershipped":{"type":"boolean","description":"Whether the order is undershipped"},"has_unlinked_line_item":{"type":"boolean","description":"Whether the order has unlinked line items"}}},"UnscannedOrder":{"type":"object","properties":{"_id":{"type":"string","description":"Order ID","example":"507f1f77bcf86cd799439011"},"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"order_number":{"type":"string","description":"Order number"},"status":{"type":"string","enum":["unstarted","in_progress","shipped","cancelled","cleared","delayed","stopped","partially shipped","archived","awaiting fulfillment","pending","partially cleared"],"description":"Order status"},"shipped_date":{"type":"string","description":"Shipped date","example":"2025-01-15T12:00:00.000Z"}}},"PurchaseOrderItem":{"type":"object","properties":{"item_id":{"type":"string","description":"Item ID"},"kit_id":{"type":"string","description":"Kit ID (when the PO line is a kit)"},"sku":{"type":"string","description":"Item SKU"},"name":{"type":"string","description":"Item name"},"quantity":{"type":"number","description":"Ordered quantity"},"received":{"type":"number","description":"Received quantity"},"cost":{"type":"number","description":"Unit cost"},"rate":{"type":"number","description":"Unit rate"},"type":{"type":"string","enum":["item","kit"],"description":"Line item type"},"serial_numbers":{"type":"array","items":{"type":"string"},"description":"Serial/lot numbers received"},"description":{"type":"string","description":"Item description/notes"},"unit":{"type":"string","description":"Unit of measure"}}},"PurchaseOrderLogEntry":{"type":"object","properties":{"user_id":{"type":"string","nullable":true,"description":"User ID who performed the action","example":"507f1f77bcf86cd799439011"},"action":{"type":"string","description":"Action type (created, edited, accepted, added tag, removed tag, etc.)"},"details":{"type":"object","properties":{},"description":"Additional details about the action"},"time":{"type":"string","description":"ISO 8601 timestamp of the action","example":"2025-01-15T12:00:00.000Z"}}},"PurchaseOrder":{"type":"object","properties":{"_id":{"type":"string","description":"Unique purchase order identifier","example":"507f1f77bcf86cd799439011"},"account_id":{"type":"string","description":"Account ID"},"number":{"type":"string","description":"PO number"},"distributor_id":{"type":"string","description":"Distributor/vendor ID"},"log":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrderLogEntry"},"description":"Activity log entries"},"status":{"type":"string","enum":["closed","created","receiving","acknowledged","sent","edited","transit","accepting"],"description":"PO status"},"items":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrderItem"},"description":"Line items"},"custom_items":{"type":"array","items":{"type":"object","properties":{}},"description":"Custom line items"},"custom_adjustments":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Adjustment type name"},"amount":{"type":"number","description":"Adjustment amount"}},"required":["name","amount"]},"description":"Custom adjustments (fees, duties, etc.)"},"tracking":{"type":"array","items":{"type":"object","properties":{}},"description":"Tracking information"},"subtotal":{"type":"number","description":"Subtotal amount"},"total":{"type":"number","description":"Total amount"},"tax":{"type":"number","description":"Tax amount"},"tax_per":{"type":"number","description":"Tax percentage"},"shipping":{"type":"number","description":"Shipping cost"},"discount":{"type":"number","description":"Discount amount"},"due_date":{"type":"string","nullable":true,"format":"date","description":"Due date","example":"2025-01-15"},"arrival_date":{"type":"string","nullable":true,"description":"Expected arrival date","example":"2025-01-15"},"closed_date":{"type":"string","nullable":true,"description":"Date the PO was closed","example":"2025-01-15"},"metadata":{"type":"object","properties":{},"description":"Additional metadata"},"discount_per":{"type":"number","description":"Discount percentage"},"tags":{"type":"array","items":{"type":"string"},"description":"Array of tag IDs (ObjectId strings referencing the tag collection)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"]},"store_id":{"type":"string","description":"Associated store ID","example":"507f1f77bcf86cd799439011"},"warehouse_id":{"type":"string","description":"Destination warehouse ID"},"memo":{"type":"string","nullable":true,"description":"PO memo"},"currency":{"type":"string","description":"Currency code"},"terms":{"type":"string","nullable":true,"description":"Payment terms"},"method":{"type":"string","nullable":true,"description":"Payment method"},"order_number":{"type":"string","description":"Associated order number"},"dropship_address":{"type":"object","properties":{},"description":"Dropship address"},"dropshipped":{"type":"boolean","description":"Whether this PO is dropshipped"},"bol_pro_numbers":{"type":"array","items":{"type":"string"},"description":"BOL/PRO numbers"}},"required":["_id","number","status"]},"ShipmentRequest":{"type":"object","properties":{"parcel":{"type":"object","properties":{"length":{"type":"number","description":"Package length"},"width":{"type":"number","description":"Package width"},"height":{"type":"number","description":"Package height"},"weight":{"type":"number","description":"Package weight"}},"description":"Parcel dimensions and weight"},"address":{"type":"object","properties":{"name":{"type":"string","description":"Recipient name"},"company":{"type":"string","description":"Company name"},"street1":{"type":"string","description":"Street address line 1"},"street2":{"type":"string","description":"Street address line 2"},"city":{"type":"string","description":"City"},"state":{"type":"string","description":"State or province"},"zip":{"type":"string","description":"Postal or ZIP code"},"country":{"type":"string","description":"Country code"},"phone":{"type":"string","description":"Phone number"},"email":{"type":"string","description":"Email address"}},"description":"Destination address"},"origin_address":{"type":"object","properties":{"zip":{"type":"string","description":"Origin ZIP code"},"state":{"type":"string","description":"Origin state"},"country":{"type":"string","description":"Origin country code"}},"description":"Origin address"},"order_items":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string","description":"Item SKU"},"item_id":{"type":"string","description":"Item ID","example":"507f1f77bcf86cd799439011"},"quantity":{"type":"number","description":"Quantity shipped"},"location_id":{"type":"string","description":"Inventory location ID","example":"507f1f77bcf86cd799439011"}}},"description":"Items included in this shipment"},"signature_confirmation":{"type":"boolean","description":"Whether signature confirmation was requested"},"insurance_amount":{"type":"number","description":"Insurance amount"},"reference_1":{"type":"string","description":"Reference field 1"},"reference_2":{"type":"string","description":"Reference field 2"}},"description":"Shipment request details"},"ShipmentResponse":{"type":"object","properties":{"provider":{"type":"string","description":"Shipping provider name (e.g. usps, fedex)"},"service":{"type":"string","description":"Shipping service name"},"tracking_number":{"type":"string","description":"Tracking number"},"shipment_id":{"type":"string","description":"Carrier shipment ID"},"amount":{"type":"number","description":"Postage cost"},"fees":{"type":"number","description":"Additional carrier fees"}},"description":"Carrier response details"},"Parcel":{"type":"object","properties":{"length":{"type":"number","description":"Package length"},"width":{"type":"number","description":"Package width"},"height":{"type":"number","description":"Package height"},"weight":{"type":"number","description":"Package weight (ounces by default)"},"weight_unit":{"type":"string","enum":["oz","lb","g","kg"],"description":"Weight unit"},"dimensions_unit":{"type":"string","enum":["in","cm"],"description":"Dimensions unit"},"template":{"type":"string","description":"Predefined package template name"},"template_carrier":{"type":"string","description":"Carrier type for the template"}},"description":"Package dimensions and weight"},"ShippingAddress":{"type":"object","properties":{"name":{"type":"string","description":"Recipient or sender name"},"company":{"type":"string","description":"Company name"},"street":{"type":"string","description":"Street address line 1"},"street_2":{"type":"string","description":"Street address line 2"},"city":{"type":"string","description":"City"},"state":{"type":"string","description":"State or province code"},"zip":{"type":"string","description":"Postal or ZIP code"},"country":{"type":"string","description":"Two-letter country code","example":"US"},"phone":{"type":"string","description":"Phone number"},"email":{"type":"string","description":"Email address"},"residential":{"type":"boolean","nullable":true,"description":"Whether the address is residential"}},"description":"Destination address"},"CustomsItem":{"type":"object","properties":{"description":{"type":"string","description":"Item description for customs"},"quantity":{"type":"number","description":"Item quantity"},"value":{"type":"number","description":"Item value per unit"},"weight":{"type":"number","description":"Item weight"},"hs_tariff_number":{"type":"string","description":"Harmonized System tariff number"},"origin_country":{"type":"string","description":"Country of origin","example":"US"}}},"ShipRequest":{"type":"object","properties":{"_id":{"type":"string","description":"Shipment request ID","example":"507f1f77bcf86cd799439011"},"store_id":{"type":"string","description":"Store ID","example":"507f1f77bcf86cd799439011"},"parcel":{"$ref":"#/components/schemas/Parcel"},"address":{"$ref":"#/components/schemas/ShippingAddress"},"origin_address":{"allOf":[{"$ref":"#/components/schemas/ShippingAddress"},{"description":"Origin/ship-from address"}]},"return_address":{"allOf":[{"$ref":"#/components/schemas/ShippingAddress"},{"description":"Return address"}]},"rate":{"type":"object","properties":{"service":{"type":"string","description":"Selected service name"},"service_code":{"type":"string","description":"Selected service code (use \"cheapest\" for cheapest rate)"},"carrier_account":{"type":"object","properties":{"_id":{"type":"string","description":"Carrier account ID","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"Carrier account name"}},"description":"Carrier account for this rate"}},"description":"Selected rate/service"},"carrier_account_ids":{"type":"array","items":{"type":"string"},"description":"Carrier account IDs to consider"},"order_items":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string","description":"Item SKU"},"item_id":{"type":"string","description":"Item ID","example":"507f1f77bcf86cd799439011"},"quantity":{"type":"number","description":"Quantity to ship"},"location_id":{"type":"string","description":"Inventory location ID","example":"507f1f77bcf86cd799439011"}}},"description":"Items to include in this shipment"},"customs_items":{"type":"array","items":{"$ref":"#/components/schemas/CustomsItem"},"description":"Customs declaration items for international shipments"},"signature_confirmation":{"type":"boolean","description":"Request signature confirmation"},"insurance_amount":{"type":"number","description":"Insurance coverage amount"},"insurance_type":{"type":"string","description":"Insurance type (direct or default)"},"return_label":{"type":"boolean","description":"Generate a return label instead of outbound"},"reference_1":{"type":"string","description":"Reference field 1"},"reference_2":{"type":"string","description":"Reference field 2"},"format":{"type":"string","description":"Label format (e.g. paper for laser printer)"},"currency":{"type":"string","description":"Currency code","example":"USD"},"origin":{"type":"string","description":"Warehouse ID for origin","example":"507f1f77bcf86cd799439011"},"shipping_date":{"type":"string","description":"Requested shipping date (ISO 8601)","example":"2025-01-15"},"should_deduct":{"type":"boolean","description":"Whether to deduct inventory on shipment"}},"required":["parcel","address"],"description":"Original shipment request"},"ShipmentResult":{"type":"object","properties":{"_id":{"type":"string","description":"Shipment ID","example":"507f1f77bcf86cd799439011"},"request":{"$ref":"#/components/schemas/ShipRequest"},"response":{"type":"object","properties":{"provider":{"type":"string","description":"Shipping provider"},"service":{"type":"string","description":"Service used"},"tracking_number":{"type":"string","description":"Tracking number"},"shipment_id":{"type":"string","description":"Carrier shipment ID"},"amount":{"type":"number","description":"Postage cost"},"label_url":{"type":"string","description":"URL to download the shipping label"},"fees":{"type":"number","description":"Additional carrier fees"}},"description":"Carrier response"},"time":{"type":"string","description":"Shipment creation time","example":"2025-01-15T12:00:00.000Z"},"state":{"type":"string","enum":["shipped","failed","voided"],"description":"Shipment state"},"manual_shipment":{"type":"boolean","description":"Whether this was a manual shipment"},"deducted":{"type":"boolean","description":"Whether inventory was deducted"}}},"Store":{"type":"object","properties":{"_id":{"type":"string","description":"Unique store identifier","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"Store name"},"type":{"type":"string","description":"Store integration type (e.g. shopify, amazon, manual)"}},"required":["_id","name","type"]},"Tag":{"type":"object","properties":{"_id":{"type":"string","description":"Unique tag identifier","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"Tag name"},"type":{"type":"string","enum":["orders","items","purchase_order","customers"],"description":"Tag type"},"color":{"type":"string","enum":["red","orange","yellow","green","blue","purple","indigo","gray","maroon","fuchsia","chartreuse","dodger","salmon","cornflower","khaki","steel","plum"],"description":"Tag color"}},"required":["_id","name","type","color"]},"TransferOrderItem":{"type":"object","properties":{"_id":{"type":"string","description":"Embedded document ID for this line item","example":"507f1f77bcf86cd799439011"},"item_id":{"type":"string","description":"Catalog item ID","example":"507f1f77bcf86cd799439011"},"source_location_id":{"type":"string","description":"Source location ID","example":"507f1f77bcf86cd799439011"},"destination_location_id":{"type":"string","description":"Destination location ID","example":"507f1f77bcf86cd799439011"},"quantity":{"type":"number","description":"Quantity to transfer"},"deducted":{"type":"boolean","description":"Whether the item has been fully deducted from source"},"transferred":{"type":"boolean","description":"Whether the item has been fully transferred to destination"},"deducted_quantity":{"type":"number","description":"Quantity deducted so far"},"transferred_quantity":{"type":"number","description":"Quantity transferred so far"},"deducted_serial_numbers":{"type":"array","items":{"type":"string"},"description":"Serial numbers that have been deducted"},"transferred_serial_numbers":{"type":"array","items":{"type":"string"},"description":"Serial numbers that have been transferred"}},"required":["item_id","quantity"]},"TransferOrderLogEntry":{"type":"object","properties":{"user_id":{"type":"string","nullable":true,"description":"User ID who performed the action","example":"507f1f77bcf86cd799439011"},"action":{"type":"string","description":"Action type (created, processing, edited, deducted, transferred, transit, closed)"},"time":{"type":"string","description":"ISO 8601 timestamp of the action","example":"2025-01-15T12:00:00.000Z"},"details":{"type":"object","properties":{},"description":"Additional details about the action"}},"required":["action","time"]},"TransferOrder":{"type":"object","properties":{"_id":{"type":"string","description":"Unique transfer order identifier","example":"507f1f77bcf86cd799439011"},"account_id":{"type":"string","description":"Account ID","example":"507f1f77bcf86cd799439011"},"number":{"type":"number","description":"Auto-incremented transfer order number"},"name":{"type":"string","description":"Transfer order name"},"source_warehouse_id":{"type":"string","description":"Source warehouse ID","example":"507f1f77bcf86cd799439011"},"destination_warehouse_id":{"type":"string","description":"Destination warehouse ID","example":"507f1f77bcf86cd799439011"},"status":{"type":"string","enum":["created","processing","transit","closed"],"description":"Transfer order status"},"notes":{"type":"string","nullable":true,"description":"Transfer order notes"},"items":{"type":"array","items":{"$ref":"#/components/schemas/TransferOrderItem"},"description":"Line items in the transfer order"},"log":{"type":"array","items":{"$ref":"#/components/schemas/TransferOrderLogEntry"},"description":"Activity log entries"}},"required":["_id","number","source_warehouse_id","destination_warehouse_id","status"],"description":"Transfer order object"},"Address":{"type":"object","properties":{"address":{"type":"string","description":"Street address"},"city":{"type":"string","description":"City"},"state":{"type":"string","description":"State or province"},"postal_code":{"type":"string","description":"Postal or ZIP code"},"country_code":{"type":"string","description":"Two-letter country code"},"phone":{"type":"string","description":"Phone number"},"company":{"type":"string","description":"Company name"},"name":{"type":"string","description":"Contact name"}},"description":"Warehouse address"},"Warehouse":{"type":"object","properties":{"_id":{"type":"string","description":"Unique warehouse identifier","example":"507f1f77bcf86cd799439011"},"name":{"type":"string","description":"Warehouse name"},"type":{"type":"string","description":"Warehouse type"},"store_id":{"type":"string","description":"Associated store ID","example":"507f1f77bcf86cd799439011"},"is_default":{"type":"boolean","description":"Whether this is the default warehouse"},"address":{"$ref":"#/components/schemas/Address"},"states":{"type":"array","items":{"type":"string"},"description":"State routing assignments"}},"required":["_id","name","type"]},"WebhookHandler":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Webhook destination URL"},"method":{"type":"string","description":"HTTP method for the webhook"},"headers":{"type":"object","properties":{},"description":"Headers to send with the webhook"}},"required":["url","method"],"description":"Webhook handler configuration"}}}}