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

Tracks

Create and update tracks with complete curl request examples.

Build a request

Example data only. No request is sent.

POST
Choose the destination IDs
Start with these fields

Event-unique track name.

Add optional fields (7)

Description.

Color.

Enabled setting.

Highlight display setting.

Base64 data URI. Blank on PATCH removes the image.

Full replacement; every sponsor must belong to the event.

Full replacement; every speaker must belong to the event.

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/tracks' \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "name": "Main stage"
}'
201 CreatedIllustrative response
{
  "data": {
    "id": "1201",
    "type": "track"
  }
}

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}/tracks

type, default, togglable, and position are response fields but are not writable through the Core track wrapper. POST always creates a ContentTrack.

POST a track

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/tracks' \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "name": "Main stage",
  "description": "Keynotes and panels",
  "color": "#123456",
  "enabled": true,
  "show_highlighted_speakers": true,
  "sponsor_ids": [
    103705
  ],
  "highlighted_speaker_ids": [
    801,
    802
  ]
}'

The response type is track. Useful write-response fields include name, description, color, enabled, type (returned as track-type), sponsor_ids, highlighted_speaker_ids, and updated_at.

PATCH a track

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/tracks/501' \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "name": "Main stage and keynotes",
  "color": "#234567",
  "sponsor_ids": [
    103705,
    103706
  ],
  "highlighted_speaker_ids": [
    801
  ]
}'

An empty sponsor_ids or highlighted_speaker_ids array removes all records from that association. Default tracks cannot be deleted, but that restriction does not affect PATCH.

Input reference

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

nameScalar string
POST
Required by the model
PATCH
Optional

Event-unique track name.

descriptionScalar string or `null`
POST
Optional
PATCH
Optional

Description.

colorScalar string or `null`
POST
Optional
PATCH
Optional

Color.

enabledJSON boolean
POST
Optional
PATCH
Optional

Enabled setting.

show_highlighted_speakersJSON boolean
POST
Optional
PATCH
Optional

Highlight display setting.

default_session_cover_imageScalar string
POST
Optional
PATCH
Optional

Base64 data URI. Blank on PATCH removes the image.

sponsor_idsArray of scalar IDs
POST
Optional
PATCH
Optional

Full replacement; every sponsor must belong to the event.

highlighted_speaker_idsArray of scalar IDs
POST
Optional
PATCH
Optional

Full replacement; every speaker must belong to the event.

Last updated on August 25, 2026