Announcements
Announcements: available fields, filters, associations, and API operations.
Operations
Event-level resource. Every operation requires an enabled Core API scope for this resource and access to the URL context.
GETList records
/api/core/organizations/123/events/456/announcements
Permission: Read access. Readable fields, query filters and related objects must be selected in the scope.
curl --fail-with-body --silent --show-error --globoff --max-time 30 --request GET \
--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}"Response: 200 OK. A JSON:API data array and pagination metadata. Default page size 30; maximum 100.
View response structure
{
"data": [
{
"id": "1201",
"type": "announcement"
}
],
"meta": {
"total_count": 1,
"total_pages": 1,
"current_page": 1
}
}Illustrative, with no additional response fields selected.
Errors: 400 for invalid parameter shapes; 403 for a missing/expired token or disallowed operation; 404 when the URL context, record or a referenced record is inaccessible; 429 for rate limits. Troubleshooting and retry guidance.
GETGet a record
/api/core/organizations/123/events/456/announcements/1201
Permission: Read access. Readable fields, query filters and related objects must be selected in the scope.
curl --fail-with-body --silent --show-error --globoff --max-time 30 --request GET \
--url "${BRELLA_API_BASE_URL}"'/api/core/organizations/123/events/456/announcements/1201' \
--header "Accept: application/vnd.brella.v4+json" \
--header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}"Response: 200 OK. A JSON:API data object; fields depend on the token scope.
View response structure
{
"data": {
"id": "1201",
"type": "announcement"
}
}Illustrative, with no additional response fields selected.
Errors: 400 for invalid parameter shapes; 403 for a missing/expired token or disallowed operation; 404 when the URL context, record or a referenced record is inaccessible; 429 for rate limits. Troubleshooting and retry guidance.
POSTCreate a record
/api/core/organizations/123/events/456/announcements
Permission: Write access with the create action. Every request key must map to an allowed writable field; unconfigured inputs are ignored.
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"
}'Response: 201 Created. Save data.id for later requests. Attributes come from Write-response fields.
View response structure
{
"data": {
"id": "1201",
"type": "announcement"
}
}Illustrative, with no additional response fields selected.
Errors: 400 for invalid parameter shapes; 403 for a missing/expired token or disallowed operation; 404 when the URL context, record or a referenced record is inaccessible; 422 for validation or business rules; 429 for rate limits. Troubleshooting and retry guidance.
PATCHUpdate a record
/api/core/organizations/123/events/456/announcements/7101
Permission: Write access with the update action. Every request key must map to an allowed writable field; unconfigured inputs are ignored.
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"
}'Response: 200 OK. Attributes come from Write-response fields; these can differ from readable fields.
View response structure
{
"data": {
"id": "1201",
"type": "announcement"
}
}Illustrative, with no additional response fields selected.
Errors: 400 for invalid parameter shapes; 403 for a missing/expired token or disallowed operation; 404 when the URL context, record or a referenced record is inaccessible; 422 for validation or business rules; 429 for rate limits. Troubleshooting and retry guidance.
PATCH changes supplied fields. Collection inputs can replace existing values; read the input notes before sending arrays.
DELETEDelete a record
/api/core/organizations/123/events/456/announcements/1201
Permission: Write access with the delete action.
curl --fail-with-body --silent --show-error --globoff --max-time 30 --request DELETE \
--url "${BRELLA_API_BASE_URL}"'/api/core/organizations/123/events/456/announcements/1201' \
--header "Accept: application/vnd.brella.v4+json" \
--header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}"Response: 204 No Content, with an empty response body.
Errors: 400 for invalid parameter shapes; 403 for a missing/expired token or disallowed operation; 404 when the URL context, record or a referenced record is inaccessible; 422 for validation or business rules; 429 for rate limits. Troubleshooting and retry guidance.
Deletion can remove related data or be refused by resource constraints. Read the resource notes and confirm the target before using this operation.
Path: events/{event_id}/announcements
Methods: GET collection/record, POST, PATCH, DELETE.
Fields, filters and associations
Browse 16 response fields
The scope chooses these response fields. id is always returned. Configuration names and response names can differ.
event-id- Scope field:
event_id heading- Scope field:
heading content- Scope field:
content url- Scope field:
url send-as-email- Scope field:
send_as_email released- Scope field:
released created-at- Scope field:
created_at updated-at- Scope field:
updated_at admin-updated-at- Scope field:
admin_updated_at sent-to-count- Scope field:
sent_to_count sent-at- Scope field:
sent_at seen-by-count- Scope field:
seen_by_count target-list-ids- Scope field:
target_list_ids delivery-mode- Scope field:
delivery_mode scheduled-at- Scope field:
scheduled_at registrant-count- Scope field:
registrant_count
- Filters:
released,delivery_mode,scheduled_from,scheduled_to,created_from,created_to. delivery_modefilter values:draft,immediate,scheduled,sent.- Associations: none.
GET .../announcements?delivery_mode=scheduled&scheduled_from=2026-09-01T00:00:00Z
POST/PATCH inputs: heading, content, url, send_as_email, target_list_ids (array), delivery_mode, scheduled_at.
{
"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"
}
delivery_mode accepts draft, immediate, or scheduled; scheduled delivery requires scheduled_at. target_list_ids is a full replacement. Every list must belong to the event; an empty array removes list-specific targeting and therefore targets all lists. Sending announcement email requires an organization-wide, unrestricted scope. Released announcements cannot be updated or deleted.