Let me address all three focus areas comprehensively:
API Gateway Payload Limits: Your 413 error is from NGINX, which sits in front of Appian as a reverse proxy. NGINX has a default client_max_body_size of 1MB. To fix this specific error, update your nginx.conf:
http {
client_max_body_size 20M;
client_body_timeout 300s;
}
However, this is just the first layer. Appian’s application server (Tomcat) also has a maxPostSize limit, typically 2MB by default. Check your server.xml configuration. Even if you increase both limits, you’re setting yourself up for failures.
Batch Processing Strategy: Instead of one 15MB payload with 8,500 records, implement proper batching. Here’s the optimal approach for master data migration:
- Split into batches of 500 records (~880KB each)
- Process batches sequentially with error tracking
- Implement retry logic for failed batches
- Log success/failure for each batch
This gives you granular control. If batch 7 fails, you retry just that batch instead of reprocessing all 8,500 records. Total processing time is actually faster because smaller payloads process more efficiently.
Master Data Migration Best Practices: For a migration of this scale, use a staged approach:
Phase 1: Validate data quality on first 100 records
Phase 2: Migrate in batches of 500 during off-peak hours
Phase 3: Verify data integrity after each batch
Phase 4: Run reconciliation report comparing source vs target counts
Implement a migration tracking table in Appian with columns: batchNumber, recordCount, status, startTime, endTime, errorDetails. This provides full visibility into migration progress and makes troubleshooting much easier.
Create a simple loop in your migration script:
for (batch in batches) {
response = callIntegrationAPI(batch);
logBatchResult(batch.id, response.status);
if (response.failed) retryQueue.add(batch);
}
For your immediate deadline: Don’t increase payload limits. Instead, write a quick batch processor that splits your 8,500 records into 17 batches of 500. Run it tonight during low-traffic hours. With proper error handling, the entire migration completes in under 30 minutes and you have full audit trail of what succeeded or failed. This is infinitely more reliable than hoping a single 15MB payload succeeds.