---
title: "Registrants"
description: "Create and update registrants with complete curl request examples."
lastModified: "2026-08-25"
---

**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

```shell
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.

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