vivenu pos API
The pos API from vivenu — 21 operation(s) for pos.
The pos API from vivenu — 21 operation(s) for pos.
openapi: 3.0.3
info:
title: vivenu access-lists pos 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: pos
paths:
/api/pos:
get:
security:
- jwt: []
- apikey: []
parameters:
- name: top
required: false
schema:
type: number
format: float
default: 25
metas: {}
in: query
style: form
explode: true
- name: skip
required: false
schema:
type: number
format: float
metas: {}
in: query
style: form
explode: true
- name: sellerId
required: false
schema:
type: string
nullable: true
description: Filter by seller ID
metas: {}
in: query
style: form
explode: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Pos_GetAllPos_200_response'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- pos
description: Get all POS
operationId: get_all_pos
post:
security:
- jwt: []
- apikey: []
parameters: []
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/POSResource'
'400':
description: Bad Request
'401':
description: Unauthorized
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Pos_CreateAPos'
tags:
- pos
description: Create a POS
operationId: create_a_pos
/api/posinfo:
get:
security:
- jwt: []
- apikey: []
parameters:
- name: top
required: false
schema:
type: number
format: float
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: number
format: float
description: The number of objects to skip for the requested result
metas: {}
in: query
style: form
explode: true
- name: name
required: false
schema:
type: string
metas: {}
in: query
style: form
explode: true
- name: operationMode
required: false
schema:
type: string
enum:
- OPERATOR
- KIOSK
metas: {}
in: query
style: form
explode: true
- name: sellerId
required: false
schema:
type: string
nullable: true
description: Filter by seller ID
metas: {}
in: query
style: form
explode: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Pos_GetAllPosInfos_200_response'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- pos
description: Get all POS Infos
operationId: get_all_pos_infos
/api/pos/{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/POSResource'
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- pos
description: Get POS
operationId: get_pos
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/POSResource'
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PUT_Pos_UpdatePos'
tags:
- pos
description: Update POS
operationId: update_pos
/api/posinfo/{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/POSInfoResource'
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- pos
description: Get POS Info
operationId: get_pos_info
/api/pos/payments/gateways:
get:
security:
- jwt: []
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Pos_GetTheIDsAndTheTypesOfAllActivePosPaymentGateways_200_response'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- pos
description: Get the IDs and the types of all active POS payment gateways
operationId: get_the_i_ds_and_the_types_of_all_active_pos_payment_gateways
/api/pos/{id}/scannable:
get:
security:
- jwt: []
parameters:
- name: code
required: true
schema:
type: string
description: The scannable code
metas: {}
in: query
style: form
explode: true
- name: id
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Pos_GetScannableInformationForACode_200_response'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- pos
description: Get scannable information for a code
operationId: get_scannable_information_for_a_code
/api/pos/{id}/xreport:
get:
security:
- jwt: []
parameters:
- name: id
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- pos
description: Get X report
operationId: get_x_report
/api/pos/{id}/status:
get:
security:
- jwt: []
parameters:
- name: id
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/POSWithStatusResource'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- pos
description: Get POS Status
operationId: get_pos_status
/api/pos/{id}/sessions:
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/GET_Pos_GetPosSessions_200_response'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- pos
description: Get POS sessions
operationId: get_pos_sessions
/api/pos/{id}/fiscalization-info:
get:
security:
- jwt: []
- apikey: []
parameters:
- name: id
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
serialNumberEA:
type: string
description: The serial number of the EA
serialNumberTSE:
type: string
description: The serial number of the TSE
createdAt:
description: The date when the fiscalization data was created
type: string
format: date-time
required:
- serialNumberEA
- serialNumberTSE
- createdAt
additionalProperties: false
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- pos
description: Get POS fiscalization info
operationId: get_pos_fiscalization_info
/api/pos/{id}/logs:
get:
security:
- jwt: []
- apikey: []
parameters:
- name: top
required: false
schema:
type: number
format: float
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: number
format: float
description: The number of objects to skip for the requested result
metas: {}
in: query
style: form
explode: true
- name: type
required: false
schema:
type: string
enum:
- SALE
- CANCELLATION
- SESSION_CREATED
- SESSION_CLOSED
description: Type of logs to filter
metas: {}
in: query
style: form
explode: true
- name: referenceId
required: false
schema:
type: string
description: ID of the referenced object
metas: {}
in: query
style: form
explode: true
- name: id
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Pos_GetPosJournalLogs_200_response'
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- pos
description: Get POS journal logs
operationId: get_pos_journal_logs
/api/pos/{id}/events:
get:
security:
- jwt: []
parameters:
- name: top
required: false
schema:
type: number
format: float
metas: {}
in: query
style: form
explode: true
- name: skip
required: false
schema:
type: number
format: float
metas: {}
in: query
style: form
explode: true
- name: startMin
required: false
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: startMax
required: false
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: endMin
required: false
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: endMax
required: false
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: sellStart
required: false
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: sellEnd
required: false
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: rootId
required: false
schema:
oneOf:
- type: array
items:
type: string
metas: {}
minItems: 0
metas: {}
- type: string
metas: {}
metas: {}
in: query
style: form
explode: true
- name: sortBy
required: false
schema:
type: string
enum:
- start
default: start
metas: {}
in: query
style: form
explode: true
- name: sortOrder
required: false
schema:
type: string
enum:
- ASC
- DESC
default: ASC
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: eventTypes
required: false
schema:
type: array
items:
type: string
enum:
- SINGLE
- GROUP
- RECURRENCE
- ROOT
metas: {}
metas: {}
in: query
style: form
explode: true
- name: name
required: false
schema:
type: string
metas: {}
in: query
style: form
explode: true
- name: id
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GET_Pos_GetPosEvents_200_response'
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- pos
description: Get pos events
operationId: get_pos_events
/api/pos/{id}/export/orderdiscounts:
get:
security:
- jwt: []
- apikey: []
parameters:
- name: start
required: true
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: end
required: true
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: id
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- pos
description: Export POS order discounts
operationId: export_pos_order_discounts
/api/pos/{id}/export/orders:
get:
security:
- jwt: []
- apikey: []
parameters:
- name: start
required: true
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: end
required: true
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: id
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- pos
description: Export POS orders
operationId: export_pos_orders
/api/pos/{id}/export/journallogs:
get:
security:
- jwt: []
- apikey: []
parameters:
- name: start
required: true
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: end
required: true
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: id
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- pos
description: Export POS journal logs
operationId: export_pos_journal_logs
/api/pos/{id}/zreport/{reportId}:
get:
security:
- jwt: []
parameters:
- name: id
required: true
schema:
type: string
metas: {}
in: path
- name: reportId
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- pos
description: Get Z report
operationId: get_z_report
/api/pos/{id}/export/cancellations:
get:
security:
- jwt: []
- apikey: []
parameters:
- name: start
required: true
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: end
required: true
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: id
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- pos
description: Export POS cancellations
operationId: export_pos_cancellations
/api/pos/{id}/export/orderitems:
get:
security:
- jwt: []
- apikey: []
parameters:
- name: start
required: true
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: end
required: true
schema:
type: string
format: date-time
metas: {}
in: query
style: form
explode: true
- name: id
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- pos
description: Export POS order items
operationId: export_pos_order_items
/api/pos/{id}/disable:
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/POSResource'
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- pos
description: Disable POS
operationId: disable_pos
/api/pos/{id}/close:
post:
security:
- jwt: []
parameters:
- name: id
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/POSCloseSessionResource'
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- pos
description: Close a POS session
operationId: close_a_pos_session
/api/pos/{id}/open:
post:
security:
- jwt: []
parameters:
- name: id
required: true
schema:
type: string
metas: {}
in: path
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/POSOpenSessionResource'
'400':
description: Bad Request
'401':
description: Unauthorized
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POST_Pos_OpenAPosSession'
tags:
- pos
description: Open a POS session
operationId: open_a_pos_session
components:
schemas:
POSInfoResource:
type: object
properties:
id:
type: string
description: The ID of the POS
sellerId:
type: string
description: The ID of the seller owning this POS
active:
type: boolean
description: Whether the POS is active or not
name:
type: string
description: The name of the POS
posNo:
type: string
description: The number of the POS
printingType:
type: string
enum:
- EXTERNAL
- DIRECT
description: The printing type of the POS. DIRECT = direct printing. EXTERNAL = extenral printing.
default: EXTERNAL
restrictions:
type: object
properties:
restrictPurchaseIntents:
type: boolean
description: Whether the POS user can manage purchase intents
default: true
description: Restrictions exposed for POS info
required:
- id
- sellerId
- active
- name
- posNo
- printingType
- restrictions
GET_Pos_GetScannableInformationForACode_200_response:
oneOf:
- type: object
properties:
type:
type: string
enum:
- product
resource:
type: object
properties:
_id:
type: string
description: The ID of the product
name:
type: string
description: The name of the product
active:
type: boolean
description: Whether the product is active and can be distributed
default: true
isFulfillable:
type: boolean
description: Whether the product can be delivered
type:
type: string
enum:
- voucher
- product
- donation
- membership
- addOn
description: The type of the product
image:
type: string
nullable: true
description: The image of the product
description:
type: string
nullable: true
description: The description of the product
variants:
type: array
items:
type: object
properties:
_id:
type: string
description: The ID of the product variant of the product
name:
type: string
nullable: true
description: The Name of the product variant, defaults to product name if not specified
description:
type: string
nullable: true
description: A description of the variant
priceType:
type: string
enum:
- fixed
- range
default: fixed
price:
type: number
format: float
nullable: true
description: The price of the product
priceRange:
type: object
properties:
min:
type: number
format: float
minimum: 0
nullable: true
description: The minimum price of the product
max:
type: number
format: float
minimum: 0
nullable: true
description: The maximum price of the product
taxable:
type: boolean
description: Whether the product is taxable or not
taxRate:
type: number
format: float
description: The tax rate of the product
compareAtPrice:
type: number
format: float
nullable: true
description: The recommended retail price to compare with the actual price.
taxServiceTypeId:
type: string
nullable: true
description: The ID of the tax service of the product
gtin:
type: string
pattern: ^\d+$
localization:
type: object
description: Localization of the product for multiple languages
required:
- _id
- taxable
description: An array of variants of the product
categoryIds:
type: array
items:
type: string
description: An array of categories to which the product belongs
voucherSettings:
type: object
properties:
limitedValidityPeriod:
type: boolean
description: Whether the voucher should expire
validityConfig:
type: object
properties:
amount:
type: number
format: float
minimum: 1
type:
type: number
format: float
untilEndOfPeriod:
type: boolean
pdfImage:
type: string
description: A marketing image printed onto voucher pdf
disclaimer:
type: string
nullable: true
description: A disclaimer text printed onto voucher pdf
documentTemplateSettings:
type: object
properties:
templates:
type: array
items:
type: object
properties:
templateId:
type: string
description: The ID of the document template
format:
type: string
enum:
- A4
- LETTER
- LEGAL
- BOARDING-PASS
- PLASTIC-CARD
- CARD
- LABEL
- CUSTOM
- APPLE
- GOOGLE
description: The format of document template for the dimensions.
target:
type: string
enum:
- thermal
- digital
- wallet
description: The target of document template for which targets it should be used.
type:
type: string
enum:
- ticket
- invoice
- voucher
- member-card
- header-card
description: The type of document template for which document it should be used. ticket = The document template will be used on tickets. invoice = The document template will be used on invoices.
required:
- templateId
- format
- target
- type
nullable: true
description: If the product is of type voucher
addOnSettings:
type: object
properties:
optOutDescription:
type: string
nullable: true
description: The description that is shown to the user if he decides to not buy the addOn
localization:
type: object
description: Localization of the addOnSettings for multiple languages
nullable: true
donationSettings:
type: object
properties:
campaignId:
type: string
description: The ID of the fundraise campaign
fundId:
type: string
description: The ID of the donation fund
required:
- campaignId
- fundId
nullable: true
description: Settings for donation products
sellerId:
type: string
description: The ID of the seller of the product
meta:
ty
# --- truncated at 32 KB (84 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vivenu/refs/heads/main/openapi/vivenu-pos-api-openapi.yml