---
title: "Add an attendee"
method: POST
path: "/v1/events/{eventId}/attendees"
tags: ["Attendees"]
---

# Add an attendee

`POST /v1/events/{eventId}/attendees`

This API endpoint adds an attendee by passing the required registration details in the request payload. The attendee must be associated with a registration flow. If it is a ticketed event, the attendee must also be associated with a ticket as well. A unique registrationId is created that identifies the particular attendee.

Required API key scopes: `WRITE`

**This API can only be called with an access key that was generated for Backend usage.**

## Path parameters

- `eventId` string, required

## Request body

- OrgEventsAppDomainApiProductEventAttendeeDtosRegisterEventAttendeeRequest
  - `firstName` string, required — First name of the attendee
  - `lastName` string, required — Last name of the attendee
  - `email` string, required — Email address of the attendee
  - `bio` string — Short biography of the attendee.
  - `company` string — Company of the attendee
  - `country` string — Country of the attendee
  - `designation` string — Designation of the attendee
  - `phoneNumber` OrgEventsAppDomainApiProductEventAttendeeDtosRegisterEventAttendeeRequestPhoneNumber — Phone number of the attendee
    - `code` string, required — Country calling code
    - `number` string, required — Phone number (without country code)
  - `customFieldsData` OrgEventsAppDomainApiProductEventAttendeeDtosCustomFieldData[] — Custom registration fields and their values. Each object must include a 'fieldSlug' and a corresponding 'value'. <br> - For dropdown (single-select) fields, provide one option as a simple string (e.g., "value": "Option1").<br> - For multiselect fields, provide comma-separated values (e.g., "value": "Option1, Option2"). <br> → In both dropdown and multiselect, the provided values **must match the defined options**.<br> - For date fields, use the format 'YYYY-MM-DD'.<br> - For number fields, provide numeric values (e.g., age).<br> - For all other supported field types, provide a simple string in the 'value'.<br>
    - `fieldSlug` string — Slug of the custom field
    - `value` object — Value of the custom field
  - `disclaimers` OrgEventsAppDomainApiProductEventAttendeeDtosRegisterEventAttendeeRequestDisclaimer[] — Disclaimers of the registration
    - `id` string, uuid — UUID identifier of the disclaimer. Provide either id or fieldSlug.
    - `fieldSlug` string — Field ID (slug) of the disclaimer. Provide either id or fieldSlug; fieldSlug is resolved first, falling back to id if it does not match.
    - `consentGiven` true | false — Whether the attendee has given consent
  - `flowId` string, uuid — The unique identifier of the registration flow for the attendee.
  - `ticketDetails` OrgEventsAppDomainApiProductEventAttendeeDtosRegisterEventAttendeeRequestTicketDetails — Ticket details for the attendee
    - `ticketTypeId` string, uuid, required — Unique identifier of the ticket type associated with the attendee
  - `socialLinks` OrgEventsAppDomainApiProductEventAttendeeDtosSocialLinks — Social media links of the attendee
    - `linkedin` string — Attendee’s LinkedIn profile URL
    - `twitter` string — Attendee’s Twitter profile URL
    - `instagram` string — Attendee’s GitHub profile URL
    - `facebook` string — Attendee’s Facebook profile URL
    - `website` string — Attendee’s personal website URL
  - `sendRegistrationConfirmationEmail` true | false — A boolean that specifies whether a registration confirmation email is to be sent to the attendee.

## Response `201`

Registered attendee successfully

