Cancel an inbound request
Discards the draft an inbound email produced. The shared executor voids the envelope with a compare-and-set and moves the conversation to cancelled through the state machine, so the audit row is written once and the same draft can never be cancelled twice. No mail goes out and no credit is spent or refunded.
Preconditions. awaiting_approval is the only actionable state; anything else answers 400 invalid_status with details.state. A draft that has already been sent or cancelled underneath the caller answers the same 400. If the envelope the request created is gone entirely, the answer is 409 envelope_missing. Note the split again: this is 400 invalid_status, where archive and reminders use 409 invalid_state.
Cancelling is the void capability, so a credential that may not void this workspace's envelopes gets 403 while a request in another workspace gets 404.
Webhooks. cancelled is not rejected: neither email_envelope.approved nor email_envelope.rejected fires here. email_envelope.rejected belongs to conversations the mail agent itself refused.
No request body. Honors Idempotency-Key.
Request
- Base URL: https://inkseal.net/api/v1
- URL: https://inkseal.net/api/v1/inbound-requests/{requestId}/cancel
- Auth: HTTP bearer
Headers
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 settled conversation, re-read after the transition, with state: "cancelled".
Example response
{
"data": {
"id": "Ib5qT8nW3vK7xR2mB9sYd",
"state": "awaiting_approval",
"error": null,
"intent": {
"signers": [
{
"name": "Dana Reyes",
"email": "dana@acme.test",
"order": 1
}
],
"signingOrder": "sequential",
"subject": "Master Services Agreement",
"message": null,
"expiresInDays": 30,
"attachmentIndex": 0,
"notes": null
},
"missingInformation": [],
"attachments": [
{
"filename": "msa.pdf",
"contentType": "application/pdf",
"size": 184213,
"status": "stored",
"refusedReason": null
}
],
"document": {
"id": "Ku7bV2xQpL9mNr4sT1yZa"
},
"envelope": {
"id": "Jd3kR8sVqW2nX5cY7bLmP"
},
"clarificationRoundTrips": 0,
"createdAt": "2026-08-21T08:55:00.000Z",
"updatedAt": "2026-08-21T08:56:12.000Z"
}
}Changes
No recorded changes to this operation across all 1 revision of this API.