viagogo E Tickets API

The E-Tickets API from viagogo — 13 operation(s) for e-tickets.

OpenAPI Specification

viagogo-e-tickets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Viagogo E Tickets API
  version: 2.249.0.0
  description: 'Operations tagged E-Tickets across 2 of this provider''s published API definitions: viagogo-inventory.json, viagogo-sales.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.viagogo.net/v2
  description: Production
- url: https://sandbox.api.viagogo.net/v2
  description: Sandbox
tags:
- name: E-Tickets
paths:
  /sellerlistings/{listingId}/eticketuploads:
    post:
      tags:
      - E-Tickets
      summary: Upload e-tickets for a seller listing
      operationId: ETicket_UploadListingETicket
      parameters:
      - name: listingId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: page
        in: query
        description: Specifies which page of data to retrieve.
        schema:
          type: integer
          format: int32
      - name: page_size
        in: query
        description: Set custom page sizes on response.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ETicketUploads'
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '400':
          $ref: '#/components/responses/validation_failed'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - write:sellerlistings
    get:
      tags:
      - E-Tickets
      summary: List e-ticket uploads for a seller listing
      operationId: ETicket_GetListingETicketUploads
      parameters:
      - name: listingId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: page
        in: query
        description: Specifies which page of data to retrieve.
        schema:
          type: integer
          format: int32
      - name: page_size
        in: query
        description: Set custom page sizes on response.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ETicketUploads'
        '404':
          $ref: '#/components/responses/not_found'
          description: null
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - read:sellerlistings
    servers:
    - url: https://api.viagogo.net/v2
      description: Production
    - url: https://sandbox.api.viagogo.net/v2
      description: Sandbox
  /events/{eventId}/eticketuploads:
    post:
      tags:
      - E-Tickets
      summary: Upload e-tickets for an event
      operationId: ETicket_UploadEventETicket
      parameters:
      - name: eventId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: page
        in: query
        description: Specifies which page of data to retrieve.
        schema:
          type: integer
          format: int32
      - name: page_size
        in: query
        description: Set custom page sizes on response.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ETicketUploads'
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '400':
          $ref: '#/components/responses/validation_failed'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - write:user
    get:
      tags:
      - E-Tickets
      summary: List e-ticket uploads for an event
      operationId: ETicket_GetEventETicketUploads
      parameters:
      - name: eventId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ETicketUpload'
        '404':
          $ref: '#/components/responses/not_found'
          description: null
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - read:user
    servers:
    - url: https://api.viagogo.net/v2
      description: Production
    - url: https://sandbox.api.viagogo.net/v2
      description: Sandbox
  /sellerlistings/{listingId}/etickets:
    get:
      tags:
      - E-Tickets
      summary: List e-tickets for a seller listing
      operationId: ETicket_GetListingETickets
      parameters:
      - name: listingId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: page
        in: query
        description: Specifies which page of data to retrieve.
        schema:
          type: integer
          format: int32
      - name: page_size
        in: query
        description: Set custom page sizes on response.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ETickets'
        '404':
          $ref: '#/components/responses/not_found'
          description: null
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - read:sellerlistings
    patch:
      tags:
      - E-Tickets
      summary: Mark-back e-tickets from a seller listing
      description: Removes a certain number of e-tickets that you no longer wish to sell from your listing.
      operationId: ETicket_MarkBackETickets
      parameters:
      - name: listingId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: page
        in: query
        description: Specifies which page of data to retrieve.
        schema:
          type: integer
          format: int32
      - name: page_size
        in: query
        description: Set custom page sizes on response.
        schema:
          type: integer
          format: int32
      requestBody:
        x-name: body
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/PostMarkBackETicketsRequest'
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ETickets'
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '400':
          $ref: '#/components/responses/validation_failed'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - write:sellerlistings
    post:
      tags:
      - E-Tickets
      summary: Upload and save e-tickets for a seller listing
      operationId: ETicket_PostListingETickets
      parameters:
      - name: listingId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: page
        in: query
        description: Specifies which page of data to retrieve.
        schema:
          type: integer
          format: int32
      - name: page_size
        in: query
        description: Set custom page sizes on response.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ETickets'
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '400':
          $ref: '#/components/responses/validation_failed'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - write:sellerlistings
    servers:
    - url: https://api.viagogo.net/v2
      description: Production
    - url: https://sandbox.api.viagogo.net/v2
      description: Sandbox
  /sellerlistings/{listingId}/etickets/{ETicketId}:
    delete:
      tags:
      - E-Tickets
      summary: Delete e-ticket from a seller listing
      operationId: ETicket_DeleteListingETicket
      parameters:
      - name: listingId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: eticketId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '204':
          description: null
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - write:sellerlistings
    servers:
    - url: https://api.viagogo.net/v2
      description: Production
    - url: https://sandbox.api.viagogo.net/v2
      description: Sandbox
  /events/{eventId}/etickets/{eticketId}:
    delete:
      tags:
      - E-Tickets
      summary: Delete e-ticket from an event
      operationId: ETicket_DeleteEventETicket
      parameters:
      - name: eventId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: eticketId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '204':
          description: null
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - write:user
    servers:
    - url: https://api.viagogo.net/v2
      description: Production
    - url: https://sandbox.api.viagogo.net/v2
      description: Sandbox
  /sellerlistings/{listingId}/markedbacketickets/{markedBackETicketId}/document:
    get:
      tags:
      - E-Tickets
      summary: Get marked back e-ticket file for seller listing
      operationId: ETicketDocument_GetMarkedBackETicketDocument
      parameters:
      - name: listingId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: markedBackETicketId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '404':
          $ref: '#/components/responses/not_found'
          description: null
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - read:sellerlistings
    servers:
    - url: https://api.viagogo.net/v2
      description: Production
    - url: https://sandbox.api.viagogo.net/v2
      description: Sandbox
  /sales/{saleId}/eticketuploads:
    post:
      tags:
      - E-Tickets
      summary: Upload e-tickets or proof of transfer for a sale
      description: Once the PDFs has been successfully been uploaded, you must also patch the sale confirming which pages of each PDF should be saved against the order. To do this, the Ids of the etickets property embedded in the EticketUploadEmbeddedResources of each upload, and patch the sale with those Ids.
      operationId: ETicket_UploadSaleETicket
      parameters:
      - name: saleId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: page
        in: query
        description: Specifies which page of data to retrieve.
        schema:
          type: integer
          format: int32
      - name: page_size
        in: query
        description: Set custom page sizes on response.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ETicketUploads'
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '400':
          $ref: '#/components/responses/validation_failed'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - write:user
        - write:sales
    get:
      tags:
      - E-Tickets
      summary: List e-ticket uploads for a sale
      operationId: ETicket_GetSaleETicketUploads
      parameters:
      - name: saleId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: page
        in: query
        description: Specifies which page of data to retrieve.
        schema:
          type: integer
          format: int32
      - name: page_size
        in: query
        description: Set custom page sizes on response.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ETicketUploads'
        '404':
          $ref: '#/components/responses/not_found'
          description: null
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - read:user
        - read:sales
    servers:
    - url: https://api.viagogo.net/v2
      description: Production
    - url: https://sandbox.api.viagogo.net/v2
      description: Sandbox
  /sales/{saleId}/transferuploads/{transferType}:
    post:
      tags:
      - E-Tickets
      summary: Upload e-ticket transfer for a sale
      description: Supported transfer types are "acceptance" for proof of acceptance.
      operationId: ETicket_UploadSaleTransfer
      parameters:
      - name: saleId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: transferType
        in: path
        required: true
        schema:
          type:
          - string
          - 'null'
      - name: page
        in: query
        description: Specifies which page of data to retrieve.
        schema:
          type: integer
          format: int32
      - name: page_size
        in: query
        description: Set custom page sizes on response.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ETicketUploads'
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '400':
          $ref: '#/components/responses/validation_failed'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - write:user
        - write:sales
    servers:
    - url: https://api.viagogo.net/v2
      description: Production
    - url: https://sandbox.api.viagogo.net/v2
      description: Sandbox
  /sales/{saleId}/etickets:
    get:
      tags:
      - E-Tickets
      summary: List e-tickets for a sale
      operationId: ETicket_GetSaleETickets
      parameters:
      - name: saleId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: page
        in: query
        description: Specifies which page of data to retrieve.
        schema:
          type: integer
          format: int32
      - name: page_size
        in: query
        description: Set custom page sizes on response.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ETickets_2'
        '404':
          $ref: '#/components/responses/not_found'
          description: null
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - read:user
        - read:sales
    post:
      tags:
      - E-Tickets
      summary: Upload and save e-tickets for a sale
      operationId: ETicket_PostSaleETickets
      parameters:
      - name: saleId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Sale'
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '400':
          $ref: '#/components/responses/validation_failed'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - write:user
        - write:sales
    servers:
    - url: https://api.viagogo.net/v2
      description: Production
    - url: https://sandbox.api.viagogo.net/v2
      description: Sandbox
  /sales/{saleId}/etickets/{eticketId}:
    delete:
      tags:
      - E-Tickets
      summary: Delete e-ticket from a sale
      operationId: ETicket_DeleteSaleETicket
      parameters:
      - name: saleId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: eticketId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '204':
          description: null
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - write:user
        - write:sales
    servers:
    - url: https://api.viagogo.net/v2
      description: Production
    - url: https://sandbox.api.viagogo.net/v2
      description: Sandbox
  /etickets/{eticketId}/thumbnail:
    get:
      tags:
      - E-Tickets
      summary: Get e-ticket thumbnail file
      description: Download an image file containing a thumbnail of an E-Ticket
      operationId: ETicketDocument_GetETicketThumbnail
      parameters:
      - name: eticketId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '404':
          $ref: '#/components/responses/not_found'
          description: null
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - read:user
    servers:
    - url: https://api.viagogo.net/v2
      description: Production
    - url: https://sandbox.api.viagogo.net/v2
      description: Sandbox
  /eticketuploads/{eticketUploadId}/document:
    get:
      tags:
      - E-Tickets
      summary: Get e-ticket upload file
      description: Download the original file that was uploaded.
      operationId: ETicketDocument_GetETicketUploadDocument
      parameters:
      - name: eticketUploadId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '404':
          $ref: '#/components/responses/not_found'
          description: null
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - read:user
    servers:
    - url: https://api.viagogo.net/v2
      description: Production
    - url: https://sandbox.api.viagogo.net/v2
      description: Sandbox
  /etickets/{eticketId}/document:
    get:
      tags:
      - E-Tickets
      summary: Get e-ticket file
      description: Download a PDF file containing an E-Ticket.
      operationId: ETicketDocument_GetETicketDocument
      parameters:
      - name: eticketId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '404':
          $ref: '#/components/responses/not_found'
          description: null
        '403':
          $ref: '#/components/responses/forbidden'
          description: null
        '401':
          $ref: '#/components/responses/requires_authentication'
          description: null
        '500':
          $ref: '#/components/responses/internal_server_error'
          description: null
      security:
      - OAuth2:
        - read:user
    servers:
    - url: https://api.viagogo.net/v2
      description: Production
    - url: https://sandbox.api.viagogo.net/v2
      description: Sandbox
