viagogo Seller Listings API

List tickets, update your listings and search your inventory.

OpenAPI Specification

viagogo-sellerlistings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: viagogo Inventory Seller Listings API
  version: 2.249.0.0
  x-logo:
    url: https://img.vggcdn.net/img/assets/logo/viagogo_logo_apidocs.png
    backgroundColor: '#222222'
  description: List tickets, update your listings and search your inventory.
servers:
- url: https://api.viagogo.net/v2
  description: Production
- url: https://sandbox.api.viagogo.net/v2
  description: Sandbox
security:
- OAuth2:
  - read:sales
  - read:sellerlistings
  - read:user
  - write:requestedevents
  - write:sales
  - write:sellerlistings
  - write:user
tags:
- name: SellerListings
  description: List tickets, update your listings and search your inventory.
paths:
  /sellerlistings/{listingId}:
    patch:
      tags:
      - SellerListings
      summary: Update a seller listing
      operationId: SellerListings_Patch
      parameters:
      - name: listingId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        x-name: body
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/PatchSellerListingRequest'
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/SellerListing'
        '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:
      - SellerListings
      summary: Get a seller listing
      operationId: SellerListings_Get
      parameters:
      - name: listingId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/SellerListing'
        '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
    delete:
      tags:
      - SellerListings
      summary: Delete a seller listing
      operationId: SellerListings_DeleteListing
      parameters:
      - name: listingId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      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
  /sellerlistings/recentupdates:
    get:
      tags:
      - SellerListings
      summary: List seller listings (recent updates)
      description: List seller listings for the authenticated user that have been created or updated over a certain period of time.
      operationId: SellerListings_GetSellerListingsRecentUpdates
      parameters:
      - name: updated_since
        in: query
        description: Filters the response to only return items that have been updated since the given timestamp
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/SellerListings'
        '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
  /sellerlistings:
    get:
      tags:
      - SellerListings
      summary: List seller listings
      description: List seller listings for the authenticated user.
      operationId: SellerListings_GetSellerListings
      parameters:
      - name: event_id
        in: query
        schema:
          type:
          - integer
          - 'null'
          format: int32
      - name: requested_event_id
        in: query
        schema:
          type:
          - string
          - 'null'
          format: guid
      - 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
      - name: updated_since
        in: query
        description: Filters the response to only return items that have been updated since the given timestamp
        schema:
          type: string
          format: date-time
      - name: sort
        in: query
        description: Determines the ordering of items. A comma-separated string containing `available_tickets`, `created_at`, `event_date`, `event_name`, `expiration_date`, `price`, `resource_version`, or`ticket_availability_date`.
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/SellerListings'
        '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
    post:
      tags:
      - SellerListings
      summary: Create a seller listing for a requested event
      description: Creates a seller listing for an event requested by the current user.
      operationId: SellerListings_CreateListingForRequestedEvent
      requestBody:
        x-name: body
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/PostRequestedEventSellerListingRequest'
      responses:
        '201':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/SellerListing'
        '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
        - write:requestedevents
  /events/{eventId}/sellerlistings:
    post:
      tags:
      - SellerListings
      summary: Create a seller listing
      operationId: SellerListings_CreateListing
      parameters:
      - name: eventId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        x-name: body
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/PostSellerListingRequest'
      responses:
        '201':
          description: ''
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/SellerListing'
        '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
