> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zuddl.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Register Attendee

> **Tool name:** `v1_register_attendee` · **Behaviour:** ✏️ Write

Add an attendee to an event by passing the required registration details. The attendee must be associated with a registration flow; for ticketed events it must also be associated with a ticket. A unique registrationId is created that identifies the attendee.

**Same as Public API:** [Add an attendee](/api-reference/attendees/add-an-attendee) (`POST /v1/events/{eventId}/attendees`)



## OpenAPI

````yaml https://api.prod.zuddl.com/api/v3/api-docs/mcp-tools post /tools/v1_register_attendee
openapi: 3.1.0
info:
  title: Zuddl MCP Tools Reference
  description: >-
    The Zuddl MCP server lets AI assistants such as Claude and ChatGPT work with
    your Zuddl organization through the [Model Context
    Protocol](https://modelcontextprotocol.io). This reference lists every tool
    the server offers. It is generated from the live server, so it always
    matches what your assistant sees.


    # Connecting


    Add `https://setup.zuddl.com/api/mcp` as a remote MCP server in your
    assistant. It signs you in to Zuddl with OAuth and then calls tools on your
    behalf, with your permissions. AI features must be enabled for your
    organization.


    # Calling a tool


    Assistants call a tool with a JSON-RPC `tools/call` request whose `name` is
    the tool name and whose `arguments` match the request body documented on the
    tool's page. The `/tools/<name>` paths in this reference identify tools;
    they are not HTTP endpoints.


    # Behaviour labels


    | Label | Meaning |

    | --- | --- |

    | 🔒 Read-only | Reads data and changes nothing. |

    | ✏️ Write | Creates or updates data, but does not delete it. |

    | ⚠️ Destructive | Deletes or removes data. Most assistants ask you to
    approve these calls. |

    | 🔁 Idempotent | Calling it again with the same arguments has no further
    effect. |


    A tool that mirrors a Public API endpoint links to that endpoint's page.
    MCP-only tools have no Public API equivalent.
  version: 1.0.0
servers:
  - url: https://setup.zuddl.com/api/mcp
    description: Zuddl MCP server
security:
  - oauth: []
tags:
  - name: Events
  - name: Attendees
  - name: Sessions
  - name: Speakers
  - name: Sponsors
  - name: Locations
  - name: Teams
  - name: Brand Kits
  - name: Registration flows & tickets
  - name: Analytics
paths:
  /tools/v1_register_attendee:
    post:
      tags:
        - Attendees
      summary: Register Attendee
      description: >-
        **Tool name:** `v1_register_attendee` · **Behaviour:** ✏️ Write


        Add an attendee to an event by passing the required registration
        details. The attendee must be associated with a registration flow; for
        ticketed events it must also be associated with a ticket. A unique
        registrationId is created that identifies the attendee.


        **Same as Public API:** [Add an
        attendee](/api-reference/attendees/add-an-attendee) (`POST
        /v1/events/{eventId}/attendees`)
      operationId: v1_register_attendee
      requestBody:
        description: The tool's `arguments`, as sent in a JSON-RPC `tools/call` request.
        content:
          application/json:
            schema:
              type: object
              properties:
                eventId:
                  type: string
                  description: Unique identifier of the event
                request:
                  type: object
                  description: >-
                    Registration details for the new attendee (name, email,
                    ticket, custom fields, etc.)
                  properties:
                    bio:
                      type: string
                      description: Short biography of the attendee.
                      maxLength: 3000
                    company:
                      type: string
                      description: Company of the attendee
                      maxLength: 255
                    country:
                      type: string
                      description: Country of the attendee
                      maxLength: 255
                    customFieldsData:
                      type: array
                      description: >
                        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>
                      items:
                        type: object
                        properties:
                          fieldSlug:
                            type: string
                            description: Slug of the custom field
                          value:
                            description: Value of the custom field
                          valueLabels:
                            type: array
                            description: >-
                              Display labels corresponding to Session Picker
                              values
                            items:
                              type: string
                            readOnly: true
                        required:
                          - fieldSlug
                          - value
                          - valueLabels
                    designation:
                      type: string
                      description: Designation of the attendee
                      maxLength: 255
                    disclaimers:
                      type: array
                      description: Disclaimers of the registration
                      items:
                        type: object
                        properties:
                          consentGiven:
                            type: boolean
                            description: Whether the attendee has given consent
                            enum:
                              - 'true'
                              - 'false'
                          fieldSlug:
                            type: string
                            description: >-
                              Field ID (slug) of the disclaimer. Provide either
                              id or fieldSlug; fieldSlug is resolved first,
                              falling back to id if it does not match.
                          id:
                            type: string
                            format: uuid
                            description: >-
                              UUID identifier of the disclaimer. Provide either
                              id or fieldSlug.
                        required:
                          - consentGiven
                          - fieldSlug
                          - id
                    email:
                      type: string
                      description: Email address of the attendee
                      maxLength: 150
                    firstName:
                      type: string
                      description: First name of the attendee
                      maxLength: 150
                    flowId:
                      type: string
                      format: uuid
                      description: >-
                        The unique identifier of the registration flow for the
                        attendee.
                    lastName:
                      type: string
                      description: Last name of the attendee
                      maxLength: 150
                    phoneNumber:
                      type: object
                      description: Phone number of the attendee
                      properties:
                        code:
                          type: string
                          description: Country calling code
                        number:
                          type: string
                          description: Phone number (without country code)
                      required:
                        - code
                        - number
                    requireMandatoryFields:
                      type: boolean
                      default: 'false'
                      description: >-
                        When true, the registration is rejected unless every
                        mandatory field applicable to the supplied data is
                        filled. Only the fields the attendee would have been
                        asked for are validated: the registration flow is
                        evaluated so that branches not taken and fields hidden
                        by field conditions are skipped. All violations are
                        returned together. Defaults to false, which registers
                        the attendee without enforcing mandatory fields.
                      enum:
                        - 'true'
                        - 'false'
                    sendRegistrationConfirmationEmail:
                      type: boolean
                      default: 'false'
                      description: >-
                        A boolean that specifies whether a registration
                        confirmation email is to be sent to the attendee.
                      enum:
                        - 'true'
                        - 'false'
                    socialLinks:
                      type: object
                      description: Social links of the attendee
                      properties:
                        facebook:
                          type: string
                          description: Attendee’s Facebook profile URL
                        instagram:
                          type: string
                          description: Attendee’s GitHub profile URL
                        linkedin:
                          type: string
                          description: Attendee’s LinkedIn profile URL
                        twitter:
                          type: string
                          description: Attendee’s Twitter profile URL
                        website:
                          type: string
                          description: Attendee’s personal website URL
                      required:
                        - facebook
                        - instagram
                        - linkedin
                        - twitter
                        - website
                    ticketDetails:
                      type: object
                      description: Ticket details for the attendee
                      properties:
                        ticketTypeId:
                          type: string
                          format: uuid
                          description: >-
                            Unique identifier of the ticket type associated with
                            the attendee
                      required:
                        - ticketTypeId
                  required:
                    - email
                    - firstName
                    - lastName
              required:
                - eventId
                - request
        required: true
      responses:
        '200':
          description: A JSON-RPC `tools/call` result. The tool's output is in `content`.
components:
  securitySchemes:
    oauth:
      type: http
      description: >-
        OAuth 2.1 access token. MCP clients obtain it themselves (dynamic client
        registration + PKCE) when you connect them to the server URL above.
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.