A lost response does not prove that a write failed. The server may have created the record before the connection dropped. Waiver submission supports an idempotency key so a retry can refer to the same logical signing operation.
Choose one key per submission
Provide Idempotency-Key in the request header or idempotencyKey in the body. If both are supplied, the body value takes precedence. Keys may contain up to 120 characters and are scoped to the organization.
Create the value before sending the first request and keep it with the pending submission. A random value generated afresh inside every retry defeats the purpose. Conversely, one key shared across all guests can cause a later request to retrieve the wrong logical result.
Retry without changing the operation
Replaying the same key returns the original 201 result. The mapping does not expire. Treat the key as permanently associated with that submission, not as a temporary deduplication window.
Do not reuse a key to correct answers or replace a voided waiver. A new signing action needs a new submission identity and the participant's actual review. Save the resulting record ID so the rest of your application can reconcile the completion.
Keep other actions separate
This behavior belongs to waiver submission. It is not a universal promise for every POST endpoint. A repeated check-in can create another arrival, and sending an invitation again can contact a guest again.
For other mutations, reconcile an uncertain outcome using available reads and your application's operation log. Do not attach an idempotency header and assume the server implements it on an endpoint that does not document it.
Verify recovery before launch
Simulate a dropped response after submission, then repeat the request with the saved key. Confirm your application associates the returned record with the original guest interaction and does not ask the participant to sign again unnecessarily.
Also test the local failure case where the client loses its pending-operation state. A stable server-side record of the key is more reliable than a value that exists only in a browser tab. Continue with submission and error recovery.