---
title: "Registrants"
description: "Registrants: available fields, filters, associations, and API operations."
lastModified: "2026-08-21"
---

**Path:** `events/{event_id}/registrants`  
**Methods:** GET collection/record, POST, PATCH, DELETE.

**GET**

- Fields: `event-id`, `user-id`, `status`, `order-id`, `external-id`, `external-email`, `external-first-name`, `external-last-name`, `external-company`, `external-title`, `external-qr-string`, `email`, `first-name`, `last-name`, `company-name`, `company-title`, `pitch`, `skip-networking`, `appearance`, `onboarding-completed-at`, `selected-sponsor-id`, `ticket-id`, `ticket-purchase-id`, `ticket-type-id`, `seats-count`, `video-uploads-blocked`, `created-at`, `updated-at`, `meetings-pending-count`, `meetings-accepted-count`, `meetings-rejected-count`, `meetings-cancelled-count`, `meetings-rescheduled-count`, `meetings-chat-requested-count`, `meetings-chat-replied-count`, `meetings-draft-count`, `meetings-total-count`, `chat-only-requests-count`, `first-tracking-session-at`, `latest-tracking-session-at`, `tracking-sessions-count`, `total-duration-seconds`, `total-click-count`, `total-view-count`, `user-profile`, `sponsor-visible-custom-fields`.  
- Filters: `status`, `email`, `external_id`, `external_email`, `ticket_type_list_id`, `custom_list_id`, `created_from`, `created_to`, `updated_from`, `updated_to`.  
- Associations:  
  - `ticket_type_list` → response `ticket-type`: `name`;  
  - `custom_lists` → `custom-lists`: `name`;  
  - `persona`, `function`, `industry`: `name`;  
  - `selected_interests` → response `interests`: `interest-id`, `interest-name`, `intent-id`, `intent-label`;  
  - `blocked_times` → response `blocked-times`: `start-time`, `end-time`, `created-at`, `updated-at`;  
  - `custom_fields` → response `custom-fields`: `definition-key`, `definition-title`, `field-type`, `role`, `visible-to-sponsors`, `values`;  
  - `selected_sponsor` → response `selected-sponsor`: `name`.

```
GET .../registrants?status=joined&custom_list_id=401&include=ticket_type_list,custom_lists,custom_fields
```

**POST/PATCH writable fields:** `external_id`, `external_email`, `external_first_name`, `external_last_name`, `external_company`, `external_title`, `pitch`, `skip_networking`, `appearance`, `ticket_type_list_id`.

**Additional inputs:** `custom_list_ids` (array), `persona`, `function`, `industry`, `selected_interests` (raw JSON), `custom_fields_attributes` (raw JSON), `seats`, `send_email`.

```json
{
  "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",
  "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] }
  ],
  "send_email": false
}
```

`persona`, `function`, and `industry` are names, not IDs. `selected_interests` uses plural `intent_ids`. When `custom_list_ids` is supplied, it fully replaces custom-list membership; every list must belong to the event. `send_email` defaults to true when omitted. PATCH uses the invited-registrant update flow and can therefore be rejected by its business rules.
