---
title: "Get broadcast flow by ID"
method: GET
path: "/broadcastFlows/{broadcastFlowId}"
tags: ["broadcastFlows"]
---

# Get broadcast flow by ID

`GET /broadcastFlows/{broadcastFlowId}`

## Path parameters

- `broadcastFlowId` string, required

## Query parameters

- `_populate` string
- `_select` string

## Response `200`

The broadcast flow was retrieved successfully

- BroadcastFlow — A BroadcastFlow represents a bulk patient outreach campaign that sends the same message via SMS, email, or voice to a batch of patients, either from an uploaded contact file, an SFTP feed, or a filtered set of appointments. It tracks the full lifecycle of that campaign including upload and column mapping, optional approval review, scheduling, batched message sending, and per-row success and failure statistics, and can be organized into parent and child flows for large batches, commonly used for patient recall and other mass communications.
  - `_id` string — Luma's internal ID of an object.
  - `user` string — The ID of the root account user.
  - `deleted` 0 | 1 — Flag for logical deletion where 1 means deleted.
  - `createdBy` string — The ID of the user who created this object.
  - `updatedBy` string — The ID of the user who updated this object.
  - `createdAt` string, date-time — The date/time when this object was created.
  - `updatedAt` string, date-time — The date/time when this object was updated.
  - `title` string
  - `type` 'scheduled' | 'uploaded' | 'sftp'
  - `parentBroadcastFlow` string — Luma's internal ID of an object.
  - `campaign` string — Luma's internal ID of an object.
  - `broadcastTemplate` string — Luma's internal ID of an object.
  - `patientMessageTemplate` string — Luma's internal ID of an object.
  - `review` object
    - `user` string — Luma's internal ID of an object.
    - `status` 'approved' | 'declined'
    - `declinedReason` string
  - `message` string
  - `messageOverrides` object[]
    - `text` string
    - `language` string
    - `channel` string
    - `subject` string
    - `patientMessageTemplate` string — Luma's internal ID of an object.
    - `secureChat` boolean
  - `sendAt` string, date-time
  - `sentAt` string, date-time
  - `configuration` object
    - `secureChat` boolean
    - `contactPreference` 'all-contacts' | 'primary-contact-only' | 'uploaded-contact-only'
    - `simulate` boolean
    - `shouldReprocessFilters` boolean
  - `processingStatus` 'pre-processing' | 'processing-upload' | 'rows-processed' | 'sending-messages' | 'success' | 'failure'
  - `upload` string — Luma's internal ID of an object.
  - `fileUpload` string — Luma's internal ID of an object.
  - `mapping` string — Luma's internal ID of an object.
  - `rowCount` integer
  - `stats` object
    - `totalMessagesSent` integer
    - `messagesSuccess` integer
    - `messagesFailed` integer
    - `messagesSkipped` integer

## Other responses

- `401` — Not authenticated
- `403` — Not authorized
- `404` — Not found
- `500` — Internal server error

---

[API](https://skmtc.net/lumahealth/apis/rest-service.md) · [All operations](https://skmtc.net/lumahealth/apis/rest-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lumahealth/rest-service/revisions/d3c75c2a2f1d/schema)
