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

# Join Event Waitlist

> Join the waitlist for a sold-out event. Requires the event to have its waitlist enabled and to be sold out, and the customer must not already be on the waitlist. Returns the assigned waitlist position.



## OpenAPI

````yaml /api-reference/openapi.json post /events/{product}/waitlist
openapi: 3.0.0
info:
  title: Marzipan API
  version: 1.0.0
servers:
  - url: https://api.marzipan.co/v1
security:
  - tenantAuth: []
tags:
  - name: Account
    description: >-
      Account management endpoints including registration, login, and user
      details
  - name: Carts
    description: Shopping cart management endpoints
  - name: Products
    description: Product catalog and search endpoints
  - name: Subscriptions
    description: Subscription management and renewal endpoints
  - name: CMS
    description: Content management system endpoints
  - name: Messaging
    description: Message and communication endpoints
  - name: Search
    description: Search functionality endpoints
  - name: Settings
    description: >-
      Storefront settings and market detection used to configure the web
      components and checkout.
  - name: Analytics
    description: Storefront visit and attribution tracking.
  - name: Rewards
    description: >-
      Loyalty and rewards programme endpoints for the authenticated customer,
      covering points balance, tier status, perks, exclusive products and
      transaction history.
  - name: Forms
    description: Render and submit dynamic storefront forms defined in the CMS.
  - name: Events
    description: >-
      Check event availability, browse occurrences and recurring dates, generate
      ticket QR codes, and manage event waitlists (join, leave, check status,
      and claim promoted spots).
paths:
  /events/{product}/waitlist:
    parameters:
      - name: product
        in: path
        required: true
        description: The unique identifier of the event product.
        schema:
          type: string
          format: uuid
        example: 3f1c9d20-5b8e-4c11-a2d7-6e9f0a1b2c3d
    post:
      tags:
        - Events
      summary: Join Event Waitlist
      description: >-
        Join the waitlist for a sold-out event. Requires the event to have its
        waitlist enabled and to be sold out, and the customer must not already
        be on the waitlist. Returns the assigned waitlist position.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - email
                - name
                - quantity
              properties:
                email:
                  type: string
                  format: email
                  description: The customer's email address.
                name:
                  type: string
                  maxLength: 255
                  description: The customer's name.
                phone:
                  type: string
                  maxLength: 50
                  nullable: true
                  description: The customer's phone number.
                quantity:
                  type: integer
                  minimum: 1
                  maximum: 10
                  description: The number of tickets requested.
            example:
              email: alex@example.com
              name: Alex Rivera
              phone: +44 7700 900123
              quantity: 2
      responses:
        '200':
          description: Added to the waitlist.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  position:
                    type: integer
                    description: The assigned position in the waitlist.
                  message:
                    type: string
              example:
                success: true
                position: 4
                message: Added to waitlist at position 4
        '404':
          description: Product not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: No query results for model [Product].
        '422':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
              example:
                message: The email field is required.
                errors:
                  email:
                    - The email field is required.
components:
  schemas:
    Error:
      type: object
      properties:
        message:
          type: string
          description: Error message
      required:
        - message
    ValidationError:
      type: object
      properties:
        message:
          type: string
          description: Validation error message
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Field-specific validation errors
      required:
        - message
        - errors
  securitySchemes:
    tenantAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer authentication header of the form `Bearer <token>`, where
        `<token>` is your API token.
      bearerFormat: JWT

````