Envelopes

Void an envelope

Withdraws an envelope that is out for signature. The only allowed source state is pending, and only while no signer has signed yet.

Refusals both answer 400 invalid_status: "Only pending envelopes can be voided" for any other state (draft, sending, completing, completed, declined, voided, expired), and "Cannot void an envelope after a signer has already signed" when at least one signer already signed. The status is re-asserted in the update predicate, so two callers racing the same envelope cannot both believe they voided it: the loser gets the same 400.

Voiding writes an envelope.voided audit row, fires the envelope.voided webhook once, and starts the shortened retention clock, since a voided envelope was never executed and only its audit trail is kept. It does not refund the credit that was spent on the send.

No request body. Honors Idempotency-Key.

post/envelopes/{envelopeId}/void

Request

  • Base URL: https://inkseal.net/api/v1
  • URL: https://inkseal.net/api/v1/envelopes/{envelopeId}/void
  • Auth: HTTP bearer

Headers

Idempotency-Keystring

Makes this mutation retry-safe. 1 to 255 printable ASCII characters (0x20 to 0x7e), trimmed before use. The key is scoped to the workspace and the credential that sent it. Reusing it with a different method, path, or payload answers 422 idempotency_key_reuse. A completed attempt replays its stored status and body with an Idempotent-Replay: true response header; 5xx, 429, and non-JSON answers leave the key retryable. A concurrent request holding the 90 second lease answers 409 idempotency_in_progress. Records are retained 24 hours.

Response

The envelope is now voided.

Example response

{
  "data": {
    "id": "Jd3kR8sVqW2nX5cY7bLmP",
    "status": "pending"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.