vivenu resell-offers API

The resell-offers API from vivenu — 11 operation(s) for resell-offers.

OpenAPI Specification

vivenu-resell-offers-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: vivenu access-lists resell-offers API
  description: vivenu API Documentation
  version: 1.0.0
  contact:
    name: vivenu GmbH
    url: https://vivenu.com
servers:
- url: https://vivenu.com
  description: Production API
- url: https://vivenu.dev
  description: Staging API
tags:
- name: resell-offers
paths:
  /api/resell/offers:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: eventId
        schema:
          type: string
        in: query
        required: false
        style: form
        explode: true
      - name: customerId
        schema:
          type: string
        in: query
        required: false
        style: form
        explode: true
      - name: status
        schema:
          type: array
          items:
            type: string
            enum:
            - ACTIVE
            - SOLD
            - CANCELED
        in: query
        required: false
        style: form
        explode: true
      - name: listingIds
        schema:
          type: array
          items:
            type: string
        in: query
        required: false
        style: form
        explode: true
      - name: createdAt
        schema:
          type: object
          properties:
            $gt:
              description: value is greater than
              type: string
              format: date-time
            $gte:
              description: value is greater than or equal
              type: string
              format: date-time
            $lt:
              description: value is less than
              type: string
              format: date-time
            $lte:
              description: value is less than or equal
              type: string
              format: date-time
            $eq:
              description: value is equal
              type: string
              format: date-time
            $ne:
              description: value is not equal
              type: string
              format: date-time
          additionalProperties: false
        in: query
        required: false
        style: deepObject
        explode: true
      - name: top
        schema:
          default: 25
          description: A limit on the number of objects to be returned. Can range between 1 and 1000.
          type: integer
          minimum: 1
          maximum: 1000
        description: A limit on the number of objects to be returned. Can range between 1 and 1000.
        in: query
        required: false
        style: form
        explode: true
      - name: skip
        schema:
          default: 0
          description: The number of objects to skip for the requested result
          type: integer
          minimum: 0
          maximum: 9007199254740991
        description: The number of objects to skip for the requested result
        in: query
        required: false
        style: form
        explode: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Resell-offers_ListOffers_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      tags:
      - resell-offers
      description: List offers
      operationId: list_offers
    post:
      security:
      - jwt: []
      - apikey: []
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/POST_Resell-offers_CreateAnOffer_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Resell-offers_CreateAnOffer'
      tags:
      - resell-offers
      description: Create an offer
      operationId: create_an_offer
  /api/public/resell/listings:
    get:
      parameters:
      - name: eventId
        schema:
          type: string
          description: The ID of the event
        description: The ID of the event
        in: query
        required: true
        style: form
        explode: true
      - name: sellerId
        schema:
          type: string
          description: The ID of the seller
        description: The ID of the seller
        in: query
        required: true
        style: form
        explode: true
      - name: top
        schema:
          default: 25
          description: A limit on the number of objects to be returned. Can range between 1 and 1000.
          type: integer
          minimum: 1
          maximum: 1000
        description: A limit on the number of objects to be returned. Can range between 1 and 1000.
        in: query
        required: true
        style: form
        explode: true
      - name: skip
        schema:
          default: 0
          description: The number of objects to skip for the requested result
          type: integer
          minimum: 0
          maximum: 9007199254740991
        description: The number of objects to skip for the requested result
        in: query
        required: true
        style: form
        explode: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Resell-offers_GetPublicResellListings_200_response'
        '400':
          description: Bad Request
      tags:
      - resell-offers
      description: Get public resell listings
      operationId: get_public_resell_listings
  /api/resell/offers/{id}:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        schema:
          type: string
          pattern: ^[a-z]+_.*$
        in: path
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Resell-offers_GetOfferById_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      tags:
      - resell-offers
      description: Get offer by id
      operationId: get_offer_by_id
  /api/resell/offers/{id}/listing:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        schema:
          type: string
          pattern: ^[a-z]+_.*$
        in: path
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Resell-offers_GetListingOfOffer_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      tags:
      - resell-offers
      description: Get listing of offer
      operationId: get_listing_of_offer
  /api/resell/ticket/{id}/status:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: customerId
        schema:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
        in: query
        required: false
        style: form
        explode: true
      - name: id
        schema:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
        in: path
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Resell-offers_GetInternalTicketResellStatus_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      tags:
      - resell-offers
      description: Get internal ticket resell status
      operationId: get_internal_ticket_resell_status
  /api/public/resell/ticket/{id}/status:
    get:
      parameters:
      - name: sellerId
        schema:
          type: string
          description: The ID of the seller
        description: The ID of the seller
        in: query
        required: true
        style: form
        explode: true
      - name: secret
        schema:
          type: string
          description: The secret of the ticket
        description: The secret of the ticket
        in: query
        required: true
        style: form
        explode: true
      - name: id
        schema:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
        in: path
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Resell-offers_GetPublicTicketResellStatus_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      tags:
      - resell-offers
      description: Get public ticket resell status
      operationId: get_public_ticket_resell_status
  /api/public/resell/offers:
    post:
      security:
      - customer-jwt: []
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/POST_Resell-offers_CreateAnOfferAsACustomer_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Resell-offers_CreateAnOfferAsACustomer'
      tags:
      - resell-offers
      description: Create an offer as a customer
      operationId: create_an_offer_as_a_customer
  /api/resell/offers/preview:
    post:
      security:
      - jwt: []
      - apikey: []
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/POST_Resell-offers_PreviewOffer_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                eventIds:
                  type: array
                  items:
                    type: string
                  description: The IDs of the events
                ticketIds:
                  type: array
                  items:
                    type: string
                  description: The IDs of the tickets
                customerId:
                  type: string
                  description: The ID of the customer
              required:
              - eventIds
              - ticketIds
              - customerId
              additionalProperties: false
      tags:
      - resell-offers
      description: Preview offer
      operationId: preview_offer
  /api/public/resell/offers/preview:
    post:
      security:
      - customer-jwt: []
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/POST_Resell-offers_PreviewAnOfferAsACustomer_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                eventIds:
                  type: array
                  items:
                    type: string
                  description: The IDs of the events
                ticketIds:
                  type: array
                  items:
                    type: string
                  description: The IDs of the tickets
              required:
              - eventIds
              - ticketIds
              additionalProperties: false
      tags:
      - resell-offers
      description: Preview an offer as a customer
      operationId: preview_an_offer_as_a_customer
  /api/resell/offers/{id}/cancel:
    post:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        schema:
          type: string
        required: true
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/POST_Resell-offers_CancelAnOffer_200_response'
        '401':
          description: Unauthorized
      tags:
      - resell-offers
      description: Cancel an offer
      operationId: cancel_an_offer
  /api/public/resell/offers/{id}/cancel:
    post:
      security:
      - customer-jwt: []
      parameters:
      - name: id
        schema:
          type: string
        required: true
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/POST_Resell-offers_PublicCancelAnOffer_200_response'
        '401':
          description: Unauthorized
      tags:
      - resell-offers
      description: Public cancel an offer
      operationId: public_cancel_an_offer
