Skip to content
Core API
Esc
navigateopen⌘Jpreview
On this page

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.

Last updated on August 25, 2026