vivenu purchaseintents API

The purchaseintents API from vivenu — 16 operation(s) for purchaseintents.

OpenAPI Specification

vivenu-purchaseintents-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: vivenu access-lists purchaseintents 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: purchaseintents
paths:
  /api/purchaseintents:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: customerId
        required: false
        schema:
          type: string
          description: The customer id to filter for
          metas: {}
        in: query
        style: form
        explode: true
      - name: status
        required: false
        schema:
          type: string
          description: The status to filter for
          metas: {}
        in: query
        style: form
        explode: true
      - name: approvalStatus
        required: false
        schema:
          type: string
          description: The approval status to filter for
          metas: {}
        in: query
        style: form
        explode: true
      - name: name
        required: false
        schema:
          type: string
          description: The name to filter for
          metas: {}
        in: query
        style: form
        explode: true
      - name: eventId
        required: false
        schema:
          type: string
          description: The event id to filter for
          metas: {}
        in: query
        style: form
        explode: true
      - name: shopId
        required: false
        schema:
          type: string
          description: The secret shop id to filter for
          metas: {}
        in: query
        style: form
        explode: true
      - name: createdAtStart
        required: false
        schema:
          type: string
          description: An ISO timestamp from which to filter for
          metas: {}
        in: query
        style: form
        explode: true
      - name: createdAtEnd
        required: false
        schema:
          type: string
          description: An ISO timestamp until which to filter for
          metas: {}
        in: query
        style: form
        explode: true
      - name: outcomeCheckoutId
        required: false
        schema:
          type: string
          description: The resulting checkout id.
          metas: {}
        in: query
        style: form
        explode: true
      - name: top
        required: false
        schema:
          type: integer
          maximum: 1000
          description: A limit on the number of objects to be returned. Can range between 1 and 1000.
          default: 25
          metas: {}
        in: query
        style: form
        explode: true
      - name: skip
        required: false
        schema:
          type: integer
          description: The number of objects to skip for the requested result
          metas: {}
        in: query
        style: form
        explode: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Purchaseintents_GetAllPurchaseIntents_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      tags:
      - purchaseintents
      description: Get all PurchaseIntents
      operationId: purchaseintents/list
    post:
      security:
      - jwt: []
      - apikey: []
      parameters: []
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseIntentResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Purchaseintents_CreateAPurchaseIntent'
      tags:
      - purchaseintents
      description: Create a PurchaseIntent
      operationId: purchaseintents/create
  /api/purchaseintents/strategies:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Purchaseintents_GetAllPurchaseIntentStrategies_200_response'
        '401':
          description: Unauthorized
      tags:
      - purchaseintents
      description: Get all PurchaseIntent Strategies
      operationId: get_all_purchase_intent_strategies
    post:
      security:
      - jwt: []
      - apikey: []
      parameters: []
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseIntentStrategyResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Purchaseintents_CreatePurchaseIntentStrategies'
      tags:
      - purchaseintents
      description: Create PurchaseIntent Strategies
      operationId: create_purchase_intent_strategies
  /api/purchaseintents/{id}:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseIntentResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      tags:
      - purchaseintents
      description: Get a PurchaseIntent
      operationId: purchaseintents/get
    patch:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        schema:
          type: string
        required: true
        in: path
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PATCH_Purchaseintents_UpdateAPurchaseIntent'
      tags:
      - purchaseintents
      description: Update a PurchaseIntent
      operationId: purchaseintents/update
  /api/public/purchaseintents/{id}:
    get:
      parameters:
      - name: secret
        required: true
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: id
        required: true
        schema:
          type: string
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicPurchaseIntentResource'
        '400':
          description: Bad Request
      tags:
      - purchaseintents
      description: Get public PurchaseIntent
      operationId: get_public_purchase_intent
  /api/purchaseintents/strategies/{id}:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          description: The id of the purchase intent strategy
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseIntentStrategyResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      tags:
      - purchaseintents
      description: Get a PurchaseIntent Strategy
      operationId: get_a_purchase_intent_strategy
    put:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          description: The id of the purchase intent strategy
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseIntentStrategyResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PUT_Purchaseintents_UpdateAPurchaseIntentStrategy'
      tags:
      - purchaseintents
      description: Update a PurchaseIntent Strategy
      operationId: update_a_purchase_intent_strategy
  /api/public/purchaseintents/{id}/tickets:
    get:
      parameters:
      - name: secret
        required: true
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: id
        required: true
        schema:
          type: string
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Purchaseintents_GetPublicPurchaseIntentTickets_200_response'
        '400':
          description: Bad Request
      tags:
      - purchaseintents
      description: Get public PurchaseIntent tickets
      operationId: get_public_purchase_intent_tickets
  /api/public/purchaseintents/checkout:
    post:
      parameters: []
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Purchaseintents_CreateACheckoutForMultiplePurchaseIntents'
      tags:
      - purchaseintents
      description: Create a checkout for multiple PurchaseIntents
      operationId: create_a_checkout_for_multiple_purchase_intents
  /api/purchaseintents/{id}/history:
    post:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          description: The ID of the purchase intent
          metas: {}
        in: path
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseIntentResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Purchaseintents_AddHistoryEntry'
      tags:
      - purchaseintents
      description: Add history entry
      operationId: purchaseintents/addHistoryComment
  /api/purchaseintents/{id}/reservation-mail:
    post:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          description: The ID of the purchase intent
          metas: {}
        in: path
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseIntentResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Purchaseintents_SendAReservationMail'
      tags:
      - purchaseintents
      description: Send a reservation mail
      operationId: send_a_reservation_mail
  /api/purchaseintents/{id}/cancel:
    post:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          description: The ID of the purchase intent
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseIntentResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      tags:
      - purchaseintents
      description: Cancel a purchase intent
      operationId: cancel_a_purchase_intent
  /api/purchaseintents/{id}/split:
    post:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        schema:
          type: string
        required: true
        in: path
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Purchaseintents_SplitAPurchaseIntent'
      tags:
      - purchaseintents
      description: Split a PurchaseIntent
      operationId: purchaseintents/split
  /api/purchaseintents/{id}/approval:
    post:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseIntentResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Purchaseintents_SetApprovalStatus'
      tags:
      - purchaseintents
      description: Set approval status
      operationId: set_approval_status
  /api/purchaseintents/{id}/create-tickets:
    post:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          description: The ID of the purchase intent
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseIntentResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      tags:
      - purchaseintents
      description: Create purchase intent tickets
      operationId: create_purchase_intent_tickets
  /api/public/purchaseintents/{id}/checkout:
    post:
      parameters:
      - name: id
        required: true
        schema:
          type: string
          metas: {}
        in: path
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Purchaseintents_CreatePurchaseIntentsCheckout'
      tags:
      - purchaseintents
      description: Create PurchaseIntent's checkout
      operationId: create_purchase_intents_checkout
  /api/public/purchaseintents/{id}/cancel:
    post:
      parameters:
      - name: id
        required: true
        schema:
          type: string
          description: The ID of the purchase intent
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicPurchaseIntentResource'
        '400':
          description: Bad Request
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Purchaseintents_PublicCancelAPurchaseIntent'
      tags:
      - purchaseintents
      description: Public Cancel a Purchase Intent
      operationId: purchaseintents/publicCancel
  /api/purchaseintents/{id}/items:
    patch:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        schema:
          type: string
        required: true
        in: path
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PATCH_Purchaseintents_AmendAPurchaseIntentsItems'
      tags:
      - purchaseintents
      description: Amend a PurchaseIntent's Items
      operationId: purchaseintents/amendItems
    put:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        schema:
          type: string
        required: true
        in: path
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PUT_Purchaseintents_UpdateAPurchaseIntentsItems'
      tags:
      - purchaseintents
      description: Update a PurchaseIntent's Items
      operationId: purchaseintents/updateItems