components:
  schemas:
    POST_Resell-offers_CreateAnOfferAsACustomer_200_response:
      type: object
      properties:
        _id:
          type: string
          description: The ID of the offer
        customerId:
          type: string
          description: The ID of the customer of this offer
        sellerId:
          type: string
          description: The ID of the seller of this offer
        eventId:
          type: string
          description: The ID of the event of this offer
        items:
          type: array
          items:
            type: object
            properties:
              ticketId:
                type: string
                description: The ID of the ticket
              ticketTypeId:
                type: string
                description: The ID of the ticket type of the ticket
              ticketName:
                type: string
                description: The name of the ticket type of the ticket
              categoryRef:
                type: string
                description: The category of the ticket
              seatingInfo:
                type: array
                items:
                  type: object
                  properties:
                    _id:
                      type: string
                      description: The ID of the seating object.
                    _type:
                      type: number
                      format: float
                      enum:
                      - 6
                      - 7
                      description: Indicates the type of seating object. Seat = 6, General Admission = 7.
                    categoryId:
                      type: string
                      description: The ID of the category containing the seating object.
                    statusId:
                      type: string
                      description: The ID of a container holding information about the seating status of the seating object.
                    name:
                      type: string
                      nullable: true
                      description: If _type == 7. The name of the general admission.
                    seatType:
                      type: string
                      nullable: true
                      enum:
                      - handicapped
                      - limitedView
                      - foldable
                      description: If _type == 6. The type of the seat. null = normal.
                    sectionName:
                      type: string
                      nullable: true
                      description: If _type == 6. The name of the section where the seat is located.
                    groupName:
                      type: string
                      nullable: true
                      description: If _type == 6. The name of the row group where the seat is located.
                    rowName:
                      type: string
                      nullable: true
                      description: If _type == 6. The name of the row where the seat is located.
                    seatName:
                      type: string
                      nullable: true
                      description: If _type == 6. The seat name.
                    gate:
                      type: string
                      nullable: true
                      description: The entry gate associated with the seating object.
                  required:
                  - _type
                  - statusId
                  description: The associated seating object.
                description: The seating info for this ticket
              price:
                type: number
                format: float
                description: The price of this item
              resellFee:
                type: number
                format: float
                description: The fee for reselling this item
            required:
            - ticketId
            - ticketTypeId
            - categoryRef
            - price
            - resellFee
          description: The items of this offer
        status:
          oneOf:
          - type: array
          - type: boolean
          - type: number
          - type: object
          - type: string
          enum:
          - ACTIVE
          - SOLD
          - CANCELED
          description: The status of this offer
        cpmId:
          type: string
          description: The customer payment method where the proceeds of this offer will be paid
        currency:
          oneOf:
          - type: array
          - type: boolean
          - type: number
          - type: object
          - type: string
          enum:
          - EUR
          - USD
          - GBP
          - AUD
          - CHF
          - THB
          - ILS
          - COP
          - MXN
          - DKK
          - NOK
          - SEK
          - QAR
          - CAD
          - ISK
          - GTQ
          - INR
          - DOP
          - SGD
          - PLN
          - SAR
          - TTD
          - ZAR
          - KYD
          - HKD
          - CZK
          - KRW
          - JPY
          - NZD
          - AED
          - MAD
          - TWD
          - BRL
          - BWP
          - NAD
          - KES
          - SCR
          - TRY
          - SZL
          - LSL
          - TZS
          - UGX
          - ZMW
          - ZWG
          - GHS
          - NGN
          - SLE
          - LRD
          - XOF
          - XAF
          - GEL
          - IDR
          - ARS
          - CRC
          - HUF
          - EGP
          - MYR
          - VND
          - PHP
          description: The currency used for this offer
        history:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                - resell.offer.created
                - resell.offer.canceled
                - resell.offer.expired
                - resell.offer.sold
                description: The type of the history item.
              date:
                type: string
                format: date-time
                description: An ISO timestamp indicating the date of the history item.
              userId:
                type: string
                nullable: true
                description: The user ID of the history item.
              data:
                type: object
                description: The data of the history item
          default: []
        createdAt:
          type: string
          format: date-time
          description: An ISO Timestamp indicating when the offer was created.
        updatedAt:
          type: string
          format: date-time
          description: An ISO Timestamp indicating when the offer was updated.
      required:
      - _id
      - customerId
      - sellerId
      - eventId
      - items
      - status
      - cpmId
      - currency
      - createdAt
      - updatedAt
    POST_Resell-offers_CreateAnOfferAsACustomer:
      type: object
      properties:
        eventId:
          type: string
          description: The ID of the event of this offer
        sellerId:
          type: string
          description: The ID of the seller of this offer
        cpmId:
          type: string
          description: The customer payment method where the proceeds of this offer will be paid
        ticketIds:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 1
          description: The IDs of the tickets offered
      required:
      - eventId
      - sellerId
      - cpmId
      - ticketIds
    POST_Resell-offers_CreateAnOffer:
      type: object
      properties:
        eventId:
          type: string
          description: The ID of the event of this offer
        sellerId:
          type: string
          description: The ID of the seller of this offer
        cpmId:
          type: string
          description: The customer payment method where the proceeds of this offer will be paid
        ticketIds:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 1
          description: The IDs of the tickets offered
        customerId:
          type: string
          description: The ID of the customer
      required:
      - eventId
      - sellerId
      - cpmId
      - ticketIds
      - customerId
    GET_Resell-offers_GetOfferById_200_response:
      type: object
      properties:
        _id:
          type: string
          description: The ID of the offer
        customerId:
          type: string
          description: The ID of the customer of this offer
        sellerId:
          type: string
          description: The ID of the seller of this offer
        eventId:
          type: string
          description: The ID of the event of this offer
        items:
          type: array
          items:
            type: object
            properties:
              ticketId:
                type: string
                description: The ID of the ticket
              ticketTypeId:
                type: string
                description: The ID of the ticket type of the ticket
              ticketName:
                type: string
                description: The name of the ticket type of the ticket
              categoryRef:
                type: string
                description: The category of the ticket
              seatingInfo:
                type: array
                items:
                  type: object
                  properties:
                    _id:
                      type: string
                      description: The ID of the seating object.
                    _type:
                      type: number
                      format: float
                      enum:
                      - 6
                      - 7
                      description: Indicates the type of seating object. Seat = 6, General Admission = 7.
                    categoryId:
                      type: string
                      description: The ID of the category containing the seating object.
                    statusId:
                      type: string
                      description: The ID of a container holding information about the seating status of the seating object.
                    name:
                      type: string
                      nullable: true
                      description: If _type == 7. The name of the general admission.
                    seatType:
                      type: string
                      nullable: true
                      enum:
                      - handicapped
                      - limitedView
                      - foldable
                      description: If _type == 6. The type of the seat. null = normal.
                    sectionName:
                      type: string
                      nullable: true
                      description: If _type == 6. The name of the section where the seat is located.
                    groupName:
                      type: string
                      nullable: true
                      description: If _type == 6. The name of the row group where the seat is located.
                    rowName:
                      type: string
                      nullable: true
                      description: If _type == 6. The name of the row where the seat is located.
                    seatName:
                      type: string
                      nullable: true
                      description: If _type == 6. The seat name.
                    gate:
                      type: string
                      nullable: true
                      description: The entry gate associated with the seating object.
                  required:
                  - _type
                  - statusId
                  description: The associated seating object.
                description: The seating info for this ticket
              price:
                type: number
                format: float
                description: The price of this item
              resellFee:
                type: number
                format: float
                description: The fee for reselling this item
            required:
            - ticketId
            - ticketTypeId
            - categoryRef
            - price
            - resellFee
          description: The items of this offer
        status:
          oneOf:
          - type: array
          - type: boolean
          - type: number
          - type: object
          - type: string
          enum:
          - ACTIVE
          - SOLD
          - CANCELED
          description: The status of this offer
        cpmId:
          type: string
          description: The customer payment method where the proceeds of this offer will be paid
        currency:
          oneOf:
          - type: array
          - type: boolean
          - type: number
          - type: object
          - type: string
          enum:
          - EUR
          - USD
          - GBP
          - AUD
          - CHF
          - THB
          - ILS
          - COP
          - MXN
          - DKK
          - NOK
          - SEK
          - QAR
          - CAD
          - ISK
          - GTQ
          - INR
          - DOP
          - SGD
          - PLN
          - SAR
          - TTD
          - ZAR
          - KYD
          - HKD
          - CZK
          - KRW
          - JPY
          - NZD
          - AED
          - MAD
          - TWD
          - BRL
          - BWP
          - NAD
          - KES
          - SCR
          - TRY
          - SZL
          - LSL
          - TZS
          - UGX
          - ZMW
          - ZWG
          - GHS
          - NGN
          - SLE
          - LRD
          - XOF
          - XAF
          - GEL
          - IDR
          - ARS
          - CRC
          - HUF
          - EGP
          - MYR
          - VND
          - PHP
          description: The currency used for this offer
        history:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                - resell.offer.created
                - resell.offer.canceled
                - resell.offer.expired
                - resell.offer.sold
                description: The type of the history item.
              date:
                type: string
                format: date-time
                description: An ISO timestamp indicating the date of the history item.
              userId:
                type: string
                nullable: true
                description: The user ID of the history item.
              data:
                type: object
                description: The data of the history item
          default: []
        createdAt:
          type: string
          format: date-time
          description: An ISO Timestamp indicating when the offer was created.
        updatedAt:
          type: string
          format: date-time
          description: An ISO Timestamp indicating when the offer was updated.
      required:
      - _id
      - customerId
      - sellerId
      - eventId
      - items
      - status
      - cpmId
      - currency
      - createdAt
      - updatedAt
    POST_Resell-offers_PreviewOffer_200_response:
      type: object
      properties:
        resellAble:
          type: boolean
          description: If the requested offer is valid
        resellFee:
          type: number
          format: float
          description: The fee deducted from the price, before proceeds are payed out to the customer
        proceeds:
          type: number
          format: float
          description: The proceeds payed out to the customer when the offer is sold.
      required:
      - resellAble
      - resellFee
      - proceeds
    POST_Resell-offers_CreateAnOffer_200_response:
      type: object
      properties:
        _id:
          type: string
          description: The ID of the offer
        customerId:
          type: string
          description: The ID of the customer of this offer
        sellerId:
          type: string
          description: The ID of the seller of this offer
        eventId:
          type: string
          description: The ID of the event of this offer
        items:
          type: array
          items:
            type: object
            properties:
              ticketId:
                type: string
                description: The ID of the ticket
              ticketTypeId:
                type: string
                description: The ID of the ticket type of the ticket
              ticketName:
                type: string
                description: The name of the ticket type of the ticket
              categoryRef:
                type: string
                description: The category of the ticket
              seatingInfo:
                type: array
                items:
                  type: object
                  properties:
                    _id:
                      type: string
                      description: The ID of the seating object.
                    _type:
                      type: number
                      format: float
                      enum:
                      - 6
                      - 7
                      description: Indicates the type of seating object. Seat = 6, General Admission = 7.
                    categoryId:
                      type: string
                      description: The ID of the category containing the seating object.
                    statusId:
                      type: string
                      description: The ID of a container holding information about the seating status of the seating object.
                    name:
                      type: string
                      nullable: true
                      description: If _type == 7. The name of the general admission.
                    seatType:
                      type: string
                      nullable: true
                      enum:
                      - handicapped
                      - limitedView
                      - foldable
                      description: If _type == 6. The type of the seat. null = normal.
                    sectionName:
                      type: string
                      nullable: true
                      description: If _type == 6. The name of the section where the seat is located.
                    groupName:
                      type: string
                      nullable: true
                      description: If _type == 6. The name of the row group where the seat is located.
                    rowName:
                      type: string
                      nullable: true
                      description: If _type == 6. The name of the row where the seat is located.
                    seatName:
                      type: string
                      nul

# --- truncated at 32 KB (85 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vivenu/refs/heads/main/openapi/vivenu-resell-offers-api-openapi.yml