components:
  schemas:
    ETicketsLinks:
      title: ETicketsLinks
      type: object
      properties:
        self:
          oneOf:
          - $ref: '#/components/schemas/Link'
        etickets:markback:
          oneOf:
          - $ref: '#/components/schemas/Link'
        etickets:markedbackdocuments:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Link'
        first:
          oneOf:
          - $ref: '#/components/schemas/Link'
        last:
          oneOf:
          - $ref: '#/components/schemas/Link'
        next:
          oneOf:
          - $ref: '#/components/schemas/Link'
        prev:
          oneOf:
          - $ref: '#/components/schemas/Link'
    ETicketUploadsEmbeddedResources:
      title: ETicketUploadsEmbeddedResources
      type: object
      properties:
        items:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ETicketUpload'
    ETicketUpload:
      type: object
      description: Represents an uploaded file that contains one or more E-Tickets.
      additionalProperties: false
      properties:
        id:
          type: integer
          description: The identifier of the upload.
          format: int32
        file_name:
          type:
          - string
          - 'null'
          description: The name of the file that was uploaded.
        processed_at:
          type: string
          description: The date when all of the E-Tickets in the uploaded file were processed.
          format: date-time
        original_number_of_etickets:
          type: integer
          description: The original number of E-Tickets contained in the uploaded file.
          format: int32
        status_description:
          type:
          - string
          - 'null'
          description: A localised in-depth description of the current status of the upload.
        _links:
          oneOf:
          - $ref: '#/components/schemas/ETicketUploadLinks'
        _embedded:
          oneOf:
          - $ref: '#/components/schemas/ETicketUploadEmbeddedResources'
    PostMarkBackETicketsRequest:
      type: object
      additionalProperties: false
      properties:
        quantity:
          type: integer
          format: int32
    ETicketLinks:
      title: ETicketLinks
      type: object
      properties:
        self:
          oneOf:
          - $ref: '#/components/schemas/Link'
        eticket:delete:
          description: Delete this E-Ticket.
          oneOf:
          - $ref: '#/components/schemas/Link'
        eticket:document:
          description: A PDF file containing the E-Ticket.
          oneOf:
          - $ref: '#/components/schemas/Link'
        eticket:thumbnail:
          description: An image file containing a thumbnail of the E-Ticket.
          oneOf:
          - $ref: '#/components/schemas/Link'
    ETickets:
      type: object
      description: 'The ETickets resource is a collection resource that contains zero or

        more references to a set of E-Tickets, and links that guide you on

        ways to interact with the E-Tickets. The collection offers a paginated

        view of E-Tickets.'
      additionalProperties: false
      properties:
        total_items:
          type:
          - integer
          - 'null'
          format: int32
        page:
          type:
          - integer
          - 'null'
          format: int32
        page_size:
          type:
          - integer
          - 'null'
          format: int32
        _links:
          oneOf:
          - $ref: '#/components/schemas/ETicketsLinks'
        _embedded:
          oneOf:
          - $ref: '#/components/schemas/ETicketsEmbeddedResources'
    ETicketUploadLinks:
      title: ETicketUploadLinks
      type: object
      properties:
        self:
          oneOf:
          - $ref: '#/components/schemas/Link'
        eticketupload:document:
          description: The original file that was uploaded.
          oneOf:
          - $ref: '#/components/schemas/Link'
    ETicket:
      type: object
      description: An electronic ticket that has been uploaded for a listing or a sale.
      additionalProperties: false
      properties:
        id:
          type: integer
          description: The identifier of the E-Ticket.
          format: int32
        _links:
          oneOf:
          - $ref: '#/components/schemas/ETicketLinks'
    ETicketUploadEmbeddedResources:
      title: ETicketUploadEmbeddedResources
      type: object
      properties:
        etickets:
          type:
          - array
          - 'null'
          description: An array of the individual E-Tickets contained in the uploaded files.
          items:
            $ref: '#/components/schemas/ETicket'
    Link:
      type: object
      additionalProperties: false
      properties:
        href:
          type:
          - string
          - 'null'
        title:
          type:
          - string
          - 'null'
        templated:
          type: boolean
    ETicketUploads:
      type: object
      additionalProperties: false
      properties:
        total_items:
          type:
          - integer
          - 'null'
          format: int32
        page:
          type:
          - integer
          - 'null'
          format: int32
        page_size:
          type:
          - integer
          - 'null'
          format: int32
        _links:
          oneOf:
          - $ref: '#/components/schemas/ETicketUploadsLinks'
        _embedded:
          oneOf:
          - $ref: '#/components/schemas/ETicketUploadsEmbeddedResources'
    ETicketsEmbeddedResources:
      title: ETicketsEmbeddedResources
      type: object
      properties:
        items:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ETicket'
    Error:
      type: object
      additionalProperties: false
      properties:
        code:
          type:
          - string
          - 'null'
        message:
          type:
          - string
          - 'null'
        errors:
          type:
          - object
          - 'null'
          additionalProperties:
            type: array
            items:
              type: string
    ETicketUploadsLinks:
      title: ETicketUploadsLinks
      type: object
      properties:
        self:
          oneOf:
          - $ref: '#/components/schemas/Link'
        first:
          oneOf:
          - $ref: '#/components/schemas/Link'
        last:
          oneOf:
          - $ref: '#/components/schemas/Link'
        next:
          oneOf:
          - $ref: '#/components/schemas/Link'
        prev:
          oneOf:
          - $ref: '#/components/schemas/Link'
    TicketHolder:
      type: object
      additionalProperties: false
      properties:
        id:
          type:
          - integer
          - 'null'
          format: int32
        title:
          type:
          - string
          - 'null'
        full_name:
          type:
          - string
          - 'null'
        date_of_birth:
          type:
          - string
          - 'null'
          format: date-time
        city_of_birth:
          type:
          - string
          - 'null'
        province_of_birth:
          type:
          - string
          - 'null'
        city_of_residence:
          type:
          - string
          - 'null'
        province_of_residence:
          type:
          - string
          - 'null'
        club_issuer:
          type:
          - string
          - 'null'
        card_number:
          type:
          - string
          - 'null'

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/viagogo/refs/heads/main/openapi/viagogo-e-tickets-api-openapi.yml