feat: document the campaign dispatch provenance downgrade guard and roll-forward recovery contract

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
Matthew Meszaros
2026-10-10 14:25:16 +00:00
co-authored by Devin AI
parent a53de41c92
commit 5bf8bf6e51
@@ -326,6 +326,8 @@ Returns a `data` array of dead-letter records. This endpoint is not cursor-pagin
Replays only a dead-lettered campaign wakeup with explicit durable wakeup intent, rechecked under its campaign lock. Once a task binds a contact or sequence for sending, its send intent stays restrictive even after either record is deleted. Legacy or imported tasks without verified wakeup intent and all send-capable tasks return `409 Conflict` and retain their dead-letter evidence. A retry date, JSON payload, null contact/sequence, or missing send marker cannot grant replay. This route requires the send permission rather than plain write access.
Database downgrades refuse to discard this provenance while send-intent or unresolved unverified dead-letter rows exist. Keep the schema and roll forward instead.
Auth: **Scope** `SEND_CAMPAIGNS` · **Org permission** `send_campaigns`
| Parameter | In | Type | Description |