- OrgEventsAppDomainApiProductEventAttendeeDtosEventAttendee
  - `kind` string
  - `url` string, uri
  - `id` string, uuid — Unique Identifier of the event registration for the attendee
  - `eventId` string, uuid — Unique identifier of the event for the attendee
  - `profile` OrgEventsAppDomainApiProductEventAttendeeDtosEventAttendeeProfile — Profile details of the attendee
    - `firstName` string — First name of the attendee
    - `lastName` string — Last name of the attendee
    - `email` string — Email address of the attendee
    - `company` string — Company name of the attendee
    - `designation` string — Title or designation of the attendee
    - `bio` string — Short biography of the attendee.
    - `headline` string — Professional headline of the attendee
    - `industry` string — Industry of the attendee’s company
    - `country` string — Country of the attendee
    - `phoneNumber` string — Phone number of the attendee
    - `profilePictureUrl` string — URL to the attendee’s profile picture
  - `customFieldsData` OrgEventsAppDomainApiProductEventAttendeeDtosCustomFieldData[] — Custom fields in the registration form
    - `fieldSlug` string — Slug of the custom field
    - `value` object — Value of the custom field
  - `disclaimers` OrgEventsAppDomainApiProductEventAttendeeDtosEventAttendeeDisclaimer[] — List of disclaimers
    - `id` string, uuid — Legacy UUID identifier of the disclaimer created on Zuddl
    - `slug` string — Stable field ID of the disclaimer. Nullable for legacy disclaimers or registrations created before disclaimer slugs were stored.
    - `text` string — Disclaimer rich text
    - `consentGiven` boolean — Whether the attendee has given consent
  - `socialLinks` OrgEventsAppDomainApiProductEventAttendeeDtosSocialLinks — Social media links of the attendee
    - `linkedin` string — Attendee’s LinkedIn profile URL
    - `twitter` string — Attendee’s Twitter profile URL
    - `instagram` string — Attendee’s GitHub profile URL
    - `facebook` string — Attendee’s Facebook profile URL
    - `website` string — Attendee’s personal website URL
  - `ticketDetails` OrgEventsAppDomainApiProductEventAttendeeDtosEventAttendeeTicketDetails — Ticket and other related details
    - `ticketTypeId` string — Unique identifier of the ticket type created on Zuddl
    - `ticketName` string — Ticket name
    - `promoCode` string — Promo code
    - `addOns` OrgEventsAppDomainApiProductEventAttendeeDtosEventAttendeeTicketDetailsAddOn[] — List of add-ons purchased for the ticket
      - `id` string — Unique identifier of an add-on
      - `name` string — Name of the add-on
      - `sessions` OrgEventsAppDomainApiProductEventAttendeeDtosEventAttendeeTicketDetailsAddOnSession[] — Sessions included with this add-on
        - `id` string — Unique identifier of the session
        - `name` string — Name of the session
  - `qrCodeImgUrl` string — URL of the attendee's QR code image
  - `confirmationCode` string — Confirmation code for registration
  - `status` 'PENDING' | 'REJECTED' | 'REGISTERED' | 'APPROVED_NOT_REGISTERED' | 'INCOMPLETE' | 'ATTENDED_VIRTUALLY' | 'ATTENDED_IN_PERSON' | 'ATTENDED_BOTH' | 'NO_SHOW' — Status of the attendee
  - `statusUpdatedAt` string, date-time — Timestamp when the attendee’s status was updated
  - `statusSource` 'MANUAL_UPDATE' | 'SYSTEM_UPDATE' — Source of the attendee's status
  - `source` OrgEventsAppDomainApiProductEventAttendeeDtosEventAttendeeRegistrationSource — Registration source details
    - `type` 'ATTENDEE_SIDE' | 'ORGANIZER_SIDE' | 'INTEGRATION' | 'LEAD_CAPTURE' | 'ZUDDL_API' | 'UNKNOWN' — Type of registration source
    - `referrer` string — Referrer information
    - `utmParams` OrgEventsAppDomainApiProductEventAttendeeDtosEventAttendeeRegistrationSourceUTMParams — UTM parameters
      - `id` string — UTM id
      - `source` string — UTM source
      - `medium` string — UTM medium
      - `campaign` string — UTM campaign
      - `term` string — UTM term
      - `content` string — UTM content
    - `metadata` OrgEventsAppDomainApiProductEventAttendeeDtosEventAttendeeRegistrationSourceSourceMetadata — Metadata associated with the registration source
      - `ipAddress` string — IP address of the device used for registration
      - `deviceType` 'IOS' | 'ANDROID' | 'WEB' | 'DESKTOP' | 'MOBILE' | 'TABLET' | 'UNKNOWN' — Type of device used for registration
      - `ipCity` string — City of the IP address
      - `ipCountry` string — Country of the IP address
      - `ipCountryIsoCode` string — ISO code of the country of the IP address
      - `ipState` string — State or region of the IP address
      - `ipStateIsoCode` string — ISO code of the state or region of the IP address
      - `userAgent` string — User-agent string used by the user for registration
      - `latitude` string — Latitude of the IP address
      - `longitude` string — Longitude of the IP address
      - `osType` 'ANDROID' | 'IOS' | 'UNKNOWN' — Operating system type used by the device for registration
      - `platformType` 'WEB' | 'APP' — Platform type used by the device for registration
  - `roles` string[] — Roles of this attendee
  - `unsubscribedNotificationDetails` OrgEventsAppDomainApiProductEventAttendeeDtosEventAttendeeUnsubscribedNotificationDetail[] — List of unsubscribed notification categories
    - `unsubscribeReason` string — Reason for unsubscribing from a notification category
    - `categoryName` string — Category name of the notification that was unsubscribed from
  - `createdAt` string, date-time — Creation timestamp
  - `createdBy` string — User ID of the creator
  - `updatedAt` string, date-time — Update timestamp

## Other responses

- `400` — Invalid event ID supplied
- `401` — Unauthorized access to event
- `404` — Event not found

---

[API](https://skmtc.net/zuddl/apis/zuddl-webhook-documentation.md) · [All operations](https://skmtc.net/zuddl/apis/zuddl-webhook-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zuddl/zuddl-webhook-documentation/revisions/571c1d41e62a/schema)