components:
  schemas:
    POST_Purchaseintents_SetApprovalStatus:
      type: object
      properties:
        approvalStatus:
          type: string
          enum:
          - awaiting
          - approved
          - rejected
        rejectionReason:
          type: string
    POST_Purchaseintents_CreatePurchaseIntentStrategies:
      type: object
      properties:
        name:
          type: string
          description: Name of the strategy
        availabilityStrategy:
          oneOf:
          - type: object
            properties:
              createTickets:
                type: boolean
                enum:
                - true
              checkAvailability:
                type: boolean
                description: Whether the availability of the requested tickets should be checked when creating a purchase intent
              withoutSeats:
                type: boolean
                enum:
                - false
              createValidTickets:
                type: boolean
            required:
            - createTickets
            - checkAvailability
            - withoutSeats
            - createValidTickets
          - type: object
            properties:
              checkAvailability:
                type: boolean
                description: Whether the availability of the requested tickets should be checked when creating a purchase intent
              withoutSeats:
                type: boolean
              createValidTickets:
                type: boolean
                enum:
                - false
              createTickets:
                type: boolean
                description: Whether tickets should be created when creating a purchase intent
            required:
            - createTickets
            - checkAvailability
            - withoutSeats
            - createValidTickets
        expirationStrategy:
          type: object
          properties:
            hoursBeforeEvent:
              type: number
              format: float
              nullable: true
              description: Purchase intents are only valid outside of the defined period before the event
            hoursAfterCreation:
              type: number
              format: float
              nullable: true
              description: Purchase intents are only valid in the defined period after creation
            expiresAt:
              type: string
              format: date-time
              nullable: true
              description: Purchase intents are only valid until the defined date
        needsApproval:
          type: boolean
          description: Purchase intent needs approval of the seller before considered valid
        deposit:
          type: object
          properties:
            method:
              type: string
            value:
              type: number
              format: float
          required:
          - method
        restrictedCompletion:
          type: array
          items:
            type: string
            enum:
            - POS
            - Online
          minItems: 1
          nullable: true
          description: Specifies how the customer can complete their purchase intent
        cancellationStrategy:
          type: string
          enum:
          - notAllowed
          - cancellationAllowed
          default: cancellationAllowed
      required:
      - name
      - availabilityStrategy
      - expirationStrategy
      - needsApproval
    PublicPurchaseIntentResource:
      type: object
      properties:
        _id:
          type: string
        status:
          type: string
          enum:
          - new
          - complete
          - canceled
        approvalStatus:
          type: string
          enum:
          - awaiting
          - approved
          - rejected
        rejectionReason:
          type: string
        company:
          type: string
        firstname:
          type: string
        lastname:
          type: string
        name:
          type: string
        email:
          type: string
          format: email
        customerId:
          type: string
        address:
          type: object
          properties:
            fullAddress:
              type: string
              nullable: true
              description: Optional full address
            street:
              type: string
              nullable: true
              description: The street of the address. Street name including number.
            line2:
              type: string
              nullable: true
              description: The additional field of the address.
            postal:
              type: string
              nullable: true
              description: The postal code of the address.
            city:
              type: string
              nullable: true
              description: The city of the address.
            country:
              type: string
              nullable: true
              description: The country of the address. An ISO 3166 country code.
            state:
              type: string
              nullable: true
              description: The state of the address. If applicable
        deliveryAddress:
          type: object
          properties:
            fullAddress:
              type: string
              nullable: true
              description: Optional full address
            street:
              type: string
              nullable: true
              description: The street of the address. Street name including number.
            line2:
              type: string
              nullable: true
              description: The additional field of the address.
            postal:
              type: string
              nullable: true
              description: The postal code of the address.
            city:
              type: string
              nullable: true
              description: The city of the address.
            country:
              type: string
              nullable: true
              description: The country of the address. An ISO 3166 country code.
            state:
              type: string
              nullable: true
              description: The state of the address. If applicable
            name:
              type: string
              description: The name of the person receiving delivery.
        identification:
          type: array
          items:
            $ref: '#/components/schemas/LegalIdentificationDocumentResource'
          description: An array of identification items
        sellerId:
          type: string
        eventId:
          type: string
        shopId:
          type: string
        strategyId:
          type: string
        vouchers:
          type: array
          items:
            type: string
        appliedCoupons:
          type: array
          items:
            oneOf:
            - type: array
            - type: boolean
            - type: number
            - type: object
            - type: string
        regularPrice:
          type: number
          format: float
        realPrice:
          type: number
          format: float
        currency:
          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
        innerFeeComponents:
          oneOf:
          - type: array
          - type: boolean
          - type: number
          - type: object
          - type: string
        innerCharge:
          type: number
          format: float
        outerFeeComponents:
          oneOf:
          - type: array
          - type: boolean
          - type: number
          - type: object
          - type: string
        outerCharge:
          type: number
          format: float
        tickets:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                - ticket
                description: The type of the cart item.
                default: ticket
              _id:
                type: string
                description: Unique identifier for the cart item. If omitted, the system will automatically generate one.
              name:
                type: string
                nullable: true
                description: The name of the cart item.
              amount:
                type: integer
                minimum: 1
                description: The amount of the cart item.
              netPrice:
                type: number
                format: float
                description: The single piece net price of the cart item.
              price:
                type: number
                format: float
                description: The single piece price of the cart item.
              taxRate:
                type: number
                format: float
                nullable: true
                description: The tax rate to be applied to this cart item. If not present the tax rate of the transaction is taken.
              triggeredBy:
                oneOf:
                - type: string
                  description: An ID of another cart item which triggered the buy action of the cart item.
                - type: array
                  items:
                    type: string
                  description: An array of IDs of other cart items which triggered the buy action of the cart item.
                nullable: true
                description: An ID or an array of IDs of other cart items which triggered the buy action of the cart item.
              bundleInfo:
                type: object
                properties:
                  bundleId:
                    type: string
                  componentId:
                    type: string
                  optionId:
                    type: string
                nullable: true
              ticketTypeId:
                type: string
                description: The ID of the ticket type of the cart item.
              categoryRef:
                type: string
                description: The category reference of the ticket type.
              seatingInfo:
                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
                nullable: true
                description: The associated seating object.
              slotInfo:
                type: object
                properties:
                  slotId:
                    type: string
                    description: The ID of the time slot.
                  slotStartTime:
                    type: string
                    description: The start time of the time slot.
                required:
                - slotId
                - slotStartTime
                nullable: true
                description: The associated time slot object.
              asHardTicket:
                type: boolean
                nullable: true
                description: Whether this ticket is a hard ticket.
              listingId:
                type: string
                nullable: true
                description: Listing in secondary market.
              listingItemId:
                type: string
                nullable: true
                description: The ID of the listing item in the secondary market.
              triggeredAutomations:
                type: boolean
                nullable: true
                description: Whether the cart item triggered automations.
              meta:
                type: object
                nullable: true
                description: Meta data which is propagated to the ticket.
              add

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