openapi: 3.1.0
info:
  title: menta tech API Documentation
  version: v.1.0
  description: >-
    API for managing events, tickets, and marketplace operations. This
    documentation covers integrating with the menta platform for event creation,
    ticket management, secondary market operations, and user
    authentication.<br><br>Base URL: https://api.mentatech.io - Authentication
    requires a valid API Key in the Authorization header.<br><br>The menta
    platform uses a relational data model where endpoints build upon previously
    created data. For example, ticket creation requires an existing event with
    defined price types and zones.<br><br>We recommend following this
    documentation sequentially as it follows the logical integration
    flow.<br><br>While our API has minimal required fields, providing optional
    fields unlocks more powerful features - from enhanced marketplace
    capabilities to advanced ticket management. For example, detailed seat
    information enables precise seat selection, while comprehensive event
    metadata improves the user experience.
tags:
  - name: Events
    description: >-
      Operations related to creating, updating, and managing events and their
      associated shows. This is the first step of the integration. 
  - name: Tickets
    description: >-
      Operations for ticket creation, management, validation, and admission
      control.
  - name: Marketplace
    description: >-
      Operations for the secondary market, including listing tickets for sale
      and purchasing tickets.
  - name: Build Your Own Buyingflow
    description: Streamlined checkout experience for marketplace purchases
  - name: Auth
    description: Authentication operations for secure user access and verification.
