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

Create a broadcast

Create a broadcast. It is created in DRAFT status. Recipients are added via the broadcast recipients endpoints. Creating never sends — transition the broadcast to LAUNCHED (via update) to send it.

Required permissions: BROADCAST

post
/tenants/{tenantUid}/stores/{storeUid}/broadcasts
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-_]+
Body

Create a broadcast. It is created in DRAFT status. Recipients are added via the broadcast recipients endpoints, not a filter. Creating never sends — transition the broadcast via update to send it.

broadcastUidstringOptional

Optional client-supplied id for the broadcast. Omit to have one generated. Must be unique within the tenant.

Pattern: ^[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:
titlestringRequired
descriptionstringOptional
bodystringRequired

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

subjectstringOptional

Email subject. Required for EMAIL, ignored for SMS.

senderstringOptional

Optional sender name/address. Resolved from configuration if omitted.

sendAtstring · date-timeOptional

Optional scheduled send time, applied when the broadcast is sent. Omit to send immediately.

Responses
201

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
post/tenants/{tenantUid}/stores/{storeUid}/broadcasts
POST /v2/tenants/{tenantUid}/stores/{storeUid}/broadcasts HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 180

{
  "broadcastUid": "text",
  "channel": "SMS",
  "purpose": "MARKETING",
  "title": "text",
  "description": "text",
  "body": "text",
  "subject": "text",
  "sender": "text",
  "sendAt": "2026-01-01T00:00:00.000Z"
}
201

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?