Announcements
Create and update announcements with complete curl request examples.
Collection path: events/{event_id}/announcements
| Input | Type | POST | PATCH | Notes |
|---|---|---|---|---|
heading |
Scalar string | Required by the model | Optional | Announcement heading, at most 999 characters. |
content |
Scalar string | Required by the model | Optional | Announcement content, at most 99,999 characters. |
url |
Scalar string or null |
Optional | Optional | Related URL. |
send_as_email |
JSON boolean | Optional | Optional | Email sending requires an organization-wide, unrestricted scope. |
target_list_ids |
Array of scalar IDs | Optional | Optional | Full replacement when supplied. [] removes list-specific targeting. |
delivery_mode |
Scalar string | Optional | Optional | draft, immediate, or scheduled. |
scheduled_at |
ISO 8601 string | Conditional | Conditional | Required when mode is scheduled. Supplying it without a mode implies scheduled. |
Released announcements are immutable and cannot be patched. Every target list must belong to the event.
POST an announcement
curl --request POST \
--url "${BRELLA_API_BASE_URL}/api/core/organizations/${BRELLA_ORGANIZATION_ID}/events/${BRELLA_EVENT_ID}/announcements" \
--header "Accept: application/vnd.brella.v4+json" \
--header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--data-raw '{
"heading": "Welcome reception",
"content": "Doors open at 18:00.",
"url": "https://example.com/reception",
"send_as_email": false,
"target_list_ids": [401, 402],
"delivery_mode": "scheduled",
"scheduled_at": "2026-09-03T15:00:00Z"
}'
The created announcement starts unreleased. The response type is announcement; useful write-response fields include heading, delivery_mode, scheduled_at, target_list_ids, and released.
PATCH an announcement
This example reschedules an existing unreleased announcement. Omitted heading, content, URL, email, and targeting values remain unchanged.
curl --request PATCH \
--url "${BRELLA_API_BASE_URL}/api/core/organizations/${BRELLA_ORGANIZATION_ID}/events/${BRELLA_EVENT_ID}/announcements/7101" \
--header "Accept: application/vnd.brella.v4+json" \
--header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--data-raw '{
"delivery_mode": "scheduled",
"scheduled_at": "2026-09-03T16:00:00Z"
}'
Use {"delivery_mode":"draft"} to remove the scheduled job from an unreleased announcement. immediate schedules execution at the current time; it does not directly mark the record as released inside the PATCH request.