EventX Order API
The Order API from EventX — 2 operation(s) for order.
The Order API from EventX — 2 operation(s) for order.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/eventxtra:eventxtra-order-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Public Order API
version: beta
description: 'Response bodies vary by endpoint and may return `{ data }`, `{ dataList }`, `{ dataList, pagination }`, or no body for status-only operations. Successful responses use the HTTP status defined on each operation. Error responses return `{ error: { code, message, status, meta } }` with the corresponding HTTP status code.'
servers:
- url: https://esaas-api.eventx.io
tags:
- name: Order
paths:
/public-api/v1/event/{eventId}/order:
get:
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
dataList:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
stripeAccountId:
type: string
format: uuid
nullable: true
userId:
type: string
format: uuid
currency:
type: string
enum:
- USD
- HKD
- THB
- VND
- IDR
- MYR
- PHP
- TWD
- SGD
- KRW
- JPY
- CNY
- AUD
amount:
type: string
status:
type: string
enum:
- initialized
- pending_payment
- paid
- cancelled
- completed
- refunding
- refunded
txRef:
type: string
nullable: true
orderUtmParams:
type: object
properties:
utm_source:
type: string
utm_medium:
type: string
utm_campaign:
type: string
utm_term:
type: string
utm_content:
type: string
additionalProperties: false
promoCodeSnapshot:
type: object
properties: {}
additionalProperties: false
nullable: true
orderItems:
type: array
items:
type: object
properties:
orderId:
type: string
format: uuid
ticketClassId:
type: string
format: uuid
nullable: true
unitPrice:
type: string
pattern: ^-?\d+(\.\d+)?$
qty:
type: number
format: float
regFormDataSnapshot:
type: object
properties: {}
additionalProperties: false
addOns:
type: array
items:
type: object
properties:
ticketClassAddOnId:
type: string
format: uuid
snapshot:
type: object
properties: {}
additionalProperties: false
qty:
type: number
format: float
required:
- ticketClassAddOnId
- snapshot
- qty
additionalProperties: false
associatedAttendeeId:
type: string
format: uuid
nullable: true
required:
- orderId
- ticketClassId
- unitPrice
- qty
- regFormDataSnapshot
- addOns
- associatedAttendeeId
additionalProperties: false
paymentMethod:
type: string
enum:
- online
- offline
nullable: true
paymentBillingInformation:
type: string
nullable: true
offlinePaymentInvoiceId:
type: string
nullable: true
offlinePaymentBillingInformation:
type: string
nullable: true
offlinePaymentInvoiceDueAt:
type: string
format: date-time
nullable: true
offlinePaymentApprovalStatus:
type: string
enum:
- pending
- approved
- cancelled
nullable: true
tax:
type: string
nullable: true
isTaxInclusive:
type: boolean
nullable: true
orderSummaryEmailSentAt:
type: string
format: date-time
nullable: true
purchasedAt:
type: string
format: date-time
nullable: true
cancelledAt:
type: string
format: date-time
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
user:
type: object
properties:
id:
type: string
format: uuid
email:
type: string
name:
type: string
required:
- id
- email
- name
additionalProperties: false
required:
- id
- stripeAccountId
- userId
- currency
- amount
- status
- txRef
- orderUtmParams
- promoCodeSnapshot
- orderItems
- paymentMethod
- paymentBillingInformation
- offlinePaymentInvoiceDueAt
- offlinePaymentApprovalStatus
- tax
- isTaxInclusive
- orderSummaryEmailSentAt
- purchasedAt
- cancelledAt
- createdAt
- updatedAt
- user
additionalProperties: false
description: Order response object returned by order endpoints
example:
id: 550e8400-e29b-41d4-a716-446655440000
stripeAccountId: null
userId: 550e8400-e29b-41d4-a716-446655440001
currency: HKD
amount: '100.00'
status: CONFIRMED
txRef: EVT-2024-001
orderUtmParams: {}
promoCodeSnapshot: null
orderItems:
- orderId: 550e8400-e29b-41d4-a716-446655440000
ticketClassId: 550e8400-e29b-41d4-a716-446655440002
unitPrice: '100.00'
qty: 1
regFormDataSnapshot: {}
addOns: []
associatedAttendeeId: 550e8400-e29b-41d4-a716-446655440003
paymentMethod: CREDIT_CARD
paymentBillingInformation: null
offlinePaymentInvoiceId: null
offlinePaymentBillingInformation: null
offlinePaymentInvoiceDueAt: null
offlinePaymentApprovalStatus: null
tax: null
isTaxInclusive: false
orderSummaryEmailSentAt: null
purchasedAt: '2024-01-01T00:00:00.000Z'
cancelledAt: null
createdAt: '2024-01-01T00:00:00.000Z'
updatedAt: '2024-01-01T00:00:00.000Z'
user:
id: 550e8400-e29b-41d4-a716-446655440001
email: user@example.com
name: John Doe
pagination:
type: object
properties:
page:
type: number
format: float
description: Current page number
pageSize:
type: number
format: float
description: Number of items per page
pageCount:
type: number
format: float
description: Total number of pages
totalCount:
type: number
format: float
description: Total number of items
required:
- page
- pageSize
- pageCount
- totalCount
additionalProperties: false
required:
- dataList
- pagination
additionalProperties: false
'500':
description: ERROR
parameters:
- name: page
in: query
schema:
type: number
format: float
minimum: 1
default: 1
- description: 'Optional inclusive ending page for requesting a range of pages. Maximum page range: 200.'
name: pageEnd
in: query
schema:
type: number
format: float
minimum: 0
maximum: 0
- name: pageSize
in: query
schema:
type: number
format: float
minimum: 1
maximum: 100
default: 25
- description: 'Multiple Sort syntax "-" DESC, Empty for ASC, Available sorts: createdAt, offlinePaymentInvoiceDueAt, purchasedAt, orderSummaryEmailSentAt, userName, userEmail'
example: -sorterA,sorterB
name: sort
in: query
schema:
type: string
default: -createdAt
- properties:
orderIds:
type: array
items:
type: string
format: uuid
description: JSON array of order UUIDs to filter by
example:
- 550e8400-e29b-41d4-a716-446655440000
status:
type: array
items:
type: string
enum:
- initialized
- pending_payment
- paid
- cancelled
- completed
- refunding
- refunded
description: Filter by order statuses
example:
- confirmed
paymentMethod:
type: array
items:
type: string
enum:
- online
- offline
description: Filter by payment methods
example:
- credit-card
offlinePaymentApprovalStatus:
type: array
items:
type: string
enum:
- pending
- approved
- cancelled
description: Filter by offline payment approval statuses
example:
- pending
emails:
type: array
items:
type: string
nullable: true
description: JSON array of purchaser email addresses to filter by
example:
- user@example.com
q:
type: string
description: Free-text search across order reference and purchaser fields
example: EVT-001
description: This key can be provided in the body with key "filter" or query with stringified & encodeURIComponent format, e.g. query.filter = encodeURIComponent(JSON.stringify(filter)). Please refer to schema in body and do not provide both at the same time.
name: filter
in: query
schema:
type: object
additionalProperties: false
- name: eventId
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
type: object
properties:
filter:
type: object
properties:
orderIds:
type: array
items:
type: string
format: uuid
description: JSON array of order UUIDs to filter by
example:
- 550e8400-e29b-41d4-a716-446655440000
status:
type: array
items:
type: string
enum:
- initialized
- pending_payment
- paid
- cancelled
- completed
- refunding
- refunded
description: Filter by order statuses
example:
- confirmed
paymentMethod:
type: array
items:
type: string
enum:
- online
- offline
description: Filter by payment methods
example:
- credit-card
offlinePaymentApprovalStatus:
type: array
items:
type: string
enum:
- pending
- approved
- cancelled
description: Filter by offline payment approval statuses
example:
- pending
emails:
type: array
items:
type: string
nullable: true
description: JSON array of purchaser email addresses to filter by
example:
- user@example.com
q:
type: string
description: Free-text search across order reference and purchaser fields
example: EVT-001
additionalProperties: false
additionalProperties: false
security:
- bearerAuth: []
tags:
- Order
operationId: getPaginatedOrderByEventId
summary: List orders for an event
/public-api/v1/event/{eventId}/order/{orderId}:
get:
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uuid
stripeAccountId:
type: string
format: uuid
nullable: true
userId:
type: string
format: uuid
currency:
type: string
enum:
- USD
- HKD
- THB
- VND
- IDR
- MYR
- PHP
- TWD
- SGD
- KRW
- JPY
- CNY
- AUD
amount:
type: string
status:
type: string
enum:
- initialized
- pending_payment
- paid
- cancelled
- completed
- refunding
- refunded
txRef:
type: string
nullable: true
orderUtmParams:
type: object
properties:
utm_source:
type: string
utm_medium:
type: string
utm_campaign:
type: string
utm_term:
type: string
utm_content:
type: string
additionalProperties: false
promoCodeSnapshot:
type: object
properties: {}
additionalProperties: false
nullable: true
orderItems:
type: array
items:
type: object
properties:
orderId:
type: string
format: uuid
ticketClassId:
type: string
format: uuid
nullable: true
unitPrice:
type: string
pattern: ^-?\d+(\.\d+)?$
qty:
type: number
format: float
regFormDataSnapshot:
type: object
properties: {}
additionalProperties: false
addOns:
type: array
items:
type: object
properties:
ticketClassAddOnId:
type: string
format: uuid
snapshot:
type: object
properties: {}
additionalProperties: false
qty:
type: number
format: float
required:
- ticketClassAddOnId
- snapshot
- qty
additionalProperties: false
associatedAttendeeId:
type: string
format: uuid
nullable: true
required:
- orderId
- ticketClassId
- unitPrice
- qty
- regFormDataSnapshot
- addOns
- associatedAttendeeId
additionalProperties: false
paymentMethod:
type: string
enum:
- online
- offline
nullable: true
paymentBillingInformation:
type: string
nullable: true
offlinePaymentInvoiceId:
type: string
nullable: true
offlinePaymentBillingInformation:
type: string
nullable: true
offlinePaymentInvoiceDueAt:
type: string
format: date-time
nullable: true
offlinePaymentApprovalStatus:
type: string
enum:
- pending
- approved
- cancelled
nullable: true
tax:
type: string
nullable: true
isTaxInclusive:
type: boolean
nullable: true
orderSummaryEmailSentAt:
type: string
format: date-time
nullable: true
purchasedAt:
type: string
format: date-time
nullable: true
cancelledAt:
type: string
format: date-time
nullable: true
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
user:
type: object
properties:
id:
type: string
format: uuid
email:
type: string
name:
type: string
required:
- id
- email
- name
additionalProperties: false
required:
- id
- stripeAccountId
- userId
- currency
- amount
- status
- txRef
- orderUtmParams
- promoCodeSnapshot
- orderItems
- paymentMethod
- paymentBillingInformation
- offlinePaymentInvoiceDueAt
- offlinePaymentApprovalStatus
- tax
- isTaxInclusive
- orderSummaryEmailSentAt
- purchasedAt
- cancelledAt
- createdAt
- updatedAt
- user
additionalProperties: false
description: Order response object returned by order endpoints
example:
id: 550e8400-e29b-41d4-a716-446655440000
stripeAccountId: null
userId: 550e8400-e29b-41d4-a716-446655440001
currency: HKD
amount: '100.00'
status: CONFIRMED
txRef: EVT-2024-001
orderUtmParams: {}
promoCodeSnapshot: null
orderItems:
- orderId: 550e8400-e29b-41d4-a716-446655440000
ticketClassId: 550e8400-e29b-41d4-a716-446655440002
unitPrice: '100.00'
qty: 1
regFormDataSnapshot: {}
addOns: []
associatedAttendeeId: 550e8400-e29b-41d4-a716-446655440003
paymentMethod: CREDIT_CARD
paymentBillingInformation: null
offlinePaymentInvoiceId: null
offlinePaymentBillingInformation: null
offlinePaymentInvoiceDueAt: null
offlinePaymentApprovalStatus: null
tax: null
isTaxInclusive: false
orderSummaryEmailSentAt: null
purchasedAt: '2024-01-01T00:00:00.000Z'
cancelledAt: null
createdAt: '2024-01-01T00:00:00.000Z'
updatedAt: '2024-01-01T00:00:00.000Z'
user:
id: 550e8400-e29b-41d4-a716-446655440001
email: user@example.com
name: John Doe
required:
- data
additionalProperties: false
'500':
description: ERROR
parameters:
- name: eventId
in: path
required: true
schema:
type: string
format: uuid
- name: orderId
in: path
required: true
schema:
type: string
format: uuid
security:
- bearerAuth: []
tags:
- Order
operationId: getOrderById
summary: Get an order by ID
components:
securitySchemes:
bearerAuth:
name: Authorization
type: apiKey
in: header
description: Bearer Authorization with jwt token
x-provenance:
method: harvested
publisher: EventX
source: https://esaas-api.eventx.io/api-docs/public-api/openApi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)