Cancellation
Cancel an active document, notify outstanding signers, optionally recreate a fresh copy from the same template.
Cancellation
Sometimes a document goes out and you immediately realise it's wrong — wrong signer, wrong amount, wrong wording. Cancellation lets you void the active document so existing fill links stop working, notify respondents that they don't need to do anything, and (optionally) spin up a fresh copy from the same template in one move.
When to cancel
- The document was sent to the wrong person
- A clause is wrong and you want to send a corrected version
- The deal fell through and you want a clean audit trail
- The original signer asked to delegate but you'd rather start over
What cancellation does
When you cancel a document:
- Live state —
metadata.cancelledAtis stamped with the current timestamp. The document gets a red Cancelled badge across every list, the dashboard's Cancelled bucket, the activity feed, and the doc detail page - Fill links break — every respondent's existing link returns a "This document has been cancelled" message
- Respondents are emailed — every respondent with an email address receives a notification: "<your name> has cancelled the document <document name>. You no longer need to take action on this document." (Skipped on un-cancel.)
- Audit log — an
document.cancelledevent is recorded with your name, IP, and user agent - Workflows pause — pending signing-order steps stop advancing. No more reminder emails, no PDF auto-generation.
Cancellation is reversible until you delete the document — see Restoring a cancelled document below.
Documents that are already completed cannot be cancelled — once the last signer is in, the doc is the final source of truth.
Cancelling from the documents list
- Open Documents (
/app/documents) - Find the row, click the kebab (⋮)
- Click Cancel document
The row updates immediately with the red Cancelled badge. A toast confirms the cancel, and any respondents are emailed in the background.
Cancelling from the document detail page
- Open the document
- Click the kebab (⋮) in the top-right
- Click Cancel document
Same behaviour as the list-level cancel — just convenient when you're already viewing the doc.
Cancel & recreate (start over)
When you want to void this document and immediately send a clean version, use Cancel & recreate:
- Open the documents list
- Kebab (⋮) → Cancel & recreate
- Confirm
Crove cancels the existing document (firing the same notifications + audit events as a normal cancel) and immediately creates a fresh document from the same template. You're navigated to the new doc.
This is the recommended flow for "oops, void this one and start over". You only see the option for documents that:
- Aren't completed
- Aren't already cancelled
- Were created from a template (so we know what to recreate)
Restoring a cancelled document
If you cancelled by mistake, the kebab menu now shows Uncancel instead of Cancel. Click it to restore.
Restoration does not re-email the respondents — Crove assumes you wouldn't want them to think the doc is back on the rails just because you fat-fingered the cancel button. If you want them to know, send a new invitation manually.
The audit log records a separate document.uncancelled event so
the trail is intact.
Bulk cancellation
There's no single "Cancel selected" button in bulk mode (different docs may be at different stages, and cancel emails are too important to fire wholesale by accident). Instead:
- Use the bulk Delete action if you really want to wipe a batch
- Cancel individually if you want notifications to fire
If you have a recurring need to cancel many docs at once, that's a signal to look at your invitation flow rather than to bulk-cancel.
API
To cancel programmatically:
POST /api/app/documents/{id}/cancelThe route toggles cancellation state — calling it again on a cancelled document restores it. There is no separate uncancel endpoint.
Response:
{
"document": {
"id": "doc_…",
"cancelledAt": "2026-04-20T09:18:46.908Z"
},
"success": true
}cancelledAt is null after restore.
What's logged
| Event | When |
|---|---|
document.cancelled | Cancel transition |
document.uncancelled | Restore transition |
Both events carry the actor (you), IP, and user agent. The cancel event also records the respondent emails that were notified.
Inspect the full trail under the Activity tab on the document detail page, or in the dashboard's recent activity feed.