From 5bf8bf6e5176689e2da192b89c898da3a503a14e Mon Sep 17 00:00:00 2001 From: Matthew Meszaros Date: Sat, 10 Oct 2026 14:25:16 +0000 Subject: [PATCH] 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> --- docs/content/docs/api/reference/deliverability-ops.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/content/docs/api/reference/deliverability-ops.mdx b/docs/content/docs/api/reference/deliverability-ops.mdx index ff41364ba..46c84bbd8 100644 --- a/docs/content/docs/api/reference/deliverability-ops.mdx +++ b/docs/content/docs/api/reference/deliverability-ops.mdx @@ -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 |