---
title: "Tracks"
description: "Create and update tracks with complete curl request examples."
lastModified: "2026-08-25"
---

**Collection path:** `events/{event_id}/tracks`

| Input | Type | POST | PATCH | Notes |
| :---- | :---- | ----: | ----: | :---- |
| `name` | Scalar string | Required by the model | Optional | Event-unique track name. |
| `description` | Scalar string or `null` | Optional | Optional | Description. |
| `color` | Scalar string or `null` | Optional | Optional | Color. |
| `enabled` | JSON boolean | Optional | Optional | Enabled setting. |
| `show_highlighted_speakers` | JSON boolean | Optional | Optional | Highlight display setting. |
| `default_session_cover_image` | Scalar string | Optional | Optional | Base64 data URI. Blank on PATCH removes the image. |
| `sponsor_ids` | Array of scalar IDs | Optional | Optional | Full replacement; every sponsor must belong to the event. |
| `highlighted_speaker_ids` | Array of scalar IDs | Optional | Optional | Full replacement; every speaker must belong to the event. |

`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

```shell
curl --request POST \
  --url "${BRELLA_API_BASE_URL}/api/core/organizations/${BRELLA_ORGANIZATION_ID}/events/${BRELLA_EVENT_ID}/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

```shell
curl --request PATCH \
  --url "${BRELLA_API_BASE_URL}/api/core/organizations/${BRELLA_ORGANIZATION_ID}/events/${BRELLA_EVENT_ID}/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.
