Skip to main content
Broadcasts are one-way announcements sent to all people with a specific role. Recipients are notified via email and push notification (based on their preferences).
Requires the Broadcasts permission (g: 1) on the caller’s role.

List broadcasts

GET /api/broadcasts
Returns all broadcasts sent from your district, most recent first. Example:
curl https://app.credentialsportal.com/api/broadcasts \
  -H "Authorization: Bearer ck_your_api_key"
Response:
[
  {
    "id": "brd01",
    "district_id": "xyz99",
    "sender_id": "abc12",
    "role_id": "1c",
    "subject": "District Assembly Reminder",
    "body": "<p>Please join us for District Assembly on March 15...</p>",
    "recipient_count": 12,
    "created_at": 1741564800000
  }
]

Send a broadcast

POST /api/broadcasts
Request body:
role_id
string
required
The role ID of the recipients. All people assigned this role will receive the broadcast.
subject
string
required
The broadcast subject line (used in email delivery).
body
string
required
The broadcast body. Supports HTML markup.
Example:
curl -X POST https://app.credentialsportal.com/api/broadcasts \
  -H "Authorization: Bearer ck_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "role_id": "1c",
    "subject": "Interview Schedule Update",
    "body": "<p>Board interviews are scheduled for April 5. Please confirm your attendance.</p>"
  }'
Response:
{
  "id": "brd02",
  "district_id": "xyz99",
  "sender_id": "abc12",
  "role_id": "1c",
  "subject": "Interview Schedule Update",
  "body": "<p>Board interviews are scheduled for April 5. Please confirm your attendance.</p>",
  "recipient_count": 8,
  "created_at": 1741564800000
}

Get broadcasts for a person

GET /api/broadcasts/people/:id
Returns all broadcasts received by a specific person. Example:
curl https://app.credentialsportal.com/api/broadcasts/people/def34 \
  -H "Authorization: Bearer ck_your_api_key"