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

Registrants

Create and update registrants with complete curl request examples.

Collection path: events/{event_id}/registrants

Input Type POST PATCH Notes
external_id Scalar string or null Optional Optional External identifier.
external_email Scalar string or null Optional Optional Invited identity email.
external_first_name Scalar string or null Optional Optional Invited first name.
external_last_name Scalar string or null Optional Optional Invited last name.
external_company Scalar string or null Optional Optional Invited company.
external_title Scalar string or null Optional Optional Invited title.
pitch Scalar string or null Optional Optional Networking pitch.
skip_networking JSON boolean Optional Optional Networking preference.
appearance Scalar string or null Optional Optional dark, light, or system.
ticket_type_list_id Scalar ID Optional Optional Invalid or omitted POST values fall back to the event’s default ticket type.
custom_list_ids Array of scalar IDs Optional Optional Full custom-list membership replacement. [] removes all custom-list memberships.
persona Scalar string or null Optional Optional Name, not ID. Brella imports or resolves the event value.
function Scalar string or null Optional Optional Name, not ID.
industry Scalar string or null Optional Optional Name, not ID.
selected_interests Raw array Optional Optional Entries use interest_id and intent_ids. PATCH replaces unselected interests.
custom_fields_attributes Raw array Optional Optional Entries use key plus value or values.
seats Scalar number Optional Optional Requested seat count. Default to 1 - Do NOT use values larger than 1. Seats are a legacy concept that is to be deprecated.
send_email JSON boolean Optional Optional Defaults to true. Use a JSON boolean, not the string "false".

POST creates an invited registrant. PATCH uses Brella’s invited-registrant update flow and can be rejected when the record’s current state is not compatible with that flow.

POST a registrant

curl --request POST \
  --url "${BRELLA_API_BASE_URL}/api/core/organizations/${BRELLA_ORGANIZATION_ID}/events/${BRELLA_EVENT_ID}/registrants" \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
    "external_id": "CRM-10042",
    "external_email": "alex@example.com",
    "external_first_name": "Alex",
    "external_last_name": "Morgan",
    "external_company": "Example Ltd",
    "external_title": "VP Partnerships",
    "pitch": "Looking for distribution partners",
    "skip_networking": false,
    "ticket_type_list_id": 301,
    "custom_list_ids": [401, 402],
    "persona": "Buyer",
    "function": "Partnerships",
    "industry": "Technology",
    "selected_interests": [
      { "interest_id": 701, "intent_ids": [801, 802] }
    ],
    "custom_fields_attributes": [
      { "key": "company_size", "values": ["51-200"] }
    ],
    "seats": 1,
    "send_email": false
  }'

The response type is registrant. Useful write-response fields include external_id, external_email, external_first_name, external_last_name, ticket_type_list_id, seats_count, and updated_at.

PATCH a registrant

This example updates profile source data and fully replaces custom-list membership and interest selections.

curl --request PATCH \
  --url "${BRELLA_API_BASE_URL}/api/core/organizations/${BRELLA_ORGANIZATION_ID}/events/${BRELLA_EVENT_ID}/registrants/1201" \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
    "external_title": "SVP Partnerships",
    "pitch": "Expanding our partner network",
    "custom_list_ids": [401, 403],
    "selected_interests": [
      { "interest_id": 701, "intent_ids": [801] }
    ],
    "send_email": false
  }'

Last updated on August 25, 2026