Create invite
Important Note: The Invites endpoint is changing on July 4th, 2026, with the release of Dynamic Registrant Lists. See here for details.
curl --location -g --request POST 'https://api.brella.io/api/integration/organizations/{organizationId}/events/{eventId}/invites' \
--header 'Brella-API-Access-Token: String' \
--header 'Accept: application/vnd.brella.v4+json' \
--header 'Content-Type: application/json'\
--data '{
"event_invite": {
"external_email": "{{random_email}}",
"external_id": "{{random_ext_uuid}}",
"external_first_name": "{{random_first_name}}",
"external_last_name": "{{random_last_name}}",
"external_company": "{{random_company}}",
"external_title": "{{random_title}}",
"external_qr_string": "{{random_qr_strings}}",
"ticket_type_list_id": "{{ticket_type_list_id}}",
"custom_list_ids":["17441","18145"],
"persona": "Researcher",
"industry": "Health and Wellness",
"function": "Development / Engineering",
"custom_fields_attributes": [
{
"key": "{{random_key_1}}",
"value": "{{random_value_1}}"
},
{
"key": "{{random_key_2}}",
"value": "{{ random_value_2}}"
}
],
"interest_categories": [
{
"name": "a MM Category",
"interests": [
{
"name": "My first interest",
"intent_ids": [1,2,4,6]
},
{
"name": "My second interest",
"intent_ids": [1,4]
},
{
"name": "Oooh another Interest"
}
]
}
]
},
"import_interest_selections": true,
"import_identity_selections": true
}'REQUEST BODY
Required attributes:
- external_email (String / supports accents and special characters)
- seats (Number / see notes for more information)
- import_interest_selections These attributes by default are FALSE. However, if these are not set to TRUE, any interests/ intents and identity data (personas, function, industry) won't get updated or created.
- import_identity_selections These attributes by default are FALSE. However, if these are not set to TRUE, any interests/ intents and identity data (personas, function, industry) won't get updated or created.
-
Notes:
01: The ticket_type_list_id (legacy version:attendee_group_id) attribute is used to map different ticket types to Brella's Ticket Types List, which allows you to control networking privileges, session access privileges and more. You can create as many ticket type lists as needed in the Admin Panel of your event (Event > People > Lists > New List >Ticket Type). The ticket_type_list_id values for the created lists are visible in the Admin Panel or via /registrant-list endpoint. If a value is not specified in the request, the invite will be added to a default All Registrants list in Brella.
- One registrant can only belong to one ticket type list.
- In case the registrant needs to belong to multiple lists, you can utilize Custom Lists.
02: The custom_list_ids attribute is used to assign registrants to Brella's Custom List, which allows you to control networking privileges, session access privileges, and more. You can create as many custom lists as needed in the Admin Panel of your event (Event > People > Lists > New List > Custom). The custom_list_ids values for the created lists are visible in the Admin Panel or via the/registrant-list endpoint.
- One registrant can belong to multiple custom lists.
- More details here from our Help Center.
03: Matchmaking and Identities Prefilling.
- There are two attributes, which need to be set to "true":
- import_interest_selections
- import_identity_selections
- If the interests/ identities don't exist in the matchmaking set-up, the API call will create these interests and identities.
- If you make an API call where the interests array or any of those parameters is empty, it will delete them from the INVITE. It will NEVER DELETE interests or identities from the event itself, since multiple attendees might be using these interests and identity data in the event.
- If the parameters "interest_categories", "persona", "industry" and "function"are NOT present in the request (i.e. you don't have these attributes at all), they won't be updated.
- To specify intents for a specific MM interest, you need to use "intent IDs" that correspond to the following intents:
- 1 = Networking
- 2,3 = Trading
- 2 = Exploring Getting or Buying
- 3 = Offer or Sell this
- 4,5 = Recruitment
- 4 = Get a job in this
- 5 = Offer a job in this
- 6,7 = Investment
- 6 = Get investment in this
- 7 = Invest in this
- 8,9 = Mentoring
- 8 = Find a mentor
- 9 = Be a mentor
- If you want to include both intents within a pair, you need to add both "intent_ids" in the array.
- If you don't specify the "intent_ids" array inside the interest object, all intents will get selected by default.
04: Custom Fields Attributes
- In order to pass this value through the API, you first need to create the custom field under Custom Content -> Custom Fields
- The Field Name can be any value that is easy for you to recognize.
- The Field Key will be the parameter in your API body request.
- The Custom Fields need to be linked to Registrants.
- More instructions here: https://help-organizers.brella.io/en/articles/323077-creating-a-custom-field

05: External QR Strings external_qr_string
- This field allows you to pass a custom QR code string from a third-party platform to Brella.
- Once this value is sent via the API, the Brella app will display this external QR code instead of the default Brella QR code. Brella will also use this external QR code for lead scanning as well.
- This feature is especially helpful if your ticketing or onsite providers (e.g: Swoogo, Bizzabo, etc.) already generate a QR code.
- You can pass that same QR code to Brella using the external_qr_string field.
- This ensures that the same QR code is used across all platforms, such as check-ins, badge printing, lead retrieval, etc.