Our automated picking system is failing when creating picklists in bulk through the Epicor REST API. We’re getting “Invalid JSON payload” errors on about 40% of our bulk requests to the warehouse-mgmt module.
JSON schema validation passes when we test with online validators, but Epicor rejects it. When we send the same picklists individually (not in bulk), they work fine. Our automated picking integration depends on bulk creation for efficiency. Running ES 10.2.600. Any ideas what’s causing the validation failure?
Perfect, we do have Auto-Location Assignment enabled. I’ll test with “AUTO” as the locationId. One more question - should priority be an integer or can it be a string? And what’s the valid range?
I ran into this exact issue three months ago. The problem isn’t just missing warehouseId - the bulk endpoint requires additional metadata fields that aren’t documented clearly. You need picklistType, priority, and requestedDate in each picklist object. Also, the items array needs locationId for each item, not just sku and qty. The API documentation for bulk operations is incomplete in 10.2.600. Here’s what worked for us:
The bulk endpoint in 10.2.600 has stricter validation than individual operations. Each picklist object needs a warehouseId field even if you’ve set a default warehouse in your API credentials. Also check if you’re hitting the bulk array size limit - I believe it’s capped at 50 picklists per request in that version.
We’re definitely under 50 picklists per batch - usually 15-20. I’ll try adding warehouseId to each object. But it’s strange that the error message doesn’t specify what’s missing, just says “Invalid JSON payload”. Makes debugging really difficult.