components:
  schemas:
    BarcodeInformation:
      type: object
      description: A set of barcodes for a seat.
      additionalProperties: false
      properties:
        seat_ordinal:
          type:
          - integer
          - 'null'
          description: An ordinal number for a seat.
          format: int32
        seat:
          type:
          - string
          - 'null'
          description: Seat number.
        row:
          type:
          - string
          - 'null'
          description: Row of ticket.
        status:
          type:
          - string
          - 'null'
          description: Status of the barcode. Can be `Received` or `FailedValidation`
        barcode_values_sha256_hashed:
          type:
          - array
          - 'null'
          description: SHA256-hashed barcode(s) for this seat.
          items:
            type: string
    VenueRequest:
      type: object
      description: A venue is a location where an event takes place.
      additionalProperties: false
      required:
      - name
      - city
      properties:
        name:
          type:
          - string
          - 'null'
          description: The name of the venue.
        city:
          type:
          - string
          - 'null'
          description: The name of the city where the venue is located.
        state_province:
          type:
          - string
          - 'null'
          description: The name of the State or Province where the venue is located.
    EmbeddedEvent:
      type: object
      description: An event on the viagogo platform.
      additionalProperties: false
      properties:
        id:
          type:
          - integer
          - 'null'
          description: The event identifier.
          format: int32
        name:
          type:
          - string
          - 'null'
          description: The name of the event.
        start_date:
          type:
          - string
          - 'null'
          description: The date when the event starts.
          format: date-time
        end_date:
          type:
          - string
          - 'null'
          description: The date when the event ends.
          format: date-time
        on_sale_date:
          type:
          - string
          - 'null'
          description: The date when tickets for the event will go onsale.
          format: date-time
        date_confirmed:
          type:
          - boolean
          - 'null'
          description: True if the event start and end date have been confirmed; Otherwise, false.
        merged_events:
          type:
          - array
          - 'null'
          description: The list of event ids that are merged into this event.
          items:
            $ref: '#/components/schemas/MergedEntity'
        _links:
          oneOf:
          - $ref: '#/components/schemas/EmbeddedEventLinks'
    SplitType:
      type: object
      description: The way that the ticket(s) in a listing are allowed to be split up when sold.
      additionalProperties: false
      properties:
        type:
          type:
          - string
          - 'null'
          description: The type of split. Can be Any, None, AvoidOne, AvoidOneAndThree, or Pairs.
        name:
          type:
          - string
          - 'null'
          description: The localised name of the type of split.
        description:
          type:
          - string
          - 'null'
          description: The localised description of the split.
        _links:
          oneOf:
          - $ref: '#/components/schemas/SplitTypeLinks'
    CountryRequest:
      type: object
      additionalProperties: false
      required:
      - code
      properties:
        code:
          type:
          - string
          - 'null'
          description: The two-letter ISO 3166 code for the country.
    ListingNoteLinks:
      title: ListingNoteLinks
      type: object
      properties:
        self:
          oneOf:
          - $ref: '#/components/schemas/Link'
    SellerListings:
      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/SellerListingsLinks'
        _embedded:
          oneOf:
          - $ref: '#/components/schemas/SellerListingsEmbeddedResources'
    Section:
      type: object
      additionalProperties: false
      properties:
        name:
          type:
          - string
          - 'null'
        free_text_row:
          type: boolean
        queue_number_row:
          type: boolean
        rows:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Row'
    SellerListingsEmbeddedResources:
      title: SellerListingsEmbeddedResources
      type: object
      properties:
        items:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/SellerListing'
    SeatingDetail:
      type: object
      additionalProperties: false
      required:
      - section
      properties:
        section:
          type:
          - string
          - 'null'
          description: The section of the ticket(s).
        row:
          type:
          - string
          - 'null'
          description: The row of the ticket(s).
        seat_from:
          type:
          - string
          - 'null'
          description: The first in a contiguous block of seats to which the tickets have been allocated.
        seat_to:
          type:
          - string
          - 'null'
          description: The last in a contiguous block of seats to which the tickets have been allocated.
        state:
          description: This field indicates whether the listing's seating is visible on the website on the venue map.
          oneOf:
          - $ref: '#/components/schemas/SeatingState'
    ListingConstraintsLinks:
      title: ListingConstraintsLinks
      type: object
      properties:
        self:
          oneOf:
          - $ref: '#/components/schemas/Link'
    Currency:
      type: object
      additionalProperties: false
      properties:
        code:
          type:
          - string
          - 'null'
          description: The ISO 4217 currency code that identifies the currency.
        name:
          type:
          - string
          - 'null'
          description: The name of the currency.
        symbol:
          type:
          - string
          - 'null'
          description: The symbol that identifies the currency.
        decimal_places:
          type:
          - integer
          - 'null'
          description: The number of decimal places used to represent amounts in the currency.
          format: int32
        _links:
          oneOf:
          - $ref: '#/components/schemas/CurrencyLinks'
    SeatingState:
      type: object
      additionalProperties: false
      properties:
        visible_in_venue_map:
          type: boolean
          description: True when the seat is visible in the venue map that will be shown to buyers; Otherwise, false.
    CurrencyLinks:
      title: CurrencyLinks
      type: object
      properties:
        self:
          oneOf:
          - $ref: '#/components/schemas/Link'
    ListingNote:
      type: object
      description: Provides additional notes on a listing
      additionalProperties: false
      properties:
        id:
          type:
          - integer
          - 'null'
          description: The listing note identifier.
          format: int32
        note:
          type:
          - string
          - 'null'
          description: The localized note.
        type:
          type:
          - string
          - 'null'
          description: The listing note type name. Can be `Information`, `Perk`, `Defect` and `RestrictionOnUse`.
        _links:
          oneOf:
          - $ref: '#/components/schemas/ListingNoteLinks'
    SellerListingsLinks:
      title: SellerListingsLinks
      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'
    PatchSellerListingRequest:
      type: object
      description: A set of tickets for sale on the viagogo marketplace that belong to the currently authenticated user.
      additionalProperties: false
      properties:
        ticket_price:
          description: The price of each ticket in the listing.
          oneOf:
          - $ref: '#/components/schemas/Money'
        ticket_proceeds:
          description: The amount that the seller will receive for each ticket sold.
          oneOf:
          - $ref: '#/components/schemas/Money'
        seating:
          description: 'The seating information for the ticket(s) in this listing. For PATCH Requests, you need to pass in all the fields of a Seating to update, even when you only need to update some of the fields. Otherwise the rest of the fields will be set to empty. '
          oneOf:
          - $ref: '#/components/schemas/SeatingRequest'
        face_value:
          description: The price printed on the ticket, not including any booking fees.
          oneOf:
          - $ref: '#/components/schemas/Money'
        ticket_type:
          type:
          - string
          - 'null'
          description: The type of ticket(s) in this listing.
        split_type:
          type:
          - string
          - 'null'
          description: The way that the ticket(s) are allowed to be split up when sold.
        number_of_tickets:
          type:
          - integer
          - 'null'
          description: The number of tickets available for purchase.
          format: int32
        display_number_of_tickets:
          type:
          - integer
          - 'null'
          description: The number of tickets that should be displayed to buyers as available for purchase.
          format: int32
        ticket_location_address_id:
          type:
          - integer
          - 'null'
          description: The identifier of the address where the ticket(s) are located.
          format: int32
        listing_note_ids:
          type:
          - array
          - 'null'
          description: An array of listing note identifiers that provides additional notes on the listing
          items:
            type: integer
            format: int32
        in_hand_at:
          type:
          - string
          - 'null'
          description: The date when the seller will have the tickets in hand.
          format: date-time
        external_id:
          type:
          - string
          - 'null'
          description: An identifier that has been assigned to the listing in an external inventory management system.
        notes:
          type:
          - string
          - 'null'
          description: A comma-separated string of additional notes about the listing
        instant_delivery:
          type:
          - boolean
          - 'null'
        published:
          type:
          - boolean
          - 'null'
          description: True when the listing should be published; Otherwise, false.
        lms_optin:
          type:
          - boolean
          - 'null'
          description: True when the listing should be opted into Last Minute Sales; Otherwise, false.
        eticket_ids:
          type:
          - array
          - 'null'
          description: A array of the identifiers of the E-Tickets to be assigned to the listing.
          items:
            type: integer
            format: int32
        external_event_information:
          type:
          - array
          - 'null'
          description: Information about the listing's event on other platforms.
          items:
            $ref: '#/components/schemas/SellerListingExternalEventInformation'
        purchase_price_per_ticket:
          description: The purchase price paid by the seller for each ticket in the listing.
          oneOf:
          - $ref: '#/components/schemas/Money'
        total_purchase_price:
          description: The total purchase price paid by the seller.
          oneOf:
          - $ref: '#/components/schemas/Money'
        sales_tax_paid:
          type:
          - boolean
          - 'null'
          description: True if the seller already paid sales tax for the ticket(s); otherwise, false.
        barcodes:
          type:
          - array
          - 'null'
          description: Barcode(s) for the ticket(s) in this listing.
          items:
            $ref: '#/components/schemas/BarcodeInformation2'
    SplitTypeLinks:
      title: SplitTypeLinks
      type: object
      properties:
        self:
          oneOf:
          - $ref: '#/components/schemas/Link'
    EmbeddedVenue:
      type: object
      description: A venue is a location where an event takes place.
      additionalProperties: false
      properties:
        id:
          type:
          - integer
          - 'null'
          description: The venue identifier.
          format: int32
        name:
          type:
          - string
          - 'null'
          description: The name of the venue.
        city:
          type:
          - string
          - 'null'
          description: The name of the city where the venue is located.
        state_province:
          type:
          - string
          - 'null'
          description: The name of the State or Province where the venue is located.
        latitude:
          type:
          - number
          - 'null'
          description: The latitude for the venue.
          format: double
        longitude:
          type:
          - number
          - 'null'
          description: The longitude for the venue.
          format: double
        _links:
          oneOf:
          - $ref: '#/components/schemas/EmbeddedVenueLinks'
        _embedded:
          oneOf:
          - $ref: '#/components/schemas/EmbeddedVenueEmbeddedResources'
    TicketTypeLinks:
      title: TicketTypeLinks
      type: object
      properties:
        self:
          oneOf:
          - $ref: '#/components/schemas/Link'
    SellerListingEmbeddedResources:
      title: SellerListingEmbeddedResources
      type: object
      properties:
        constraints:
          description: The constraints applied to this listing.
          oneOf:
          - $ref: '#/components/schemas/ListingConstraints'
        event:
          description: The event for this listing.
          oneOf:
          - $ref: '#/components/schemas/EmbeddedEvent'
        listing_notes:
          type:
          - array
          - 'null'
          description: The notes for this listing.
          items:
            $ref: '#/components/schemas/ListingNote'
        relist_transaction:
          oneOf:
          - $ref: '#/components/schemas/RelistTransaction'
        split_type:
          description: The way that the ticket(s) are allowed to be split up when sold.
          oneOf:
          - $ref: '#/components/schemas/SplitType'
        ticket_type:
          description: The type of ticket(s) in this listing.
          oneOf:
          - $ref: '#/components/schemas/TicketType'
        venue:
          description: The venue where the event is taking place.
          oneOf:
          - $ref: '#/components/schemas/EmbeddedVenue'
    SeatingRequest:
      type: object
      description: Represents the seating information for a ticket(s) in a Venue.
      additionalProperties: false
      required:
      - section
      properties:
        section:
          type:
          - string
          - 'null'
          description: The section of the ticket(s).
        row:
          type:
          - string
          - 'null'
          description: The row of the ticket(s).
        seat_from:
          type:
          - string
          - 'null'
          description: The first in a contiguous block of seats to which the tickets have been allocated.
        seat_to:
          type:
          - string
          - 'null'
          description: The last in a contiguous block of seats to which the tickets have been allocated.
        hide_seat_details:
          type:
          - boolean
          - 'null'
          description: Do not display seats pre-purchase. May affect listing visibility in some regions.
    SellerListingExternalEventInformation:
      type: object
      description: Information about the listing's event on other platforms.
      additionalProperties: false
      properties:
        id:
          type: integer
          description: An identifier for the event on an external platform.
          format: int32
        platform:
          type:
          - string
          - 'null'
          description: The name of the external platform.
        url:
          type:
          - string
          - 'null'
          description: The URL of the event on the external platform.
        venue_id:
          type:
          - integer
          - 'null'
          description: An identifier for the event's venue on an external platform.
          format: int32
        performer_id:
          type:
          - integer
          - 'null'
          description: An identifier for the event's category on an external platform.
          format: int32
    MergedEntity:
      type: object
      description: An entity that has been merged into another entity.
      additionalProperties: false
      properties:
        id:
          type: integer
          description: The identifier for this entity.
          format: int32
    PostRequestedEventSellerListingRequest:
      type: object
      additionalProperties: false
      required:
      - seating
      - ticket_type
      - split_type
      - number_of_tickets
      properties:
        ticket_price:
          description: The price of each ticket in the listing.
          oneOf:
          - $ref: '#/components/schemas/Money'
        ticket_proceeds:
          description: The amount that the seller will receive for each ticket sold.
          oneOf:
          - $ref: '#/components/schemas/Money'
        seating:
          description: 'The seating information for the ticket(s) in this listing. For PATCH Requests, you need to pass in all the fields of a Seating to update, even when you only need to update some of the fields. Otherwise the rest of the fields will be set to empty. '
          oneOf:
          - $ref: '#/components/schemas/SeatingRequest'
        face_value:
          description: The price printed on the ticket, not including any booking fees.
          oneOf:
          - $ref: '#/components/schemas/Money'
        ticket_type:
          type:
          - string
          - 'null'
          description: The type of ticket(s) in this listing.
        split_type:
          type:
          - string
          - 'null'
          description: The way that the ticket(s) are allowed to be split up when sold.
        number_of_tickets:
          type:
          - integer
          - 'null'
          description: The number of tickets available for purchase.
          format: int32
        display_number_of_tickets:
          type:
          - integer
          - 'null'
          description: The number of tickets that should be displayed to buyers as available for purchase.
          format: int32
        ticket_location_address_id:
          type:
          - integer
          - 'null'
          description: The identifier of the address where the ticket(s) are located.
          format: int32
        listing_note_ids:
          type:
          - array
          - 'null'
          description: An array of listing note identifiers that provides additional notes on the listing
          items:
            type: integer
            format: int32
        in_hand_at:
          type:
          - string
          - 'null'
          description: The date when the seller will have the tickets in hand.
          format: date-time
        external_id:
          type:
          - string
          - 'null'
          description: An identifier that has been assigned to the listing in an external inventory management system.
        notes:
          type:
          - string
          - 'null'
          description: A comma-separated string of additional notes about the listing
        instant_delivery:
          type:
          - boolean
          - 'null'
        published:
          type:
          - boolean
          - 'null'
          description: True when the listing should be published; Otherwise, false.
        lms_optin:
          type:
          - boolean
          - 'null'
          description: True when the listing should be opted into Last Minute Sales; Otherwise, false.
        eticket_ids:
          type:
          - array
          - 'null'
          description: A array of the identifiers of the E-Tickets to be assigned to the listing.
          items:
            type: integer
            format: int32
        relist_transaction_id:
          type:
          - integer
          - 'null'
          description: Used when relisting tickets previously purchased on Stubhub marketplace. Include the transaction ID in the id value field.
          format: int32
        external_event_information:
          type:
          - array
          - 'null'
          description: Information about the listing's event on other platforms.
          items:
            $ref: '#/components/schemas/SellerListingExternalEventInformation'
        purchase_price_per_ticket:
          description: The purchase price paid by the seller for each ticket in the listing.
          oneOf:
          - $ref: '#/components/schemas/Money'
        total_purchase_price:
          description: The total purchase price paid by the seller.
          oneOf:
          - $ref: '#/components/schemas/Money'
        sales_tax_paid:
          type:
          - boolean
          - 'null'
          description: True if the seller already paid sales tax for the ticket(s); otherwise, false.
        is_ticket_concierge:
          type:
          - boolean
          - 'null'
          description: Whether the listing represents a shorted ticket
        is_auto_po:
          type:
          - boolean
          - 'null'
          description: Whether a listing was automatically generated from a purchase order
        barcodes:
          type:
          - array
          - 'null'
          description: Barcode(s) for the ticket(s) in this listing.
          items:
            $ref: '#/components/schemas/BarcodeInformation2'
        event:
          description: The event information.
          oneOf:
          - $ref: '#/components/schemas/EventRequest'
        venue:
          description: The venue where the event will take place.
          oneOf:
          - $ref: '#/components/schemas/VenueRequest'
        country:
          description: The country where the event will take place.
          oneOf:
          - $ref: '#/components/schemas/CountryRequest'
    ListingConstraints:
      type: object
      description: The constraints applied to a listing for a particular event on the viagogo marketplace.
      additionalPrope

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