---
title: "Custom lists"
description: "Create and update custom lists with complete curl request examples."
lastModified: "2026-08-25"
---

**Collection path:** `events/{event_id}/custom-lists`

| Input | Type | POST | PATCH | Notes |
| :---- | :---- | ----: | ----: | :---- |
| `name` | Scalar string | Required by the model | Optional | Event-unique list name. |
| `description` | Scalar string or `null` | Optional | Optional | Description. |
| `attendance_type` | Scalar string | Optional | Optional | `in_person`, `hybrid`, or `virtual`. |
| `profile_badge` | Scalar string or `null` | Optional | Optional | Profile badge. |
| `display_name` | Scalar string or `null` | Optional | Optional | Display name. |
| `networking_enabled` | JSON boolean | Optional | Optional | Networking setting. |
| `lead_scanning_enabled` | JSON boolean | Optional | Optional | Lead scanning setting. |
| `qr_code_visible` | JSON boolean | Optional | Optional | QR setting. |
| `meeting_requests_outgoing` | Scalar string | Optional | Optional | `none`, `any`, or `specific_lists`. |
| `meeting_requests_incoming` | Scalar string | Optional | Optional | `none`, `any`, or `specific_lists`. |
| `max_outgoing_meeting_requests` | Scalar number or `null` | Optional | Optional | Limit. |
| `max_accepted_meetings` | Scalar number or `null` | Optional | Optional | Limit. |
| `show_invited_registrants` | JSON boolean | Optional | Optional | Visibility setting. |
| `show_invites_in_apps` | JSON boolean | Optional | Optional | Returned as `show-unjoined-registrants-in-apps`. |
| `show_booking_system_join_url` | JSON boolean | Optional | Optional | Returned as `show-registration-link`. |
| `outgoing_target_list_ids` | Array of scalar IDs | Optional | Optional | Full replacement when the effective mode is `specific_lists`. |
| `incoming_target_list_ids` | Array of scalar IDs | Optional | Optional | Full replacement when the effective mode is `specific_lists`. |
| `registrant_ids` | Array of scalar IDs | Optional | Optional | Full membership replacement. `[]` removes all members but not registrants. |

## POST a custom list

```shell
curl --request POST \
  --url "${BRELLA_API_BASE_URL}/api/core/organizations/${BRELLA_ORGANIZATION_ID}/events/${BRELLA_EVENT_ID}/custom-lists" \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
    "name": "VIP guests",
    "description": "Guests with VIP access",
    "attendance_type": "in_person",
    "networking_enabled": true,
    "lead_scanning_enabled": true,
    "meeting_requests_outgoing": "specific_lists",
    "outgoing_target_list_ids": [410],
    "registrant_ids": [1201, 1202]
  }'
```

The response type is `custom-list`. Useful write-response fields include `name`, `attendance_type`, `networking_enabled`, `registrant_ids`, and `registrants_count`.

## PATCH a custom list

```shell
curl --request PATCH \
  --url "${BRELLA_API_BASE_URL}/api/core/organizations/${BRELLA_ORGANIZATION_ID}/events/${BRELLA_EVENT_ID}/custom-lists/401" \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
    "name": "VIP and hosted buyers",
    "registrant_ids": [1201, 1202, 1203]
  }'
```
