Handle errors and rate limits

Preserve the request body and Idempotency-Key before sending a validation.

  1. Read 200 completed as a completed determination, including uncertain.
  2. Read POST 202 in_progress as accepted work; save its ID for GET retrieval.
  3. On GET HTTP 200, inspect status: it may still be active or contain a stored failure.
  4. Correct 401, 403, and 422 before another attempt.
  5. Reconcile 409 using the idempotency rules.
  6. On 429, distinguish request-rate exhaustion from organization VU capacity. Inspect usage and respect Retry-After where supplied.
  7. Preserve identity after a transport failure: outcome may be unknown. Use retrieval or deliberate same-key replay.

Do not automatically retry a POST just because a response is 500, 502, 503, or 504. A stored hybrid failure is terminal. See Errors for exact HTTP and sanitized failure mappings.

GET adds no VUs, but remains subject to authentication and request-rate controls. Avoid aggressive polling; respect the returned Retry-After header before a later retrieval.