paths:
  /v1/events:
    post:
      tags:
        - Events
      summary: Create an Event
      description: >-
        Creates a new event in the system with all associated metadata. Events
        can include multiple shows, ticket options, and configuration settings.
        This endpoint provides a standardized way to integrate your ticketing
        system with menta and serves as the foundation for all ticket
        operations.
      parameters:
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  example: Coldplay - Music of the Spheres World Tour
                  description: >-
                    The main title of the event that will be displayed to users
                    throughout the platform.
                description:
                  type: string
                  example: >-
                    Enjoy the show with your family and friends. Coldplay -
                    Music of the Spheres World Tour is a show not to be missed.
                  description: >-
                    A detailed description of the event, including relevant
                    information for potential attendees. This supports rich text
                    formatting.
                externalReferenceId:
                  type: string
                  example: '123'
                  description: >-
                    The unique identifier of the event in your ticketing system.
                    This ID is used for all future references to this event.
                shows:
                  type: object
                  properties:
                    title:
                      type: string
                      example: Coldplay - Music of the Spheres World Tour
                      description: >-
                        The title of the show, which may differ from the event
                        title if there are multiple performances.
                    date:
                      type: string
                      example: '2024-11-06'
                      description: >-
                        The exact date and time when the show starts, in ISO
                        8601 format. This should include timezone information.
                    showId:
                      type: string
                      example: '123'
                      description: >-
                        The unique identifier of the show in your ticketing
                        system. This is used to correlate tickets with specific
                        performances.
                    primarySalesUrl:
                      type: string
                      minLength: 1
                      example: >-
                        https://www.themasteroftheticket.com/event/1234567890/show/179
                      description: >-
                        The direct URL to purchase tickets for this specific
                        show through the primary sales channel. This can be used
                        for redirects from the marketplace.
                    status:
                      type: string
                      enum: &ref_7
                        - LIVE
                        - CANCELLED
                      example: LIVE
                      description: >-
                        The current status of the show. A cancelled show will
                        not be available for ticket sales or transfers.
                    ticketOptions:
                      type: array
                      items:
                        type: object
                        properties:
                          title:
                            type: string
                          description:
                            type: string
                          price:
                            anyOf:
                              - type: number
                              - type: string
                              - type: 'null'
                          currency:
                            type: string
                          stock:
                            type: number
                          webVisibility:
                            type: boolean
                            default: true
                          webSoldOut:
                            type: boolean
                        required:
                          - title
                          - description
                          - currency
                        description: >-
                          The ticket options available for purchase for the
                          show. Each ticket option represents a distinct ticket
                          type with its own price point, description, and
                          availability.
                        example: &ref_8
                          title: General Admission
                          description: General admission ticket
                          price: 100
                          currency: USD
                          stock: 700
                          webVisibility: true
                          webSoldOut: false
                    priceTypes:
                      type: array
                      items:
                        type: object
                        properties:
                          _id: {}
                          priceTypeId:
                            type: string
                            minLength: 1
                          title:
                            type: string
                          description:
                            type: string
                          price:
                            anyOf:
                              - type: number
                              - type: string
                              - type: 'null'
                          currency:
                            type: string
                          webVisibility:
                            type: boolean
                            default: true
                          webSoldOut:
                            type: boolean
                          stock:
                            type: number
                          invisible:
                            type: boolean
                            default: false
                        required:
                          - priceTypeId
                        description: >-
                          The price types available for purchase for the show.
                          Price types represent different pricing tiers or
                          promotional pricing (e.g., Early Bird, VIP, etc.) that
                          can be applied to ticket options.
                        example: &ref_9
                          title: Early Birds
                          description: Early birds get in for a lower price!
                          price: 100
                          priceTypeId: '123'
                    images:
                      type: array
                      items:
                        type: object
                        properties:
                          url:
                            type: string
                          kind:
                            type: string
                            enum: &ref_10
                              - main
                              - secondary
                              - nft
                            default: main
                        required:
                          - url
                      description: >-
                        The images associated with this show. These are used in
                        various user interfaces to represent the show visually.
                      example: &ref_11
                        - url: >-
                            https://www.themasteroftheticket.com/images/shows/179/1.jpg
                          kind: main
                    configuration:
                      type: object
                      properties:
                        ticketDelivery:
                          type: object
                          properties:
                            time:
                              type: object
                              properties:
                                when:
                                  type: string
                                  enum: &ref_0
                                    - BEFORE
                                    - AFTER
                                seconds:
                                  type: number
                              required:
                                - when
                                - seconds
                              example: &ref_1
                                when: BEFORE
                                seconds: 10800
                          required:
                            - time
                          description: >-
                            Configuration for ticket delivery timing. Set the
                            time before or after the show when the ticket will
                            be delivered to the customer. This controls when QR
                            codes and other access credentials become available.
                        crossBorderPayments:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                            paymentMethods:
                              type: array
                              items:
                                type: string
                                enum: &ref_2
                                  - PAYPAL
                                  - STRIPE
                                  - BANK_TRANSFER
                          required:
                            - enabled
                            - paymentMethods
                          example: &ref_3
                            enabled: true
                            paymentMethods:
                              - PAYPAL
                              - STRIPE
                              - BANK_TRANSFER
                          description: >-
                            Configuration for cross-border payments to enable
                            international ticket sales. Only can be used if your
                            environment is configured to accept cross-border
                            payments. This determines which payment methods are
                            available for international customers.
                        redemption:
                          type: object
                          properties:
                            policy:
                              type: string
                              enum: &ref_4
                                - MANDATORY
                                - OPTIONAL
                                - NONE
                            instructions:
                              type: string
                            hoursBeforeShow:
                              type: number
                          required:
                            - policy
                          examples: &ref_5
                            - policy: MANDATORY
                              instructions: >-
                                You must withdraw your ticket at least 48 hours
                                before the show at the box office. Please
                                present your ID.
                              hoursBeforeShow: 48
                            - policy: OPTIONAL
                              instructions: >-
                                If you wish, you can directly redeem your ticket
                                at the venue. Also, you can withdraw your ticket
                                at the box office the day of the show.
                              hoursBeforeShow: 24
                            - policy: NONE
                          description: >-
                            Configuration for ticket redemption / will call
                            process. If you want to allow or require customers
                            to redeem their tickets at the box office, you can
                            set the policy to MANDATORY or OPTIONAL and provide
                            instructions. This is useful for venues that require
                            physical tickets or wristbands.
                          default: &ref_6
                            policy: NONE
                      description: >-
                        Additional configuration options specific to this show,
                        which may override event-level settings.
                    showRescheduled:
                      type: boolean
                      default: false
                      example: true
                      description: >-
                        Indicates whether the show has been rescheduled from its
                        original date. This affects how the show is presented to
                        users and may trigger notifications.
                    location:
                      type: object
                      properties:
                        city:
                          type:
                            - string
                            - 'null'
                          default: ''
                        state:
                          type:
                            - string
                            - 'null'
                          default: ''
                        venueName:
                          type:
                            - string
                            - 'null'
                          default: ''
                        address:
                          type:
                            - string
                            - 'null'
                          default: ''
                        country:
                          type:
                            - string
                            - 'null'
                          default: ''
                        timeZone:
                          type: string
                        raw:
                          type: string
                        map:
                          type: object
                          properties:
                            thumbnail:
                              type: string
                            googleMapsUrl:
                              type: string
                      description: >-
                        The location where the show will take place. This
                        overrides the event-level location if specified.
                      example: &ref_12
                        address: 123 Main St
                        city: Atlanta
                        state: GA
                        raw: >-
                          Put here the full address instead of the address,
                          city, state fields, CA
                    resaleEnabled:
                      type: boolean
                      default: true
                      example: true
                      description: >-
                        Controls whether tickets for this show can be resold on
                        the secondary marketplace. Set to false to disable
                        resale completely.
                  required:
                    - title
                    - date
                    - showId
                    - ticketOptions
                    - images
                    - configuration
                  description: >-
                    Detailed information about the shows or performances that
                    make up this event. An event can have multiple shows, each
                    with its own date, time, and ticket options.
                location:
                  type: object
                  properties:
                    city:
                      type:
                        - string
                        - 'null'
                      default: ''
                    state:
                      type:
                        - string
                        - 'null'
                      default: ''
                    venueName:
                      type:
                        - string
                        - 'null'
                      default: ''
                    address:
                      type:
                        - string
                        - 'null'
                      default: ''
                    country:
                      type:
                        - string
                        - 'null'
                      default: ''
                    timeZone:
                      type: string
                    raw:
                      type: string
                    map:
                      type: object
                      properties:
                        thumbnail:
                          type: string
                        googleMapsUrl:
                          type: string
                  description: >-
                    The primary location where the event will take place. If
                    shows occur in different locations, specify the location at
                    the show level instead.
                producers:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      emails:
                        type: array
                        items:
                          type: string
                      producerId:
                        type: string
                    required:
                      - producerId
                  description: >-
                    Information about the organizations or individuals producing
                    the event. This is used for communication, reporting, and
                    access control.
                configuration:
                  type: object
                  properties:
                    ticketDelivery:
                      type: object
                      properties:
                        time:
                          type: object
                          properties:
                            when:
                              type: string
                              enum: *ref_0
                            seconds:
                              type: number
                          required:
                            - when
                            - seconds
                          example: *ref_1
                      required:
                        - time
                      description: >-
                        Configuration for ticket delivery timing. Set the time
                        before or after the show when the ticket will be
                        delivered to the customer. This controls when QR codes
                        and other access credentials become available.
                    crossBorderPayments:
                      type: object
                      properties:
                        enabled:
                          type: boolean
                        paymentMethods:
                          type: array
                          items:
                            type: string
                            enum: *ref_2
                      required:
                        - enabled
                        - paymentMethods
                      example: *ref_3
                      description: >-
                        Configuration for cross-border payments to enable
                        international ticket sales. Only can be used if your
                        environment is configured to accept cross-border
                        payments. This determines which payment methods are
                        available for international customers.
                    redemption:
                      type: object
                      properties:
                        policy:
                          type: string
                          enum: *ref_4
                        instructions:
                          type: string
                        hoursBeforeShow:
                          type: number
                      required:
                        - policy
                      examples: *ref_5
                      description: >-
                        Configuration for ticket redemption / will call process.
                        If you want to allow or require customers to redeem
                        their tickets at the box office, you can set the policy
                        to MANDATORY or OPTIONAL and provide instructions. This
                        is useful for venues that require physical tickets or
                        wristbands.
                      default: *ref_6
                  description: >-
                    Global configuration settings that apply to all shows in
                    this event. These can be overridden by show-specific
                    configurations.
                seating:
                  type: object
                  properties:
                    image:
                      type: string
                    svgCode:
                      type: string
                  description: >-
                    Seating chart configuration for venues with assigned
                    seating. This includes section layouts, seat numbering, and
                    other seating-related settings.
              required:
                - title
                - description
                - externalReferenceId
                - shows
                - location
                - configuration
      responses:
        '200':
          description: Event successfully created with all provided details
          content:
            application/json:
              schema:
                type: object
                properties:
                  title:
                    type: string
                    example: Coldplay - Music of the Spheres World Tour
                    description: >-
                      The main title of the event that will be displayed to
                      users throughout the platform.
                  description:
                    type: string
                    example: >-
                      Enjoy the show with your family and friends. Coldplay -
                      Music of the Spheres World Tour is a show not to be
                      missed.
                    description: >-
                      A detailed description of the event, including relevant
                      information for potential attendees. This supports rich
                      text formatting.
                  externalReferenceId:
                    type: string
                    example: '123'
                    description: >-
                      The unique identifier of the event in your ticketing
                      system. This ID is used for all future references to this
                      event.
                  shows:
                    type: object
                    properties:
                      title:
                        type: string
                        example: Coldplay - Music of the Spheres World Tour
                        description: >-
                          The title of the show, which may differ from the event
                          title if there are multiple performances.
                      date:
                        type: string
                        example: '2024-11-06'
                        description: >-
                          The exact date and time when the show starts, in ISO
                          8601 format. This should include timezone information.
                      showId:
                        type: string
                        example: '123'
                        description: >-
                          The unique identifier of the show in your ticketing
                          system. This is used to correlate tickets with
                          specific performances.
                      primarySalesUrl:
                        type: string
                        minLength: 1
                        example: >-
                          https://www.themasteroftheticket.com/event/1234567890/show/179
                        description: >-
                          The direct URL to purchase tickets for this specific
                          show through the primary sales channel. This can be
                          used for redirects from the marketplace.
                      status:
                        type: string
                        enum: *ref_7
                        example: LIVE
                        description: >-
                          The current status of the show. A cancelled show will
                          not be available for ticket sales or transfers.
                      ticketOptions:
                        type: array
                        items:
                          type: object
                          properties:
                            title:
                              type: string
                            description:
                              type: string
                            price:
                              anyOf:
                                - type: number
                                - type: string
                                - type: 'null'
                            currency:
                              type: string
                            stock:
                              type: number
                            webVisibility:
                              type: boolean
                              default: true
                            webSoldOut:
                              type: boolean
                          required:
                            - title
                            - description
                            - currency
                            - webVisibility
                          description: >-
                            The ticket options available for purchase for the
                            show. Each ticket option represents a distinct
                            ticket type with its own price point, description,
                            and availability.
                          example: *ref_8
                      priceTypes:
                        type: array
                        items:
                          type: object
                          properties:
                            _id: {}
                            priceTypeId:
                              type: string
                              minLength: 1
                            title:
                              type: string
                            description:
                              type: string
                            price:
                              anyOf:
                                - type: number
                                - type: string
                                - type: 'null'
                            currency:
                              type: string
                            webVisibility:
                              type: boolean
                              default: true
                            webSoldOut:
                              type: boolean
                            stock:
                              type: number
                            invisible:
                              type: boolean
                              default: false
                          required:
                            - priceTypeId
                            - webVisibility
                            - invisible
                          description: >-
                            The price types available for purchase for the show.
                            Price types represent different pricing tiers or
                            promotional pricing (e.g., Early Bird, VIP, etc.)
                            that can be applied to ticket options.
                          example: *ref_9
                      images:
                        type: array
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                            kind:
                              type: string
                              enum: *ref_10
                              default: main
                          required:
                            - url
                            - kind
                        description: >-
                          The images associated with this show. These are used
                          in various user interfaces to represent the show
                          visually.
                        example: *ref_11
                      configuration:
                        type: object
                        properties:
                          ticketDelivery:
                            type: object
                            properties:
                              time:
                                type: object
                                properties:
                                  when:
                                    type: string
                                    enum: *ref_0
                                  seconds:
                                    type: number
                                required:
                                  - when
                                  - seconds
                                example: *ref_1
                            required:
                              - time
                            description: >-
                              Configuration for ticket delivery timing. Set the
                              time before or after the show when the ticket will
                              be delivered to the customer. This controls when
                              QR codes and other access credentials become
                              available.
                          crossBorderPayments:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                              paymentMethods:
                                type: array
                                items:
                                  type: string
                                  enum: *ref_2
                            required:
                              - enabled
                              - paymentMethods
                            example: *ref_3
                            description: >-
                              Configuration for cross-border payments to enable
                              international ticket sales. Only can be used if
                              your environment is configured to accept
                              cross-border payments. This determines which
                              payment methods are available for international
                              customers.
                          redemption:
                            type: object
                            properties:
                              policy:
                                type: string
                                enum: *ref_4
                              instructions:
                                type: string
                              hoursBeforeShow:
                                type: number
                            required:
                              - policy
                            examples: *ref_5
                            description: >-
                              Configuration for ticket redemption / will call
                              process. If you want to allow or require customers
                              to redeem their tickets at the box office, you can
                              set the policy to MANDATORY or OPTIONAL and
                              provide instructions. This is useful for venues
                              that require physical tickets or wristbands.
                            default: *ref_6
                        description: >-
                          Additional configuration options specific to this
                          show, which may override event-level settings.
                      showRescheduled:
                        type: boolean
                        default: false
                        example: true
                        description: >-
                          Indicates whether the show has been rescheduled from
                          its original date. This affects how the show is
                          presented to users and may trigger notifications.
                      location:
                        type: object
                        properties:
                          city:
                            type:
                              - string
                              - 'null'
                            default: ''
                          state:
                            type:
                              - string
                              - 'null'
                            default: ''
                          venueName:
                            type:
                              - string
                              - 'null'
                            default: ''
                          address:
                            type:
                              - string
                              - 'null'
                            default: ''
                          country:
                            type:
                              - string
                              - 'null'
                            default: ''
                          timeZone:
                            type: string
                          raw:
                            type: string
                          map:
                            type: object
                            properties:
                              thumbnail:
                                type: string
                              googleMapsUrl:
                                type: string
                        required:
                          - city
                          - state
                          - venueName
                          - address
                          - country
                        description: >-
                          The location where the show will take place. This
                          overrides the event-level location if specified.
                        example: *ref_12
                      resaleEnabled:
                        type: boolean
                        default: true
                        example: true
                        description: >-
                          Controls whether tickets for this show can be resold
                          on the secondary marketplace. Set to false to disable
                          resale completely.
                    required:
                      - title
                      - date
                      - showId
                      - ticketOptions
                      - images
                      - configuration
                      - showRescheduled
                      - resaleEnabled
                    description: >-
                      Detailed information about the shows or performances that
                      make up this event. An event can have multiple shows, each
                      with its own date, time, and ticket options.
                  location:
                    type: object
                    properties:
                      city:
                        type:
                          - string
                          - 'null'
                        default: ''
                      state:
                        type:
                          - string
                          - 'null'
                        default: ''
                      venueName:
                        type:
                          - string
                          - 'null'
                        default: ''
                      address:
                        type:
                          - string
                          - 'null'
                        default: ''
                      country:
                        type:
                          - string
                          - 'null'
                        default: ''
                      timeZone:
                        type: string
                      raw:
                        type: string
                      map:
                        type: object
                        properties:
                          thumbnail:
                            type: string
                          googleMapsUrl:
                            type: string
                    required:
                      - city
                      - state
                      - venueName
                      - address
                      - country
                    description: >-
                      The primary location where the event will take place. If
                      shows occur in different locations, specify the location
                      at the show level instead.
                  producers:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        emails:
                          type: array
                          items:
                            type: string
                        producerId:
                          type: string
                      required:
                        - producerId
                    description: >-
                      Information about the organizations or individuals
                      producing the event. This is used for communication,
                      reporting, and access control.
                  configuration:
                    type: object
                    properties:
                      ticketDelivery:
                        type: object
                        properties:
                          time:
                            type: object
                            properties:
                              when:
                                type: string
                                enum: *ref_0
                              seconds:
                                type: number
                            required:
                              - when
                              - seconds
                            example: *ref_1
                        required:
                          - time
                        description: >-
                          Configuration for ticket delivery timing. Set the time
                          before or after the show when the ticket will be
                          delivered to the customer. This controls when QR codes
                          and other access credentials become available.
                      crossBorderPayments:
                        type: object
                        properties:
                          enabled:
                            type: boolean
                          paymentMethods:
                            type: array
                            items:
                              type: string
                              enum: *ref_2
                        required:
                          - enabled
                          - paymentMethods
                        example: *ref_3
                        description: >-
                          Configuration for cross-border payments to enable
                          international ticket sales. Only can be used if your
                          environment is configured to accept cross-border
                          payments. This determines which payment methods are
                          available for international customers.
                      redemption:
                        type: object
                        properties:
                          policy:
                            type: string
                            enum: *ref_4
                          instructions:
                            type: string
                          hoursBeforeShow:
                            type: number
                        required:
                          - policy
                        examples: *ref_5
                        description: >-
                          Configuration for ticket redemption / will call
                          process. If you want to allow or require customers to
                          redeem their tickets at the box office, you can set
                          the policy to MANDATORY or OPTIONAL and provide
                          instructions. This is useful for venues that require
                          physical tickets or wristbands.
                        default: *ref_6
                    description: >-
                      Global configuration settings that apply to all shows in
                      this event. These can be overridden by show-specific
                      configurations.
                  seating:
                    type: object
                    properties:
                      image:
                        type: string
                      svgCode:
                        type: string
                    description: >-
                      Seating chart configuration for venues with assigned
                      seating. This includes section layouts, seat numbering,
                      and other seating-related settings.
                required:
                  - title
                  - description
                  - externalReferenceId
                  - shows
                  - location
                  - configuration
    put:
      tags:
        - Events
      summary: Update an Event
      description: >-
        Updates an existing event with new information. This endpoint requires
        sending the complete updated event object rather than partial updates.
        All fields will be replaced with the new values provided. Always include
        the externalReferenceId to identify which event to update. We strongly
        recommend to send the entire event object rather than partial properties
        updates.
      parameters:
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  example: Coldplay - Music of the Spheres World Tour
                  description: >-
                    The main title of the event that will be displayed to users
                    throughout the platform.
                description:
                  type: string
                  example: >-
                    Enjoy the show with your family and friends. Coldplay -
                    Music of the Spheres World Tour is a show not to be missed.
                  description: >-
                    A detailed description of the event, including relevant
                    information for potential attendees. This supports rich text
                    formatting.
                externalReferenceId:
                  type: string
                  example: '123'
                  description: >-
                    The unique identifier of the event in your ticketing system.
                    This ID is used for all future references to this event.
                shows:
                  type: object
                  properties:
                    title:
                      type: string
                      example: Coldplay - Music of the Spheres World Tour
                      description: >-
                        The title of the show, which may differ from the event
                        title if there are multiple performances.
                    date:
                      type: string
                      example: '2024-11-06'
                      description: >-
                        The exact date and time when the show starts, in ISO
                        8601 format. This should include timezone information.
                    showId:
                      type: string
                      example: '123'
                      description: >-
                        The unique identifier of the show in your ticketing
                        system. This is used to correlate tickets with specific
                        performances.
                    primarySalesUrl:
                      type: string
                      minLength: 1
                      example: >-
                        https://www.themasteroftheticket.com/event/1234567890/show/179
                      description: >-
                        The direct URL to purchase tickets for this specific
                        show through the primary sales channel. This can be used
                        for redirects from the marketplace.
                    status:
                      type: string
                      enum: *ref_7
                      example: LIVE
                      description: >-
                        The current status of the show. A cancelled show will
                        not be available for ticket sales or transfers.
                    ticketOptions:
                      type: array
                      items:
                        type: object
                        properties:
                          title:
                            type: string
                          description:
                            type: string
                          price:
                            anyOf:
                              - type: number
                              - type: string
                              - type: 'null'
                          currency:
                            type: string
                          stock:
                            type: number
                          webVisibility:
                            type: boolean
                            default: true
                          webSoldOut:
                            type: boolean
                        required:
                          - title
                          - description
                          - currency
                        description: >-
                          The ticket options available for purchase for the
                          show. Each ticket option represents a distinct ticket
                          type with its own price point, description, and
                          availability.
                        example: *ref_8
                    priceTypes:
                      type: array
                      items:
                        type: object
                        properties:
                          _id: {}
                          priceTypeId:
                            type: string
                            minLength: 1
                          title:
                            type: string
                          description:
                            type: string
                          price:
                            anyOf:
                              - type: number
                              - type: string
                              - type: 'null'
                          currency:
                            type: string
                          webVisibility:
                            type: boolean
                            default: true
                          webSoldOut:
                            type: boolean
                          stock:
                            type: number
                          invisible:
                            type: boolean
                            default: false
                        required:
                          - priceTypeId
                        description: >-
                          The price types available for purchase for the show.
                          Price types represent different pricing tiers or
                          promotional pricing (e.g., Early Bird, VIP, etc.) that
                          can be applied to ticket options.
                        example: *ref_9
                    images:
                      type: array
                      items:
                        type: object
                        properties:
                          url:
                            type: string
                          kind:
                            type: string
                            enum: *ref_10
                            default: main
                        required:
                          - url
                      description: >-
                        The images associated with this show. These are used in
                        various user interfaces to represent the show visually.
                      example: *ref_11
                    configuration:
                      type: object
                      properties:
                        ticketDelivery:
                          type: object
                          properties:
                            time:
                              type: object
                              properties:
                                when:
                                  type: string
                                  enum: *ref_0
                                seconds:
                                  type: number
                              required:
                                - when
                                - seconds
                              example: *ref_1
                          required:
                            - time
                          description: >-
                            Configuration for ticket delivery timing. Set the
                            time before or after the show when the ticket will
                            be delivered to the customer. This controls when QR
                            codes and other access credentials become available.
                        crossBorderPayments:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                            paymentMethods:
                              type: array
                              items:
                                type: string
                                enum: *ref_2
                          required:
                            - enabled
                            - paymentMethods
                          example: *ref_3
                          description: >-
                            Configuration for cross-border payments to enable
                            international ticket sales. Only can be used if your
                            environment is configured to accept cross-border
                            payments. This determines which payment methods are
                            available for international customers.
                        redemption:
                          type: object
                          properties:
                            policy:
                              type: string
                              enum: *ref_4
                            instructions:
                              type: string
                            hoursBeforeShow:
                              type: number
                          required:
                            - policy
                          examples: *ref_5
                          description: >-
                            Configuration for ticket redemption / will call
                            process. If you want to allow or require customers
                            to redeem their tickets at the box office, you can
                            set the policy to MANDATORY or OPTIONAL and provide
                            instructions. This is useful for venues that require
                            physical tickets or wristbands.
                          default: *ref_6
                      description: >-
                        Additional configuration options specific to this show,
                        which may override event-level settings.
                    showRescheduled:
                      type: boolean
                      default: false
                      example: true
                      description: >-
                        Indicates whether the show has been rescheduled from its
                        original date. This affects how the show is presented to
                        users and may trigger notifications.
                    location:
                      type: object
                      properties:
                        city:
                          type:
                            - string
                            - 'null'
                          default: ''
                        state:
                          type:
                            - string
                            - 'null'
                          default: ''
                        venueName:
                          type:
                            - string
                            - 'null'
                          default: ''
                        address:
                          type:
                            - string
                            - 'null'
                          default: ''
                        country:
                          type:
                            - string
                            - 'null'
                          default: ''
                        timeZone:
                          type: string
                        raw:
                          type: string
                        map:
                          type: object
                          properties:
                            thumbnail:
                              type: string
                            googleMapsUrl:
                              type: string
                      description: >-
                        The location where the show will take place. This
                        overrides the event-level location if specified.
                      example: *ref_12
                    resaleEnabled:
                      type: boolean
                      default: true
                      example: true
                      description: >-
                        Controls whether tickets for this show can be resold on
                        the secondary marketplace. Set to false to disable
                        resale completely.
                  required:
                    - title
                    - date
                    - showId
                    - ticketOptions
                    - images
                    - configuration
                  description: >-
                    Detailed information about the shows or performances that
                    make up this event. An event can have multiple shows, each
                    with its own date, time, and ticket options.
                location:
                  type: object
                  properties:
                    city:
                      type:
                        - string
                        - 'null'
                      default: ''
                    state:
                      type:
                        - string
                        - 'null'
                      default: ''
                    venueName:
                      type:
                        - string
                        - 'null'
                      default: ''
                    address:
                      type:
                        - string
                        - 'null'
                      default: ''
                    country:
                      type:
                        - string
                        - 'null'
                      default: ''
                    timeZone:
                      type: string
                    raw:
                      type: string
                    map:
                      type: object
                      properties:
                        thumbnail:
                          type: string
                        googleMapsUrl:
                          type: string
                  description: >-
                    The primary location where the event will take place. If
                    shows occur in different locations, specify the location at
                    the show level instead.
                producers:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      emails:
                        type: array
                        items:
                          type: string
                      producerId:
                        type: string
                    required:
                      - producerId
                  description: >-
                    Information about the organizations or individuals producing
                    the event. This is used for communication, reporting, and
                    access control.
                configuration:
                  type: object
                  properties:
                    ticketDelivery:
                      type: object
                      properties:
                        time:
                          type: object
                          properties:
                            when:
                              type: string
                              enum: *ref_0
                            seconds:
                              type: number
                          required:
                            - when
                            - seconds
                          example: *ref_1
                      required:
                        - time
                      description: >-
                        Configuration for ticket delivery timing. Set the time
                        before or after the show when the ticket will be
                        delivered to the customer. This controls when QR codes
                        and other access credentials become available.
                    crossBorderPayments:
                      type: object
                      properties:
                        enabled:
                          type: boolean
                        paymentMethods:
                          type: array
                          items:
                            type: string
                            enum: *ref_2
                      required:
                        - enabled
                        - paymentMethods
                      example: *ref_3
                      description: >-
                        Configuration for cross-border payments to enable
                        international ticket sales. Only can be used if your
                        environment is configured to accept cross-border
                        payments. This determines which payment methods are
                        available for international customers.
                    redemption:
                      type: object
                      properties:
                        policy:
                          type: string
                          enum: *ref_4
                        instructions:
                          type: string
                        hoursBeforeShow:
                          type: number
                      required:
                        - policy
                      examples: *ref_5
                      description: >-
                        Configuration for ticket redemption / will call process.
                        If you want to allow or require customers to redeem
                        their tickets at the box office, you can set the policy
                        to MANDATORY or OPTIONAL and provide instructions. This
                        is useful for venues that require physical tickets or
                        wristbands.
                      default: *ref_6
                  description: >-
                    Global configuration settings that apply to all shows in
                    this event. These can be overridden by show-specific
                    configurations.
                seating:
                  type: object
                  properties:
                    image:
                      type: string
                    svgCode:
                      type: string
                  description: >-
                    Seating chart configuration for venues with assigned
                    seating. This includes section layouts, seat numbering, and
                    other seating-related settings.
              required:
                - externalReferenceId
      responses:
        '200':
          description: Event successfully updated with the provided information
          content:
            application/json:
              schema:
                type: object
                properties:
                  title:
                    type: string
                    example: Coldplay - Music of the Spheres World Tour
                    description: >-
                      The main title of the event that will be displayed to
                      users throughout the platform.
                  description:
                    type: string
                    example: >-
                      Enjoy the show with your family and friends. Coldplay -
                      Music of the Spheres World Tour is a show not to be
                      missed.
                    description: >-
                      A detailed description of the event, including relevant
                      information for potential attendees. This supports rich
                      text formatting.
                  externalReferenceId:
                    type: string
                    example: '123'
                    description: >-
                      The unique identifier of the event in your ticketing
                      system. This ID is used for all future references to this
                      event.
                  shows:
                    type: object
                    properties:
                      title:
                        type: string
                        example: Coldplay - Music of the Spheres World Tour
                        description: >-
                          The title of the show, which may differ from the event
                          title if there are multiple performances.
                      date:
                        type: string
                        example: '2024-11-06'
                        description: >-
                          The exact date and time when the show starts, in ISO
                          8601 format. This should include timezone information.
                      showId:
                        type: string
                        example: '123'
                        description: >-
                          The unique identifier of the show in your ticketing
                          system. This is used to correlate tickets with
                          specific performances.
                      primarySalesUrl:
                        type: string
                        minLength: 1
                        example: >-
                          https://www.themasteroftheticket.com/event/1234567890/show/179
                        description: >-
                          The direct URL to purchase tickets for this specific
                          show through the primary sales channel. This can be
                          used for redirects from the marketplace.
                      status:
                        type: string
                        enum: *ref_7
                        example: LIVE
                        description: >-
                          The current status of the show. A cancelled show will
                          not be available for ticket sales or transfers.
                      ticketOptions:
                        type: array
                        items:
                          type: object
                          properties:
                            title:
                              type: string
                            description:
                              type: string
                            price:
                              anyOf:
                                - type: number
                                - type: string
                                - type: 'null'
                            currency:
                              type: string
                            stock:
                              type: number
                            webVisibility:
                              type: boolean
                              default: true
                            webSoldOut:
                              type: boolean
                          required:
                            - title
                            - description
                            - currency
                            - webVisibility
                          description: >-
                            The ticket options available for purchase for the
                            show. Each ticket option represents a distinct
                            ticket type with its own price point, description,
                            and availability.
                          example: *ref_8
                      priceTypes:
                        type: array
                        items:
                          type: object
                          properties:
                            _id: {}
                            priceTypeId:
                              type: string
                              minLength: 1
                            title:
                              type: string
                            description:
                              type: string
                            price:
                              anyOf:
                                - type: number
                                - type: string
                                - type: 'null'
                            currency:
                              type: string
                            webVisibility:
                              type: boolean
                              default: true
                            webSoldOut:
                              type: boolean
                            stock:
                              type: number
                            invisible:
                              type: boolean
                              default: false
                          required:
                            - priceTypeId
                            - webVisibility
                            - invisible
                          description: >-
                            The price types available for purchase for the show.
                            Price types represent different pricing tiers or
                            promotional pricing (e.g., Early Bird, VIP, etc.)
                            that can be applied to ticket options.
                          example: *ref_9
                      images:
                        type: array
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                            kind:
                              type: string
                              enum: *ref_10
                              default: main
                          required:
                            - url
                            - kind
                        description: >-
                          The images associated with this show. These are used
                          in various user interfaces to represent the show
                          visually.
                        example: *ref_11
                      configuration:
                        type: object
                        properties:
                          ticketDelivery:
                            type: object
                            properties:
                              time:
                                type: object
                                properties:
                                  when:
                                    type: string
                                    enum: *ref_0
                                  seconds:
                                    type: number
                                required:
                                  - when
                                  - seconds
                                example: *ref_1
                            required:
                              - time
                            description: >-
                              Configuration for ticket delivery timing. Set the
                              time before or after the show when the ticket will
                              be delivered to the customer. This controls when
                              QR codes and other access credentials become
                              available.
                          crossBorderPayments:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                              paymentMethods:
                                type: array
                                items:
                                  type: string
                                  enum: *ref_2
                            required:
                              - enabled
                              - paymentMethods
                            example: *ref_3
                            description: >-
                              Configuration for cross-border payments to enable
                              international ticket sales. Only can be used if
                              your environment is configured to accept
                              cross-border payments. This determines which
                              payment methods are available for international
                              customers.
                          redemption:
                            type: object
                            properties:
                              policy:
                                type: string
                                enum: *ref_4
                              instructions:
                                type: string
                              hoursBeforeShow:
                                type: number
                            required:
                              - policy
                            examples: *ref_5
                            description: >-
                              Configuration for ticket redemption / will call
                              process. If you want to allow or require customers
                              to redeem their tickets at the box office, you can
                              set the policy to MANDATORY or OPTIONAL and
                              provide instructions. This is useful for venues
                              that require physical tickets or wristbands.
                            default: *ref_6
                        description: >-
                          Additional configuration options specific to this
                          show, which may override event-level settings.
                      showRescheduled:
                        type: boolean
                        default: false
                        example: true
                        description: >-
                          Indicates whether the show has been rescheduled from
                          its original date. This affects how the show is
                          presented to users and may trigger notifications.
                      location:
                        type: object
                        properties:
                          city:
                            type:
                              - string
                              - 'null'
                            default: ''
                          state:
                            type:
                              - string
                              - 'null'
                            default: ''
                          venueName:
                            type:
                              - string
                              - 'null'
                            default: ''
                          address:
                            type:
                              - string
                              - 'null'
                            default: ''
                          country:
                            type:
                              - string
                              - 'null'
                            default: ''
                          timeZone:
                            type: string
                          raw:
                            type: string
                          map:
                            type: object
                            properties:
                              thumbnail:
                                type: string
                              googleMapsUrl:
                                type: string
                        required:
                          - city
                          - state
                          - venueName
                          - address
                          - country
                        description: >-
                          The location where the show will take place. This
                          overrides the event-level location if specified.
                        example: *ref_12
                      resaleEnabled:
                        type: boolean
                        default: true
                        example: true
                        description: >-
                          Controls whether tickets for this show can be resold
                          on the secondary marketplace. Set to false to disable
                          resale completely.
                    required:
                      - title
                      - date
                      - showId
                      - ticketOptions
                      - images
                      - configuration
                      - showRescheduled
                      - resaleEnabled
                    description: >-
                      Detailed information about the shows or performances that
                      make up this event. An event can have multiple shows, each
                      with its own date, time, and ticket options.
                  location:
                    type: object
                    properties:
                      city:
                        type:
                          - string
                          - 'null'
                        default: ''
                      state:
                        type:
                          - string
                          - 'null'
                        default: ''
                      venueName:
                        type:
                          - string
                          - 'null'
                        default: ''
                      address:
                        type:
                          - string
                          - 'null'
                        default: ''
                      country:
                        type:
                          - string
                          - 'null'
                        default: ''
                      timeZone:
                        type: string
                      raw:
                        type: string
                      map:
                        type: object
                        properties:
                          thumbnail:
                            type: string
                          googleMapsUrl:
                            type: string
                    required:
                      - city
                      - state
                      - venueName
                      - address
                      - country
                    description: >-
                      The primary location where the event will take place. If
                      shows occur in different locations, specify the location
                      at the show level instead.
                  producers:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        emails:
                          type: array
                          items:
                            type: string
                        producerId:
                          type: string
                      required:
                        - producerId
                    description: >-
                      Information about the organizations or individuals
                      producing the event. This is used for communication,
                      reporting, and access control.
                  configuration:
                    type: object
                    properties:
                      ticketDelivery:
                        type: object
                        properties:
                          time:
                            type: object
                            properties:
                              when:
                                type: string
                                enum: *ref_0
                              seconds:
                                type: number
                            required:
                              - when
                              - seconds
                            example: *ref_1
                        required:
                          - time
                        description: >-
                          Configuration for ticket delivery timing. Set the time
                          before or after the show when the ticket will be
                          delivered to the customer. This controls when QR codes
                          and other access credentials become available.
                      crossBorderPayments:
                        type: object
                        properties:
                          enabled:
                            type: boolean
                          paymentMethods:
                            type: array
                            items:
                              type: string
                              enum: *ref_2
                        required:
                          - enabled
                          - paymentMethods
                        example: *ref_3
                        description: >-
                          Configuration for cross-border payments to enable
                          international ticket sales. Only can be used if your
                          environment is configured to accept cross-border
                          payments. This determines which payment methods are
                          available for international customers.
                      redemption:
                        type: object
                        properties:
                          policy:
                            type: string
                            enum: *ref_4
                          instructions:
                            type: string
                          hoursBeforeShow:
                            type: number
                        required:
                          - policy
                        examples: *ref_5
                        description: >-
                          Configuration for ticket redemption / will call
                          process. If you want to allow or require customers to
                          redeem their tickets at the box office, you can set
                          the policy to MANDATORY or OPTIONAL and provide
                          instructions. This is useful for venues that require
                          physical tickets or wristbands.
                        default: *ref_6
                    description: >-
                      Global configuration settings that apply to all shows in
                      this event. These can be overridden by show-specific
                      configurations.
                  seating:
                    type: object
                    properties:
                      image:
                        type: string
                      svgCode:
                        type: string
                    description: >-
                      Seating chart configuration for venues with assigned
                      seating. This includes section layouts, seat numbering,
                      and other seating-related settings.
                required:
                  - externalReferenceId
  /v1/events/:externalReferenceId/cancellation:
    post:
      tags:
        - Events
      summary: Cancel an Event
      description: >-
        Cancels an entire event and all associated shows. This action affects
        all tickets linked to this event and should be used with caution. Once
        an event is cancelled, all tickets become invalid. Payouts for tickets
        sold will be cancelled and refunds will be processed for those tickets
        sold in the secondary market.
      parameters:
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                params:
                  type: object
                  properties:
                    externalReferenceEventId:
                      type: string
                      description: The ID of the event in your system.
                      example: '123'
                  required:
                    - externalReferenceEventId
                query:
                  type: object
                  properties:
                    showId:
                      type: string
                      description: The ID of the show in your system.
                      example: '456'
              required:
                - params
                - query
              title: Cancel Event
              description: The event cancellation request.
      responses:
        '200':
          description: Event successfully cancelled with all associated shows
          content:
            application/json:
              schema:
                type: object
                properties:
                  title:
                    type: string
                    example: Coldplay - Music of the Spheres World Tour
                    description: >-
                      The main title of the event that will be displayed to
                      users throughout the platform.
                  description:
                    type: string
                    example: >-
                      Enjoy the show with your family and friends. Coldplay -
                      Music of the Spheres World Tour is a show not to be
                      missed.
                    description: >-
                      A detailed description of the event, including relevant
                      information for potential attendees. This supports rich
                      text formatting.
                  externalReferenceId:
                    type: string
                    example: '123'
                    description: >-
                      The unique identifier of the event in your ticketing
                      system. This ID is used for all future references to this
                      event.
                  shows:
                    type: object
                    properties:
                      title:
                        type: string
                        example: Coldplay - Music of the Spheres World Tour
                        description: >-
                          The title of the show, which may differ from the event
                          title if there are multiple performances.
                      date:
                        type: string
                        example: '2024-11-06'
                        description: >-
                          The exact date and time when the show starts, in ISO
                          8601 format. This should include timezone information.
                      showId:
                        type: string
                        example: '123'
                        description: >-
                          The unique identifier of the show in your ticketing
                          system. This is used to correlate tickets with
                          specific performances.
                      primarySalesUrl:
                        type: string
                        minLength: 1
                        example: >-
                          https://www.themasteroftheticket.com/event/1234567890/show/179
                        description: >-
                          The direct URL to purchase tickets for this specific
                          show through the primary sales channel. This can be
                          used for redirects from the marketplace.
                      status:
                        type: string
                        enum: *ref_7
                        example: LIVE
                        description: >-
                          The current status of the show. A cancelled show will
                          not be available for ticket sales or transfers.
                      ticketOptions:
                        type: array
                        items:
                          type: object
                          properties:
                            title:
                              type: string
                            description:
                              type: string
                            price:
                              anyOf:
                                - type: number
                                - type: string
                                - type: 'null'
                            currency:
                              type: string
                            stock:
                              type: number
                            webVisibility:
                              type: boolean
                              default: true
                            webSoldOut:
                              type: boolean
                          required:
                            - title
                            - description
                            - currency
                            - webVisibility
                          description: >-
                            The ticket options available for purchase for the
                            show. Each ticket option represents a distinct
                            ticket type with its own price point, description,
                            and availability.
                          example: *ref_8
                      priceTypes:
                        type: array
                        items:
                          type: object
                          properties:
                            _id: {}
                            priceTypeId:
                              type: string
                              minLength: 1
                            title:
                              type: string
                            description:
                              type: string
                            price:
                              anyOf:
                                - type: number
                                - type: string
                                - type: 'null'
                            currency:
                              type: string
                            webVisibility:
                              type: boolean
                              default: true
                            webSoldOut:
                              type: boolean
                            stock:
                              type: number
                            invisible:
                              type: boolean
                              default: false
                          required:
                            - priceTypeId
                            - webVisibility
                            - invisible
                          description: >-
                            The price types available for purchase for the show.
                            Price types represent different pricing tiers or
                            promotional pricing (e.g., Early Bird, VIP, etc.)
                            that can be applied to ticket options.
                          example: *ref_9
                      images:
                        type: array
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                            kind:
                              type: string
                              enum: *ref_10
                              default: main
                          required:
                            - url
                            - kind
                        description: >-
                          The images associated with this show. These are used
                          in various user interfaces to represent the show
                          visually.
                        example: *ref_11
                      configuration:
                        type: object
                        properties:
                          ticketDelivery:
                            type: object
                            properties:
                              time:
                                type: object
                                properties:
                                  when:
                                    type: string
                                    enum: *ref_0
                                  seconds:
                                    type: number
                                required:
                                  - when
                                  - seconds
                                example: *ref_1
                            required:
                              - time
                            description: >-
                              Configuration for ticket delivery timing. Set the
                              time before or after the show when the ticket will
                              be delivered to the customer. This controls when
                              QR codes and other access credentials become
                              available.
                          crossBorderPayments:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                              paymentMethods:
                                type: array
                                items:
                                  type: string
                                  enum: *ref_2
                            required:
                              - enabled
                              - paymentMethods
                            example: *ref_3
                            description: >-
                              Configuration for cross-border payments to enable
                              international ticket sales. Only can be used if
                              your environment is configured to accept
                              cross-border payments. This determines which
                              payment methods are available for international
                              customers.
                          redemption:
                            type: object
                            properties:
                              policy:
                                type: string
                                enum: *ref_4
                              instructions:
                                type: string
                              hoursBeforeShow:
                                type: number
                            required:
                              - policy
                            examples: *ref_5
                            description: >-
                              Configuration for ticket redemption / will call
                              process. If you want to allow or require customers
                              to redeem their tickets at the box office, you can
                              set the policy to MANDATORY or OPTIONAL and
                              provide instructions. This is useful for venues
                              that require physical tickets or wristbands.
                            default: *ref_6
                        description: >-
                          Additional configuration options specific to this
                          show, which may override event-level settings.
                      showRescheduled:
                        type: boolean
                        default: false
                        example: true
                        description: >-
                          Indicates whether the show has been rescheduled from
                          its original date. This affects how the show is
                          presented to users and may trigger notifications.
                      location:
                        type: object
                        properties:
                          city:
                            type:
                              - string
                              - 'null'
                            default: ''
                          state:
                            type:
                              - string
                              - 'null'
                            default: ''
                          venueName:
                            type:
                              - string
                              - 'null'
                            default: ''
                          address:
                            type:
                              - string
                              - 'null'
                            default: ''
                          country:
                            type:
                              - string
                              - 'null'
                            default: ''
                          timeZone:
                            type: string
                          raw:
                            type: string
                          map:
                            type: object
                            properties:
                              thumbnail:
                                type: string
                              googleMapsUrl:
                                type: string
                        required:
                          - city
                          - state
                          - venueName
                          - address
                          - country
                        description: >-
                          The location where the show will take place. This
                          overrides the event-level location if specified.
                        example: *ref_12
                      resaleEnabled:
                        type: boolean
                        default: true
                        example: true
                        description: >-
                          Controls whether tickets for this show can be resold
                          on the secondary marketplace. Set to false to disable
                          resale completely.
                    required:
                      - title
                      - date
                      - showId
                      - ticketOptions
                      - images
                      - configuration
                      - showRescheduled
                      - resaleEnabled
                    description: >-
                      Detailed information about the shows or performances that
                      make up this event. An event can have multiple shows, each
                      with its own date, time, and ticket options.
                  location:
                    type: object
                    properties:
                      city:
                        type:
                          - string
                          - 'null'
                        default: ''
                      state:
                        type:
                          - string
                          - 'null'
                        default: ''
                      venueName:
                        type:
                          - string
                          - 'null'
                        default: ''
                      address:
                        type:
                          - string
                          - 'null'
                        default: ''
                      country:
                        type:
                          - string
                          - 'null'
                        default: ''
                      timeZone:
                        type: string
                      raw:
                        type: string
                      map:
                        type: object
                        properties:
                          thumbnail:
                            type: string
                          googleMapsUrl:
                            type: string
                    required:
                      - city
                      - state
                      - venueName
                      - address
                      - country
                    description: >-
                      The primary location where the event will take place. If
                      shows occur in different locations, specify the location
                      at the show level instead.
                  producers:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        emails:
                          type: array
                          items:
                            type: string
                        producerId:
                          type: string
                      required:
                        - producerId
                    description: >-
                      Information about the organizations or individuals
                      producing the event. This is used for communication,
                      reporting, and access control.
                  configuration:
                    type: object
                    properties:
                      ticketDelivery:
                        type: object
                        properties:
                          time:
                            type: object
                            properties:
                              when:
                                type: string
                                enum: *ref_0
                              seconds:
                                type: number
                            required:
                              - when
                              - seconds
                            example: *ref_1
                        required:
                          - time
                        description: >-
                          Configuration for ticket delivery timing. Set the time
                          before or after the show when the ticket will be
                          delivered to the customer. This controls when QR codes
                          and other access credentials become available.
                      crossBorderPayments:
                        type: object
                        properties:
                          enabled:
                            type: boolean
                          paymentMethods:
                            type: array
                            items:
                              type: string
                              enum: *ref_2
                        required:
                          - enabled
                          - paymentMethods
                        example: *ref_3
                        description: >-
                          Configuration for cross-border payments to enable
                          international ticket sales. Only can be used if your
                          environment is configured to accept cross-border
                          payments. This determines which payment methods are
                          available for international customers.
                      redemption:
                        type: object
                        properties:
                          policy:
                            type: string
                            enum: *ref_4
                          instructions:
                            type: string
                          hoursBeforeShow:
                            type: number
                        required:
                          - policy
                        examples: *ref_5
                        description: >-
                          Configuration for ticket redemption / will call
                          process. If you want to allow or require customers to
                          redeem their tickets at the box office, you can set
                          the policy to MANDATORY or OPTIONAL and provide
                          instructions. This is useful for venues that require
                          physical tickets or wristbands.
                        default: *ref_6
                    description: >-
                      Global configuration settings that apply to all shows in
                      this event. These can be overridden by show-specific
                      configurations.
                  seating:
                    type: object
                    properties:
                      image:
                        type: string
                      svgCode:
                        type: string
                    description: >-
                      Seating chart configuration for venues with assigned
                      seating. This includes section layouts, seat numbering,
                      and other seating-related settings.
                required:
                  - title
                  - description
                  - externalReferenceId
                  - shows
                  - location
                  - configuration
  /v1/events/rules:
    post:
      tags:
        - Events
      summary: Define And Update Event Rules
      description: >-
        Creates or updates rules for events, specifying behavior for ticket
        transfers, resales, and other operations. These rules can control
        various aspects of ticket lifecycle management.
      parameters:
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  externalReferenceEventId:
                    type: string
                    description: The ID of the event in your system.
                    example: '123'
                  showId:
                    type: string
                    description: The ID of the show in your system.
                    example: '456'
                  ticketOptionId:
                    type: string
                    description: The ID of the ticket option in your system.
                    example: '789'
                  priceTypeId:
                    type: string
                    description: The ID of the price type in your system.
                    example: '101'
                  price:
                    anyOf:
                      - type: number
                      - type: string
                      - type: 'null'
                    description: The price of the ticket.
                    example: 100
                  ruleType:
                    type: string
                    enum:
                      - genesis
                      - event
                      - show
                      - ticketOption
                      - priceType
                      - combination
                      - override
                    description: The type of rule to create or update.
                  rules:
                    type: object
                    properties:
                      ticketShield:
                        type: boolean
                        default: true
                      qrUnlock:
                        type: number
                        default: 6
                      superSwapUnlock:
                        type: number
                        default: 6
                      superswap:
                        type: boolean
                        default: false
                      superswapInit:
                        type: string
                        default: pre sold out
                      maxSell:
                        type:
                          - number
                          - 'null'
                        default: null
                      minPriceSell:
                        type:
                          - number
                          - 'null'
                        default: 0
                      maxPriceSell:
                        type:
                          - number
                          - 'null'
                        default: null
                      mentaFees:
                        type: object
                        properties:
                          buyer:
                            type: number
                          seller:
                            type: number
                      maxPriceSellConfig:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - FIXED
                              - PERCENTAGE
                          value:
                            type:
                              - number
                              - 'null'
                            default: null
                        required:
                          - type
                        default:
                          type: PERCENTAGE
                          value: null
                      minPriceSellConfig:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - FIXED
                              - PERCENTAGE
                          value:
                            type:
                              - number
                              - 'null'
                            default: 0
                        required:
                          - type
                        default:
                          type: PERCENTAGE
                          value: 0
                    superSwap: false
                    maxSell: 3
                required:
                  - externalReferenceEventId
                  - ruleType
                title: Create and update rules for an event or show
                description: >-
                  Validator for creating or updating rules that can be applied
                  at different levels: event, show, ticket option, price type,
                  or combinations. Rules can control pricing and availability
                  constraints.
              title: Create and update rules for events or shows
              description: >-
                An array of rule definitions that can be applied at different
                levels: event, show, ticket option, price type, or combinations.
              examples:
                - - externalReferenceEventId: '123'
                    ruleType: genesis
                    rules: &ref_13
                      superSwap: false
                      maxSell: 3
                  - externalReferenceEventId: '123'
                    showId: '456'
                    ruleType: genesis
                    rules: *ref_13
                - - externalReferenceEventId: '123'
                    ruleType: event
                    rules: *ref_13
                  - externalReferenceEventId: '123'
                    showId: '456'
                    ruleType: show
                    rules: *ref_13
                - - externalReferenceEventId: '123'
                    showId: '456'
                    ticketOptionId: '789'
                    ruleType: ticketOption
                    rules: *ref_13
                - - externalReferenceEventId: '123'
                    showId: '456'
                    priceTypeId: '101'
                    ruleType: priceType
                    rules: *ref_13
                - - externalReferenceEventId: '123'
                    showId: '456'
                    priceTypeId: '101'
                    ruleType: combination
      responses:
        '200':
          description: Rules successfully defined and applied to the events
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: A message describing the result of the operation.
                    example: Rules updated successfully
                  externalReferenceEventId:
                    type: string
                    description: The ID of the event that was updated.
                    example: '123'
                  success:
                    type: object
                    properties:
                      count:
                        type: number
                        description: The number of rules successfully updated.
                        example: 2
                      results:
                        type: array
                        items:
                          type: string
                        description: Details of each successful rule update.
                        example:
                          - >-
                            Updated QrUnlockTime Strategy to 5 for event:
                            test-e2e1747687821385 and showId:
                            e2e-test-1747687821385
                          - >-
                            Updated SuperSwap Startegy to true for event:
                            test-e2e1747687821385 and ticketOption:
                            17476878213851
                    required:
                      - count
                      - results
                    description: Success information for the update operation.
                  errors:
                    type: object
                    properties:
                      count:
                        type: number
                        description: The number of rule updates that failed.
                        example: 0
                      results:
                        type: array
                        items:
                          type: object
                          properties:
                            rule:
                              type: string
                            showId:
                              type: string
                            message:
                              type: string
                            details:
                              type: string
                          required:
                            - message
                        description: Details of each failed rule update.
                        example: []
                    required:
                      - count
                      - results
                    description: Error information for the update operation.
                required:
                  - message
                  - externalReferenceEventId
                  - success
                  - errors
  /v1/tickets:
    post:
      tags:
        - Tickets
      summary: Create a Ticket
      description: >-
        Creates new tickets in the menta system. This operation registers your
        ticket information in the platform for management and distribution. Each
        ticket receives a unique identifier that links back to your original
        ticketId. The request body requires an array of ticket objects with all
        necessary details. This endpoint is asynchronous and will return a
        response immediately, while the /v1/sync/tickets endpoint is
        synchronous. Using this endpoint will put your request in the queue to
        be processed asynchronously. For high volume of tickets, its recommended
        to use this endpoint as data will be processed as capacity allows.
      parameters:
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  externalReferenceEventId:
                    type: string
                    minLength: 1
                    description: >-
                      The external reference ID of the event this ticket belongs
                      to. This must match an event previously created in the
                      system.
                    example: '123'
                  showId:
                    type:
                      - string
                      - 'null'
                    description: >-
                      The ID of the specific show or performance this ticket
                      grants access to.
                    example: '456'
                  buyer:
                    anyOf:
                      - type: string
                        format: email
                      - type: string
                        pattern: ^\+?\d+$
                    description: >-
                      The email address of the person who purchased the ticket.
                      This is used for communications and to establish initial
                      ownership of the ticket.
                    example: example@email.com
                  ticketId:
                    type: string
                    minLength: 1
                    description: >-
                      The unique identifier for this ticket in your system. This
                      ID will be used in all future references to this ticket
                      and must be unique for each ticket across your system.
                    example: '444'
                  ticketAccess:
                    type: object
                    properties:
                      locator:
                        type: string
                        description: >-
                          The unique access code or barcode value for this
                          ticket. This is used for validation at venue entry
                          points and must be unique across all tickets.
                        example: ABC123
                      type:
                        type: string
                        enum: &ref_14
                          - URL
                          - BASE64
                          - OTHER
                        description: >-
                          The type of access mechanism used for this ticket
                          (e.g., QR, BARCODE, etc). This determines how the
                          ticket will be validated at the venue.
                        example: URL
                    required:
                      - locator
                      - type
                    description: >-
                      The access information for this ticket, including its
                      unique locator code and the type of access mechanism
                      used. 
                    title: Ticket Access Specification
                  ticketOptionId:
                    type: string
                    minLength: 1
                    description: >-
                      The identifier of the ticket option type this ticket
                      belongs to. This links the ticket to its pricing tier and
                      descriptions defined in the event.
                    example: '789'
                  priceTypeId:
                    type: string
                    minLength: 1
                    description: >-
                      The identifier of the price type applied to this ticket
                      (e.g., Early Bird, Standard, VIP). This is used to track
                      different pricing tiers for the same ticket option.
                    example: '101'
                  price:
                    anyOf:
                      - type: number
                      - type: string
                      - type: 'null'
                    description: >-
                      The original face value price of the ticket in the
                      specified currency. This is the official price set by the
                      event organizer.
                    example: 100
                  buyerEmailExternal:
                    type: string
                    format: email
                    description: >-
                      (Only use if you are using phone validation) - The email
                      address of the person who purchased the ticket when using
                      phone validation. This is an alternative identifier when
                      email is not the primary contact method.
                    example: example@email.com
                  primarySaleBuyerData:
                    type: object
                    properties:
                      firstName:
                        type: string
                        description: >-
                          The first name of the person who purchased the ticket
                          in the primary sale. This information is used for
                          ticket personalization and verification.
                        example: John
                      lastName:
                        type: string
                        description: >-
                          The last name of the person who purchased the ticket
                          in the primary sale. This is used alongside the first
                          name for identification purposes.
                        example: Doe
                      identificationType:
                        type: string
                        description: >-
                          The type of identification document provided by the
                          primary buyer (e.g., DNI, Passport, Driver's License).
                          This is used for identity verification at certain
                          venues.
                        example: DNI
                      identificationNumber:
                        type: string
                        description: >-
                          The identification number from the buyer's document.
                          This is used to verify the ticket holder's identity at
                          venues requiring ID checks.
                        example: '123456789'
                      phoneNumber:
                        type: string
                        description: >-
                          The contact phone number of the primary buyer. This
                          may be used for notifications or identity verification
                          purposes.
                        example: '+541144443333'
                  nominalTicket:
                    type: object
                    properties:
                      fullName:
                        type: string
                        description: >-
                          The full name of the person to whom this ticket is
                          issued. For nominal tickets, this person is the only
                          authorized user of the ticket.
                        example: John Doe
                      identification:
                        type: string
                        description: >-
                          The identification number of the person to whom this
                          ticket is issued. This is required for venues that
                          enforce strict ticket personalization.
                        example: '123456789'
                  props:
                    type: object
                    properties:
                      seating:
                        type: object
                        properties:
                          row:
                            type:
                              - string
                              - 'null'
                            description: The row of the seat.
                            example: A
                          seat:
                            type:
                              - string
                              - 'null'
                            description: The seat of the seat.
                            example: '1'
                          section:
                            type:
                              - string
                              - 'null'
                            description: The section of the seat.
                            example: Front stage
                          door:
                            type:
                              - string
                              - 'null'
                            description: The door of the seat.
                            example: '5'
                      urls:
                        type: object
                        properties:
                          externalPassbookUrl:
                            type: string
                            description: >-
                              URL to an external passbook or wallet pass for
                              this ticket. This can be used to provide mobile
                              wallet integration for ticket access.
                            example: https://example.com/passbook.pdf
                          qrTicketPdfUrl:
                            type: string
                            description: >-
                              URL to a PDF version of the ticket containing the
                              QR code. This can be used for printing physical
                              tickets or for backup access methods.
                            example: https://example.com/qr-ticket.pdf
                      isPartOfAPass:
                        type: boolean
                        default: false
                        description: >-
                          Indicates whether this ticket is part of a seasonal or
                          multi-event pass. This affects transfer policies and
                          how the ticket is displayed to users.
                        example: true
                      other:
                        type: object
                        properties:
                          locator:
                            type: string
                            description: >-
                              An additional locator or reference code that can
                              be used to identify this ticket in your system.
                              Often used for order number or booking reference.
                            example: ABC123
                  primarySalesFee:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - FIXED
                          - PERCENTAGE
                        description: >-
                          The type of fee structure applied to primary sales of
                          this ticket (percentage or fixed amount). This
                          determines how resale fees are calculated.
                        example: PERCENTAGE
                      value:
                        type: number
                        description: >-
                          The value of the primary sale fee (percentage or fixed
                          amount depending on type). This is used to calculate
                          fees on resales.
                        example: 10
                    required:
                      - type
                      - value
                required:
                  - externalReferenceEventId
                  - buyer
                  - ticketId
                  - ticketAccess
                  - ticketOptionId
              minItems: 1
              maxItems: 100
              description: >-
                An array of tickets to create or tokenize in the Menta Tech
                system. Each ticket object contains all the necessary
                information to create a digital representation of a physical or
                electronic ticket.
              title: Ticket's array
              example: &ref_15
                - ticketOptionId: '789'
                  priceTypeId: '101'
                  price: 100
                  showId: '456'
                  externalReferenceEventId: '123'
                  ticketId: '444'
                  buyer: example@email.com
                  ticketAccess:
                    locator: ABC123
                    type: URL
                  buyerEmailExternal: example@email.com
                  primarySalesFee:
                    type: PERCENTAGE
                    value: 10
                  primarySaleBuyerData:
                    firstName: John
                    lastName: Doe
                    identificationType: DNI
                    identificationNumber: '123456789'
                    phoneNumber: '+541144443333'
                  nominalTicket:
                    fullName: John Doe
                    identification: '123456789'
                  props:
                    seating:
                      row: A
                      seat: '1'
                      section: Front stage
                      door: '5'
                    urls:
                      externalPassbookUrl: https://example.com/passbook.pdf
                      qrTicketPdfUrl: https://example.com/qr-ticket.pdf
                    isPartOfAPass: true
                    other:
                      locator: ABC123
      responses:
        '200':
          description: Tickets successfully created with unique identifiers
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    _id:
                      type: string
                      example: 507f1f77bcf86cd799439011
                      description: >-
                        The internal unique identifier for this ticket in the
                        Menta system. Use this ID when interacting with
                        Menta-specific endpoints.
                    ticketId:
                      type: string
                      example: '444'
                      description: >-
                        The original external ticket ID provided during
                        creation. This maintains the correlation with your
                        system.
                    showId:
                      type: string
                      example: '456'
                      description: >-
                        The ID of the show this ticket grants access to,
                        matching the ID provided during creation.
                    externalReferenceEventId:
                      type: string
                      example: '123'
                      description: >-
                        The external reference ID of the event this ticket
                        belongs to, linking it to your event database.
                    ticketOptionId:
                      type: string
                      example: '789'
                      description: >-
                        The ID of the ticket option type this ticket belongs to,
                        determining its category and face value.
                    priceTypeId:
                      type: string
                      example: '101'
                      description: >-
                        The ID of the price type applied to this ticket, if
                        applicable (e.g., Early Bird, VIP).
                    price:
                      type: number
                      example: 100
                      description: >-
                        The face value price of the ticket in the specified
                        currency.
                    currency:
                      type: string
                      example: USD
                      description: >-
                        The three-letter ISO currency code for the ticket price
                        (e.g., USD, EUR, GBP).
                    buyer:
                      type: object
                      properties:
                        email:
                          type: string
                          format: email
                          example: example@email.com
                          description: >-
                            The email address of the original buyer who
                            purchased this ticket in the primary market.
                        name:
                          type: string
                          example: John
                          description: >-
                            The name of the buyer, if available. This may be
                            used for personalization and communications.
                      required:
                        - email
                      description: >-
                        Information about the original purchaser of the ticket
                        in the primary market.
                    currentOwnerEmail:
                      type: string
                      format: email
                      example: example@email.com
                      description: >-
                        The email address of the current ticket owner, which may
                        differ from the buyer if the ticket has been
                        transferred.
                    ticketSellerId:
                      type: string
                      example: '1010'
                      description: >-
                        The identifier of the ticket seller or platform that
                        issued this ticket. Used for routing and branding.
                    status:
                      type: string
                      example: ACTIVE
                      description: >-
                        The current status of the ticket (e.g., ACTIVE, USED,
                        CANCELLED, LISTED). This determines what actions can be
                        performed with the ticket.
                  required:
                    - _id
                    - ticketId
                    - showId
                    - externalReferenceEventId
                    - ticketOptionId
                    - price
                    - currency
                    - currentOwnerEmail
                    - ticketSellerId
                    - status
                description: >-
                  The array of tickets that were successfully created in the
                  Menta Tech system, including their assigned identifiers and
                  current status.
                title: Tokenized Tickets Response
  /v1/sync/tickets:
    post:
      tags:
        - Tickets
      summary: Create a Ticket (Sync)
      description: >-
        Creates tickets synchronously, returning an immediate response unlike
        the asynchronous /v1/tickets endpoint. Not suitable for high volume
        requests. Errors must be handled by your end. <b>Restricted Capacity of
        60 requests per minute.</b>
      parameters:
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  externalReferenceEventId:
                    type: string
                    minLength: 1
                    description: >-
                      The external reference ID of the event this ticket belongs
                      to. This must match an event previously created in the
                      system.
                    example: '123'
                  showId:
                    type:
                      - string
                      - 'null'
                    description: >-
                      The ID of the specific show or performance this ticket
                      grants access to.
                    example: '456'
                  buyer:
                    anyOf:
                      - type: string
                        format: email
                      - type: string
                        pattern: ^\+?\d+$
                    description: >-
                      The email address of the person who purchased the ticket.
                      This is used for communications and to establish initial
                      ownership of the ticket.
                    example: example@email.com
                  ticketId:
                    type: string
                    minLength: 1
                    description: >-
                      The unique identifier for this ticket in your system. This
                      ID will be used in all future references to this ticket
                      and must be unique for each ticket across your system.
                    example: '444'
                  ticketAccess:
                    type: object
                    properties:
                      locator:
                        type: string
                        description: >-
                          The unique access code or barcode value for this
                          ticket. This is used for validation at venue entry
                          points and must be unique across all tickets.
                        example: ABC123
                      type:
                        type: string
                        enum: *ref_14
                        description: >-
                          The type of access mechanism used for this ticket
                          (e.g., QR, BARCODE, etc). This determines how the
                          ticket will be validated at the venue.
                        example: URL
                    required:
                      - locator
                      - type
                    description: >-
                      The access information for this ticket, including its
                      unique locator code and the type of access mechanism
                      used. 
                    title: Ticket Access Specification
                  ticketOptionId:
                    type: string
                    minLength: 1
                    description: >-
                      The identifier of the ticket option type this ticket
                      belongs to. This links the ticket to its pricing tier and
                      descriptions defined in the event.
                    example: '789'
                  priceTypeId:
                    type: string
                    minLength: 1
                    description: >-
                      The identifier of the price type applied to this ticket
                      (e.g., Early Bird, Standard, VIP). This is used to track
                      different pricing tiers for the same ticket option.
                    example: '101'
                  price:
                    anyOf:
                      - type: number
                      - type: string
                      - type: 'null'
                    description: >-
                      The original face value price of the ticket in the
                      specified currency. This is the official price set by the
                      event organizer.
                    example: 100
                  buyerEmailExternal:
                    type: string
                    format: email
                    description: >-
                      (Only use if you are using phone validation) - The email
                      address of the person who purchased the ticket when using
                      phone validation. This is an alternative identifier when
                      email is not the primary contact method.
                    example: example@email.com
                  primarySaleBuyerData:
                    type: object
                    properties:
                      firstName:
                        type: string
                        description: >-
                          The first name of the person who purchased the ticket
                          in the primary sale. This information is used for
                          ticket personalization and verification.
                        example: John
                      lastName:
                        type: string
                        description: >-
                          The last name of the person who purchased the ticket
                          in the primary sale. This is used alongside the first
                          name for identification purposes.
                        example: Doe
                      identificationType:
                        type: string
                        description: >-
                          The type of identification document provided by the
                          primary buyer (e.g., DNI, Passport, Driver's License).
                          This is used for identity verification at certain
                          venues.
                        example: DNI
                      identificationNumber:
                        type: string
                        description: >-
                          The identification number from the buyer's document.
                          This is used to verify the ticket holder's identity at
                          venues requiring ID checks.
                        example: '123456789'
                      phoneNumber:
                        type: string
                        description: >-
                          The contact phone number of the primary buyer. This
                          may be used for notifications or identity verification
                          purposes.
                        example: '+541144443333'
                  nominalTicket:
                    type: object
                    properties:
                      fullName:
                        type: string
                        description: >-
                          The full name of the person to whom this ticket is
                          issued. For nominal tickets, this person is the only
                          authorized user of the ticket.
                        example: John Doe
                      identification:
                        type: string
                        description: >-
                          The identification number of the person to whom this
                          ticket is issued. This is required for venues that
                          enforce strict ticket personalization.
                        example: '123456789'
                  props:
                    type: object
                    properties:
                      seating:
                        type: object
                        properties:
                          row:
                            type:
                              - string
                              - 'null'
                            description: The row of the seat.
                            example: A
                          seat:
                            type:
                              - string
                              - 'null'
                            description: The seat of the seat.
                            example: '1'
                          section:
                            type:
                              - string
                              - 'null'
                            description: The section of the seat.
                            example: Front stage
                          door:
                            type:
                              - string
                              - 'null'
                            description: The door of the seat.
                            example: '5'
                      urls:
                        type: object
                        properties:
                          externalPassbookUrl:
                            type: string
                            description: >-
                              URL to an external passbook or wallet pass for
                              this ticket. This can be used to provide mobile
                              wallet integration for ticket access.
                            example: https://example.com/passbook.pdf
                          qrTicketPdfUrl:
                            type: string
                            description: >-
                              URL to a PDF version of the ticket containing the
                              QR code. This can be used for printing physical
                              tickets or for backup access methods.
                            example: https://example.com/qr-ticket.pdf
                      isPartOfAPass:
                        type: boolean
                        default: false
                        description: >-
                          Indicates whether this ticket is part of a seasonal or
                          multi-event pass. This affects transfer policies and
                          how the ticket is displayed to users.
                        example: true
                      other:
                        type: object
                        properties:
                          locator:
                            type: string
                            description: >-
                              An additional locator or reference code that can
                              be used to identify this ticket in your system.
                              Often used for order number or booking reference.
                            example: ABC123
                  primarySalesFee:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - FIXED
                          - PERCENTAGE
                        description: >-
                          The type of fee structure applied to primary sales of
                          this ticket (percentage or fixed amount). This
                          determines how resale fees are calculated.
                        example: PERCENTAGE
                      value:
                        type: number
                        description: >-
                          The value of the primary sale fee (percentage or fixed
                          amount depending on type). This is used to calculate
                          fees on resales.
                        example: 10
                    required:
                      - type
                      - value
                required:
                  - externalReferenceEventId
                  - buyer
                  - ticketId
                  - ticketAccess
                  - ticketOptionId
              minItems: 1
              maxItems: 100
              description: >-
                An array of tickets to create or tokenize in the Menta Tech
                system. Each ticket object contains all the necessary
                information to create a digital representation of a physical or
                electronic ticket.
              title: Ticket's array
              example: *ref_15
      responses:
        '200':
          description: Tickets successfully synchronized with the system
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    _id:
                      type: string
                      example: 507f1f77bcf86cd799439011
                      description: >-
                        The internal unique identifier for this ticket in the
                        Menta system. Use this ID when interacting with
                        Menta-specific endpoints.
                    ticketId:
                      type: string
                      example: '444'
                      description: >-
                        The original external ticket ID provided during
                        creation. This maintains the correlation with your
                        system.
                    showId:
                      type: string
                      example: '456'
                      description: >-
                        The ID of the show this ticket grants access to,
                        matching the ID provided during creation.
                    externalReferenceEventId:
                      type: string
                      example: '123'
                      description: >-
                        The external reference ID of the event this ticket
                        belongs to, linking it to your event database.
                    ticketOptionId:
                      type: string
                      example: '789'
                      description: >-
                        The ID of the ticket option type this ticket belongs to,
                        determining its category and face value.
                    priceTypeId:
                      type: string
                      example: '101'
                      description: >-
                        The ID of the price type applied to this ticket, if
                        applicable (e.g., Early Bird, VIP).
                    price:
                      type: number
                      example: 100
                      description: >-
                        The face value price of the ticket in the specified
                        currency.
                    currency:
                      type: string
                      example: USD
                      description: >-
                        The three-letter ISO currency code for the ticket price
                        (e.g., USD, EUR, GBP).
                    buyer:
                      type: object
                      properties:
                        email:
                          type: string
                          format: email
                          example: example@email.com
                          description: >-
                            The email address of the original buyer who
                            purchased this ticket in the primary market.
                        name:
                          type: string
                          example: John
                          description: >-
                            The name of the buyer, if available. This may be
                            used for personalization and communications.
                      required:
                        - email
                      description: >-
                        Information about the original purchaser of the ticket
                        in the primary market.
                    currentOwnerEmail:
                      type: string
                      format: email
                      example: example@email.com
                      description: >-
                        The email address of the current ticket owner, which may
                        differ from the buyer if the ticket has been
                        transferred.
                    ticketSellerId:
                      type: string
                      example: '1010'
                      description: >-
                        The identifier of the ticket seller or platform that
                        issued this ticket. Used for routing and branding.
                    status:
                      type: string
                      example: ACTIVE
                      description: >-
                        The current status of the ticket (e.g., ACTIVE, USED,
                        CANCELLED, LISTED). This determines what actions can be
                        performed with the ticket.
                  required:
                    - _id
                    - ticketId
                    - showId
                    - externalReferenceEventId
                    - ticketOptionId
                    - price
                    - currency
                    - currentOwnerEmail
                    - ticketSellerId
                    - status
                description: >-
                  The array of tickets that were successfully created in the
                  Menta Tech system, including their assigned identifiers and
                  current status.
                title: Tokenized Tickets Response
  /v1/tickets/:ticketId/url:
    get:
      tags:
        - Tickets
      summary: Get Ticket Public URL
      description: >-
        Retrieves a public URL that can be shared with the ticket holder to view
        and manage their ticket. This URL can optionally include authentication
        parameters through the loginTrust feature for a seamless user
        experience. The resulting URL provides access to ticket details, QR
        codes, and listing options.
      parameters:
        - name: ticketId
          in: path
          required: true
          schema:
            type: string
        - name: loginTrust
          in: query
          required: false
          schema:
            type: string
        - in: header
          name: Authorization
          description: >-
            The authentication public api key header. If you are calling from
            server side, you can also use the Private Key.
          schema:
            type: string
            description: >-
              The authentication public api key header. If you are calling from
              server side, you can also use the Private Key.
            example: PUBLIC_2909-bbda-feee-2200-1010
          required: true
      responses:
        '200':
          description: Successfully generated public URL for the ticket
          content:
            application/json:
              schema:
                type: string
                example: >-
                  https://tickets.mentatech.io/es/guest/123/456/1738223?ticketSellerId=1010
  /v1/tickets/:ticketId:
    put:
      tags:
        - Tickets
      summary: Update a Ticket
      description: >-
        Updates an existing ticket's properties. This can be used to modify
        ticket access information, update buyer details, or change other ticket
        properties after initial creation. The ticket is identified by its ID
        provided in the path parameter.
      parameters:
        - name: ticketId
          in: path
          required: true
          schema:
            type: string
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                UpdateTicketSpecificationBody:
                  type: object
                  properties:
                    externalReferenceEventId:
                      type: string
                      minLength: 1
                      description: >-
                        The external reference ID of the event this ticket
                        belongs to. This must match an event previously created
                        in the system.
                      example: '123'
                    showId:
                      type:
                        - string
                        - 'null'
                      description: >-
                        The ID of the specific show or performance this ticket
                        grants access to.
                      example: '456'
                    buyer:
                      anyOf:
                        - type: string
                          format: email
                        - type: string
                          pattern: ^\+?\d+$
                      description: >-
                        The email address of the person who purchased the
                        ticket. This is used for communications and to establish
                        initial ownership of the ticket.
                      example: example@email.com
                    ticketAccess:
                      type: object
                      properties:
                        locator:
                          type: string
                          description: >-
                            The unique access code or barcode value for this
                            ticket. This is used for validation at venue entry
                            points and must be unique across all tickets.
                          example: ABC123
                        type:
                          type: string
                          enum: *ref_14
                          description: >-
                            The type of access mechanism used for this ticket
                            (e.g., QR, BARCODE, etc). This determines how the
                            ticket will be validated at the venue.
                          example: URL
                      required:
                        - locator
                        - type
                      description: >-
                        The access information for this ticket, including its
                        unique locator code and the type of access mechanism
                        used. 
                      title: Ticket Access Specification
                    ticketOptionId:
                      type: string
                      minLength: 1
                      description: >-
                        The identifier of the ticket option type this ticket
                        belongs to. This links the ticket to its pricing tier
                        and descriptions defined in the event.
                      example: '789'
                    priceTypeId:
                      type: string
                      minLength: 1
                      description: >-
                        The identifier of the price type applied to this ticket
                        (e.g., Early Bird, Standard, VIP). This is used to track
                        different pricing tiers for the same ticket option.
                      example: '101'
                    price:
                      anyOf:
                        - type: number
                        - type: string
                        - type: 'null'
                      description: >-
                        The original face value price of the ticket in the
                        specified currency. This is the official price set by
                        the event organizer.
                      example: 100
                    buyerEmailExternal:
                      type: string
                      format: email
                      description: >-
                        (Only use if you are using phone validation) - The email
                        address of the person who purchased the ticket when
                        using phone validation. This is an alternative
                        identifier when email is not the primary contact method.
                      example: example@email.com
                    primarySaleBuyerData:
                      type: object
                      properties:
                        firstName:
                          type: string
                          description: >-
                            The first name of the person who purchased the
                            ticket in the primary sale. This information is used
                            for ticket personalization and verification.
                          example: John
                        lastName:
                          type: string
                          description: >-
                            The last name of the person who purchased the ticket
                            in the primary sale. This is used alongside the
                            first name for identification purposes.
                          example: Doe
                        identificationType:
                          type: string
                          description: >-
                            The type of identification document provided by the
                            primary buyer (e.g., DNI, Passport, Driver's
                            License). This is used for identity verification at
                            certain venues.
                          example: DNI
                        identificationNumber:
                          type: string
                          description: >-
                            The identification number from the buyer's document.
                            This is used to verify the ticket holder's identity
                            at venues requiring ID checks.
                          example: '123456789'
                        phoneNumber:
                          type: string
                          description: >-
                            The contact phone number of the primary buyer. This
                            may be used for notifications or identity
                            verification purposes.
                          example: '+541144443333'
                    nominalTicket:
                      type: object
                      properties:
                        fullName:
                          type: string
                          description: >-
                            The full name of the person to whom this ticket is
                            issued. For nominal tickets, this person is the only
                            authorized user of the ticket.
                          example: John Doe
                        identification:
                          type: string
                          description: >-
                            The identification number of the person to whom this
                            ticket is issued. This is required for venues that
                            enforce strict ticket personalization.
                          example: '123456789'
                    props:
                      type: object
                      properties:
                        seating:
                          type: object
                          properties:
                            row:
                              type:
                                - string
                                - 'null'
                              description: The row of the seat.
                              example: A
                            seat:
                              type:
                                - string
                                - 'null'
                              description: The seat of the seat.
                              example: '1'
                            section:
                              type:
                                - string
                                - 'null'
                              description: The section of the seat.
                              example: Front stage
                            door:
                              type:
                                - string
                                - 'null'
                              description: The door of the seat.
                              example: '5'
                        urls:
                          type: object
                          properties:
                            externalPassbookUrl:
                              type: string
                              description: >-
                                URL to an external passbook or wallet pass for
                                this ticket. This can be used to provide mobile
                                wallet integration for ticket access.
                              example: https://example.com/passbook.pdf
                            qrTicketPdfUrl:
                              type: string
                              description: >-
                                URL to a PDF version of the ticket containing
                                the QR code. This can be used for printing
                                physical tickets or for backup access methods.
                              example: https://example.com/qr-ticket.pdf
                        isPartOfAPass:
                          type: boolean
                          default: false
                          description: >-
                            Indicates whether this ticket is part of a seasonal
                            or multi-event pass. This affects transfer policies
                            and how the ticket is displayed to users.
                          example: true
                        other:
                          type: object
                          properties:
                            locator:
                              type: string
                              description: >-
                                An additional locator or reference code that can
                                be used to identify this ticket in your system.
                                Often used for order number or booking
                                reference.
                              example: ABC123
                    primarySalesFee:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - FIXED
                            - PERCENTAGE
                          description: >-
                            The type of fee structure applied to primary sales
                            of this ticket (percentage or fixed amount). This
                            determines how resale fees are calculated.
                          example: PERCENTAGE
                        value:
                          type: number
                          description: >-
                            The value of the primary sale fee (percentage or
                            fixed amount depending on type). This is used to
                            calculate fees on resales.
                          example: 10
                      required:
                        - type
                        - value
              required:
                - UpdateTicketSpecificationBody
              title: Update a Ticket
              description: >-
                Update a ticket. This endpoint allows you to modify the display
                information of an existing ticket without changing its core
                properties like ownership or validity.
              examples:
                - UpdateTicketSpecificationBody:
                    ticketOptionId: '444'
                    price: 100
                    buyer: example@email.com
      responses:
        '200':
          description: Ticket successfully updated with new information
          content:
            application/json:
              schema:
                type: object
                properties:
                  _id:
                    type: string
                    example: 507f1f77bcf86cd799439011
                    description: The internal Menta system ID for the updated ticket.
                  ticketId:
                    type: string
                    example: '444'
                    description: >-
                      The external ticket identifier from your system, unchanged
                      from the original.
                  showId:
                    type: string
                    example: '456'
                    description: >-
                      The ID of the show this ticket grants access to, which may
                      have been updated if the ticket was moved to a different
                      show.
                  externalReferenceEventId:
                    type: string
                    example: '123'
                    description: >-
                      The external reference ID of the event this ticket belongs
                      to, which remains consistent with the event
                      identification.
                  ticketOptionId:
                    type: string
                    example: '789'
                    description: >-
                      The ID of the ticket option type, which may have been
                      updated if the ticket category changed.
                  price:
                    type: number
                    example: 100
                    description: >-
                      The current face value price of the ticket, which may
                      reflect updates to the pricing.
                  currency:
                    type: string
                    example: USD
                    description: >-
                      The currency code for the ticket price, consistent with
                      the event currency.
                  buyer:
                    type: object
                    properties:
                      email:
                        type: string
                        format: email
                        example: example@email.com
                        description: >-
                          The email of the original buyer, which is typically
                          not changed even if ownership transfers.
                      name:
                        type: string
                        example: John
                        description: The name of the original buyer, if available.
                    required:
                      - email
                    description: >-
                      Information about the original purchaser, preserved for
                      record-keeping.
                  currentOwnerEmail:
                    type: string
                    format: email
                    example: example@email.com
                    description: >-
                      The email of the current owner, which may have been
                      updated if the ticket was transferred.
                  ticketSellerId:
                    type: string
                    example: '1010'
                    description: >-
                      The platform identifier that issued or is managing this
                      ticket.
                  status:
                    type: string
                    example: ACTIVE
                    description: >-
                      The current status of the ticket after the update,
                      reflecting any changes in its state.
                required:
                  - _id
                  - ticketId
                  - showId
                  - externalReferenceEventId
                  - ticketOptionId
                  - price
                  - currency
                  - currentOwnerEmail
                  - ticketSellerId
                  - status
                description: >-
                  The complete updated ticket object reflecting all changes made
                  during the update operation.
                title: Updated Ticket Response
    delete:
      tags:
        - Tickets
      summary: Delete a Ticket
      description: >-
        Removes a ticket from the system, invalidating it for all purposes. This
        operation is typically used for tickets that were issued in error or
        need to be cancelled for specific reasons. If any listing is active, it
        will be terminated. Use with caution as this operation cannot be undone.
      parameters:
        - name: ticketId
          in: path
          required: true
          schema:
            type: string
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      responses:
        '200':
          description: Ticket successfully deleted from the system
  /v1/tickets/:ticketId/eventAdmission:
    post:
      tags:
        - Tickets
      summary: Register Event Admission
      description: >-
        Records a ticket admission at an event, marking the ticket as used. This
        is typically called by access control systems at venue entrances.
      parameters:
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                params:
                  type: object
                  properties:
                    ticketId:
                      type: string
                      description: The ID of the ticket in your system.
                      example: '444'
                  required:
                    - ticketId
              required:
                - params
              title: Event admission
              description: >-
                Validate ticket admission at an event by marking the ticket as
                used.
              examples:
                - params:
                    ticketId: '444'
      responses:
        '200':
          description: Admission successfully registered for the ticket
          content:
            application/json:
              schema:
                type: boolean
                example: true
  /v1/tickets/batch/eventAdmission:
    post:
      tags:
        - Tickets
      summary: Register Batch Event Admissions
      description: >-
        Records multiple ticket admissions at an event in a single request. This
        is more efficient than making individual calls for each ticket when
        processing groups of attendees. The response indicates whether all
        admissions were successfully recorded.
      parameters:
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                body:
                  type: array
                  items:
                    type: object
                    properties:
                      ticketId:
                        type: string
                        description: The ID of the ticket in your system.
                        example: '444'
                      entryDate:
                        type: string
                        description: The date of the entry in the event.
                        example: '2024-11-06'
                    required:
                      - ticketId
                      - entryDate
              required:
                - body
              title: Batch event admission
              description: >-
                Validate multiple ticket admissions at an event by marking the
                tickets as used.
              examples:
                - body:
                    - ticketId: '444'
                      entryDate: '2024-11-06'
      responses:
        '200':
          description: Batch admission successfully executed for all provided tickets
          content:
            application/json:
              schema:
                type: boolean
                example: true
  /v1/events/tickets/salePublicUrl:
    get:
      tags:
        - Tickets
      summary: Get Ticket Sale Public URL
      description: >-
        Retrieves the public URL for ticket sales, allowing users to be directed
        to a page where they can purchase tickets for an event. This URL can be
        embedded in marketing materials or shared directly with potential
        customers.
      parameters:
        - name: ticketId
          in: query
          required: true
          schema:
            type: string
        - name: lang
          in: query
          required: true
          schema:
            type: string
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      responses:
        '200':
          description: Successfully generated public sales URL
          content:
            application/json:
              schema:
                type: string
                example: >-
                  https://events.mentatech.io/es/guest/123/456/1738223?ticketSellerId=1010
  /v1/events/tickets/user/getMyTicketsURL:
    get:
      tags:
        - Tickets
      summary: Get My Tickets URL
      description: >-
        This endpoint provides a convenient way for users to access all their
        tickets from your platform through a menta-hosted interface. The URL can
        include authentication parameters for a seamless experience.
      parameters:
        - in: header
          name: Authorization
          description: >-
            The authentication public api key header. If you are calling from
            server side, you can also use the Private Key.
          schema:
            type: string
            description: >-
              The authentication public api key header. If you are calling from
              server side, you can also use the Private Key.
            example: PUBLIC_2909-bbda-feee-2200-1010
          required: true
      responses:
        '200':
          description: Successfully generated URL for user's tickets
          content:
            application/json:
              schema:
                type: string
                example: https://tickets.mentatech.io/es/events?ticketSellerId=1010
  /v1/marketplace/buyingflow/url/entrypoint:
    get:
      tags:
        - Marketplace
      summary: Get Secondary Market Buying Flow URL
      description: >-
        Retrieves the entry URL for the ticket buying flow. This URL directs
        users to the marketplace interface where they can browse and purchase
        available tickets. The marketplace provides a secure environment for
        secondary ticket sales with buyer and seller protections.
      parameters:
        - name: externalReferenceEventId
          in: query
          required: true
          schema:
            type: string
        - name: showId
          in: query
          required: true
          schema:
            type: string
        - name: lang
          in: query
          required: true
          schema:
            type: string
        - name: returnTo
          in: query
          required: true
          schema:
            type: string
        - name: ticketOptionId
          in: query
          required: true
          schema:
            type: string
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      responses:
        '200':
          description: Successfully generated buying flow entry URL
          content:
            application/json:
              schema:
                type: string
                example: https://events.mentatech.io/es/123/456?ticketSellerId=1010
  /v1/marketplace/items/events/:eventId/listedTickets:
    get:
      tags:
        - Build Your Own Buyingflow
      summary: Get Listed Tickets for Event
      description: >-
        Retrieves all tickets currently listed for sale for a specific event.
        This allows integration with your platform to display available
        secondary market tickets. The response includes pricing, seat
        information, and other details necessary for presenting the listings to
        potential buyers.
      parameters:
        - name: eventId
          in: path
          required: true
          schema:
            type: string
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      responses:
        '200':
          description: Successfully retrieved all listed tickets for the event
          content:
            application/json:
              schema:
                type: object
                properties:
                  totalCount:
                    type: number
                    example: 15
                    description: Total count of listed tickets for the event
                  bestListing:
                    type: object
                    properties:
                      _id:
                        type: string
                        example: '123'
                        description: Listing ID
                    required:
                      - _id
                    description: >-
                      The best listing available for the event based on price or
                      other criteria
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        ticketOptionId:
                          type: string
                          example: '789'
                          description: ID of the ticket option
                        count:
                          type: number
                          example: 5
                          description: Number of tickets available for this option
                        bestListing:
                          type: object
                          properties:
                            _id:
                              type: string
                              example: '32430'
                              description: Listing ID
                          required:
                            - _id
                          description: The best listing available for this ticket option
                        listings:
                          type: array
                          items:
                            type: object
                            properties:
                              _id:
                                type: string
                                example: '42342'
                                description: Listing ID
                            required:
                              - _id
                          description: All available listings for this ticket option
                      required:
                        - ticketOptionId
                        - count
                        - bestListing
                        - listings
                    description: Grouped results by ticket option
                required:
                  - totalCount
                  - bestListing
                  - results
  /v1/marketplace/buyingflow/buyIntention:
    post:
      tags:
        - Build Your Own Buyingflow
      summary: Create Buy Intention
      description: >-
        A Buy Intention is a representation of a user's intention to purchase
        specific tickets. This creates a temporary reservation to prevent
        conflicts during the checkout process. Buy intentions have a limited
        lifetime and will expire if the purchase is not completed within a
        certain timeframe. You can use this endpoint to create a buy intention
        for specific tickets and retrieve the payment URL to complete the
        purchase.
      parameters:
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                items:
                  type: array
                  items:
                    type: string
                    description: The ID of the listing in our system.
                    example: '123'
                user:
                  type: string
                  description: The email address of the person who purchased the ticket.
                  example: example@email.com
              required:
                - items
                - user
              title: Marketplace buyingflow buy intention
              description: Create a buy intention for a list of items.
              examples:
                - items:
                    - '123'
                  user: example@email.com
      responses:
        '200':
          description: Purchase intention successfully registered
          content:
            application/json:
              schema:
                type: object
                properties:
                  continueUrl:
                    type: string
                    example: https://checkout.mentatech.io
                    description: >-
                      URL to continue the checkout process. You have to redirect
                      the user to this URL to complete the purchase.
                  _id:
                    type: string
                    example: '12432423'
                    description: The menta Buy Intention ID
                  attachedCart:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          type: string
                          description: The ID of the listing in our system.
                          example: '123'
                      expiresAt:
                        type: string
                        example: '2024-11-06'
                        description: Cart expiration date
                      _id:
                        type: string
                        example: '4343242342'
                        description: The menta cart ID
                    required:
                      - items
                      - expiresAt
                      - _id
                  details:
                    type: object
                    properties:
                      total:
                        type: number
                        description: The price of the ticket.
                        example: 100
                      currency:
                        type: string
                        example: MXN
                        description: Currency code
                    required:
                      - total
                      - currency
                required:
                  - continueUrl
                  - _id
                  - attachedCart
                  - details
  /v1/marketplace/sellingflow/url/entrypoint:
    get:
      tags:
        - Marketplace
      summary: Get Start Sell Ticket URL
      description: >-
        Retrieves the URL to begin the process of selling tickets in the
        marketplace. This URL directs users to an interface where they can set
        pricing, listing conditions, and other parameters for their ticket
        listings. The process includes verification steps to ensure ticket
        validity.
      parameters:
        - name: ticketId
          in: query
          required: true
          schema:
            type: string
        - name: lang
          in: query
          required: false
          schema:
            type: string
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      responses:
        '200':
          description: Successfully generated URL for the selling flow
          content:
            application/json:
              schema:
                type: string
                example: >-
                  https://checkout.mentatech.io/es/buyingflow/start/intention/12432423?ticketSellerId=1010&returnUrl=https://example.com
  /v1/marketplace/sellingflow/url/order/entrypoint:
    get:
      tags:
        - Marketplace
      summary: Get Start Sell Order URL
      description: >-
        Retrieves the URL to start the sales order process for multiple tickets
        in a single transaction. This is particularly useful for selling groups
        of tickets or complete orders from the primary market. The generated URL
        leads to a specialized interface for creating these bulk listings.
      parameters:
        - name: orderId
          in: query
          required: true
          schema:
            type: string
        - name: lang
          in: query
          required: false
          schema:
            type: string
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      responses:
        '200':
          description: Successfully generated URL for starting the sales order process
          content:
            application/json:
              schema:
                type: string
                example: >-
                  https://sell-ticket.mentatech.io/es/publish/444?ticketSellerId=1010&oneTimeToken=4238421843090481938491834&returnUrl=https://example.com
  /v1/marketplace/sellingflow/details/url:
    get:
      tags:
        - Marketplace
      summary: Get Sell Ticket Details URL
      description: >-
        Retrieves the URL for viewing and managing details of a ticket listing.
        This allows ticket owners to check the status of their listings, modify
        pricing, or remove listings from the marketplace. The URL can include
        authentication parameters for direct access.
      parameters:
        - name: ticketId
          in: query
          required: true
          schema:
            type: string
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      responses:
        '200':
          description: Successfully generated URL for selling details
          content:
            application/json:
              schema:
                type: string
                example: >-
                  https://ticket-info.mentatech.io/es/444/listing?ticketSellerId=1010&oneTimeToken=4238421843090481938491834&returnUrl=https://example.com
  /v1/marketplace/checkout/url:
    post:
      tags:
        - Marketplace
      summary: Create Marketplace Checkout URL
      description: >-
        Creates and retrieves a checkout URL for marketplace purchases. This URL
        directs users to complete their purchase of selected tickets from the
        secondary market. The checkout process handles payment processing, buyer
        verification, and ticket transfer in a secure environment. The request
        requires a list of ticket listing IDs to purchase that you can get from
        the Get Listed Tickets for Event endpoint.
      parameters:
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                listingIds:
                  type: array
                  items:
                    type: string
                    description: The ID of the listing in our system.
                    example: '123'
              required:
                - listingIds
              title: Marketplace checkout url
              description: Get the public URL to checkout a list of ticket listings.
              examples:
                - listingIds:
                    - '123'
      responses:
        '200':
          description: Successfully generated checkout URL for the marketplace purchase
          content:
            application/json:
              schema:
                type: string
                example: >-
                  https://checkout.mentatech.io/es/buyingflow/start/intention/12432423?ticketSellerId=1010&returnUrl=https://example.com
  /v1/marketplace/items/ticket/:ticketId:
    delete:
      tags:
        - Marketplace
      summary: Terminate Listing
      description: >-
        Removes a ticket from the marketplace listings, making it unavailable
        for purchase. This is typically used when a seller wants to cancel their
        listing without completing a sale. The ticket reverts to its unlisted
        state and can be used by the owner or listed again later.
      parameters:
        - name: ticketId
          in: path
          required: true
          schema:
            type: string
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      responses:
        '200':
          description: Ticket successfully removed from marketplace listings
          content:
            application/json:
              schema:
                type: object
                properties:
                  _id:
                    type: string
                    example: 507f1f77bcf86cd799439011
                    description: The ID of the removed listing
                required:
                  - _id
                description: The removed listing information
  /v1/auth/oneTimeToken:
    get:
      tags:
        - Auth
      summary: Generate One-Time Token
      description: >-
        Creates a one-time authentication token for a specific user. This token
        can be appended to any menta URL to provide temporary authenticated
        access. It's useful for redirecting users from your platform to specific
        menta functions while maintaining their authenticated state. The token
        is designed for single use and will expire after being used or after a
        predetermined time period.
      parameters:
        - name: user
          in: query
          required: true
          schema:
            type: string
        - name: method
          in: query
          required: false
          schema:
            type: string
        - in: header
          name: Authorization
          description: The authentication private api key header.
          schema:
            type: string
            description: The authentication private api key header.
            example: 09deff-2341-ade92341-7090-ff11
          required: true
      responses:
        '200':
          description: One-time token successfully generated
          content:
            application/json:
              schema:
                type: object
                properties:
                  oneTimeToken:
                    type: string
                    example: '4238421843090481938491834'
                    description: >-
                      The generated one-time token that can be used for
                      authentication. This token should be appended to menta
                      URLs as a query parameter named "oneTimeToken".
                required:
                  - oneTimeToken
