Skip to main content
Outbound

Get an Outbound message

Returns state, revision, scheduleSyncPending, and the editable public definition. Copy definition into a create request, or PATCH only changed fields. Optionally send the returned revision to reject stale changes. It omits editor IDs, internal field types and hydrated feedback-post text. Survey question and choice IDs match response reports. Unmapped historical answers retain their stored IDs. An incomplete dashboard draft can have empty content or choices; complete it before public validation or activation.

GET
/v2/outbound/messages/{outboundMessageId}
Authorizationstringheaderrequired

API key as Bearer token. Use: Authorization: Bearer sk_...

outboundMessageIdstringrequired

Outbound message ID

Example: 6457e3ff70afca5d8c27dccc
Featurebase-Versionenum<string>header

API version for this request. Defaults to your organization's configured API version if not specified.

Available options: 2026-09-03.pulsar, 2026-08-19.orbit, 2026-01-01.nova, 2025-12-12.clover
Example: 2026-09-03.pulsar

Response

application/json

Success

conversationTagIdsstring[]required

Conversation tag IDs applied to conversations started from this message

createdAtstringrequired

ISO 8601 timestamp when created

Example: 2026-09-01T09:30:00.000Z
createdBystringrequired

Admin ID that created the message

Example: 6438a1efda3640f8feb72121
definitionobjectrequired

Editable definition. A dashboard draft or template can have no survey choices yet. The write and validation endpoints require a complete definition.

firstActivatedAtstring | nullrequired

When the message first went live or was sent

idstringrequired

Unique identifier

Example: 6457e3ff70afca5d8c27dccc
lastActivatedAtstring | nullrequired

When the message most recently went live or was sent

objectenum<string>required

Object type identifier

Available options: outbound_message
Example: outbound_message
revisionintegerrequired

Campaign version returned by GET. Optionally send it with a mutation to reject stale changes.

Required range: 0 <= x
scheduleSyncPendingbooleanrequired

The schedule is saved. Timer synchronization is queued or pending recovery. It does not require another activation request.

stateenum<string>required

Lifecycle state of the message. Use the state endpoint to change it.

Available options: draft, live, paused, scheduled, suspended, sent
Example: draft
updatedAtstringrequired

ISO 8601 timestamp when last updated

Example: 2026-09-03T12:00:00.000Z
updatedBystringrequired

Admin ID that last updated the message

Example: 6438a1efda3640f8feb72121