Skip to content
Core API
Esc
↑↓navigate↵open⌘Jpreview
On this page

Announcements

Create and update announcements with complete curl request examples.

Build a request

Example data only. No request is sent.

POST
Choose the destination IDs
Start with these fields

Announcement heading, at most 999 characters.

Announcement content, at most 99,999 characters.

draft, immediate, or scheduled.

Required when mode is scheduled. Supplying it without a mode implies scheduled.

Add optional fields (3)

Related URL.

Email sending requires an organization-wide, unrestricted scope.

Full replacement when supplied. [] removes list-specific targeting.

Use the API address and token from your environment. Set up authentication.

curl --fail-with-body --silent --show-error --globoff --max-time 30 --request POST \
  --url "${BRELLA_API_BASE_URL}"'/api/core/organizations/123/events/456/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.",
  "delivery_mode": "scheduled",
  "scheduled_at": "2026-09-03T15:00:00Z"
}'
201 CreatedIllustrative response
{
  "data": {
    "id": "1201",
    "type": "announcement"
  }
}

The token scope determines returned fields. This selector illustrates that configuration; it does not change your token or the request.

Collection path: events/{event_id}/announcements

Released announcements are immutable and cannot be patched. Every target list must belong to the event.

POST an announcement

View the complete cURL example
curl --fail-with-body --silent --show-error --globoff --max-time 30 --request POST \
  --url "${BRELLA_API_BASE_URL}"'/api/core/organizations/123/events/456/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.

View the complete cURL example
curl --fail-with-body --silent --show-error --globoff --max-time 30 --request PATCH \
  --url "${BRELLA_API_BASE_URL}"'/api/core/organizations/123/events/456/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.

Input reference

7 inputs. Expand a field for its request type and update behavior. These are the example request keys; your administrator can configure aliases.

headingScalar string
POST
Required by the model
PATCH
Optional

Announcement heading, at most 999 characters.

contentScalar string
POST
Required by the model
PATCH
Optional

Announcement content, at most 99,999 characters.

urlScalar string or `null`
POST
Optional
PATCH
Optional

Related URL.

send_as_emailJSON boolean
POST
Optional
PATCH
Optional

Email sending requires an organization-wide, unrestricted scope.

target_list_idsArray of scalar IDs
POST
Optional
PATCH
Optional

Full replacement when supplied. [] removes list-specific targeting.

delivery_modeScalar string
POST
Optional
PATCH
Optional

draft, immediate, or scheduled.

scheduled_atISO 8601 string
POST
Conditional
PATCH
Conditional

Required when mode is scheduled. Supplying it without a mode implies scheduled.

Last updated on August 25, 2026