vivenu customers API
The customers API from vivenu — 23 operation(s) for customers.
The customers API from vivenu — 23 operation(s) for customers.
openapi: 3.0.3
info:
title: vivenu access-lists customers 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: customers
paths:
/api/customers/me:
get:
security:
- customer-jwt: []
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerResource'
'401':
description: Unauthorized
tags:
- customers
description: Get current customer
operationId: get_current_customer
post:
security:
- customer-jwt: []
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerResource'
'400':
description: Bad Request
'401':
description: Unauthorized
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Customers_UpdateCurrentCustomer'
tags:
- customers
description: Update current customer
operationId: update_current_customer
/api/customers/rich:
get:
security:
- jwt: []
- apikey: []
parameters:
- name: name
required: false
schema:
type: string
description: The name of the customer collected from prename and lastname
metas: {}
in: query
style: form
explode: true
- name: email
required: false
schema:
type: string
description: The email of the customer
metas: {}
in: query
style: form
explode: true
- name: company
required: false
schema:
type: string
description: The company of the customer
metas: {}
in: query
style: form
explode: true
- name: tags
required: false
schema:
type: string
description: Tags of the customer
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 customer was last updated in ISO format.
metas: {}
in: query
style: deepObject
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_Customers_GetAllCustomers_200_response'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- customers
description: Get all Customers
operationId: customers/list
/api/customers/tags:
get:
security:
- jwt: []
- apikey: []
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Customers_GetAllCustomerTags_200_response'
'401':
description: Unauthorized
tags:
- customers
description: Get all Customer tags
operationId: get_all_customer_tags
/api/customers/{id}:
get:
security:
- jwt: []
- apikey: []
parameters:
- name: id
required: true
schema:
type: string
description: The ID of the customer
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerResource'
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- customers
description: Get Customer
operationId: customers/get
put:
security:
- jwt: []
- apikey: []
parameters:
- name: id
required: true
schema:
type: string
description: The ID of the customer
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerResource'
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PUT_Customers_UpdateCustomer'
tags:
- customers
description: Update Customer
operationId: customers/update
delete:
security:
- jwt: []
- apikey: []
parameters:
- name: id
required: true
schema:
type: string
description: The ID of the customer
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerResource'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- customers
description: Delete Customer
operationId: customers/delete
/api/customers/me/payment-plans:
get:
security:
- customer-jwt: []
parameters:
- name: locale
required: false
schema:
type: string
metas: {}
in: query
style: form
explode: true
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- customers
description: Get payment plans of customer
operationId: get_payment_plans_of_customer
/api/customers/me/purchaseintents:
get:
security:
- customer-jwt: []
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Customers_GetPurchaseIntentsOfCustomer_200_response'
'401':
description: Unauthorized
tags:
- customers
description: Get PurchaseIntents of customer
operationId: get_purchase_intents_of_customer
/api/customers/me/resell-offers:
get:
security:
- customer-jwt: []
parameters:
- name: status
required: false
schema:
type: string
enum:
- ACTIVE
- SOLD
- CANCELED
description: Status of the offers
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_Customers_GetResellOffersOfCustomer_200_response'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- customers
description: Get Resell Offers of Customer
operationId: customers/getCustomerResellOffers
/api/customers/me/shops:
get:
security:
- customer-jwt: []
parameters:
- name: eventId
required: true
schema:
type: string
description: The event ID to get the undershops of the customer
metas: {}
in: query
style: form
explode: true
- name: locale
required: false
schema:
type: string
metas: {}
in: query
style: form
explode: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Customers_GetUndershopsOfCustomer_200_response'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- customers
description: Get undershops of customer
operationId: get_undershops_of_customer
/api/customers/me/subscriptions:
get:
security:
- customer-jwt: []
parameters:
- name: locale
required: false
schema:
type: string
metas: {}
in: query
style: form
explode: true
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- customers
description: Get subscriptions of customer
operationId: get_subscriptions_of_customer
/api/customers/me/ticket-transfers:
get:
security:
- customer-jwt: []
parameters:
- name: origin
required: false
schema:
type: string
enum:
- customer
- stubhub
description: The origin of ticket transfer
metas: {}
in: query
style: form
explode: true
- name: isSender
required: false
schema:
type: boolean
enum:
- true
description: Whether customer is the sender of ticket transfer
metas: {}
in: query
style: form
explode: true
- name: isRecipient
required: false
schema:
type: boolean
enum:
- true
description: Whether customer is the recipient of ticket transfer
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_Customers_GetTicketTransfersOfCustomer_200_response'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- customers
description: Get Ticket Transfers of Customer
operationId: customers/getCustomerTicketTransfers
/api/customers/me/tickets:
get:
security:
- customer-jwt: []
parameters:
- 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.
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
- name: eventId
required: false
schema:
type: string
metas: {}
in: query
style: form
explode: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Customers_GetTicketsOfCustomer_200_response'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- customers
description: Get tickets of customer
operationId: get_tickets_of_customer
/api/customers/me/transactions:
get:
security:
- customer-jwt: []
parameters:
- name: locale
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: checkoutId
required: false
schema:
type: string
metas: {}
in: query
style: form
explode: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Customers_GetTransactionsOfCustomer_200_response'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- customers
description: Get transactions of customer
operationId: get_transactions_of_customer
/api/customers/password-reset/{token}:
get:
parameters:
- name: sellerId
required: true
schema:
type: string
metas: {}
in: query
style: form
explode: true
- name: token
required: true
schema:
type: string
minLength: 1
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Customers_ResetPassword_200_response'
'400':
description: Bad Request
tags:
- customers
description: Reset password
operationId: reset_password
put:
parameters:
- name: token
required: true
schema:
type: string
minLength: 1
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PUT_Customers_SetANewPassword_200_response'
'400':
description: Bad Request
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PUT_Customers_SetANewPassword'
tags:
- customers
description: Set a new password
operationId: set_a_new_password
/api/customers/{id}/balance:
get:
security:
- jwt: []
- apikey: []
parameters:
- name: id
required: true
schema:
type: string
description: The ID of the customer
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerResource'
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- customers
description: Get Customer Balance
operationId: customers/getCustomerBalance
/api/customers:
post:
security:
- jwt: []
- apikey: []
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerResource'
'400':
description: Bad Request
'401':
description: Unauthorized
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Customers_CreateCustomer'
tags:
- customers
description: Create Customer
operationId: customers/create
/api/customers/login:
post:
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Customers_LoginCustomer_200_response'
'400':
description: Bad Request
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Customers_LoginCustomer'
tags:
- customers
description: Login customer
operationId: login_customer
/api/customers/password-reset:
post:
parameters: []
responses:
'200':
description: OK
'400':
description: Bad Request
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Customers_RequestAPasswordResetMail'
tags:
- customers
description: Request a password reset mail
operationId: request_a_password_reset_mail
/api/customers/register:
post:
parameters: []
responses:
'200':
description: OK
'400':
description: Bad Request
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
sellerId:
type: string
description: The ID of the seller to register for
email:
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,}$
description: The email of the customer
password:
type: string
minLength: 9
description: The password of the customer
prename:
type: string
minLength: 1
description: The first name of the customer
lastname:
type: string
minLength: 1
description: The last name of the customer
company:
description: The company of the customer
type: string
consents:
type: array
items:
type: object
properties:
consentId:
type: string
status:
type: string
enum:
- granted
- denied
required:
- consentId
- status
additionalProperties: false
verificationMethod:
default: email
description: How the customer verifies the account
type: string
enum:
- email
- otp
required:
- sellerId
- email
- password
- prename
- lastname
- verificationMethod
additionalProperties: false
tags:
- customers
description: Register as a customer
operationId: register_as_a_customer
/api/customers/verify/resend:
post:
security:
- customer-jwt: []
parameters: []
responses:
'200':
description: OK
'401':
description: Unauthorized
tags:
- customers
description: Resend verification mail
operationId: resend_verification_mail
/api/customers/verify/{token}:
post:
parameters:
- name: sellerId
required: true
schema:
type: string
metas: {}
in: query
style: form
explode: true
- name: token
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Customers_VerifyACustomer_200_response'
'400':
description: Bad Request
tags:
- customers
description: Verify a Customer
operationId: verify_a_customer
/api/customers/{id}/erase-data:
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/CustomerResource'
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- customers
description: Erase Customer data
operationId: erase_customer_data
/api/customers/{id}/account:
post:
security:
- jwt: []
- apikey: []
parameters:
- name: id
required: true
schema:
type: string
description: The ID of the customer
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerResource'
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Customers_CreateAccountForCustomer'
tags:
- customers
description: Create account for Customer
operationId: create_account_for_customer
/api/customers/me/passkeys/{credentialId}:
delete:
security:
- customer-jwt: []
parameters:
- name: credentialId
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- customers
description: Delete customer passkey
operationId: delete_customer_passkey
components:
schemas:
POST_Customers_VerifyACustomer_200_response:
type: object
properties:
ok:
type: boolean
enum:
- true
required:
- ok
GET_Customers_ResetPassword_200_response:
type: object
properties:
passwordResetToken:
type: string
required:
- passwordResetToken
GET_Customers_GetResellOffersOfCustomer_200_response:
type: object
properties:
docs:
type: array
items:
$ref: '#/components/schemas/PublicResellOfferInfoResource'
total:
type: integer
POST_Customers_RequestAPasswordResetMail:
type: object
properties:
sellerId:
type: string
email:
type: string
format: email
required:
- sellerId
- email
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.
# --- truncated at 32 KB (184 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vivenu/refs/heads/main/openapi/vivenu-customers-api-openapi.yml