PDF generation · Implement
Idempotent PDF Generation Requests Explained
Prevent duplicate work and safely replay matching synchronous generation requests after network failures.
For developer · 7 min · Reviewed Jul 31, 2026
The duplicate-request problem
A client can lose the response after the server has completed generation. Retrying without an operation identity can create duplicate work or ambiguous outcomes.
One key per logical operation
Create a unique key in trusted application code and store it with the business operation. Reuse it only when retrying the same template selection and exactly the same payload.
Do not put customer data or credentials in the key.
Changed and concurrent requests
A reused key with changed render inputs must fail rather than return an unrelated result. A concurrent matching request should wait at the caller or handle the in-progress response instead of creating another operation.
Result lifecycle
A completed matching request can replay the private PDF while that result is retained. PDFDesignAPI private idempotency results expire after 24 hours, so durable business documents must move to application-owned authorized storage.
Combine with bounded retries
Retry only failures classified as transient, use exponential backoff with jitter, and cap both attempts and total elapsed time. Validation and authorization failures need correction, not repetition.