vivenu distribution-api API
The distribution-api API from vivenu — 12 operation(s) for distribution-api.
The distribution-api API from vivenu — 12 operation(s) for distribution-api.
openapi: 3.0.3
info:
title: vivenu access-lists distribution-api 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: distribution-api
paths:
/api/distribution/events:
get:
parameters:
- name: distributorId
required: true
schema:
type: string
description: The seller to get events for
metas: {}
in: query
style: form
explode: true
- name: start
required: false
schema:
type: string
description: The start date for the events
metas: {}
in: query
style: form
explode: true
- name: end
required: false
schema:
type: string
description: The end date for the events
metas: {}
in: query
style: form
explode: true
- name: top
required: false
schema:
type: integer
minimum: 1
description: The maximum amount of events to return
default: 100
metas: {}
in: query
style: form
explode: true
- name: skip
required: false
schema:
type: integer
minimum: 0
description: The amount of events to skip
metas: {}
in: query
style: form
explode: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Distribution-api_GetAllEventsForASeller_200_response'
'400':
description: Bad Request
tags:
- distribution-api
description: Get all events for a seller.
operationId: get_all_events_for_a_seller
/api/distribution/sellers:
get:
parameters:
- name: type
required: false
schema:
type: string
enum:
- Redeam
- GetYourGuide
- Logitix
- EventDynamic
- StubHub
- TicketmasterFrance
- ProjectAdmission
- Tiqets
- TripCom
- ANI
- TicketNetwork
- KorusTicket
- ComeToParis
- Experticket
- Prioticket
- RevPro
- Automatiq
description: The type of the distributor
metas: {}
in: query
style: form
explode: true
- name: skip
required: false
schema:
type: number
format: float
description: The amount of sellers to skip
metas: {}
in: query
style: form
explode: true
- name: top
required: false
schema:
type: number
format: float
description: The maximum amount of sellers to return
default: 100
metas: {}
in: query
style: form
explode: true
- name: sellerId
required: false
schema:
type: string
description: The ID of the seller
metas: {}
in: query
style: form
explode: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Distribution-api_GetAllSellers_200_response'
'400':
description: Bad Request
tags:
- distribution-api
description: Get all sellers.
operationId: get_all_sellers
/api/distribution/checkout/{id}:
get:
parameters:
- name: distributorId
required: true
schema:
type: string
description: The distributor to fetch the checkout for
metas: {}
in: query
style: form
explode: true
- name: id
required: true
schema:
type: string
description: The checkout to fetch
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DistributionCheckoutResource'
'400':
description: Bad Request
'403':
description: Forbidden
tags:
- distribution-api
description: Get a checkout.
operationId: get_a_checkout
/api/distribution/events/{id}:
get:
parameters:
- name: distributorId
required: true
schema:
type: string
description: The seller to get events for
metas: {}
in: query
style: form
explode: true
- name: id
required: true
schema:
type: string
description: The event to fetch
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DistributionEventResource'
'400':
description: Bad Request
tags:
- distribution-api
description: Get an event for a seller.
operationId: get_an_event_for_a_seller
/api/distribution/events/{id}/availabilities:
get:
parameters:
- name: distributorId
required: true
schema:
type: string
description: The seller to get events for
metas: {}
in: query
style: form
explode: true
- name: start
required: false
schema:
type: string
description: The start date for the events
metas: {}
in: query
style: form
explode: true
- name: end
required: false
schema:
type: string
description: The end date for the events
metas: {}
in: query
style: form
explode: true
- name: top
required: false
schema:
type: integer
minimum: 1
description: The maximum amount of events to return
default: 100
metas: {}
in: query
style: form
explode: true
- name: skip
required: false
schema:
type: integer
minimum: 0
description: The amount of events to skip
metas: {}
in: query
style: form
explode: true
- name: id
required: true
schema:
type: string
description: The event to fetch
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Distribution-api_GetTheAvailabilitiesForAnEvent_200_response'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- distribution-api
description: Get the availabilities for an event.
operationId: get_the_availabilities_for_an_event
/api/distribution/events/{eventId}/availabilities/{availabilityId}/seating-groups:
get:
parameters:
- name: distributorId
required: true
schema:
type: string
description: The seller to get events for
metas: {}
in: query
style: form
explode: true
- name: eventId
required: true
schema:
type: string
description: The event to fetch seating groups for
metas: {}
in: path
- name: availabilityId
required: true
schema:
type: string
description: The availability to fetch seating groups for
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Distribution-api_GetSeatingGroupsForAnEvent_200_response'
'400':
description: Bad Request
tags:
- distribution-api
description: Get seating groups for an event.
operationId: get_seating_groups_for_an_event
/api/distribution/events/{eventId}/availabilities/{availabilityId}/seating-groups/{groupId}:
get:
parameters:
- name: distributorId
required: true
schema:
type: string
description: The seller to get events for
metas: {}
in: query
style: form
explode: true
- name: eventId
required: true
schema:
type: string
description: The event to fetch seating tuples for
metas: {}
in: path
- name: groupId
required: true
schema:
type: string
description: The seating group to fetch seating tuples for
metas: {}
in: path
- name: availabilityId
required: true
schema:
type: string
description: The availability to fetch seating tuples for
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DistributionSeatingGroupResource'
'400':
description: Bad Request
tags:
- distribution-api
description: Get the state for a seating group.
operationId: get_the_state_for_a_seating_group
/api/distribution/checkout:
post:
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DistributionCheckoutResource'
'400':
description: Bad Request
'403':
description: Forbidden
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Distribution-api_CreateACheckout'
tags:
- distribution-api
description: Create a checkout.
operationId: create_a_checkout
/api/distribution/checkout/{id}/extend:
post:
parameters:
- name: id
required: true
schema:
type: string
description: The checkout to extend
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DistributionCheckoutResource'
'400':
description: Bad Request
'403':
description: Forbidden
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Distribution-api_ExtendTheExpiryTimeOfACheckoutByOneHour'
tags:
- distribution-api
description: Extend the expiry time of a checkout by one hour.
operationId: extend_the_expiry_time_of_a_checkout_by_one_hour
/api/distribution/checkout/{id}/complete:
post:
parameters:
- name: id
schema:
type: string
required: true
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DistributionCheckoutResource'
'400':
description: Bad Request
'403':
description: Forbidden
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Distribution-api_CompleteACheckout'
tags:
- distribution-api
description: Complete a checkout.
operationId: complete_a_checkout
/api/distribution/checkout/{id}/abort:
post:
parameters:
- name: id
required: true
schema:
type: string
description: The checkout to abort
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DistributionCheckoutResource'
'400':
description: Bad Request
'403':
description: Forbidden
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Distribution-api_AbortACheckout'
tags:
- distribution-api
description: Abort a checkout.
operationId: abort_a_checkout
/api/distribution/transaction/{id}/cancel:
post:
parameters:
- name: id
required: true
schema:
type: string
description: The transaction to cancel
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DistributionTransactionResource'
'400':
description: Bad Request
'403':
description: Forbidden
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Distribution-api_CancelATransaction'
tags:
- distribution-api
description: Cancel a transaction.
operationId: cancel_a_transaction
components:
schemas:
DistributionSellerResource:
type: object
properties:
sellerId:
type: string
description: The unique seller id for the seller
distributorId:
type: string
description: The unique distributor id for the seller
name:
type: string
description: The name of the seller
location:
type: object
properties:
name:
type: string
description: The name of the location
street:
type: string
description: The street of the location
city:
type: string
description: The city of the location
postalCode:
type: string
description: The postal code of the location
country:
type: string
description: The country of the location
required:
- name
- street
- city
- postalCode
- country
description: The location of the seller
required:
- sellerId
- distributorId
- name
GET_Distribution-api_GetSeatingGroupsForAnEvent_200_response:
type: object
properties:
docs:
type: array
items:
$ref: '#/components/schemas/DistributionSeatingGroupResource'
total:
type: integer
POST_Distribution-api_CancelATransaction:
type: object
properties:
distributorId:
type: string
description: The distributor to cancel a checkout for
required:
- distributorId
POST_Distribution-api_CompleteACheckout:
type: object
properties:
distributorId:
type: string
description: The distributor to create a checkout for
customer:
type: object
properties:
firstName:
type: string
description: The first name of the customer
lastName:
type: string
description: The last name of the customer
email:
type: string
format: email
description: The email of the customer
company:
type: string
description: The company of the customer
phone:
type: string
description: The phone of the customer
address:
type: object
properties:
lineOne:
type: string
description: The first line of the address
lineTwo:
type: string
description: The second line of the address
city:
type: string
description: The city of the address
postal:
type: string
description: The postal code of the address
state:
type: string
description: The state of the address
country:
type: string
description: The country of the address
required:
- lineOne
- city
- postal
- country
description: The address of the customer
required:
- firstName
- lastName
- email
description: The customer to create a checkout for
required:
- distributorId
- customer
DistributionCheckoutResource:
type: object
properties:
checkoutId:
type: string
description: The ID of the checkout
transactionId:
type: string
description: The ID of the transaction
status:
type: string
enum:
- NEW
- ABORTED
- COMPLETE
description: The status of the checkout
distributorId:
type: string
description: The ID of the distributor
expiresAt:
type: string
format: date-time
description: The ISO timestamp when the checkout expires
externalReferenceId:
type: string
description: The external reference id for the checkout
tickets:
type: array
items:
type: object
properties:
ticketId:
type: string
description: The ID of the ticket
offerId:
type: string
description: The ID of the ticket's offer
barcode:
type: string
description: The barcode of the ticket
url:
type: string
description: The URL of the ticket
eventId:
type: string
description: The ID of the ticket's event
availabilityId:
type: string
description: The ID of the ticket's availability
timeSlotId:
type: string
description: The ID of the ticket's time slot
seatingInfo:
oneOf:
- type: object
properties:
type:
type: string
enum:
- Seats
gate:
type: string
description: The gate for the seat
name:
type: string
description: The name of the section if the ticket is for a GeneralAdmission section
seatId:
type: string
sectionName:
type: string
description: The section name for the seat
rowName:
type: string
description: The row name for the seat
seatName:
type: string
description: The seat name for the seat
required:
- type
- seatId
- sectionName
- rowName
- seatName
- type: object
properties:
gate:
type: string
description: The gate for the seat
name:
type: string
description: The name of the section if the ticket is for a GeneralAdmission section
seatId:
type: string
type:
type: string
enum:
- GeneralAdmission
description: The type of the seating group this seat belongs to
required:
- type
description: The seating info of the ticket
required:
- ticketId
- offerId
- barcode
- url
- eventId
- availabilityId
description: The created tickets in the checkout when the checkout is completed
required:
- checkoutId
- status
- distributorId
GET_Distribution-api_GetAllSellers_200_response:
type: object
properties:
docs:
type: array
items:
$ref: '#/components/schemas/DistributionSellerResource'
total:
type: integer
DistributionAvailabilityResource:
type: object
properties:
eventId:
type: string
description: The unique id for the event
availibilityId:
type: string
description: The unique id for the availibility
name:
type: string
description: The name of the event
start:
type: string
description: The event start date & time
end:
type: string
description: The event end date & time
timezone:
type: string
description: The timezone of the event
salesStart:
type: string
format: date-time
description: When sales start for the event
salesEnd:
type: string
format: date-time
description: When sales end for the event
currency:
type: string
format: date-time
description: The currency prices for this event are in
offers:
type: array
items:
type: object
properties:
offerId:
type: string
description: The unique id for the offer
name:
type: string
description: The name of the offer
price:
type: number
format: float
description: The price for the offer
available:
type: integer
description: The amount of tickets available for this offer
meta:
type: object
description: Additional meta data for this offer
required:
- offerId
- name
- price
- available
description: The available offers for this event
timeSlots:
type: array
items:
type: object
properties:
startTime:
type: object
properties:
hour:
type: number
format: float
minimum: 0
maximum: 23
description: The start time hour
minute:
type: number
format: float
minimum: 0
maximum: 59
description: The start time minute
required:
- hour
- minute
description: The start time of the time slot on the availabilities date
timeSlotId:
type: string
description: The unique id for the time slot
offers:
type: array
items:
type: object
properties:
offerId:
type: string
description: The offer id
available:
type: integer
description: The amount of tickets available for this time slot. Only set if the event uses time slots
required:
- offerId
description: The offers available for the time slot
required:
- startTime
- timeSlotId
- offers
description: The available time slots
required:
- eventId
- availibilityId
- name
- start
- timezone
- salesStart
- salesEnd
- currency
- offers
POST_Distribution-api_AbortACheckout:
type: object
properties:
distributorId:
type: string
description: The distributor to abort a checkout for
required:
- distributorId
GET_Distribution-api_GetTheAvailabilitiesForAnEvent_200_response:
type: object
properties:
docs:
type: array
items:
$ref: '#/components/schemas/DistributionAvailabilityResource'
total:
type: integer
GET_Distribution-api_GetAllEventsForASeller_200_response:
type: object
properties:
docs:
type: array
items:
$ref: '#/components/schemas/DistributionEventResource'
total:
type: integer
DistributionTransactionResource:
type: object
properties:
transactionId:
type: string
description: The ID of the transaction
distributorId:
type: string
description: The ID of the distributor
status:
type: string
enum:
- NEW
- RESERVED-BY-SYSTEM
- ABORTED
- COMPLETE
- CANCELED
description: The status of the transaction
tickets:
type: array
items:
type: object
properties:
ticketId:
type: string
description: The ID of the ticket
offerId:
type: string
description: The ID of the ticket's offer
barcode:
type: string
description: The barcode of the ticket
url:
type: string
description: The URL of the ticket
eventId:
type: string
description: The ID of the ticket's event
availabilityId:
type: string
description: The ID of the ticket's availability
timeSlotId:
type: string
description: The ID of the ticket's time slot
seatingInfo:
oneOf:
- type: object
properties:
type:
type: string
enum:
- Seats
gate:
type: string
description: The gate for the seat
name:
type: string
description: The name of the section if the ticket is for a GeneralAdmission section
seatId:
type: string
sectionName:
type: string
description: The section name for the seat
rowName:
type: string
description: The row name for the seat
seatName:
type: string
description: The seat name for the seat
required:
- type
- seatId
- sectionName
- rowName
- seatName
- type: object
properties:
gate:
type: string
description: The gate for the seat
name:
type: string
description: The name of the section if the ticket is for a GeneralAdmission section
seatId:
type: string
type:
type: string
enum:
- GeneralAdmission
description: The type of the seating group this seat belongs to
required:
- type
description: The seating info of the ticket
required:
- ticketId
- offerId
- barcode
- url
- eventId
- availabilityId
description: The tickets associated to the transaction
required:
- transactionId
- distributorId
- status
POST_Distribution-api_CreateACheckout:
type: object
properties:
externalReferenceId:
type: string
maxLength: 100
description: The external reference of the checkout
distributorId:
type: string
description: The distributor to create a checkout for
tickets:
type: array
items:
type: object
properties:
offerId:
type: string
description: The offer to create a checkout for
eventId:
type: string
description: The event to create a checkout for
availabilityId:
type: string
description: The event to create a tickets for
price:
type: number
format: float
description: The price of the ticket
seatId:
type: string
description: The seat id for the ticket
timeSlotId:
type: string
description: The time slot id for the ticket
required:
- offerId
- eventId
- availabilityId
- price
description: The tickets to create a checkout for
required:
- distributorId
- tickets
POST_Distribution-api_ExtendTheExpiryTimeOfACheckoutByOneHour:
type: object
properties:
distributorId:
type: string
description: The distributor to extend a checkout for
required:
- distributorId
DistributionEventResource:
type: object
properties:
eventId:
type: string
description: The unique id for the event
name:
type: string
description: The name of the event
location:
type: object
properties:
name:
type: string
description: The name of the location
line1:
type: string
description: The first line of the address
line2:
type: string
description: The second line of the address
city:
type: string
description: The city of the address
postalCode:
type: string
description: The postal code of the address
state:
type: string
description: The state of the address
country:
type: string
description: The country of the address
description: The location of the event
information:
type: object
properties:
category:
type: string
description: The category of the event
subCategory:
type: string
description: The sub category of the event
required:
- category
- subCategory
description: The information about the event
start:
type: string
description: The event start date & time
end:
type: string
description: The event end date & time
currency:
type: string
format: date-time
description: The currency the prices for this event are in
# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vivenu/refs/heads/main/openapi/vivenu-distribution-api-api-openapi.yml