Duplicate an Outbound draft
Creates one new draft from the source campaign. Requires name only; revision and idempotencyKey are optional. Copies content, audience and recurring settings, not activation state, delivery history, recipients or tags. Absolute startsAt and endsAt are cleared so past dates cannot block the new draft. The source must otherwise have a complete valid definition. Set new dates before activation when needed.
Optional protections: idempotencyKey enables safe retries; revision on existing campaigns rejects stale changes. Neither is required, and they can be used independently. Without a key, each request is a new operation and does not create an operation receipt; do not blindly retry an uncertain create or send. Without a revision, a change can overwrite a concurrent edit. With a key, keep the exact request on retries. Completed results replay for at least 7 days. Changed input returns idempotency_conflict; a concurrent retry returns operation_pending. For operation_outcome_unknown, inspect the Outbound-Operation-Id receipt before another operation. Schedule synchronization stays durable with or without these fields.
Body
Optional retry protection. Keep the same key and request when retrying. Without a key, each request is a new operation.
8 - 128^[a-zA-Z0-9_.:-]+$welcome-campaign-2026-10-01Response
Created
Conversation tag IDs applied to conversations started from this message
Editable definition. A dashboard draft or template can have no survey choices yet. The write and validation endpoints require a complete definition.
Object type identifier
outbound_messageoutbound_messageCampaign version returned by GET. Optionally send it with a mutation to reject stale changes.
0 <= xThe schedule is saved. Timer synchronization is queued or pending recovery. It does not require another activation request.
Lifecycle state of the message. Use the state endpoint to change it.
draft, live, paused, scheduled, suspended, sentdraft