vivenu transactions API

The transactions API from vivenu — 18 operation(s) for transactions.

OpenAPI Specification

vivenu-transactions-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: vivenu access-lists transactions 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: transactions
paths:
  /api/transactions:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: name
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: email
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: coupon
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: start
        required: false
        schema:
          type: string
          format: date-time
          metas: {}
        in: query
        style: form
        explode: true
      - name: end
        required: false
        schema:
          type: string
          format: date-time
          metas: {}
        in: query
        style: form
        explode: true
      - name: status
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: paymentStatus
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: posPaymentMethods
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: event
        required: false
        schema:
          type: string
          description: Filter by a comma(,) separated list of event IDs
          metas: {}
        in: query
        style: form
        explode: true
      - name: customer
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: subscriptionId
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: updatedAt
        required: false
        schema:
          type: object
          properties:
            $gt:
              type: string
              format: date-time
              description: value is greater than
              metas: {}
            $gte:
              type: string
              format: date-time
              description: value is greater than or equal
              metas: {}
            $lt:
              type: string
              format: date-time
              description: value is less than
              metas: {}
            $lte:
              type: string
              format: date-time
              description: value is less than or equal
              metas: {}
            $eq:
              type: string
              format: date-time
              description: value is equal
              metas: {}
            $ne:
              type: string
              format: date-time
              description: value is not equal
              metas: {}
          description: Range of dates indicating when the transaction was last updated in ISO format.
          metas: {}
        in: query
        style: deepObject
        explode: true
      - name: psp
        required: false
        schema:
          type: string
          description: The reference of the payment service provider to filter for
          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_Transactions_GetAllTransactions_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      tags:
      - transactions
      description: Get All Transactions
      operationId: get_all_transactions
  /api/transactions/rich:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: name
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: email
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: coupon
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: start
        required: false
        schema:
          type: string
          format: date-time
          metas: {}
        in: query
        style: form
        explode: true
      - name: end
        required: false
        schema:
          type: string
          format: date-time
          metas: {}
        in: query
        style: form
        explode: true
      - name: status
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: paymentStatus
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: event
        required: false
        schema:
          type: string
          description: Filter by a comma(,) separated list of event IDs
          metas: {}
        in: query
        style: form
        explode: true
      - name: seller
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: customer
        required: false
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: updatedAt
        required: false
        schema:
          type: object
          properties:
            $gt:
              type: string
              format: date-time
              description: value is greater than
              metas: {}
            $gte:
              type: string
              format: date-time
              description: value is greater than or equal
              metas: {}
            $lt:
              type: string
              format: date-time
              description: value is less than
              metas: {}
            $lte:
              type: string
              format: date-time
              description: value is less than or equal
              metas: {}
            $eq:
              type: string
              format: date-time
              description: value is equal
              metas: {}
            $ne:
              type: string
              format: date-time
              description: value is not equal
              metas: {}
          description: Range of dates indicating when the transaction was last updated in ISO format.
          metas: {}
        in: query
        style: deepObject
        explode: true
      - name: psp
        required: false
        schema:
          type: string
          description: The reference of the payment service provider to filter for
          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_Transactions_GetAllTransactionsRich_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      tags:
      - transactions
      description: Get all Transactions rich
      deprecated: true
      operationId: get_all_transactions_rich
  /api/transactions/{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/TransactionResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      tags:
      - transactions
      description: Get a Transaction
      operationId: get_a_transaction
  /api/transactions/{id}/tickets:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          description: The ID of the transaction
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Transactions_GetAllTransactionTickets_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      tags:
      - transactions
      description: Get all Transaction Tickets
      operationId: get_all_transaction_tickets
  /api/transactions/{id}/cancellations:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          description: The ID of the transaction
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Transactions_GetTransactionCancellationInfo_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      tags:
      - transactions
      description: Get Transaction cancellation info
      operationId: get_transaction_cancellation_info
    post:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          description: The ID of the transaction
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/POST_Transactions_CreateATransactionCancellation_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                items:
                  anyOf:
                  - type: array
                    items:
                      type: string
                  - type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                        amount:
                          default: 0
                          type: number
                      required:
                      - _id
                      - amount
                      additionalProperties: false
                refundFunds:
                  default: false
                  description: Whether the received funds should be refunded
                  type: boolean
                refundTarget:
                  default: origin
                  description: The method to use for refunding the transaction.
                  type: string
                  enum:
                  - origin
                  - voucher
              required:
              - items
              - refundFunds
              - refundTarget
              additionalProperties: false
      tags:
      - transactions
      description: Create a Transaction cancellation
      operationId: create_a_transaction_cancellation
  /api/public/tickets/{id}/transaction:
    get:
      parameters:
      - name: secret
        required: true
        schema:
          type: string
          metas: {}
        in: query
        style: form
        explode: true
      - name: id
        schema:
          type: string
        required: true
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Transactions_GetTransactionOfATicket_200_response'
        '400':
          description: Bad Request
      tags:
      - transactions
      description: Get transaction of a ticket
      operationId: get_transaction_of_a_ticket
  /api/public/transactions/{id}/tickets:
    get:
      parameters:
      - name: secret
        required: true
        schema:
          type: string
          description: The secret token of the transaction
          metas: {}
        in: query
        style: form
        explode: true
      - name: locale
        required: false
        schema:
          type: string
          description: Get the info for a specific language
          metas: {}
        in: query
        style: form
        explode: true
      - name: id
        required: true
        schema:
          type: string
          description: The ID of the transaction
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Transactions_GetTransactionsPublicTickets_200_response'
        '400':
          description: Bad Request
      tags:
      - transactions
      description: Get transaction's public tickets
      operationId: get_transactions_public_tickets
  /api/public/tickets/repersonalization:
    post:
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckoutResource'
        '400':
          description: Bad Request
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Transactions_RequestRepersonalization'
      tags:
      - transactions
      description: Request repersonalization
      operationId: tickets/paidRePersonalization
  /api/transactions/{id}/order-sms:
    post:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          description: The id of the transaction to send the order SMS
          metas: {}
        in: path
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Transactions_SendAnOrderSmsForATransaction'
      tags:
      - transactions
      description: Send an order SMS for a transaction
      operationId: tickets/orderSms
  /api/transactions/{id}/ticket-mail:
    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/TransactionResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Transactions_SendTransactionTicketsPerMail'
      tags:
      - transactions
      description: Send transaction tickets per mail
      operationId: send_transaction_tickets_per_mail
  /api/transactions/{id}/invitationmail:
    post:
      security:
      - jwt: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          metas: {}
        in: path
      responses:
        '201':
          description: Created
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      tags:
      - transactions
      description: Send a Transaction reserved invitation mail
      operationId: send_a_transaction_reserved_invitation_mail
  /api/transactions/{id}/paymentstatus:
    post:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          metas: {}
        in: path
      responses:
        '201':
          description: Created
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Transactions_UpdateThePaymentStatus'
      tags:
      - transactions
      description: Update the payment status
      operationId: update_the_payment_status
  /api/transactions/{id}/cancel:
    post:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          metas: {}
        in: path
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Transactions_CancelATransaction'
      tags:
      - transactions
      description: Cancel a Transaction
      operationId: cancel_a_transaction
  /api/transactions/{id}/complete:
    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/TransactionResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      tags:
      - transactions
      description: Complete a Transaction
      operationId: complete_a_transaction
  /api/transactions/{id}/resendconfirmationmail:
    post:
      security:
      - jwt: []
      parameters:
      - name: id
        schema:
          anyOf:
          - type: string
            pattern: ^[a-fA-F0-9]{24}$
          - type: string
            pattern: ^[a-z]+_.*$
          description: The id of the transaction to resend the booking confirmation mail
        description: The id of the transaction to resend the booking confirmation mail
        in: path
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: false
        content:
          application/json:
            schema:
              nullable: true
              type: object
              properties:
                email:
                  description: The email address to which the transaction booking confirmation should be sent to
                  type: string
                  format: email
                  pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
              additionalProperties: false
      tags:
      - transactions
      description: Resend a Transaction booking confirmation mail
      operationId: resend_a_transaction_booking_confirmation_mail
  /api/transactions/{id}/voucher-mail:
    post:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          description: The id of the transaction to send the vouchers email
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Transactions_SendTransactionVouchersPerMail'
      tags:
      - transactions
      description: Send transaction vouchers per mail
      operationId: transactions/voucherMail
  /api/transactions/{id}/history:
    post:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          description: The ID of the transaction
          metas: {}
        in: path
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Transactions_AddHistoryEntry'
      tags:
      - transactions
      description: Add history entry
      operationId: transactions/addHistoryComment
  /api/pos/{id}/cancel/{transactionId}:
    post:
      security:
      - jwt: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          metas: {}
        in: path
      - name: transactionId
        required: true
        schema:
          type: string
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Transactions_CancelPosTransaction'
      tags:
      - transactions
      description: Cancel POS Transaction
      operationId: cancel_pos_transaction
components:
  schemas:
    POST_Transactions_AddHistoryEntry:
      type: object
      properties:
        type:
          type: string
          enum:
          - commented
        data:
          type: object
          properties:
            comment:
              type: string
          required:
          - comment
      required:
      - type
      - data
    GET_Transactions_GetTransactionCancellationInfo_200_response:
      type: object
      properties:
        cancellableItems:
          type: array
          items:
            type: object
            properties:
              cartItemId:
                type: string
                description: The ID of the cart to which the item belongs to
              type:
                type: string
                enum:
                - ticket
                - product
                - fee
                - discount
                - fulfillment
                - insurance
                description: The type of the item indicated where it originated from
              name:
                type: string
                nullable: true
                description: The name of the item
              price:
                type: number
                format: float
                description: The price of the item
              taxRate:
                type: number
                format: float
                description: The applied tax rate for that item
              origin:
                oneOf:
                - type: object
                  properties:
                    fee:
                      type: object
                      properties:
                        _id:
                          type: string
                          description: The ID of the fee component.
                        amount:
                          type: number
                          format: float
                          description: The fee amount.
                        value:
                          type: number
                          format: float
                          description: The fee value.
                        total:
                          type: number
                          format: float
                          description: The fee total. Calculated with amount and value.
                        type:
                          type: string
                          enum:
                          - onTicket
                          - onHardTicket
                          - onCart
                          description: The fee type of the fee component.
                        name:
                          type: string
                          nullable: true
                          description: The name of the fee.
                        publicName:
                          type: string
                          description: The public name of the fee component.
                        exposed:
                          type: boolean
                          description: Whether this fee will be exposed to the ticket buyer.
                        scheme:
                          type: object
                          properties:
                            schemeId:
                              type: string
                              description: The ID of the fee scheme.
                            feeId:
                              type: string
                              description: The ID of the fee scheme fee.
                          description: The fee scheme of the fee component.
                      required:
                      - _id
                      description: The cancellation fee of the item
                - type: object
                  properties:
                    ticketTypeId:
                      type: string
                      description: The ID of the ticket type this ticket inherits from
                - type: object
                  properties:
                    productVariantId:
                      type: string
                      description: The ID of the product variant this product inherits from
                description: Object indicating where the item originated from
              cancellationFee:
                type: object
                properties:
                  _id:
                    type: string
                    description: The ID of the fee component.
                  amount:
                    type: number
                    format: float
                    description: The fee amount.
                  value:
                    type: number
                    format: float
                    description: The fee value.
                  total:
                    type: number
                    format: float
                    description: The fee total. Calculated with amount and value.
                  type:
                    type: string
                    enum:
                    - onTicket
                    - onHardTicket
                    - onCart
                    description: The fee type of the fee component.
                  name:
                    type: string
                    nullable: true
                    description: The name of the fee.
                  publicName:
                    type: string
                    description: The public name of the fee component.
                  exposed:
                    type: boolean
                    description: Whether this fee will be exposed to the ticket buyer.
                  scheme:
                    type: object
                    properties:
                      schemeId:
                        type: string
                        description: The ID of the fee scheme.
                      feeId:
                        type: string
                        description: The ID of the fee scheme fee.
                    description: The fee scheme of the fee component.
                required:
                - _id
                description: The cancellation fee of the item. Is set when cancellation fees are charged at cancellation
              refundId:
                type: string
                description: The ID of the refund. Is set when item was refunded
              cancelledAt:
                type: string
                format: date-time
                description: A date indicating when the item has been cancelled
            required:
            - cartItemId
            - type
            - price
          description: An array of cancellable items
    POST_Transactions_UpdateThePaymentStatus:
      type: object
      properties:
        paymentStatus:
          type: string
          enum:
          - LOCAL-RECEIVED
          description: The target payment status
      required:
      - paymentStatus
    POST_Transactions_SendTransactionTicketsPerMail:
      type: object
      properties:
        email:
          type: string
          format: email
          description: The email address to which the tickets of the transaction should be sent to
      nullable: true
    POST_Transactions_CreateATransactionCancellation_200_response:
      type: object
      properties:
        transactionId:
          type: string
        sellerId:
          type: string
        cancelledItems:
          type: array
          items:
            type: object
            properties:
              cartItemId:
                type: string
                description: The ID of the cart to which the item belongs to
              type:
                type: string
                enum:
                - ticket
                - product
                - fee
                - discount
                - fulfillment
                - insurance
                description: The type of the item indicated where it originated from
              name:
                type: string
                nullable: true
                description: The name of the item
              price:
                type: number
             

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