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
}'