Custom field definitions
Create and update custom field definitions with complete curl request examples.
Collection path: events/{event_id}/custom-field-definitions
| Input | Type | POST | PATCH | Notes |
|---|---|---|---|---|
key |
Scalar string | Required by the model | Ignored | Must be unique within the event’s definitions. |
title |
Scalar string | Required by the model | Used | Display title. |
customizable_type |
Scalar string | Required by the model | Ignored | Allowed values are Event, Event::Invite, Event::Registrant, RegistrantList, Event::TicketPurchase, Speaker, Sponsors::Sponsor, Timeslot, and Sponsors::Lead. Event::Invite is normalized to Event::Registrant. |
visible_to_sponsors |
JSON boolean | Used | Used | Sponsor visibility. |
filterable |
JSON boolean | Used | Used | Filtering setting. |
field_type |
Scalar string | Required by the model | Used | Text, SingleChoice, MultipleChoice, or CustomValues. |
options |
Array of scalar values | Conditional | Used | Required and non-empty for SingleChoice and MultipleChoice. |
visible_on_registrant_profile |
JSON boolean | Used | Used | Maps to the introspected field visible_on_attendee_profile. |
POST a custom field definition
curl --request POST \
--url "${BRELLA_API_BASE_URL}/api/core/organizations/${BRELLA_ORGANIZATION_ID}/events/${BRELLA_EVENT_ID}/custom-field-definitions" \
--header "Accept: application/vnd.brella.v4+json" \
--header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--data-raw '{
"key": "linkedin_url",
"title": "LinkedIn URL",
"customizable_type": "Event::Registrant",
"visible_to_sponsors": true,
"filterable": false,
"field_type": "Text",
"options": [],
"visible_on_registrant_profile": true
}'
The response type is custom-field-definition; response attributes include configured fields in kebab-case, such as customizable-type and field-type.
PATCH a custom field definition
curl --request PATCH \
--url "${BRELLA_API_BASE_URL}/api/core/organizations/${BRELLA_ORGANIZATION_ID}/events/${BRELLA_EVENT_ID}/custom-field-definitions/901" \
--header "Accept: application/vnd.brella.v4+json" \
--header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--data-raw '{
"title": "LinkedIn profile URL",
"visible_to_sponsors": false,
"filterable": true,
"field_type": "Text",
"options": [],
"visible_on_registrant_profile": true
}'
Do not use PATCH to rename key or change customizable_type; the current mutation silently ignores both fields.