Network timeout on a POST | Synchronous request | Retry with the same Idempotency-Key. |
409 conflict on Idempotency-Key | Synchronous request | Either replay the original body, or generate a fresh key. |
400 validation_error | Synchronous request | Inspect validationErrors[], fix the row, resubmit. |
409 conflict on fundings | Synchronous request | Forms haven’t been uploaded yet. Upload form first. |
5xx from Zest | Synchronous request | Exponential backoff, cite errorId if persistent. |
| Webhook receipt | Async | Verify signature → dedup eventId → process. |
| Webhook receipt timeout | Async | Zest re-delivers per the retry schedule; idempotency on your side is mandatory. |