For the complete documentation index, see llms.txt. This page is also available as Markdown.

Update a broadcast

Update a broadcast. Partial updates are allowed; field edits are permitted only while DRAFT. Channel and purpose are immutable after creation. Set status to transition the broadcast (DRAFT to LAUNCHED to send, to CANCELLED to cancel); the server validates the transition.

Required permissions: BROADCAST

put
/tenants/{tenantUid}/stores/{storeUid}/broadcasts/{broadcastUid}
Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
broadcastUidstringRequired

Reference to a Broadcast.

Pattern: ^[A-Za-z0-9-_]+
Body

Update a broadcast. Partial updates are allowed. Field edits are permitted only while the broadcast is DRAFT; channel and purpose are immutable after creation. Set status to transition the broadcast: DRAFT to LAUNCHED launches it (sent immediately when sendAt is null or in the past, or scheduled for a future sendAt), and to CANCELLED cancels it. The server validates the transition (illegal -> 422, stale -> 409).

statusstring · enumOptional

Target status to transition the broadcast to. Omit to leave the status unchanged. DRAFT pulls a not-yet-sending broadcast back for editing, LAUNCHED launches it (or schedules it by sendAt), CANCELLED cancels it. Valid transitions are enforced by the server.

Possible values:
titlestringOptional
descriptionstringOptional
bodystringOptional

The message content. Plain text for SMS, HTML for EMAIL.

subjectstringOptional
senderstringOptional
sendAtstring · date-time · nullableOptional

Scheduled send time. Omit to leave the stored value unchanged; send null to clear a previously scheduled time (reverting to send immediately).

Responses
200

BroadcastResponse

application/json

A broadcast header.

broadcastUidstringRequiredPattern: ^[A-Za-z0-9-_]+
channelstring · enumRequired

The delivery channel of a broadcast. A broadcast is single-channel.

Possible values:
purposestring · enumRequired

The purpose of a broadcast. MARKETING is a marketing message; SERVICE is a service/transactional message. Consent is the responsibility of the party building the recipient list: MARKETING sends must only include recipients with the relevant marketing consent (see add recipients).

Possible values:
statusstring · enumRequired

Lifecycle state of a broadcast. DRAFT: editable, recipients can be edited. LAUNCHED: committed to send — sent immediately when sendAt is null or in the past, or held until a future sendAt. SENDING: in progress. COMPLETED: all recipients processed. CANCELLED: stopped before/while sending. FAILED: aborted with an error.

Possible values:
titlestringRequired

Operator-facing label.

descriptionstringRequired

Operator-facing note. Empty string if not set.

bodystringRequired

The message content. Plain text for SMS, HTML for EMAIL.

subjectstringRequired

Email subject. Empty string for SMS.

senderstringRequired

Sender name/address. Empty string if resolved from configuration at send time.

storeUidstringRequired

Store the broadcast is sent in the context of — the SMS bill payer and/or sender.

Pattern: ^[A-Za-z0-9-_]+
sendAtstring · date-time · nullableRequired

Scheduled send time. Null means send immediately on launch.

startedAtstring · date-time · nullableRequired

When sending started. Null until the broadcast starts sending.

finishedAtstring · date-time · nullableRequired

When sending finished. Null until the broadcast completes.

createdAtstring · date-timeRequired
createdBystringRequired
lastModifiedAtstring · date-timeRequired
lastModifiedBystringRequired
put/tenants/{tenantUid}/stores/{storeUid}/broadcasts/{broadcastUid}
PUT /v2/tenants/{tenantUid}/stores/{storeUid}/broadcasts/{broadcastUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 137

{
  "status": "DRAFT",
  "title": "text",
  "description": "text",
  "body": "text",
  "subject": "text",
  "sender": "text",
  "sendAt": "2026-01-01T00:00:00.000Z"
}
200

BroadcastResponse

{
  "broadcastUid": "text",
  "channel": "SMS",
  "purpose": "MARKETING",
  "status": "DRAFT",
  "title": "text",
  "description": "text",
  "body": "text",
  "subject": "text",
  "sender": "text",
  "storeUid": "text",
  "sendAt": "2026-01-01T00:00:00.000Z",
  "startedAt": "2026-01-01T00:00:00.000Z",
  "finishedAt": "2026-01-01T00:00:00.000Z",
  "progress": {
    "totalCount": 1,
    "queuedCount": 1,
    "dispatchedCount": 1,
    "deliveredCount": 1,
    "failedCount": 1
  },
  "createdAt": "2026-01-01T00:00:00.000Z",
  "createdBy": "text",
  "lastModifiedAt": "2026-01-01T00:00:00.000Z",
  "lastModifiedBy": "text"
}

Last updated

Was this helpful?