vivenu tickets API
The tickets API from vivenu — 22 operation(s) for tickets.
The tickets API from vivenu — 22 operation(s) for tickets.
openapi: 3.0.3
info:
title: vivenu access-lists tickets 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: tickets
paths:
/api/tickets:
get:
security:
- jwt: []
- apikey: []
parameters:
- name: name
required: false
schema:
type: string
description: Filter tickets by ticket holder name
metas: {}
in: query
style: form
explode: true
- name: barcode
required: false
schema:
type: string
description: Filter tickets by barcode
metas: {}
in: query
style: form
explode: true
- name: start
required: false
schema:
type: string
format: date-time
description: An ISO timestamp to filter tickets created on or after this date
metas: {}
in: query
style: form
explode: true
- name: end
required: false
schema:
type: string
format: date-time
description: An ISO timestamp to filter tickets created on or before this date
metas: {}
in: query
style: form
explode: true
- name: status
required: false
schema:
type: string
description: Filter by a comma(,) separated list of statuses
example: VALID,RESERVED
metas: {}
in: query
style: form
explode: true
- name: type
required: false
schema:
type: string
enum:
- SINGLE
- MULTI
description: Filter tickets by type
metas: {}
in: query
style: form
explode: true
- name: deliveryType
required: false
schema:
type: string
description: Filter by a comma(,) separated list of deliverTypes
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: statusId
required: false
schema:
type: string
description: Filter tickets with a seat by status ID
metas: {}
in: query
style: form
explode: true
- name: gaName
required: false
schema:
type: string
description: Filter tickets with a seat by general admission name
metas: {}
in: query
style: form
explode: true
- name: sectionName
required: false
schema:
type: string
description: Filter tickets with a seat by section name
metas: {}
in: query
style: form
explode: true
- name: groupName
required: false
schema:
type: string
description: Filter tickets with a seat by group name
metas: {}
in: query
style: form
explode: true
- name: rowName
required: false
schema:
type: string
description: Filter tickets with a seat by row name
metas: {}
in: query
style: form
explode: true
- name: seatName
required: false
schema:
type: string
description: Filter tickets by seat name
metas: {}
in: query
style: form
explode: true
- name: customerId
required: false
schema:
type: string
description: Filter tickets by customer ID
metas: {}
in: query
style: form
explode: true
- name: purchaseIntentId
required: false
schema:
type: string
description: Filter tickets by purchase intent ID
metas: {}
in: query
style: form
explode: true
- name: checkoutId
required: false
schema:
type: string
description: Filter tickets by the ID of the checkout
metas: {}
in: query
style: form
explode: true
- name: subscriptionId
required: false
schema:
type: string
description: Filter tickets by the ID of the subscription
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 ticket was last updated in ISO format.
metas: {}
in: query
style: deepObject
explode: true
- name: batch
required: false
schema:
type: string
description: Filter tickets by batch
metas: {}
in: query
style: form
explode: true
- name: batchCounter
required: false
schema:
type: object
properties:
$gt:
type: number
format: float
description: value is greater than
metas: {}
$gte:
type: number
format: float
description: value is greater than or equal
metas: {}
$lt:
type: number
format: float
description: value is less than
metas: {}
$lte:
type: number
format: float
description: value is less than or equal
metas: {}
$eq:
type: number
format: float
description: value is equal
metas: {}
$ne:
type: number
format: float
description: value is not equal
metas: {}
description: Filter tickets by batch counter
metas: {}
in: query
style: deepObject
explode: true
- name: packageId
required: false
schema:
type: string
description: Filter tickets by package 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_Tickets_GetAllTickets_200_response'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- tickets
description: Get all Tickets
operationId: tickets/list
/api/tickets/{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/TicketResource'
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- tickets
description: Get a Ticket
operationId: tickets/get
put:
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/TicketResource'
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PUT_Tickets_UpdateATicket'
tags:
- tickets
description: Update a Ticket
operationId: tickets/update
/api/tickets/batch/{batchId}:
get:
parameters:
- name: sellerId
required: true
schema:
oneOf:
- type: string
length: 24
metas: {}
- type: string
pattern: ^[a-z]+_.*$
metas: {}
metas: {}
in: query
style: form
explode: true
- name: batchId
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Tickets_GetTicketsOfBatch_200_response'
'400':
description: Bad Request
'404':
description: Not Found
tags:
- tickets
description: Get Tickets of Batch
operationId: tickets/getBatch
/api/tickets/{id}/{secret}:
get:
parameters:
- name: childEventId
required: false
schema:
type: string
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
metas: {}
in: path
- name: secret
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
'400':
description: Bad Request
'404':
description: Not Found
tags:
- tickets
description: Get Ticket information
operationId: tickets/getPublic
/api/public/tickets/upgrades/info:
get:
parameters:
- name: checkoutId
required: true
schema:
type: string
metas: {}
in: query
style: form
explode: true
- name: secret
required: true
schema:
type: string
metas: {}
in: query
style: form
explode: true
responses:
'200':
description: OK
'400':
description: Bad Request
tags:
- tickets
description: Get ticket upgrade info
operationId: tickets/upgradeInfo
/api/public/tickets/{id}/return-info:
get:
parameters:
- name: secret
required: true
schema:
type: string
metas: {}
in: query
style: form
explode: true
- name: transactionSecret
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
'400':
description: Bad Request
tags:
- tickets
description: Return a Ticket
operationId: tickets/getReturnInfo
/api/tickets/{id}/print/{secret}:
get:
parameters:
- name: locale
required: false
schema:
type: string
description: The locale to use for the ticket info.
metas: {}
in: query
style: form
explode: true
- name: eventId
required: false
schema:
type: string
description: The (child)event ID to use for the ticket info.
metas: {}
in: query
style: form
explode: true
- name: asPackage
required: false
schema:
type: boolean
description: Whether to use the package of the ticket to determine relevant event.
metas: {}
in: query
style: form
explode: true
- name: id
required: true
schema:
type: string
description: The ID of the ticket.
metas: {}
in: path
- name: secret
required: true
schema:
type: string
description: The secret of the ticket.
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Tickets_GetTicketPrintData_200_response'
'400':
description: Bad Request
'404':
description: Not Found
tags:
- tickets
description: Get Ticket Print Data
operationId: get_ticket_print_data
/api/tickets/free:
post:
security:
- jwt: []
- apikey: []
parameters: []
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Tickets_CreateFreeTickets_201_response'
'400':
description: Bad Request
'401':
description: Unauthorized
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateFreeTicketValidationSchema'
tags:
- tickets
description: Create free Tickets
operationId: tickets/create
/api/public/tickets/claim:
post:
security:
- customer-jwt: []
parameters: []
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Tickets_ClaimTickets'
tags:
- tickets
description: Claim tickets
operationId: tickets/claim
/api/public/tickets/upgrade:
post:
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CheckoutResource'
'400':
description: Bad Request
'401':
description: Unauthorized
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Tickets_UpgradeTickets'
tags:
- tickets
description: Upgrade tickets
operationId: tickets/upgrade
/api/tickets/{id}/reissue:
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/TicketResource'
'401':
description: Unauthorized
tags:
- tickets
description: Reissue Ticket
operationId: tickets/reissue
/api/tickets/{id}/invalidate:
post:
parameters:
- name: secret
required: false
schema:
type: string
description: The secret of the ticket if you use the endpoint without authentication
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/TicketResource'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- tickets
description: Invalidate Ticket
operationId: tickets/invalidate
/api/tickets/{id}/mail:
post:
security:
- jwt: []
- apikey: []
parameters:
- name: id
required: true
schema:
type: string
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_Tickets_SendTicketPerMail'
tags:
- tickets
description: Send Ticket per mail
operationId: send_ticket_per_mail
/api/tickets/{id}/seat:
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/TicketResource'
'400':
description: Bad Request
'401':
description: Unauthorized
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Tickets_ChangeTicketsSeat'
tags:
- tickets
description: Change Ticket's seat
operationId: change_tickets_seat
/api/tickets/{id}/validate:
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/TicketResource'
'401':
description: Unauthorized
tags:
- tickets
description: Validate Ticket
operationId: tickets/validate
/api/tickets/{id}/detailsrequired:
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/TicketResource'
'401':
description: Unauthorized
tags:
- tickets
description: Require Details
operationId: tickets/requireDetails
/api/tickets/{id}/preparedelivery:
post:
security:
- jwt: []
parameters:
- name: id
schema:
type: string
required: true
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TicketResource'
'401':
description: Unauthorized
tags:
- tickets
description: Prepare Ticket for delivery
operationId: prepare_ticket_for_delivery
/api/public/tickets/{id}/return:
post:
parameters:
- name: id
schema:
type: string
required: true
in: path
responses:
'200':
description: OK
'400':
description: Bad Request
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Tickets_ReturnATicket'
tags:
- tickets
description: Return a Ticket
operationId: tickets/return
/api/public/tickets/{id}/invalidate:
post:
parameters:
- name: secret
required: true
schema:
type: string
description: The secret of the ticket
metas: {}
in: query
style: form
explode: true
- name: eventIds
required: false
schema:
type: array
items:
type: string
metas: {}
description: The event IDs to invalidate the ticket for
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/TicketResource'
'400':
description: Bad Request
tags:
- tickets
description: Invalidate Ticket
operationId: tickets/invalidatePublic
/api/tickets/batch/{id}/invalidate:
post:
security:
- jwt: []
parameters:
- name: id
schema:
type: string
required: true
in: path
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Tickets_InvalidateTicketsOfABatch_201_response'
'401':
description: Unauthorized
tags:
- tickets
description: Invalidate Tickets of a Batch
operationId: tickets/invalidateBatch
/api/tickets/batch/{id}/mail:
post:
security:
- jwt: []
- apikey: []
parameters:
- name: id
required: true
schema:
type: string
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_Tickets_SendBatchTicketsPerMail'
tags:
- tickets
description: Send batch tickets per mail
operationId: send_batch_tickets_per_mail
/api/tickets/personalize/{id}/{secret}:
post:
parameters:
- name: id
required: true
schema:
type: string
description: The ID of the ticket.
metas: {}
in: path
- name: secret
required: true
schema:
type: string
description: The secret of the ticket.
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TicketResource'
'400':
description: Bad Request
'401':
description: Unauthorized
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Tickets_PersonalizeATicket'
tags:
- tickets
description: Personalize a Ticket
operationId: tickets/personalize
components:
schemas:
POST_Tickets_SendBatchTicketsPerMail:
type: object
properties:
email:
type: string
format: email
required:
- email
nullable: true
POST_Tickets_PersonalizeATicket:
type: object
properties:
name:
type: string
description: The name on the ticket.
firstname:
type: string
description: The first name on the ticket.
lastname:
type: string
description: The last name on the ticket.
extraFields:
type: object
description: Key-value pairs of extra fields for the ticket.
POST_Tickets_InvalidateTicketsOfABatch_201_response:
type: array
items:
$ref: '#/components/schemas/TicketResource'
CustomerResource:
type: object
properties:
_id:
type: string
description: The ID of the customer
company:
type: string
nullable: true
description: The company of the customer
name:
type: string
nullable: true
description: The name of the customer collected from first name and last name
prename:
type: string
nullable: true
description: The first name of the customer
lastname:
type: string
nullable: true
description: The lastname of the customer
image:
type: string
nullable: true
description: The image of the customer
deprecated: true
primaryEmail:
type: string
format: email
description: The primary email of the customer
number:
type: number
format: float
description: The number of the customer. Need to be unique and incrementing
phone:
type: string
description: The phone number of the customer
location:
type: object
properties:
street:
type: string
nullable: true
description: The street of the location
line2:
type: string
nullable: true
description: The additional address fields of the location
postal:
type: string
nullable: true
description: The postal of the location
city:
type: string
nullable: true
description: The city of the location
locale:
type: string
nullable: true
description: The locale of the location
deprecated: true
state:
type: string
nullable: true
description: The state of the location
center:
type: array
items:
type: number
format: float
nullable: true
description: The center of the location
deprecated: true
country:
type: string
nullable: true
description: An ISO-3166-1 Alpha 2 country code of the location
description: The location of the customer
sellerId:
type: string
description: The ID of the seller of the customer
notes:
type: string
nullable: true
description: Notes of the customer
extraFields:
type: object
nullable: true
description: Extra fields of the customer
tags:
type: array
items:
type: string
description: An array of tags
segments:
type: array
items:
type: string
description: An array of segment slugs, read only
blocked:
type: boolean
description: Whether the customer is blocked
verified:
type: boolean
description: Whether the customer is verified
identification:
type: array
items:
$ref: '#/components/schemas/LegalIdentificationDocumentResource'
description: An array of identification items
_account:
type: object
properties:
verificationToken:
type: string
description: The verification token will be sent to the customer via email within a verification link, which can be used to verify the account of the customer
passwordResetToken:
type: string
description: The password reset token will be sent within a password reset link via email, which can be used by the customer to reset its password
limitations:
type: object
properties:
nextVerificationMailRequest:
type: string
format: date-time
description: An ISO timestamp indicating when the next verification mail request can be sent
description: Account specific limitations of the customer
loginType:
type: string
nullable: true
enum:
- password
- identityprovider
description: The login type of the customer.
description: Account specific information about the customer
meta:
type: object
description: Custom key-value data. Metadata is useful for storing additional, structured information on an object.
externalId:
type: string
nullable: true
description: An external identifier of the customer
createdAt:
type: string
format: date-time
description: An ISO timestamp indicating when the customer was created
updatedAt:
type: string
format: date-time
description: An ISO timestamp indicating when the customer was updated
required:
- _id
- primaryEmail
description: The associated customer which has been updated
CreateFreeTicketValidationSchema:
oneOf:
- type: object
properties:
eventId:
type: string
description: The ID of the event containing the ticket cart items.
underShopId:
type: string
items:
type: array
items:
type: object
properties:
_id:
type: string
description: Unique identifier for the cart item. If omitted, the system will automatically generate one.
type:
type: string
enum:
- ticket
description: The type of the cart item.
default: ticket
amount:
type: integer
minimum: 1
description: The amount of the cart item.
ticketTypeId:
type: string
description: The ID of the ticket type of the cart item.
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
# --- truncated at 32 KB (344 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vivenu/refs/heads/main/openapi/vivenu-tickets-api-openapi.yml