Idempotent creates
Document and job creates require anIdempotency-Key header. The SDK generates a UUID when you omit one. Replaying the same key with the same body returns the existing resource instead of starting a second billed run. Changing the body with the same key conflicts.
parse and compare also accept idempotencyKey. The client uses it for the job (and a derived key for the document) so a retried convenience call does not double-submit.
Retention
From the hosted product rules:
Storage in these windows does not consume credits. Do not rely on expiry for sensitive data. Release stored artifacts when the workflow finishes.
Cleanup after a job
documents.release removes the source and retained results while preserving job and execution records. It refuses while a job is active.
documents.delete removes the document, related jobs, and retained results. Use it when you do not need the history.
For hosted parse / compare, release via the returned resources when you no longer need retained outputs:
Partial failure
In a multi-provider job, one execution can fail while another completes. Read per-executionstatus and resultAvailable. Do not treat the whole job as useless because a single engine timed out.