Skip to main content

BackstageClient

@ticketlayer/backstage


@ticketlayer/backstage / BackstageClient

Class: BackstageClient

Defined in: client.ts:381

Constructors

Constructor

new BackstageClient(config: BackstageClientConfig): BackstageClient;

Defined in: client.ts:394

Parameters

ParameterType
configBackstageClientConfig

Returns

BackstageClient

Methods

clearAccessToken()

clearAccessToken(): void;

Defined in: client.ts:449

Clear the access token

Returns

void


getAccessToken()

getAccessToken(): string | undefined;

Defined in: client.ts:456

Get the current access token

Returns

string | undefined


getRefreshToken()

getRefreshToken(): string | undefined;

Defined in: client.ts:470

Get the current refresh token

Returns

string | undefined


setAccessToken()

setAccessToken(token: string): void;

Defined in: client.ts:442

Set the access token for authenticated requests

Parameters

ParameterType
tokenstring

Returns

void


setRefreshToken()

setRefreshToken(token: string): void;

Defined in: client.ts:463

Set the refresh token

Parameters

ParameterType
tokenstring

Returns

void

Properties

accounts

accounts: {
create: (request: {
name: string;
status?: "active" | "inactive";
}) => Promise<{
createdAt: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "inactive";
updatedAt: string;
}>;
delete: (id: string) => Promise<{
id: string;
success: boolean;
}>;
get: (id: string) => Promise<{
createdAt: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "inactive";
updatedAt: string;
}>;
list: (options?: {
search?: string;
status?: "active" | "inactive";
}) => Promise<{
createdAt: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "inactive";
updatedAt: string;
}[]>;
update: (id: string, request: {
name?: string;
status?: "active" | "inactive";
}) => Promise<{
createdAt: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "inactive";
updatedAt: string;
}>;
};

Defined in: client.ts:973

Accounts methods

create()

create: (request: {
name: string;
status?: "active" | "inactive";
}) => Promise<{
createdAt: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "inactive";
updatedAt: string;
}>;

Create account Create a new account in the organisation

Parameters
ParameterType
request{ name: string; status?: "active" | "inactive"; }
request.namestring
request.status?"active" | "inactive"
Returns

Promise<{ createdAt: string; id: string; isDeleted: boolean; name: string; organisationId: string; status: "active" | "inactive"; updatedAt: string; }>

Operation Id

createAccount

delete()

delete: (id: string) => Promise<{
id: string;
success: boolean;
}>;

Delete account Delete an account (soft delete)

Parameters
ParameterType
idstring
Returns

Promise<{ id: string; success: boolean; }>

Operation Id

deleteAccount

get()

get: (id: string) => Promise<{
createdAt: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "inactive";
updatedAt: string;
}>;

Get account Get a specific account by ID

Parameters
ParameterType
idstring
Returns

Promise<{ createdAt: string; id: string; isDeleted: boolean; name: string; organisationId: string; status: "active" | "inactive"; updatedAt: string; }>

Operation Id

getAccount

list()

list: (options?: {
search?: string;
status?: "active" | "inactive";
}) => Promise<{
createdAt: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "inactive";
updatedAt: string;
}[]>;

List accounts List all accounts for the organisation with optional filtering

Parameters
ParameterType
options?{ search?: string; status?: "active" | "inactive"; }
options.search?string
options.status?"active" | "inactive"
Returns

Promise<{ createdAt: string; id: string; isDeleted: boolean; name: string; organisationId: string; status: "active" | "inactive"; updatedAt: string; }[]>

Operation Id

listAccounts

update()

update: (id: string, request: {
name?: string;
status?: "active" | "inactive";
}) => Promise<{
createdAt: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "inactive";
updatedAt: string;
}>;

Update account Update an existing account

Parameters
ParameterType
idstring
request{ name?: string; status?: "active" | "inactive"; }
request.name?string
request.status?"active" | "inactive"
Returns

Promise<{ createdAt: string; id: string; isDeleted: boolean; name: string; organisationId: string; status: "active" | "inactive"; updatedAt: string; }>

Operation Id

updateAccount


assets()

assets: (assetId: string) => {
assets: {
delete: (id: string) => Promise<boolean>;
get: (id: string) => Promise<{
accountId: string | null;
cdn: boolean;
cdnUrl: string | null;
contentType: string;
createdAt: string;
filename: string | null;
id: string;
metadata: {
[key: string]: unknown;
};
name: string | null;
organisationId: string;
ownerId: string | null;
ownerType: string | null;
purpose: string;
sizeBytes: number;
storageBucket: string | null;
storageDriver: string;
storageKey: string;
updatedAt: string;
uploadedBy: string | null;
url: string;
visibility: string;
}>;
list: (options?: {
accountId?: string;
ownerId?: string;
ownerType?: string;
purpose?: string;
q?: string;
}) => Promise<{
accountId: string | null;
cdn: boolean;
cdnUrl: string | null;
contentType: string;
createdAt: string;
filename: string | null;
id: string;
metadata: {
[key: string]: unknown;
};
name: string | null;
organisationId: string;
ownerId: string | null;
ownerType: string | null;
purpose: string;
sizeBytes: number;
storageBucket: string | null;
storageDriver: string;
storageKey: string;
updatedAt: string;
uploadedBy: string | null;
url: string;
visibility: string;
}[]>;
upload: (request: {
accountId?: string;
cdn?: any;
name?: string;
ownerId?: string;
ownerType?: string;
purpose?: | "event_image"
| "organisation_logo"
| "account_logo"
| "user_avatar"
| "ticket_template_asset"
| "rendered_pass"
| "rendered_receipt"
| "export"
| "other";
visibility?: "public" | "private";
}) => Promise<{
accountId: string | null;
cdn: boolean;
cdnUrl: string | null;
contentType: string;
createdAt: string;
filename: string | null;
id: string;
metadata: {
[key: string]: unknown;
};
name: string | null;
organisationId: string;
ownerId: string | null;
ownerType: string | null;
purpose: string;
sizeBytes: number;
storageBucket: string | null;
storageDriver: string;
storageKey: string;
updatedAt: string;
uploadedBy: string | null;
url: string;
visibility: string;
}>;
};
};

Defined in: client.ts:4278

assets methods Use assets() to access nested resources: assets(id).assets

Parameters

ParameterType
assetIdstring

Returns

{
assets: {
delete: (id: string) => Promise<boolean>;
get: (id: string) => Promise<{
accountId: string | null;
cdn: boolean;
cdnUrl: string | null;
contentType: string;
createdAt: string;
filename: string | null;
id: string;
metadata: {
[key: string]: unknown;
};
name: string | null;
organisationId: string;
ownerId: string | null;
ownerType: string | null;
purpose: string;
sizeBytes: number;
storageBucket: string | null;
storageDriver: string;
storageKey: string;
updatedAt: string;
uploadedBy: string | null;
url: string;
visibility: string;
}>;
list: (options?: {
accountId?: string;
ownerId?: string;
ownerType?: string;
purpose?: string;
q?: string;
}) => Promise<{
accountId: string | null;
cdn: boolean;
cdnUrl: string | null;
contentType: string;
createdAt: string;
filename: string | null;
id: string;
metadata: {
[key: string]: unknown;
};
name: string | null;
organisationId: string;
ownerId: string | null;
ownerType: string | null;
purpose: string;
sizeBytes: number;
storageBucket: string | null;
storageDriver: string;
storageKey: string;
updatedAt: string;
uploadedBy: string | null;
url: string;
visibility: string;
}[]>;
upload: (request: {
accountId?: string;
cdn?: any;
name?: string;
ownerId?: string;
ownerType?: string;
purpose?: | "event_image"
| "organisation_logo"
| "account_logo"
| "user_avatar"
| "ticket_template_asset"
| "rendered_pass"
| "rendered_receipt"
| "export"
| "other";
visibility?: "public" | "private";
}) => Promise<{
accountId: string | null;
cdn: boolean;
cdnUrl: string | null;
contentType: string;
createdAt: string;
filename: string | null;
id: string;
metadata: {
[key: string]: unknown;
};
name: string | null;
organisationId: string;
ownerId: string | null;
ownerType: string | null;
purpose: string;
sizeBytes: number;
storageBucket: string | null;
storageDriver: string;
storageKey: string;
updatedAt: string;
uploadedBy: string | null;
url: string;
visibility: string;
}>;
};
}
assets
assets: {
delete: (id: string) => Promise<boolean>;
get: (id: string) => Promise<{
accountId: string | null;
cdn: boolean;
cdnUrl: string | null;
contentType: string;
createdAt: string;
filename: string | null;
id: string;
metadata: {
[key: string]: unknown;
};
name: string | null;
organisationId: string;
ownerId: string | null;
ownerType: string | null;
purpose: string;
sizeBytes: number;
storageBucket: string | null;
storageDriver: string;
storageKey: string;
updatedAt: string;
uploadedBy: string | null;
url: string;
visibility: string;
}>;
list: (options?: {
accountId?: string;
ownerId?: string;
ownerType?: string;
purpose?: string;
q?: string;
}) => Promise<{
accountId: string | null;
cdn: boolean;
cdnUrl: string | null;
contentType: string;
createdAt: string;
filename: string | null;
id: string;
metadata: {
[key: string]: unknown;
};
name: string | null;
organisationId: string;
ownerId: string | null;
ownerType: string | null;
purpose: string;
sizeBytes: number;
storageBucket: string | null;
storageDriver: string;
storageKey: string;
updatedAt: string;
uploadedBy: string | null;
url: string;
visibility: string;
}[]>;
upload: (request: {
accountId?: string;
cdn?: any;
name?: string;
ownerId?: string;
ownerType?: string;
purpose?: | "event_image"
| "organisation_logo"
| "account_logo"
| "user_avatar"
| "ticket_template_asset"
| "rendered_pass"
| "rendered_receipt"
| "export"
| "other";
visibility?: "public" | "private";
}) => Promise<{
accountId: string | null;
cdn: boolean;
cdnUrl: string | null;
contentType: string;
createdAt: string;
filename: string | null;
id: string;
metadata: {
[key: string]: unknown;
};
name: string | null;
organisationId: string;
ownerId: string | null;
ownerType: string | null;
purpose: string;
sizeBytes: number;
storageBucket: string | null;
storageDriver: string;
storageKey: string;
updatedAt: string;
uploadedBy: string | null;
url: string;
visibility: string;
}>;
};
assets.delete()
delete: (id: string) => Promise<boolean>;

Delete an asset Soft-delete a tracked asset (bytes are left in storage for later GC).

Parameters
ParameterType
idstring
Returns

Promise<boolean>

Operation Id

deleteAsset

assets.get()
get: (id: string) => Promise<{
accountId: string | null;
cdn: boolean;
cdnUrl: string | null;
contentType: string;
createdAt: string;
filename: string | null;
id: string;
metadata: {
[key: string]: unknown;
};
name: string | null;
organisationId: string;
ownerId: string | null;
ownerType: string | null;
purpose: string;
sizeBytes: number;
storageBucket: string | null;
storageDriver: string;
storageKey: string;
updatedAt: string;
uploadedBy: string | null;
url: string;
visibility: string;
}>;

Get an asset Get a tracked asset by id.

Parameters
ParameterType
idstring
Returns

Promise<{ accountId: string | null; cdn: boolean; cdnUrl: string | null; contentType: string; createdAt: string; filename: string | null; id: string; metadata: { [key: string]: unknown; }; name: string | null; organisationId: string; ownerId: string | null; ownerType: string | null; purpose: string; sizeBytes: number; storageBucket: string | null; storageDriver: string; storageKey: string; updatedAt: string; uploadedBy: string | null; url: string; visibility: string; }>

Operation Id

getAsset

assets.list()
list: (options?: {
accountId?: string;
ownerId?: string;
ownerType?: string;
purpose?: string;
q?: string;
}) => Promise<{
accountId: string | null;
cdn: boolean;
cdnUrl: string | null;
contentType: string;
createdAt: string;
filename: string | null;
id: string;
metadata: {
[key: string]: unknown;
};
name: string | null;
organisationId: string;
ownerId: string | null;
ownerType: string | null;
purpose: string;
sizeBytes: number;
storageBucket: string | null;
storageDriver: string;
storageKey: string;
updatedAt: string;
uploadedBy: string | null;
url: string;
visibility: string;
}[]>;

List assets List the organisation's tracked assets (uploads + renders). Filter by purpose/owner.

Parameters
ParameterType
options?{ accountId?: string; ownerId?: string; ownerType?: string; purpose?: string; q?: string; }
options.accountId?string
options.ownerId?string
options.ownerType?string
options.purpose?string
options.q?string
Returns

Promise<{ accountId: string | null; cdn: boolean; cdnUrl: string | null; contentType: string; createdAt: string; filename: string | null; id: string; metadata: { [key: string]: unknown; }; name: string | null; organisationId: string; ownerId: string | null; ownerType: string | null; purpose: string; sizeBytes: number; storageBucket: string | null; storageDriver: string; storageKey: string; updatedAt: string; uploadedBy: string | null; url: string; visibility: string; }[]>

Operation Id

listAssets

assets.upload()
upload: (request: {
accountId?: string;
cdn?: any;
name?: string;
ownerId?: string;
ownerType?: string;
purpose?: | "event_image"
| "organisation_logo"
| "account_logo"
| "user_avatar"
| "ticket_template_asset"
| "rendered_pass"
| "rendered_receipt"
| "export"
| "other";
visibility?: "public" | "private";
}) => Promise<{
accountId: string | null;
cdn: boolean;
cdnUrl: string | null;
contentType: string;
createdAt: string;
filename: string | null;
id: string;
metadata: {
[key: string]: unknown;
};
name: string | null;
organisationId: string;
ownerId: string | null;
ownerType: string | null;
purpose: string;
sizeBytes: number;
storageBucket: string | null;
storageDriver: string;
storageKey: string;
updatedAt: string;
uploadedBy: string | null;
url: string;
visibility: string;
}>;

Upload an asset Upload a file (multipart/form-data; field "file") to central storage and track it. Metadata fields (purpose, ownerType, ownerId, accountId, visibility, cdn) accompany the file.

Parameters
ParameterType
request{ accountId?: string; cdn?: any; name?: string; ownerId?: string; ownerType?: string; purpose?: | "event_image" | "organisation_logo" | "account_logo" | "user_avatar" | "ticket_template_asset" | "rendered_pass" | "rendered_receipt" | "export" | "other"; visibility?: "public" | "private"; }
request.accountId?string
request.cdn?any
request.name?string
request.ownerId?string
request.ownerType?string
request.purpose?| "event_image" | "organisation_logo" | "account_logo" | "user_avatar" | "ticket_template_asset" | "rendered_pass" | "rendered_receipt" | "export" | "other"
request.visibility?"public" | "private"
Returns

Promise<{ accountId: string | null; cdn: boolean; cdnUrl: string | null; contentType: string; createdAt: string; filename: string | null; id: string; metadata: { [key: string]: unknown; }; name: string | null; organisationId: string; ownerId: string | null; ownerType: string | null; purpose: string; sizeBytes: number; storageBucket: string | null; storageDriver: string; storageKey: string; updatedAt: string; uploadedBy: string | null; url: string; visibility: string; }>

Operation Id

uploadAsset


authentication

authentication: {
federate: (request: {
token: string;
}) => Promise<{
accessToken: string;
refreshToken: string;
user: {
email: string;
firstName?: string;
id: string;
lastName?: string;
};
}>;
login: (request: {
email: string;
password: string;
}) => Promise<{
accessToken: string;
refreshToken: string;
user: {
email: string;
firstName?: string;
id: string;
lastName?: string;
};
}>;
redeem: (request: {
code: string;
password: string;
}) => Promise<{
accessToken: string;
refreshToken: string;
user: {
email: string;
firstName?: string;
id: string;
lastName?: string;
};
}>;
refresh: (request: {
refreshToken: string;
}) => Promise<{
accessToken: string;
refreshToken: string;
}>;
};

Defined in: client.ts:801

Authentication methods

federate()

federate: (request: {
token: string;
}) => Promise<{
accessToken: string;
refreshToken: string;
user: {
email: string;
firstName?: string;
id: string;
lastName?: string;
};
}>;

Federate user to organisation Exchange a Stagedoor JWT token for API access and refresh tokens

Parameters
ParameterTypeDescription
request{ token: string; }-
request.tokenstringDescription Stagedoor JWT token to federate Example eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Returns

Promise<{ accessToken: string; refreshToken: string; user: { email: string; firstName?: string; id: string; lastName?: string; }; }>

Operation Id

federate

login()

login: (request: {
email: string;
password: string;
}) => Promise<{
accessToken: string;
refreshToken: string;
user: {
email: string;
firstName?: string;
id: string;
lastName?: string;
};
}>;

User login Authenticate a user with email and password, returns access and refresh tokens

Parameters
ParameterTypeDescription
request{ email: string; password: string; }-
request.emailstringFormat: email Description User email address Example user@example.com
request.passwordstringDescription User password Example password123
Returns

Promise<{ accessToken: string; refreshToken: string; user: { email: string; firstName?: string; id: string; lastName?: string; }; }>

Operation Id

login

redeem()

redeem: (request: {
code: string;
password: string;
}) => Promise<{
accessToken: string;
refreshToken: string;
user: {
email: string;
firstName?: string;
id: string;
lastName?: string;
};
}>;

Redeem invitation Redeem an invitation code and set up a new user account

Parameters
ParameterTypeDescription
request{ code: string; password: string; }-
request.codestringDescription Invitation code received via email Example INV-1234567890
request.passwordstringDescription New password for the account (minimum 8 characters) Example securePassword123
Returns

Promise<{ accessToken: string; refreshToken: string; user: { email: string; firstName?: string; id: string; lastName?: string; }; }>

Operation Id

redeem

refresh()

refresh: (request: {
refreshToken: string;
}) => Promise<{
accessToken: string;
refreshToken: string;
}>;

Refresh access token Exchange a refresh token for a new access token and refresh token

Parameters
ParameterTypeDescription
request{ refreshToken: string; }-
request.refreshTokenstringDescription Refresh token from previous login Example eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Returns

Promise<{ accessToken: string; refreshToken: string; }>

Operation Id

refresh


billing

billing: {
cancelSubscription: (subscriptionId: string) => Promise<{
cancelledAt: string | null;
createdAt: string;
credits: number;
currency: string;
currentPeriodEnd: string | null;
currentPeriodStart: string | null;
endedAt: string | null;
id: string;
interval: "month" | "year";
organisationId: string;
packageId: string;
price: number;
status: "active" | "cancelled" | "paused" | "past_due" | "ended";
updatedAt: string;
}>;
canSell: (organisationId: string) => Promise<{
canSell: boolean;
currentBalance: number;
reason: string | null;
}>;
createAiTopup: (request: {
aiPackageId: string;
billingAddress?: {
city: string;
country: string;
line1: string;
line2?: string;
name?: string;
postal_code: string;
state?: string;
};
currency?: string;
email?: string;
paymentMethodId: string;
}) => Promise<{
creditsAdded: number;
invoice: {
amountDue: number;
amountPaid: number;
createdAt: string;
currency: string;
dueDate: string | null;
id: string;
invoiceNumber: string;
issueDate: string;
organisationId: string;
paidAt: string | null;
pdfUrl: string | null;
status: "draft" | "open" | "paid" | "void" | "uncollectible";
subtotal: number;
tax: number;
total: number;
type: "purchase" | "subscription" | "payg";
updatedAt: string;
};
newBalance: number;
payment: {
amount: number;
createdAt: string;
currency: string;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
invoiceId: string | null;
method: string | null;
organisationId: string;
paidAt: string | null;
status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded";
updatedAt: string;
};
}>;
createPurchase: (request: {
billingAddress?: {
city: string;
country: string;
line1: string;
line2?: string;
name?: string;
postal_code: string;
state?: string;
};
currency?: string;
email?: string;
packageId: string;
paymentMethodId: string;
}) => Promise<{
invoice: {
amountDue: number;
amountPaid: number;
createdAt: string;
currency: string;
dueDate: string | null;
id: string;
invoiceNumber: string;
issueDate: string;
organisationId: string;
paidAt: string | null;
pdfUrl: string | null;
status: "draft" | "open" | "paid" | "void" | "uncollectible";
subtotal: number;
tax: number;
total: number;
type: "purchase" | "subscription" | "payg";
updatedAt: string;
};
newBalance: number;
payment: {
amount: number;
createdAt: string;
currency: string;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
invoiceId: string | null;
method: string | null;
organisationId: string;
paidAt: string | null;
status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded";
updatedAt: string;
};
success: boolean;
transaction: {
amount: number;
balanceAfter: number;
balanceBefore: number;
createdAt: string;
description: string | null;
id: string;
invoiceId: string | null;
orderId: string | null;
organisationId: string;
subscriptionId: string | null;
type: | "initial"
| "purchase"
| "subscription"
| "ticket_sale"
| "adjustment"
| "refund";
};
}>;
createSetupIntent: () => Promise<string>;
createSubscription: (request: {
currency?: string;
email?: string;
interval: "month" | "year";
packageId: string;
paymentMethodId: string;
}) => Promise<{
cancelledAt: string | null;
createdAt: string;
credits: number;
currency: string;
currentPeriodEnd: string | null;
currentPeriodStart: string | null;
endedAt: string | null;
id: string;
interval: "month" | "year";
organisationId: string;
packageId: string;
price: number;
status: "active" | "cancelled" | "paused" | "past_due" | "ended";
updatedAt: string;
}>;
deletePaymentMethod: (paymentMethodId: string) => Promise<boolean>;
getAiBalance: () => Promise<{
balance: number;
isDepleted: boolean;
isLow: boolean;
lifetimeCredits: number;
lifetimeUsed: number;
}>;
getAutoTopup: () => Promise<
| {
attemptsToday: number;
createdAt: string;
enabled: boolean;
id: string;
lastAttemptAt: string | null;
maxAttemptsPerDay: number;
organisationId: string;
thresholdCredits: number;
topupPackageId: string;
updatedAt: string;
}
| null>;
getBalance: () => Promise<{
balance: number;
createdAt: string;
id: string;
isSuspended: boolean;
lifetimeCredits: number;
lifetimeUsed: number;
organisationId: string;
status: "healthy" | "low" | "depleted" | "negative" | "suspended";
suspendedAt: string | null;
suspendedReason: string | null;
updatedAt: string;
}>;
getInvoice: (invoiceId: string) => Promise<{
amountDue: number;
amountPaid: number;
createdAt: string;
currency: string;
dueDate: string | null;
id: string;
invoiceNumber: string;
issueDate: string;
organisationId: string;
paidAt: string | null;
pdfUrl: string | null;
status: "draft" | "open" | "paid" | "void" | "uncollectible";
subtotal: number;
tax: number;
total: number;
type: "purchase" | "subscription" | "payg";
updatedAt: string;
}>;
listAiPackages: () => Promise<{
baseCurrency: string;
basePrice: number;
credits: number;
discountPercent: number;
displayOrder: number;
finalPrice: number;
id: string;
isActive: boolean;
name: string;
}[]>;
listAiTransactions: (options?: {
limit?: string;
page?: string;
}) => Promise<{
amount: number;
balanceAfter: number;
balanceBefore: number;
createdAt: string;
description: string | null;
id: string;
invoiceId: string | null;
orderId: string | null;
organisationId: string;
subscriptionId: string | null;
type: | "initial"
| "purchase"
| "subscription"
| "ticket_sale"
| "adjustment"
| "refund";
}[]>;
listInvoices: (options?: {
limit?: string;
page?: string;
status?: string;
}) => Promise<{
amountDue: number;
amountPaid: number;
createdAt: string;
currency: string;
dueDate: string | null;
id: string;
invoiceNumber: string;
issueDate: string;
organisationId: string;
paidAt: string | null;
pdfUrl: string | null;
status: "draft" | "open" | "paid" | "void" | "uncollectible";
subtotal: number;
tax: number;
total: number;
type: "purchase" | "subscription" | "payg";
updatedAt: string;
}[]>;
listPackages: () => Promise<{
baseCurrency: string;
basePrice: number;
credits: number;
discountPercent: string;
displayOrder: number;
finalPrice: number;
id: string;
isActive: boolean;
name: string;
}[]>;
listPaymentMethods: () => Promise<{
card: {
brand: string;
expMonth: number;
expYear: number;
last4: string;
};
createdAt: string;
id: string;
isDefault: boolean;
type: "card";
}[]>;
listPayments: (options?: {
limit?: string;
page?: string;
status?: string;
}) => Promise<{
amount: number;
createdAt: string;
currency: string;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
invoiceId: string | null;
method: string | null;
organisationId: string;
paidAt: string | null;
status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded";
updatedAt: string;
}[]>;
listSubscriptions: () => Promise<{
cancelledAt: string | null;
createdAt: string;
credits: number;
currency: string;
currentPeriodEnd: string | null;
currentPeriodStart: string | null;
endedAt: string | null;
id: string;
interval: "month" | "year";
organisationId: string;
packageId: string;
price: number;
status: "active" | "cancelled" | "paused" | "past_due" | "ended";
updatedAt: string;
}[]>;
listTransactions: (options?: {
limit?: string;
page?: string;
type?: string;
}) => Promise<{
amount: number;
balanceAfter: number;
balanceBefore: number;
createdAt: string;
description: string | null;
id: string;
invoiceId: string | null;
orderId: string | null;
organisationId: string;
subscriptionId: string | null;
type: | "initial"
| "purchase"
| "subscription"
| "ticket_sale"
| "adjustment"
| "refund";
}[]>;
savePaymentMethod: (request: {
paymentMethodId: string;
setAsDefault?: boolean;
}) => Promise<{
card: {
brand: string;
expMonth: number;
expYear: number;
last4: string;
};
createdAt: string;
id: string;
isDefault: boolean;
type: "card";
}>;
setDefaultPaymentMethod: (paymentMethodId: string) => Promise<{
card: {
brand: string;
expMonth: number;
expYear: number;
last4: string;
};
createdAt: string;
id: string;
isDefault: boolean;
type: "card";
}>;
updateAutoTopup: (request: {
enabled: boolean;
thresholdCredits: number;
topupPackageId: string;
}) => Promise<
| {
attemptsToday: number;
createdAt: string;
enabled: boolean;
id: string;
lastAttemptAt: string | null;
maxAttemptsPerDay: number;
organisationId: string;
thresholdCredits: number;
topupPackageId: string;
updatedAt: string;
}
| null>;
};

Defined in: client.ts:1905

Billing methods

cancelSubscription()

cancelSubscription: (subscriptionId: string) => Promise<{
cancelledAt: string | null;
createdAt: string;
credits: number;
currency: string;
currentPeriodEnd: string | null;
currentPeriodStart: string | null;
endedAt: string | null;
id: string;
interval: "month" | "year";
organisationId: string;
packageId: string;
price: number;
status: "active" | "cancelled" | "paused" | "past_due" | "ended";
updatedAt: string;
}>;

Cancel subscription Cancel an active subscription

Parameters
ParameterType
subscriptionIdstring
Returns

Promise<{ cancelledAt: string | null; createdAt: string; credits: number; currency: string; currentPeriodEnd: string | null; currentPeriodStart: string | null; endedAt: string | null; id: string; interval: "month" | "year"; organisationId: string; packageId: string; price: number; status: "active" | "cancelled" | "paused" | "past_due" | "ended"; updatedAt: string; }>

Operation Id

cancelSubscription

canSell()

canSell: (organisationId: string) => Promise<{
canSell: boolean;
currentBalance: number;
reason: string | null;
}>;

Check if organisation can sell Check if an organisation has sufficient credits to process sales

Parameters
ParameterType
organisationIdstring
Returns

Promise<{ canSell: boolean; currentBalance: number; reason: string | null; }>

Operation Id

checkCanSell

createAiTopup()

createAiTopup: (request: {
aiPackageId: string;
billingAddress?: {
city: string;
country: string;
line1: string;
line2?: string;
name?: string;
postal_code: string;
state?: string;
};
currency?: string;
email?: string;
paymentMethodId: string;
}) => Promise<{
creditsAdded: number;
invoice: {
amountDue: number;
amountPaid: number;
createdAt: string;
currency: string;
dueDate: string | null;
id: string;
invoiceNumber: string;
issueDate: string;
organisationId: string;
paidAt: string | null;
pdfUrl: string | null;
status: "draft" | "open" | "paid" | "void" | "uncollectible";
subtotal: number;
tax: number;
total: number;
type: "purchase" | "subscription" | "payg";
updatedAt: string;
};
newBalance: number;
payment: {
amount: number;
createdAt: string;
currency: string;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
invoiceId: string | null;
method: string | null;
organisationId: string;
paidAt: string | null;
status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded";
updatedAt: string;
};
}>;

Top up AI credits Purchase AI credits directly (separate from the bundle included with ticket-credit purchases)

Parameters
ParameterTypeDescription
request{ aiPackageId: string; billingAddress?: { city: string; country: string; line1: string; line2?: string; name?: string; postal_code: string; state?: string; }; currency?: string; email?: string; paymentMethodId: string; }-
request.aiPackageIdstring-
request.billingAddress?{ city: string; country: string; line1: string; line2?: string; name?: string; postal_code: string; state?: string; }-
request.billingAddress.citystring-
request.billingAddress.countrystring-
request.billingAddress.line1string-
request.billingAddress.line2?string-
request.billingAddress.name?string-
request.billingAddress.postal_codestring-
request.billingAddress.state?string-
request.currency?string-
request.email?stringFormat: email
request.paymentMethodIdstring-
Returns

Promise<{ creditsAdded: number; invoice: { amountDue: number; amountPaid: number; createdAt: string; currency: string; dueDate: string | null; id: string; invoiceNumber: string; issueDate: string; organisationId: string; paidAt: string | null; pdfUrl: string | null; status: "draft" | "open" | "paid" | "void" | "uncollectible"; subtotal: number; tax: number; total: number; type: "purchase" | "subscription" | "payg"; updatedAt: string; }; newBalance: number; payment: { amount: number; createdAt: string; currency: string; failedAt: string | null; failureCode: string | null; failureMessage: string | null; id: string; invoiceId: string | null; method: string | null; organisationId: string; paidAt: string | null; status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded"; updatedAt: string; }; }>

Operation Id

createAiTopup

createPurchase()

createPurchase: (request: {
billingAddress?: {
city: string;
country: string;
line1: string;
line2?: string;
name?: string;
postal_code: string;
state?: string;
};
currency?: string;
email?: string;
packageId: string;
paymentMethodId: string;
}) => Promise<{
invoice: {
amountDue: number;
amountPaid: number;
createdAt: string;
currency: string;
dueDate: string | null;
id: string;
invoiceNumber: string;
issueDate: string;
organisationId: string;
paidAt: string | null;
pdfUrl: string | null;
status: "draft" | "open" | "paid" | "void" | "uncollectible";
subtotal: number;
tax: number;
total: number;
type: "purchase" | "subscription" | "payg";
updatedAt: string;
};
newBalance: number;
payment: {
amount: number;
createdAt: string;
currency: string;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
invoiceId: string | null;
method: string | null;
organisationId: string;
paidAt: string | null;
status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded";
updatedAt: string;
};
success: boolean;
transaction: {
amount: number;
balanceAfter: number;
balanceBefore: number;
createdAt: string;
description: string | null;
id: string;
invoiceId: string | null;
orderId: string | null;
organisationId: string;
subscriptionId: string | null;
type: | "initial"
| "purchase"
| "subscription"
| "ticket_sale"
| "adjustment"
| "refund";
};
}>;

Purchase credits Purchase a credit package for an organisation

Parameters
ParameterTypeDescription
request{ billingAddress?: { city: string; country: string; line1: string; line2?: string; name?: string; postal_code: string; state?: string; }; currency?: string; email?: string; packageId: string; paymentMethodId: string; }-
request.billingAddress?{ city: string; country: string; line1: string; line2?: string; name?: string; postal_code: string; state?: string; }-
request.billingAddress.citystring-
request.billingAddress.countrystring-
request.billingAddress.line1string-
request.billingAddress.line2?string-
request.billingAddress.name?string-
request.billingAddress.postal_codestring-
request.billingAddress.state?string-
request.currency?string-
request.email?stringFormat: email
request.packageIdstring-
request.paymentMethodIdstring-
Returns

Promise<{ invoice: { amountDue: number; amountPaid: number; createdAt: string; currency: string; dueDate: string | null; id: string; invoiceNumber: string; issueDate: string; organisationId: string; paidAt: string | null; pdfUrl: string | null; status: "draft" | "open" | "paid" | "void" | "uncollectible"; subtotal: number; tax: number; total: number; type: "purchase" | "subscription" | "payg"; updatedAt: string; }; newBalance: number; payment: { amount: number; createdAt: string; currency: string; failedAt: string | null; failureCode: string | null; failureMessage: string | null; id: string; invoiceId: string | null; method: string | null; organisationId: string; paidAt: string | null; status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded"; updatedAt: string; }; success: boolean; transaction: { amount: number; balanceAfter: number; balanceBefore: number; createdAt: string; description: string | null; id: string; invoiceId: string | null; orderId: string | null; organisationId: string; subscriptionId: string | null; type: | "initial" | "purchase" | "subscription" | "ticket_sale" | "adjustment" | "refund"; }; }>

Operation Id

createCreditPurchase

createSetupIntent()

createSetupIntent: () => Promise<string>;

Create setup intent Create a Stripe setup intent for saving a new payment method

Returns

Promise<string>

Operation Id

createSetupIntent

createSubscription()

createSubscription: (request: {
currency?: string;
email?: string;
interval: "month" | "year";
packageId: string;
paymentMethodId: string;
}) => Promise<{
cancelledAt: string | null;
createdAt: string;
credits: number;
currency: string;
currentPeriodEnd: string | null;
currentPeriodStart: string | null;
endedAt: string | null;
id: string;
interval: "month" | "year";
organisationId: string;
packageId: string;
price: number;
status: "active" | "cancelled" | "paused" | "past_due" | "ended";
updatedAt: string;
}>;

Create subscription Create a new credit subscription for an organisation

Parameters
ParameterTypeDescription
request{ currency?: string; email?: string; interval: "month" | "year"; packageId: string; paymentMethodId: string; }-
request.currency?string-
request.email?stringFormat: email
request.interval"month" | "year"
request.packageIdstring-
request.paymentMethodIdstring-
Returns

Promise<{ cancelledAt: string | null; createdAt: string; credits: number; currency: string; currentPeriodEnd: string | null; currentPeriodStart: string | null; endedAt: string | null; id: string; interval: "month" | "year"; organisationId: string; packageId: string; price: number; status: "active" | "cancelled" | "paused" | "past_due" | "ended"; updatedAt: string; }>

Operation Id

createSubscription

deletePaymentMethod()

deletePaymentMethod: (paymentMethodId: string) => Promise<boolean>;

Delete payment method Delete a saved payment method

Parameters
ParameterType
paymentMethodIdstring
Returns

Promise<boolean>

Operation Id

deletePaymentMethod

getAiBalance()

getAiBalance: () => Promise<{
balance: number;
isDepleted: boolean;
isLow: boolean;
lifetimeCredits: number;
lifetimeUsed: number;
}>;

Get AI credit balance Get the organisation's AI-credit (Cue) wallet balance

Returns

Promise<{ balance: number; isDepleted: boolean; isLow: boolean; lifetimeCredits: number; lifetimeUsed: number; }>

Operation Id

getAiBalance

getAutoTopup()

getAutoTopup: () => Promise<
| {
attemptsToday: number;
createdAt: string;
enabled: boolean;
id: string;
lastAttemptAt: string | null;
maxAttemptsPerDay: number;
organisationId: string;
thresholdCredits: number;
topupPackageId: string;
updatedAt: string;
}
| null>;

Get auto top-up configuration Get the auto top-up configuration for an organisation

Returns

Promise< | { attemptsToday: number; createdAt: string; enabled: boolean; id: string; lastAttemptAt: string | null; maxAttemptsPerDay: number; organisationId: string; thresholdCredits: number; topupPackageId: string; updatedAt: string; } | null>

Operation Id

getAutoTopup

getBalance()

getBalance: () => Promise<{
balance: number;
createdAt: string;
id: string;
isSuspended: boolean;
lifetimeCredits: number;
lifetimeUsed: number;
organisationId: string;
status: "healthy" | "low" | "depleted" | "negative" | "suspended";
suspendedAt: string | null;
suspendedReason: string | null;
updatedAt: string;
}>;

Get credit balance Get the current credit balance for an organisation

Returns

Promise<{ balance: number; createdAt: string; id: string; isSuspended: boolean; lifetimeCredits: number; lifetimeUsed: number; organisationId: string; status: "healthy" | "low" | "depleted" | "negative" | "suspended"; suspendedAt: string | null; suspendedReason: string | null; updatedAt: string; }>

Operation Id

getCreditBalance

getInvoice()

getInvoice: (invoiceId: string) => Promise<{
amountDue: number;
amountPaid: number;
createdAt: string;
currency: string;
dueDate: string | null;
id: string;
invoiceNumber: string;
issueDate: string;
organisationId: string;
paidAt: string | null;
pdfUrl: string | null;
status: "draft" | "open" | "paid" | "void" | "uncollectible";
subtotal: number;
tax: number;
total: number;
type: "purchase" | "subscription" | "payg";
updatedAt: string;
}>;

Get invoice Get a specific invoice by ID

Parameters
ParameterType
invoiceIdstring
Returns

Promise<{ amountDue: number; amountPaid: number; createdAt: string; currency: string; dueDate: string | null; id: string; invoiceNumber: string; issueDate: string; organisationId: string; paidAt: string | null; pdfUrl: string | null; status: "draft" | "open" | "paid" | "void" | "uncollectible"; subtotal: number; tax: number; total: number; type: "purchase" | "subscription" | "payg"; updatedAt: string; }>

Operation Id

getInvoice

listAiPackages()

listAiPackages: () => Promise<{
baseCurrency: string;
basePrice: number;
credits: number;
discountPercent: number;
displayOrder: number;
finalPrice: number;
id: string;
isActive: boolean;
name: string;
}[]>;

List AI credit packages List the AI-credit top-up packages available for purchase

Returns

Promise<{ baseCurrency: string; basePrice: number; credits: number; discountPercent: number; displayOrder: number; finalPrice: number; id: string; isActive: boolean; name: string; }[]>

Operation Id

listAiCreditPackages

listAiTransactions()

listAiTransactions: (options?: {
limit?: string;
page?: string;
}) => Promise<{
amount: number;
balanceAfter: number;
balanceBefore: number;
createdAt: string;
description: string | null;
id: string;
invoiceId: string | null;
orderId: string | null;
organisationId: string;
subscriptionId: string | null;
type: | "initial"
| "purchase"
| "subscription"
| "ticket_sale"
| "adjustment"
| "refund";
}[]>;

List AI credit transactions List the AI-credit wallet transaction history

Parameters
ParameterType
options?{ limit?: string; page?: string; }
options.limit?string
options.page?string
Returns

Promise<{ amount: number; balanceAfter: number; balanceBefore: number; createdAt: string; description: string | null; id: string; invoiceId: string | null; orderId: string | null; organisationId: string; subscriptionId: string | null; type: | "initial" | "purchase" | "subscription" | "ticket_sale" | "adjustment" | "refund"; }[]>

Operation Id

listAiCreditTransactions

listInvoices()

listInvoices: (options?: {
limit?: string;
page?: string;
status?: string;
}) => Promise<{
amountDue: number;
amountPaid: number;
createdAt: string;
currency: string;
dueDate: string | null;
id: string;
invoiceNumber: string;
issueDate: string;
organisationId: string;
paidAt: string | null;
pdfUrl: string | null;
status: "draft" | "open" | "paid" | "void" | "uncollectible";
subtotal: number;
tax: number;
total: number;
type: "purchase" | "subscription" | "payg";
updatedAt: string;
}[]>;

List invoices List all invoices for an organisation

Parameters
ParameterType
options?{ limit?: string; page?: string; status?: string; }
options.limit?string
options.page?string
options.status?string
Returns

Promise<{ amountDue: number; amountPaid: number; createdAt: string; currency: string; dueDate: string | null; id: string; invoiceNumber: string; issueDate: string; organisationId: string; paidAt: string | null; pdfUrl: string | null; status: "draft" | "open" | "paid" | "void" | "uncollectible"; subtotal: number; tax: number; total: number; type: "purchase" | "subscription" | "payg"; updatedAt: string; }[]>

Operation Id

listInvoices

listPackages()

listPackages: () => Promise<{
baseCurrency: string;
basePrice: number;
credits: number;
discountPercent: string;
displayOrder: number;
finalPrice: number;
id: string;
isActive: boolean;
name: string;
}[]>;

List credit packages List all available credit packages for purchase

Returns

Promise<{ baseCurrency: string; basePrice: number; credits: number; discountPercent: string; displayOrder: number; finalPrice: number; id: string; isActive: boolean; name: string; }[]>

Operation Id

listCreditPackages

listPaymentMethods()

listPaymentMethods: () => Promise<{
card: {
brand: string;
expMonth: number;
expYear: number;
last4: string;
};
createdAt: string;
id: string;
isDefault: boolean;
type: "card";
}[]>;

List payment methods List all saved payment methods for the organisation

Returns

Promise<{ card: { brand: string; expMonth: number; expYear: number; last4: string; }; createdAt: string; id: string; isDefault: boolean; type: "card"; }[]>

Operation Id

listPaymentMethods

listPayments()

listPayments: (options?: {
limit?: string;
page?: string;
status?: string;
}) => Promise<{
amount: number;
createdAt: string;
currency: string;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
invoiceId: string | null;
method: string | null;
organisationId: string;
paidAt: string | null;
status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded";
updatedAt: string;
}[]>;

List billing payments List all billing payments for an organisation

Parameters
ParameterType
options?{ limit?: string; page?: string; status?: string; }
options.limit?string
options.page?string
options.status?string
Returns

Promise<{ amount: number; createdAt: string; currency: string; failedAt: string | null; failureCode: string | null; failureMessage: string | null; id: string; invoiceId: string | null; method: string | null; organisationId: string; paidAt: string | null; status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded"; updatedAt: string; }[]>

Operation Id

listBillingPayments

listSubscriptions()

listSubscriptions: () => Promise<{
cancelledAt: string | null;
createdAt: string;
credits: number;
currency: string;
currentPeriodEnd: string | null;
currentPeriodStart: string | null;
endedAt: string | null;
id: string;
interval: "month" | "year";
organisationId: string;
packageId: string;
price: number;
status: "active" | "cancelled" | "paused" | "past_due" | "ended";
updatedAt: string;
}[]>;

List subscriptions List all subscriptions for an organisation

Returns

Promise<{ cancelledAt: string | null; createdAt: string; credits: number; currency: string; currentPeriodEnd: string | null; currentPeriodStart: string | null; endedAt: string | null; id: string; interval: "month" | "year"; organisationId: string; packageId: string; price: number; status: "active" | "cancelled" | "paused" | "past_due" | "ended"; updatedAt: string; }[]>

Operation Id

listSubscriptions

listTransactions()

listTransactions: (options?: {
limit?: string;
page?: string;
type?: string;
}) => Promise<{
amount: number;
balanceAfter: number;
balanceBefore: number;
createdAt: string;
description: string | null;
id: string;
invoiceId: string | null;
orderId: string | null;
organisationId: string;
subscriptionId: string | null;
type: | "initial"
| "purchase"
| "subscription"
| "ticket_sale"
| "adjustment"
| "refund";
}[]>;

List credit transactions List all credit transactions for an organisation

Parameters
ParameterType
options?{ limit?: string; page?: string; type?: string; }
options.limit?string
options.page?string
options.type?string
Returns

Promise<{ amount: number; balanceAfter: number; balanceBefore: number; createdAt: string; description: string | null; id: string; invoiceId: string | null; orderId: string | null; organisationId: string; subscriptionId: string | null; type: | "initial" | "purchase" | "subscription" | "ticket_sale" | "adjustment" | "refund"; }[]>

Operation Id

listCreditTransactions

savePaymentMethod()

savePaymentMethod: (request: {
paymentMethodId: string;
setAsDefault?: boolean;
}) => Promise<{
card: {
brand: string;
expMonth: number;
expYear: number;
last4: string;
};
createdAt: string;
id: string;
isDefault: boolean;
type: "card";
}>;

Save payment method Save a payment method after Stripe confirms the setup intent

Parameters
ParameterTypeDescription
request{ paymentMethodId: string; setAsDefault?: boolean; }-
request.paymentMethodIdstringExample pm_1234567890
request.setAsDefault?booleanExample true
Returns

Promise<{ card: { brand: string; expMonth: number; expYear: number; last4: string; }; createdAt: string; id: string; isDefault: boolean; type: "card"; }>

Operation Id

savePaymentMethod

setDefaultPaymentMethod()

setDefaultPaymentMethod: (paymentMethodId: string) => Promise<{
card: {
brand: string;
expMonth: number;
expYear: number;
last4: string;
};
createdAt: string;
id: string;
isDefault: boolean;
type: "card";
}>;

Set default payment method Set a payment method as the default for the organisation

Parameters
ParameterType
paymentMethodIdstring
Returns

Promise<{ card: { brand: string; expMonth: number; expYear: number; last4: string; }; createdAt: string; id: string; isDefault: boolean; type: "card"; }>

Operation Id

setDefaultPaymentMethod

updateAutoTopup()

updateAutoTopup: (request: {
enabled: boolean;
thresholdCredits: number;
topupPackageId: string;
}) => Promise<
| {
attemptsToday: number;
createdAt: string;
enabled: boolean;
id: string;
lastAttemptAt: string | null;
maxAttemptsPerDay: number;
organisationId: string;
thresholdCredits: number;
topupPackageId: string;
updatedAt: string;
}
| null>;

Update auto top-up configuration Update the auto top-up configuration for an organisation

Parameters
ParameterType
request{ enabled: boolean; thresholdCredits: number; topupPackageId: string; }
request.enabledboolean
request.thresholdCreditsnumber
request.topupPackageIdstring
Returns

Promise< | { attemptsToday: number; createdAt: string; enabled: boolean; id: string; lastAttemptAt: string | null; maxAttemptsPerDay: number; organisationId: string; thresholdCredits: number; topupPackageId: string; updatedAt: string; } | null>

Operation Id

updateAutoTopup


customers

customers: {
block: (customerId: string, request: {
reason?: string;
}) => Promise<{
accountId: string | null;
blockedAt: string | null;
blockedReason: string | null;
createdAt: string;
email: string;
externalId: string | null;
firstName: string | null;
id: string;
isBlocked: boolean;
lastName: string | null;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
phone: string | null;
updatedAt: string;
}>;
create: (request: {
accountId?: string;
email: string;
externalId?: string;
firstName?: string;
lastName?: string;
metadata?: Record<string, any>;
phone?: string;
}) => Promise<{
accountId: string | null;
blockedAt: string | null;
blockedReason: string | null;
createdAt: string;
email: string;
externalId: string | null;
firstName: string | null;
id: string;
isBlocked: boolean;
lastName: string | null;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
phone: string | null;
updatedAt: string;
}>;
get: (customerId: string) => Promise<{
accountId: string | null;
blockedAt: string | null;
blockedReason: string | null;
createdAt: string;
email: string;
externalId: string | null;
firstName: string | null;
id: string;
isBlocked: boolean;
lastName: string | null;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
phone: string | null;
updatedAt: string;
}>;
list: (options?: {
accountId?: string;
cursor?: string;
email?: string;
isBlocked?: string;
limit?: string;
page?: string;
search?: string;
updatedSince?: string;
}) => Promise<{
customers: {
accountId: string | null;
blockedAt: string | null;
blockedReason: string | null;
createdAt: string;
email: string;
externalId: string | null;
firstName: string | null;
id: string;
isBlocked: boolean;
lastName: string | null;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
phone: string | null;
updatedAt: string;
}[];
pagination: {
limit: number;
page: number;
total: number;
totalPages: number;
};
}>;
unblock: (customerId: string) => Promise<{
accountId: string | null;
blockedAt: string | null;
blockedReason: string | null;
createdAt: string;
email: string;
externalId: string | null;
firstName: string | null;
id: string;
isBlocked: boolean;
lastName: string | null;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
phone: string | null;
updatedAt: string;
}>;
update: (customerId: string, request: {
email?: string;
externalId?: any;
firstName?: any;
lastName?: any;
metadata?: any;
phone?: any;
}) => Promise<{
accountId: string | null;
blockedAt: string | null;
blockedReason: string | null;
createdAt: string;
email: string;
externalId: string | null;
firstName: string | null;
id: string;
isBlocked: boolean;
lastName: string | null;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
phone: string | null;
updatedAt: string;
}>;
};

Defined in: client.ts:2525

Customers methods

block()

block: (customerId: string, request: {
reason?: string;
}) => Promise<{
accountId: string | null;
blockedAt: string | null;
blockedReason: string | null;
createdAt: string;
email: string;
externalId: string | null;
firstName: string | null;
id: string;
isBlocked: boolean;
lastName: string | null;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
phone: string | null;
updatedAt: string;
}>;

Block customer Block a customer from making purchases

Parameters
ParameterType
customerIdstring
request{ reason?: string; }
request.reason?string
Returns

Promise<{ accountId: string | null; blockedAt: string | null; blockedReason: string | null; createdAt: string; email: string; externalId: string | null; firstName: string | null; id: string; isBlocked: boolean; lastName: string | null; metadata: | { [key: string]: unknown; } | null; organisationId: string; phone: string | null; updatedAt: string; }>

Operation Id

blockCustomer

create()

create: (request: {
accountId?: string;
email: string;
externalId?: string;
firstName?: string;
lastName?: string;
metadata?: Record<string, any>;
phone?: string;
}) => Promise<{
accountId: string | null;
blockedAt: string | null;
blockedReason: string | null;
createdAt: string;
email: string;
externalId: string | null;
firstName: string | null;
id: string;
isBlocked: boolean;
lastName: string | null;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
phone: string | null;
updatedAt: string;
}>;

Create customer Create a new customer in the organisation

Parameters
ParameterType
request{ accountId?: string; email: string; externalId?: string; firstName?: string; lastName?: string; metadata?: Record<string, any>; phone?: string; }
request.accountId?string
request.emailstring
request.externalId?string
request.firstName?string
request.lastName?string
request.metadata?Record<string, any>
request.phone?string
Returns

Promise<{ accountId: string | null; blockedAt: string | null; blockedReason: string | null; createdAt: string; email: string; externalId: string | null; firstName: string | null; id: string; isBlocked: boolean; lastName: string | null; metadata: | { [key: string]: unknown; } | null; organisationId: string; phone: string | null; updatedAt: string; }>

Operation Id

createCustomer

get()

get: (customerId: string) => Promise<{
accountId: string | null;
blockedAt: string | null;
blockedReason: string | null;
createdAt: string;
email: string;
externalId: string | null;
firstName: string | null;
id: string;
isBlocked: boolean;
lastName: string | null;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
phone: string | null;
updatedAt: string;
}>;

Get customer Get a specific customer by ID

Parameters
ParameterType
customerIdstring
Returns

Promise<{ accountId: string | null; blockedAt: string | null; blockedReason: string | null; createdAt: string; email: string; externalId: string | null; firstName: string | null; id: string; isBlocked: boolean; lastName: string | null; metadata: | { [key: string]: unknown; } | null; organisationId: string; phone: string | null; updatedAt: string; }>

Operation Id

getCustomer

list()

list: (options?: {
accountId?: string;
cursor?: string;
email?: string;
isBlocked?: string;
limit?: string;
page?: string;
search?: string;
updatedSince?: string;
}) => Promise<{
customers: {
accountId: string | null;
blockedAt: string | null;
blockedReason: string | null;
createdAt: string;
email: string;
externalId: string | null;
firstName: string | null;
id: string;
isBlocked: boolean;
lastName: string | null;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
phone: string | null;
updatedAt: string;
}[];
pagination: {
limit: number;
page: number;
total: number;
totalPages: number;
};
}>;

List customers List all customers with optional filtering and pagination

Parameters
ParameterType
options?{ accountId?: string; cursor?: string; email?: string; isBlocked?: string; limit?: string; page?: string; search?: string; updatedSince?: string; }
options.accountId?string
options.cursor?string
options.email?string
options.isBlocked?string
options.limit?string
options.page?string
options.search?string
options.updatedSince?string
Returns

Promise<{ customers: { accountId: string | null; blockedAt: string | null; blockedReason: string | null; createdAt: string; email: string; externalId: string | null; firstName: string | null; id: string; isBlocked: boolean; lastName: string | null; metadata: | { [key: string]: unknown; } | null; organisationId: string; phone: string | null; updatedAt: string; }[]; pagination: { limit: number; page: number; total: number; totalPages: number; }; }>

Operation Id

listCustomers

unblock()

unblock: (customerId: string) => Promise<{
accountId: string | null;
blockedAt: string | null;
blockedReason: string | null;
createdAt: string;
email: string;
externalId: string | null;
firstName: string | null;
id: string;
isBlocked: boolean;
lastName: string | null;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
phone: string | null;
updatedAt: string;
}>;

Unblock customer Unblock a previously blocked customer

Parameters
ParameterType
customerIdstring
Returns

Promise<{ accountId: string | null; blockedAt: string | null; blockedReason: string | null; createdAt: string; email: string; externalId: string | null; firstName: string | null; id: string; isBlocked: boolean; lastName: string | null; metadata: | { [key: string]: unknown; } | null; organisationId: string; phone: string | null; updatedAt: string; }>

Operation Id

unblockCustomer

update()

update: (customerId: string, request: {
email?: string;
externalId?: any;
firstName?: any;
lastName?: any;
metadata?: any;
phone?: any;
}) => Promise<{
accountId: string | null;
blockedAt: string | null;
blockedReason: string | null;
createdAt: string;
email: string;
externalId: string | null;
firstName: string | null;
id: string;
isBlocked: boolean;
lastName: string | null;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
phone: string | null;
updatedAt: string;
}>;

Update customer Update an existing customer

Parameters
ParameterType
customerIdstring
request{ email?: string; externalId?: any; firstName?: any; lastName?: any; metadata?: any; phone?: any; }
request.email?string
request.externalId?any
request.firstName?any
request.lastName?any
request.metadata?any
request.phone?any
Returns

Promise<{ accountId: string | null; blockedAt: string | null; blockedReason: string | null; createdAt: string; email: string; externalId: string | null; firstName: string | null; id: string; isBlocked: boolean; lastName: string | null; metadata: | { [key: string]: unknown; } | null; organisationId: string; phone: string | null; updatedAt: string; }>

Operation Id

updateCustomer


deviceAuth

deviceAuth: {
issueToken: (request: {
deviceId: string;
deviceSecret: string;
}) => Promise<any>;
jwks: () => Promise<any>;
};

Defined in: client.ts:4426

Device Auth methods

issueToken()

issueToken: (request: {
deviceId: string;
deviceSecret: string;
}) => Promise<any>;

Mint a device token Exchange (deviceId, deviceSecret) for a short-lived device JWT.

Parameters
ParameterType
request{ deviceId: string; deviceSecret: string; }
request.deviceIdstring
request.deviceSecretstring
Returns

Promise<any>

Operation Id

issueDeviceToken

jwks()

jwks: () => Promise<any>;

Device JWKS Public keys for offline Local Command Token verification by relays.

Returns

Promise<any>

Operation Id

getDeviceJwks


devicePairing

devicePairing: {
claim: (request: {
accountId: string;
accountRoles: {
accountId: string;
roleId: string;
}[];
locationId?: string;
name: string;
userCode: string;
}) => Promise<any>;
confirm: (pairingId: string, request: {
deviceCode: string;
}) => Promise<any>;
getStatus: (pairingId: string) => Promise<any>;
reject: (pairingId: string, request: {
deviceCode: string;
}) => Promise<any>;
start: (request: {
name?: string;
platform?: {
appVersion?: string;
arch?: string;
hostname?: string;
os?: string;
osVersion?: string;
};
type: "kiosk" | "relay" | "scanner" | "signage";
}) => Promise<any>;
};

Defined in: client.ts:4352

Device Pairing methods

claim()

claim: (request: {
accountId: string;
accountRoles: {
accountId: string;
roleId: string;
}[];
locationId?: string;
name: string;
userCode: string;
}) => Promise<any>;

Claim a device pairing Staff claim a pending pairing for their organisation, naming the device and granting roles.

Parameters
ParameterType
request{ accountId: string; accountRoles: { accountId: string; roleId: string; }[]; locationId?: string; name: string; userCode: string; }
request.accountIdstring
request.accountRoles{ accountId: string; roleId: string; }[]
request.locationId?string
request.namestring
request.userCodestring
Returns

Promise<any>

Operation Id

claimDevicePairing

confirm()

confirm: (pairingId: string, request: {
deviceCode: string;
}) => Promise<any>;

Confirm device adoption The device confirms adoption and receives its id + one-time secret (device-code auth).

Parameters
ParameterType
pairingIdstring
request{ deviceCode: string; }
request.deviceCodestring
Returns

Promise<any>

Operation Id

confirmDevicePairing

getStatus()

getStatus: (pairingId: string) => Promise<any>;

Poll device pairing status The device polls pairing status, authenticated by its device code (query or X-Device-Code header).

Parameters
ParameterType
pairingIdstring
Returns

Promise<any>

Operation Id

getDevicePairing

reject()

reject: (pairingId: string, request: {
deviceCode: string;
}) => Promise<any>;

Reject device adoption The device rejects adoption; the pairing is invalidated (device-code auth).

Parameters
ParameterType
pairingIdstring
request{ deviceCode: string; }
request.deviceCodestring
Returns

Promise<any>

Operation Id

rejectDevicePairing

start()

start: (request: {
name?: string;
platform?: {
appVersion?: string;
arch?: string;
hostname?: string;
os?: string;
osVersion?: string;
};
type: "kiosk" | "relay" | "scanner" | "signage";
}) => Promise<any>;

Start device pairing A device begins pairing and receives a user code + device code (unauthenticated).

Parameters
ParameterType
request{ name?: string; platform?: { appVersion?: string; arch?: string; hostname?: string; os?: string; osVersion?: string; }; type: "kiosk" | "relay" | "scanner" | "signage"; }
request.name?string
request.platform?{ appVersion?: string; arch?: string; hostname?: string; os?: string; osVersion?: string; }
request.platform.appVersion?string
request.platform.arch?string
request.platform.hostname?string
request.platform.os?string
request.platform.osVersion?string
request.type"kiosk" | "relay" | "scanner" | "signage"
Returns

Promise<any>

Operation Id

startDevicePairing


devices

devices: {
assignRoles: (deviceId: string, request: {
accountRoles: {
accountId: string;
roleId: string;
}[];
}) => Promise<any>;
delete: (deviceId: string) => Promise<any>;
dispatchCommand: (deviceId: string, request: {
idempotencyKey?: string;
payload?: Record<string, any>;
peripheralId?: string;
type: string;
}) => Promise<any>;
get: (deviceId: string) => Promise<any>;
getCommand: (commandId: string) => Promise<any>;
list: (options?: {
accountId?: string;
connectivity?: "unknown" | "online" | "offline";
locationId?: string;
status?: "active" | "revoked";
type?: string;
}) => Promise<any>;
listCommands: (deviceId: string) => Promise<any>;
listEvents: (deviceId: string) => Promise<any>;
mediaCatalog: () => Promise<any>;
mintLocalToken: (deviceId: string, request: {
accountIds?: string[];
allowedCommandTypes?: string[];
ttlSeconds?: number;
}) => Promise<any>;
printers: () => Promise<any>;
revoke: (deviceId: string) => Promise<any>;
rotateCredential: (deviceId: string, request: {
graceSeconds?: number;
}) => Promise<any>;
update: (deviceId: string, request: {
locationId?: any;
name?: string;
}) => Promise<any>;
};

Defined in: client.ts:4577

Devices methods

assignRoles()

assignRoles: (deviceId: string, request: {
accountRoles: {
accountId: string;
roleId: string;
}[];
}) => Promise<any>;

Assign device roles Replace a device’s account-role assignments.

Parameters
ParameterType
deviceIdstring
request{ accountRoles: { accountId: string; roleId: string; }[]; }
request.accountRoles{ accountId: string; roleId: string; }[]
Returns

Promise<any>

Operation Id

assignDeviceRoles

delete()

delete: (deviceId: string) => Promise<any>;

Delete device Soft-delete a revoked device.

Parameters
ParameterType
deviceIdstring
Returns

Promise<any>

Operation Id

deleteDevice

dispatchCommand()

dispatchCommand: (deviceId: string, request: {
idempotencyKey?: string;
payload?: Record<string, any>;
peripheralId?: string;
type: string;
}) => Promise<any>;

Dispatch a command Queue a command for a device or one of its peripherals. Idempotent on Idempotency-Key.

Parameters
ParameterType
deviceIdstring
request{ idempotencyKey?: string; payload?: Record<string, any>; peripheralId?: string; type: string; }
request.idempotencyKey?string
request.payload?Record<string, any>
request.peripheralId?string
request.typestring
Returns

Promise<any>

Operation Id

dispatchDeviceCommand

get()

get: (deviceId: string) => Promise<any>;

Get device Get a device with its peripherals and live status.

Parameters
ParameterType
deviceIdstring
Returns

Promise<any>

Operation Id

getDevice

getCommand()

getCommand: (commandId: string) => Promise<any>;

Get a command Get a single command’s status/result by id (poll for completion).

Parameters
ParameterType
commandIdstring
Returns

Promise<any>

Operation Id

getDeviceCommand

list()

list: (options?: {
accountId?: string;
connectivity?: "unknown" | "online" | "offline";
locationId?: string;
status?: "active" | "revoked";
type?: string;
}) => Promise<any>;

List devices List top-level devices (relays/scanners/kiosks) for the organisation.

Parameters
ParameterType
options?{ accountId?: string; connectivity?: "unknown" | "online" | "offline"; locationId?: string; status?: "active" | "revoked"; type?: string; }
options.accountId?string
options.connectivity?"unknown" | "online" | "offline"
options.locationId?string
options.status?"active" | "revoked"
options.type?string
Returns

Promise<any>

Operation Id

listDevices

listCommands()

listCommands: (deviceId: string) => Promise<any>;

List device commands Command history for a device (most recent first).

Parameters
ParameterType
deviceIdstring
Returns

Promise<any>

Operation Id

listDeviceCommands

listEvents()

listEvents: (deviceId: string) => Promise<any>;

List device events The device-operational event log (most recent first).

Parameters
ParameterType
deviceIdstring
Returns

Promise<any>

Operation Id

listDeviceEvents

mediaCatalog()

mediaCatalog: () => Promise<any>;

Print capability & standard-media catalog The canonical print capabilities and standard media sizes designs are authored against.

Returns

Promise<any>

Operation Id

getDeviceMediaCatalog

mintLocalToken()

mintLocalToken: (deviceId: string, request: {
accountIds?: string[];
allowedCommandTypes?: string[];
ttlSeconds?: number;
}) => Promise<any>;

Mint a Local Command Token Mint a short-lived, capability-scoped token a browser POS presents to the device’s local control plane.

Parameters
ParameterType
deviceIdstring
request{ accountIds?: string[]; allowedCommandTypes?: string[]; ttlSeconds?: number; }
request.accountIds?string[]
request.allowedCommandTypes?string[]
request.ttlSeconds?number
Returns

Promise<any>

Operation Id

mintLocalToken

printers()

printers: () => Promise<any>;

List printers Org-wide list of printer peripherals with status + capabilities, for the print-target picker.

Returns

Promise<any>

Operation Id

listPrinters

revoke()

revoke: (deviceId: string) => Promise<any>;

Revoke device Revoke a device and kill its credentials immediately.

Parameters
ParameterType
deviceIdstring
Returns

Promise<any>

Operation Id

revokeDevice

rotateCredential()

rotateCredential: (deviceId: string, request: {
graceSeconds?: number;
}) => Promise<any>;

Rotate device credential Issue a new device secret; existing credentials grace-expire.

Parameters
ParameterType
deviceIdstring
request{ graceSeconds?: number; }
request.graceSeconds?number
Returns

Promise<any>

Operation Id

rotateDeviceCredential

update()

update: (deviceId: string, request: {
locationId?: any;
name?: string;
}) => Promise<any>;

Update device Rename or relocate a device.

Parameters
ParameterType
deviceIdstring
request{ locationId?: any; name?: string; }
request.locationId?any
request.name?string
Returns

Promise<any>

Operation Id

updateDevice


deviceSelf

deviceSelf: {
declarePeripherals: (request: {
peripherals: {
address?: {
host: string;
port: number;
};
attachment?: "child" | "routed";
capabilities?: Record<string, any>;
clientKey: string;
kind: string;
model?: string;
name: string;
provider?: string;
vendor?: string;
}[];
}) => Promise<any>;
fetchCommands: (options?: {
wait?: number;
}) => Promise<any>;
getCertificate: () => Promise<any>;
getMe: () => Promise<any>;
heartbeat: (request: {
appVersion?: string;
lanAddresses?: {
interface: string;
ip: string;
}[];
localPort?: number;
peripheralStatuses?: {
clientKey: string;
status: Record<string, any>;
}[];
}) => Promise<any>;
ingestEvents: (request: {
events: {
id: string;
occurredAt: string;
payload?: Record<string, any>;
type: string;
}[];
}) => Promise<any>;
reportProgress: (commandId: string, request: {
progress: Record<string, any>;
}) => Promise<any>;
reportResult: (commandId: string, request: {
result?: Record<string, any>;
status: "completed" | "failed";
}) => Promise<any>;
};

Defined in: client.ts:4458

Device Self methods

declarePeripherals()

declarePeripherals: (request: {
peripherals: {
address?: {
host: string;
port: number;
};
attachment?: "child" | "routed";
capabilities?: Record<string, any>;
clientKey: string;
kind: string;
model?: string;
name: string;
provider?: string;
vendor?: string;
}[];
}) => Promise<any>;

Declare peripherals Full-replacement declaration of the relay’s peripherals; returns the stable device id per clientKey.

Parameters
ParameterType
request{ peripherals: { address?: { host: string; port: number; }; attachment?: "child" | "routed"; capabilities?: Record<string, any>; clientKey: string; kind: string; model?: string; name: string; provider?: string; vendor?: string; }[]; }
request.peripherals{ address?: { host: string; port: number; }; attachment?: "child" | "routed"; capabilities?: Record<string, any>; clientKey: string; kind: string; model?: string; name: string; provider?: string; vendor?: string; }[]
Returns

Promise<any>

Operation Id

declareDevicePeripherals

fetchCommands()

fetchCommands: (options?: {
wait?: number;
}) => Promise<any>;

Long-poll for commands Holds up to wait seconds (max 25) and returns pending commands, marking them delivered.

Parameters
ParameterType
options?{ wait?: number; }
options.wait?number
Returns

Promise<any>

Operation Id

fetchDeviceCommands

getCertificate()

getCertificate: () => Promise<any>;

Get local TLS certificate Fetch (or trigger issuance of) the device’s local-control-plane TLS cert + key.

Returns

Promise<any>

Operation Id

getDeviceCertificate

getMe()

getMe: () => Promise<any>;

Get own device record The device fetches its own record, granted roles and local config (device JWT).

Returns

Promise<any>

Operation Id

getDeviceMe

heartbeat()

heartbeat: (request: {
appVersion?: string;
lanAddresses?: {
interface: string;
ip: string;
}[];
localPort?: number;
peripheralStatuses?: {
clientKey: string;
status: Record<string, any>;
}[];
}) => Promise<any>;

Send a device heartbeat Reports presence + peripheral status; returns hints (commandsPending, cert renewal, JWKS version).

Parameters
ParameterType
request{ appVersion?: string; lanAddresses?: { interface: string; ip: string; }[]; localPort?: number; peripheralStatuses?: { clientKey: string; status: Record<string, any>; }[]; }
request.appVersion?string
request.lanAddresses?{ interface: string; ip: string; }[]
request.localPort?number
request.peripheralStatuses?{ clientKey: string; status: Record<string, any>; }[]
Returns

Promise<any>

Operation Id

deviceHeartbeat

ingestEvents()

ingestEvents: (request: {
events: {
id: string;
occurredAt: string;
payload?: Record<string, any>;
type: string;
}[];
}) => Promise<any>;

Upload device events Batch (≤500) idempotent upload of device-operational events; per-item accepted|duplicate.

Parameters
ParameterType
request{ events: { id: string; occurredAt: string; payload?: Record<string, any>; type: string; }[]; }
request.events{ id: string; occurredAt: string; payload?: Record<string, any>; type: string; }[]
Returns

Promise<any>

Operation Id

ingestDeviceEvents

reportProgress()

reportProgress: (commandId: string, request: {
progress: Record<string, any>;
}) => Promise<any>;

Report command progress Optional in-flight progress update (e.g. payment terminal awaiting card).

Parameters
ParameterType
commandIdstring
request{ progress: Record<string, any>; }
request.progressRecord<string, any>
Returns

Promise<any>

Operation Id

reportCommandProgress

reportResult()

reportResult: (commandId: string, request: {
result?: Record<string, any>;
status: "completed" | "failed";
}) => Promise<any>;

Report command result Terminal result (completed|failed). Idempotent - the first terminal result wins.

Parameters
ParameterType
commandIdstring
request{ result?: Record<string, any>; status: "completed" | "failed"; }
request.result?Record<string, any>
request.status"completed" | "failed"
Returns

Promise<any>

Operation Id

reportCommandResult


embed

embed: {
createSession: (request: {
[key: string]: unknown;
accountId: string;
scopes?: string[];
}) => Promise<EmbedSession>;
currentSession: () => Promise<EmbedSessionInfo>;
};

Defined in: client.ts:751

Embed session methods (partner-hosted Backstage widgets)

createSession()

createSession: (request: {
[key: string]: unknown;
accountId: string;
scopes?: string[];
}) => Promise<EmbedSession>;

Create embed session Mint a short-lived embed session for one account, using an organisation API key. The token is a bearer token limited to that account and the given scopes; hand it to the embed loader, never to the browser as a long-lived credential.

Parameters
ParameterType
request{ [key: string]: unknown; accountId: string; scopes?: string[]; }
request.accountIdstring
request.scopes?string[]
Returns

Promise<EmbedSession>

Operation Id

createEmbedSession

currentSession()

currentSession: () => Promise<EmbedSessionInfo>;

Get current embed session Describe the embed session behind the bearer token: organisation, account, scopes and expiry.

Returns

Promise<EmbedSessionInfo>

Operation Id

getCurrentEmbedSession


events

events: (eventId: string) => {
occurrences: {
create: (request: {
categoryMapping?: {
enabled?: boolean;
ticketCategoryId: string;
venueLayoutCategoryId: string;
}[];
endDate: string;
endTime: string;
priceSchemeId?: string;
startDate: string;
startTime: string;
status: "draft" | "on_sale" | "sold_out" | "completed" | "cancelled";
ticketSchemeId?: string;
timezone?: string;
venueId?: string;
venueLayoutId?: string;
}) => Promise<{
accountId: string;
createdAt: string;
endDate: string;
endTime: string;
eventId: string;
id: string;
isDeleted: boolean;
organisationId: string;
startDate: string;
startTime: string;
status: "draft" | "on_sale" | "sold_out" | "completed" | "cancelled";
timezone: string;
updatedAt: string;
venueId?: string;
}>;
delete: (occurrenceId: string) => Promise<{
id: string;
success: boolean;
}>;
get: (occurrenceId: string) => Promise<{
accountId: string;
createdAt: string;
endDate: string;
endTime: string;
eventId: string;
id: string;
isDeleted: boolean;
organisationId: string;
startDate: string;
startTime: string;
status: "draft" | "on_sale" | "sold_out" | "completed" | "cancelled";
timezone: string;
updatedAt: string;
venueId?: string;
}>;
list: (options?: {
limit?: string;
page?: string;
startDateFrom?: string;
startDateTo?: string;
status?: "draft" | "on_sale" | "sold_out" | "completed" | "cancelled";
venueId?: string;
}) => Promise<{
eventOccurrences: {
accountId: string;
createdAt: string;
endDate: string;
endTime: string;
eventId: string;
id: string;
isDeleted: boolean;
organisationId: string;
startDate: string;
startTime: string;
status: "draft" | "on_sale" | "sold_out" | "completed" | "cancelled";
timezone: string;
updatedAt: string;
venueId?: string;
}[];
pagination: {
hasNext: boolean;
hasPrev: boolean;
limit: number;
page: number;
total: number;
totalPages: number;
};
}>;
update: (occurrenceId: string, request: {
categoryMapping?: any;
endDate?: string;
endTime?: string;
priceSchemeId?: any;
startDate?: string;
startTime?: string;
status?: "draft" | "on_sale" | "sold_out" | "completed" | "cancelled";
ticketSchemeId?: any;
timezone?: string;
venueId?: any;
venueLayoutId?: any;
}) => Promise<{
accountId: string;
createdAt: string;
endDate: string;
endTime: string;
eventId: string;
id: string;
isDeleted: boolean;
organisationId: string;
startDate: string;
startTime: string;
status: "draft" | "on_sale" | "sold_out" | "completed" | "cancelled";
timezone: string;
updatedAt: string;
venueId?: string;
}>;
};
priceschemes: {
create: (request: {
description?: string;
name: string;
parentPriceSchemeId?: string;
status?: "active" | "draft" | "archived";
ticketPrices?: {
categoryId: string;
currency?: "GBP" | "USD" | "EUR" | "AUD" | "CAD";
price: number;
typeId: string;
}[];
}) => Promise<{
accountId: string;
createdAt: string;
description?: string;
eventId: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
parentPriceSchemeId?: string;
status: "active" | "draft" | "archived";
ticketPrices: {
categoryId: string;
currency: "GBP" | "USD" | "EUR" | "AUD" | "CAD";
price: number;
typeId: string;
}[];
updatedAt: string;
}>;
delete: (priceSchemeId: string) => Promise<{
id: string;
success: boolean;
}>;
get: (priceSchemeId: string) => Promise<{
accountId: string;
createdAt: string;
description?: string;
eventId: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
parentPriceSchemeId?: string;
status: "active" | "draft" | "archived";
ticketPrices: {
categoryId: string;
currency: "GBP" | "USD" | "EUR" | "AUD" | "CAD";
price: number;
typeId: string;
}[];
updatedAt: string;
}>;
list: () => Promise<{
accountId: string;
createdAt: string;
description?: string;
eventId: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
parentPriceSchemeId?: string;
status: "active" | "draft" | "archived";
ticketPrices: {
categoryId: string;
currency: ... | ... | ... | ... | ...;
price: number;
typeId: string;
}[];
updatedAt: string;
}[]>;
update: (priceSchemeId: string, request: {
description?: any;
name?: string;
status?: "active" | "draft" | "archived";
ticketPrices?: {
categoryId: string;
currency?: "GBP" | "USD" | "EUR" | "AUD" | "CAD";
price: number;
typeId: string;
}[];
}) => Promise<{
accountId: string;
createdAt: string;
description?: string;
eventId: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
parentPriceSchemeId?: string;
status: "active" | "draft" | "archived";
ticketPrices: {
categoryId: string;
currency: "GBP" | "USD" | "EUR" | "AUD" | "CAD";
price: number;
typeId: string;
}[];
updatedAt: string;
}>;
};
} & {
create: (request: {
accountId: string;
description?: string;
heroImageUrl?: any;
imageUrl?: any;
layout?: {
areas?: {
capacity: number;
categoryId?: string;
description?: string;
displayOrder?: number;
id?: string;
name: string;
type: "unallocated" | "allocated";
}[];
categories?: {
color?: string;
description?: string;
displayOrder?: number;
id?: string;
name: string;
}[];
venueLayoutTemplateId?: string;
};
name: string;
offSaleDate?: string;
onSaleDate?: string;
presentation?: any;
shortDescription?: any;
status?: | "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed"
| "cancelled";
subtitle?: any;
tags?: string[];
ticketTypes?: {
description?: string;
displayOrder: number;
id?: string;
name: string;
}[];
timezone?: string;
venueId?: any;
venueName?: any;
}) => Promise<{
accountId: string;
createdAt: string;
createdBy?: string;
description?: string;
id: string;
isDeleted: boolean;
name: string;
occurrenceCount: number;
offSaleDate?: string;
onSaleDate?: string;
organisationId: string;
productCount: number;
status: | "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed"
| "cancelled";
tags: string[];
ticketCount: number;
timezone: string;
updatedAt: string;
venueId?: string;
}>;
delete: (id: string) => Promise<{
id: string;
success: boolean;
}>;
get: (id: string, options?: {
expand?: string;
}) => Promise<{
accountId: string;
createdAt: string;
createdBy?: string;
description?: string;
id: string;
isDeleted: boolean;
name: string;
occurrenceCount: number;
offSaleDate?: string;
onSaleDate?: string;
organisationId: string;
productCount: number;
status: | "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed"
| "cancelled";
tags: string[];
ticketCount: number;
timezone: string;
updatedAt: string;
venueId?: string;
}>;
list: (options?: {
accountId?: string;
expand?: string;
limit?: string;
page?: string;
search?: string;
status?: | "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed"
| "cancelled";
venueId?: string;
}) => Promise<{
events: {
accountId: string;
createdAt: string;
createdBy?: string;
description?: string;
id: string;
isDeleted: boolean;
name: string;
occurrenceCount: number;
offSaleDate?: string;
onSaleDate?: string;
organisationId: string;
productCount: number;
status: | "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed"
| "cancelled";
tags: string[];
ticketCount: number;
timezone: string;
updatedAt: string;
venueId?: string;
}[];
pagination: {
hasNext: boolean;
hasPrev: boolean;
limit: number;
page: number;
total: number;
totalPages: number;
};
}>;
update: (id: string, request: {
description?: any;
heroImageUrl?: any;
imageUrl?: any;
layout?: {
areas?: {
capacity: number;
categoryId?: string;
description?: string;
displayOrder?: number;
id?: string;
name: string;
type: "unallocated" | "allocated";
}[];
categories?: {
color?: string;
description?: string;
displayOrder?: number;
id?: string;
name: string;
}[];
venueLayoutTemplateId?: string;
};
name?: string;
offSaleDate?: any;
onSaleDate?: any;
presentation?: any;
shortDescription?: any;
status?: | "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed"
| "cancelled";
subtitle?: any;
tags?: string[];
ticketTypes?: {
description?: string;
displayOrder: number;
id?: string;
name: string;
}[];
timezone?: string;
venueId?: any;
venueName?: any;
}) => Promise<{
accountId: string;
createdAt: string;
createdBy?: string;
description?: string;
id: string;
isDeleted: boolean;
name: string;
occurrenceCount: number;
offSaleDate?: string;
onSaleDate?: string;
organisationId: string;
productCount: number;
status: | "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed"
| "cancelled";
tags: string[];
ticketCount: number;
timezone: string;
updatedAt: string;
venueId?: string;
}>;
};

Defined in: client.ts:1336

Events methods Use events() to access nested resources: events(id).occurrences, priceschemes

Type Declaration

create()
create: (request: {
accountId: string;
description?: string;
heroImageUrl?: any;
imageUrl?: any;
layout?: {
areas?: {
capacity: number;
categoryId?: string;
description?: string;
displayOrder?: number;
id?: string;
name: string;
type: "unallocated" | "allocated";
}[];
categories?: {
color?: string;
description?: string;
displayOrder?: number;
id?: string;
name: string;
}[];
venueLayoutTemplateId?: string;
};
name: string;
offSaleDate?: string;
onSaleDate?: string;
presentation?: any;
shortDescription?: any;
status?: | "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed"
| "cancelled";
subtitle?: any;
tags?: string[];
ticketTypes?: {
description?: string;
displayOrder: number;
id?: string;
name: string;
}[];
timezone?: string;
venueId?: any;
venueName?: any;
}) => Promise<{
accountId: string;
createdAt: string;
createdBy?: string;
description?: string;
id: string;
isDeleted: boolean;
name: string;
occurrenceCount: number;
offSaleDate?: string;
onSaleDate?: string;
organisationId: string;
productCount: number;
status: | "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed"
| "cancelled";
tags: string[];
ticketCount: number;
timezone: string;
updatedAt: string;
venueId?: string;
}>;

Create event Create a new event in the organisation

Parameters
ParameterType
request{ accountId: string; description?: string; heroImageUrl?: any; imageUrl?: any; layout?: { areas?: { capacity: number; categoryId?: string; description?: string; displayOrder?: number; id?: string; name: string; type: "unallocated" | "allocated"; }[]; categories?: { color?: string; description?: string; displayOrder?: number; id?: string; name: string; }[]; venueLayoutTemplateId?: string; }; name: string; offSaleDate?: string; onSaleDate?: string; presentation?: any; shortDescription?: any; status?: | "draft" | "published" | "on_sale" | "sold_out" | "completed" | "cancelled"; subtitle?: any; tags?: string[]; ticketTypes?: { description?: string; displayOrder: number; id?: string; name: string; }[]; timezone?: string; venueId?: any; venueName?: any; }
request.accountIdstring
request.description?string
request.heroImageUrl?any
request.imageUrl?any
request.layout?{ areas?: { capacity: number; categoryId?: string; description?: string; displayOrder?: number; id?: string; name: string; type: "unallocated" | "allocated"; }[]; categories?: { color?: string; description?: string; displayOrder?: number; id?: string; name: string; }[]; venueLayoutTemplateId?: string; }
request.layout.areas?{ capacity: number; categoryId?: string; description?: string; displayOrder?: number; id?: string; name: string; type: "unallocated" | "allocated"; }[]
request.layout.categories?{ color?: string; description?: string; displayOrder?: number; id?: string; name: string; }[]
request.layout.venueLayoutTemplateId?string
request.namestring
request.offSaleDate?string
request.onSaleDate?string
request.presentation?any
request.shortDescription?any
request.status?| "draft" | "published" | "on_sale" | "sold_out" | "completed" | "cancelled"
request.subtitle?any
request.tags?string[]
request.ticketTypes?{ description?: string; displayOrder: number; id?: string; name: string; }[]
request.timezone?string
request.venueId?any
request.venueName?any
Returns

Promise<{ accountId: string; createdAt: string; createdBy?: string; description?: string; id: string; isDeleted: boolean; name: string; occurrenceCount: number; offSaleDate?: string; onSaleDate?: string; organisationId: string; productCount: number; status: | "draft" | "published" | "on_sale" | "sold_out" | "completed" | "cancelled"; tags: string[]; ticketCount: number; timezone: string; updatedAt: string; venueId?: string; }>

Operation Id

createEvent

delete()
delete: (id: string) => Promise<{
id: string;
success: boolean;
}>;

Delete event Delete an event (soft delete)

Parameters
ParameterType
idstring
Returns

Promise<{ id: string; success: boolean; }>

Operation Id

deleteEvent

get()
get: (id: string, options?: {
expand?: string;
}) => Promise<{
accountId: string;
createdAt: string;
createdBy?: string;
description?: string;
id: string;
isDeleted: boolean;
name: string;
occurrenceCount: number;
offSaleDate?: string;
onSaleDate?: string;
organisationId: string;
productCount: number;
status: | "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed"
| "cancelled";
tags: string[];
ticketCount: number;
timezone: string;
updatedAt: string;
venueId?: string;
}>;

Get event Get a specific event by ID. Use expand=venue to embed venue details.

Parameters
ParameterType
idstring
options?{ expand?: string; }
options.expand?string
Returns

Promise<{ accountId: string; createdAt: string; createdBy?: string; description?: string; id: string; isDeleted: boolean; name: string; occurrenceCount: number; offSaleDate?: string; onSaleDate?: string; organisationId: string; productCount: number; status: | "draft" | "published" | "on_sale" | "sold_out" | "completed" | "cancelled"; tags: string[]; ticketCount: number; timezone: string; updatedAt: string; venueId?: string; }>

Operation Id

getEvent

list()
list: (options?: {
accountId?: string;
expand?: string;
limit?: string;
page?: string;
search?: string;
status?: | "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed"
| "cancelled";
venueId?: string;
}) => Promise<{
events: {
accountId: string;
createdAt: string;
createdBy?: string;
description?: string;
id: string;
isDeleted: boolean;
name: string;
occurrenceCount: number;
offSaleDate?: string;
onSaleDate?: string;
organisationId: string;
productCount: number;
status: | "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed"
| "cancelled";
tags: string[];
ticketCount: number;
timezone: string;
updatedAt: string;
venueId?: string;
}[];
pagination: {
hasNext: boolean;
hasPrev: boolean;
limit: number;
page: number;
total: number;
totalPages: number;
};
}>;

List events List all events for the organisation with optional filtering and pagination. Use expand=venue to embed venue details.

Parameters
ParameterType
options?{ accountId?: string; expand?: string; limit?: string; page?: string; search?: string; status?: | "draft" | "published" | "on_sale" | "sold_out" | "completed" | "cancelled"; venueId?: string; }
options.accountId?string
options.expand?string
options.limit?string
options.page?string
options.search?string
options.status?| "draft" | "published" | "on_sale" | "sold_out" | "completed" | "cancelled"
options.venueId?string
Returns

Promise<{ events: { accountId: string; createdAt: string; createdBy?: string; description?: string; id: string; isDeleted: boolean; name: string; occurrenceCount: number; offSaleDate?: string; onSaleDate?: string; organisationId: string; productCount: number; status: | "draft" | "published" | "on_sale" | "sold_out" | "completed" | "cancelled"; tags: string[]; ticketCount: number; timezone: string; updatedAt: string; venueId?: string; }[]; pagination: { hasNext: boolean; hasPrev: boolean; limit: number; page: number; total: number; totalPages: number; }; }>

Operation Id

listEvents

update()
update: (id: string, request: {
description?: any;
heroImageUrl?: any;
imageUrl?: any;
layout?: {
areas?: {
capacity: number;
categoryId?: string;
description?: string;
displayOrder?: number;
id?: string;
name: string;
type: "unallocated" | "allocated";
}[];
categories?: {
color?: string;
description?: string;
displayOrder?: number;
id?: string;
name: string;
}[];
venueLayoutTemplateId?: string;
};
name?: string;
offSaleDate?: any;
onSaleDate?: any;
presentation?: any;
shortDescription?: any;
status?: | "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed"
| "cancelled";
subtitle?: any;
tags?: string[];
ticketTypes?: {
description?: string;
displayOrder: number;
id?: string;
name: string;
}[];
timezone?: string;
venueId?: any;
venueName?: any;
}) => Promise<{
accountId: string;
createdAt: string;
createdBy?: string;
description?: string;
id: string;
isDeleted: boolean;
name: string;
occurrenceCount: number;
offSaleDate?: string;
onSaleDate?: string;
organisationId: string;
productCount: number;
status: | "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed"
| "cancelled";
tags: string[];
ticketCount: number;
timezone: string;
updatedAt: string;
venueId?: string;
}>;

Update event Update an existing event

Parameters
ParameterType
idstring
request{ description?: any; heroImageUrl?: any; imageUrl?: any; layout?: { areas?: { capacity: number; categoryId?: string; description?: string; displayOrder?: number; id?: string; name: string; type: "unallocated" | "allocated"; }[]; categories?: { color?: string; description?: string; displayOrder?: number; id?: string; name: string; }[]; venueLayoutTemplateId?: string; }; name?: string; offSaleDate?: any; onSaleDate?: any; presentation?: any; shortDescription?: any; status?: | "draft" | "published" | "on_sale" | "sold_out" | "completed" | "cancelled"; subtitle?: any; tags?: string[]; ticketTypes?: { description?: string; displayOrder: number; id?: string; name: string; }[]; timezone?: string; venueId?: any; venueName?: any; }
request.description?any
request.heroImageUrl?any
request.imageUrl?any
request.layout?{ areas?: { capacity: number; categoryId?: string; description?: string; displayOrder?: number; id?: string; name: string; type: "unallocated" | "allocated"; }[]; categories?: { color?: string; description?: string; displayOrder?: number; id?: string; name: string; }[]; venueLayoutTemplateId?: string; }
request.layout.areas?{ capacity: number; categoryId?: string; description?: string; displayOrder?: number; id?: string; name: string; type: "unallocated" | "allocated"; }[]
request.layout.categories?{ color?: string; description?: string; displayOrder?: number; id?: string; name: string; }[]
request.layout.venueLayoutTemplateId?string
request.name?string
request.offSaleDate?any
request.onSaleDate?any
request.presentation?any
request.shortDescription?any
request.status?| "draft" | "published" | "on_sale" | "sold_out" | "completed" | "cancelled"
request.subtitle?any
request.tags?string[]
request.ticketTypes?{ description?: string; displayOrder: number; id?: string; name: string; }[]
request.timezone?string
request.venueId?any
request.venueName?any
Returns

Promise<{ accountId: string; createdAt: string; createdBy?: string; description?: string; id: string; isDeleted: boolean; name: string; occurrenceCount: number; offSaleDate?: string; onSaleDate?: string; organisationId: string; productCount: number; status: | "draft" | "published" | "on_sale" | "sold_out" | "completed" | "cancelled"; tags: string[]; ticketCount: number; timezone: string; updatedAt: string; venueId?: string; }>

Operation Id

updateEvent


feeProfiles

feeProfiles: {
create: (request: {
name: string;
serviceFeeEnabled?: boolean;
serviceFeeFixed?: number;
serviceFeeLabel?: string;
serviceFeePercent?: number;
}) => Promise<{
createdAt: string;
deletedAt: string | null;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
serviceFeeEnabled: boolean;
serviceFeeFixed: number | null;
serviceFeeLabel: string | null;
serviceFeePercent: string | null;
updatedAt: string;
}>;
delete: (profileId: string) => Promise<boolean>;
get: (profileId: string) => Promise<{
createdAt: string;
deletedAt: string | null;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
serviceFeeEnabled: boolean;
serviceFeeFixed: number | null;
serviceFeeLabel: string | null;
serviceFeePercent: string | null;
updatedAt: string;
}>;
list: () => Promise<{
createdAt: string;
deletedAt: string | null;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
serviceFeeEnabled: boolean;
serviceFeeFixed: number | null;
serviceFeeLabel: string | null;
serviceFeePercent: string | null;
updatedAt: string;
}[]>;
update: (profileId: string, request: {
name?: string;
serviceFeeEnabled?: boolean;
serviceFeeFixed?: number;
serviceFeeLabel?: string;
serviceFeePercent?: number;
}) => Promise<{
createdAt: string;
deletedAt: string | null;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
serviceFeeEnabled: boolean;
serviceFeeFixed: number | null;
serviceFeeLabel: string | null;
serviceFeePercent: string | null;
updatedAt: string;
}>;
};

Defined in: client.ts:3493

Fee Profiles methods

create()

create: (request: {
name: string;
serviceFeeEnabled?: boolean;
serviceFeeFixed?: number;
serviceFeeLabel?: string;
serviceFeePercent?: number;
}) => Promise<{
createdAt: string;
deletedAt: string | null;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
serviceFeeEnabled: boolean;
serviceFeeFixed: number | null;
serviceFeeLabel: string | null;
serviceFeePercent: string | null;
updatedAt: string;
}>;

Create fee profile Create an org-level fee configuration that sales channels can reference

Parameters
ParameterType
request{ name: string; serviceFeeEnabled?: boolean; serviceFeeFixed?: number; serviceFeeLabel?: string; serviceFeePercent?: number; }
request.namestring
request.serviceFeeEnabled?boolean
request.serviceFeeFixed?number
request.serviceFeeLabel?string
request.serviceFeePercent?number
Returns

Promise<{ createdAt: string; deletedAt: string | null; id: string; isDeleted: boolean; name: string; organisationId: string; serviceFeeEnabled: boolean; serviceFeeFixed: number | null; serviceFeeLabel: string | null; serviceFeePercent: string | null; updatedAt: string; }>

Operation Id

createFeeProfile

delete()

delete: (profileId: string) => Promise<boolean>;

Delete fee profile Soft-delete a fee profile

Parameters
ParameterType
profileIdstring
Returns

Promise<boolean>

Operation Id

deleteFeeProfile

get()

get: (profileId: string) => Promise<{
createdAt: string;
deletedAt: string | null;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
serviceFeeEnabled: boolean;
serviceFeeFixed: number | null;
serviceFeeLabel: string | null;
serviceFeePercent: string | null;
updatedAt: string;
}>;

Get fee profile Get a fee profile by ID

Parameters
ParameterType
profileIdstring
Returns

Promise<{ createdAt: string; deletedAt: string | null; id: string; isDeleted: boolean; name: string; organisationId: string; serviceFeeEnabled: boolean; serviceFeeFixed: number | null; serviceFeeLabel: string | null; serviceFeePercent: string | null; updatedAt: string; }>

Operation Id

getFeeProfile

list()

list: () => Promise<{
createdAt: string;
deletedAt: string | null;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
serviceFeeEnabled: boolean;
serviceFeeFixed: number | null;
serviceFeeLabel: string | null;
serviceFeePercent: string | null;
updatedAt: string;
}[]>;

List fee profiles List the organisation's fee profiles

Returns

Promise<{ createdAt: string; deletedAt: string | null; id: string; isDeleted: boolean; name: string; organisationId: string; serviceFeeEnabled: boolean; serviceFeeFixed: number | null; serviceFeeLabel: string | null; serviceFeePercent: string | null; updatedAt: string; }[]>

Operation Id

listFeeProfiles

update()

update: (profileId: string, request: {
name?: string;
serviceFeeEnabled?: boolean;
serviceFeeFixed?: number;
serviceFeeLabel?: string;
serviceFeePercent?: number;
}) => Promise<{
createdAt: string;
deletedAt: string | null;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
serviceFeeEnabled: boolean;
serviceFeeFixed: number | null;
serviceFeeLabel: string | null;
serviceFeePercent: string | null;
updatedAt: string;
}>;

Update fee profile Update a fee profile

Parameters
ParameterType
profileIdstring
request{ name?: string; serviceFeeEnabled?: boolean; serviceFeeFixed?: number; serviceFeeLabel?: string; serviceFeePercent?: number; }
request.name?string
request.serviceFeeEnabled?boolean
request.serviceFeeFixed?number
request.serviceFeeLabel?string
request.serviceFeePercent?number
Returns

Promise<{ createdAt: string; deletedAt: string | null; id: string; isDeleted: boolean; name: string; organisationId: string; serviceFeeEnabled: boolean; serviceFeeFixed: number | null; serviceFeeLabel: string | null; serviceFeePercent: string | null; updatedAt: string; }>

Operation Id

updateFeeProfile


identityProviders

identityProviders: {
get: (id: string) => Promise<{
allowedClientIds: string[];
authorizationEndpoint: string | null;
cacheTtl: number;
clientId: string | null;
configuration: | {
[key: string]: unknown;
}
| null;
createdAt: string;
emailDomain: string | null;
id: string;
isDefault: boolean;
isEnabled: boolean;
issuer: string;
jwksUri: string;
jwksUriInternal: string | null;
organisationId: string | null;
providerType: string;
scopes: string[];
supportsPkce: boolean;
tokenEndpoint: string | null;
tokenEndpointInternal: string | null;
updatedAt: string;
userinfoEndpoint: string | null;
userinfoEndpointInternal: string | null;
}>;
list: (options?: {
organisationId?: string;
}) => Promise<{
allowedClientIds: string[];
authorizationEndpoint: string | null;
cacheTtl: number;
clientId: string | null;
configuration: | {
[key: string]: unknown;
}
| null;
createdAt: string;
emailDomain: string | null;
id: string;
isDefault: boolean;
isEnabled: boolean;
issuer: string;
jwksUri: string;
jwksUriInternal: string | null;
organisationId: string | null;
providerType: string;
scopes: string[];
supportsPkce: boolean;
tokenEndpoint: string | null;
tokenEndpointInternal: string | null;
updatedAt: string;
userinfoEndpoint: string | null;
userinfoEndpointInternal: string | null;
}[]>;
update: (id: string, request: {
allowedClientIds?: string[];
cacheTtl?: number;
configuration?: {
[key: string]: unknown;
};
emailDomain?: string | null;
isDefault?: boolean;
isEnabled?: boolean;
scopes?: string[];
}) => Promise<{
allowedClientIds: string[];
authorizationEndpoint: string | null;
cacheTtl: number;
clientId: string | null;
configuration: | {
[key: string]: unknown;
}
| null;
createdAt: string;
emailDomain: string | null;
id: string;
isDefault: boolean;
isEnabled: boolean;
issuer: string;
jwksUri: string;
jwksUriInternal: string | null;
organisationId: string | null;
providerType: string;
scopes: string[];
supportsPkce: boolean;
tokenEndpoint: string | null;
tokenEndpointInternal: string | null;
updatedAt: string;
userinfoEndpoint: string | null;
userinfoEndpointInternal: string | null;
}>;
};

Defined in: client.ts:1051

Identity Providers methods

get()

get: (id: string) => Promise<{
allowedClientIds: string[];
authorizationEndpoint: string | null;
cacheTtl: number;
clientId: string | null;
configuration: | {
[key: string]: unknown;
}
| null;
createdAt: string;
emailDomain: string | null;
id: string;
isDefault: boolean;
isEnabled: boolean;
issuer: string;
jwksUri: string;
jwksUriInternal: string | null;
organisationId: string | null;
providerType: string;
scopes: string[];
supportsPkce: boolean;
tokenEndpoint: string | null;
tokenEndpointInternal: string | null;
updatedAt: string;
userinfoEndpoint: string | null;
userinfoEndpointInternal: string | null;
}>;

Get identity provider Get a specific identity provider by ID

Parameters
ParameterType
idstring
Returns

Promise<{ allowedClientIds: string[]; authorizationEndpoint: string | null; cacheTtl: number; clientId: string | null; configuration: | { [key: string]: unknown; } | null; createdAt: string; emailDomain: string | null; id: string; isDefault: boolean; isEnabled: boolean; issuer: string; jwksUri: string; jwksUriInternal: string | null; organisationId: string | null; providerType: string; scopes: string[]; supportsPkce: boolean; tokenEndpoint: string | null; tokenEndpointInternal: string | null; updatedAt: string; userinfoEndpoint: string | null; userinfoEndpointInternal: string | null; }>

Operation Id

getIdentityProvider

list()

list: (options?: {
organisationId?: string;
}) => Promise<{
allowedClientIds: string[];
authorizationEndpoint: string | null;
cacheTtl: number;
clientId: string | null;
configuration: | {
[key: string]: unknown;
}
| null;
createdAt: string;
emailDomain: string | null;
id: string;
isDefault: boolean;
isEnabled: boolean;
issuer: string;
jwksUri: string;
jwksUriInternal: string | null;
organisationId: string | null;
providerType: string;
scopes: string[];
supportsPkce: boolean;
tokenEndpoint: string | null;
tokenEndpointInternal: string | null;
updatedAt: string;
userinfoEndpoint: string | null;
userinfoEndpointInternal: string | null;
}[]>;

List identity providers List all identity providers for the organisation

Parameters
ParameterType
options?{ organisationId?: string; }
options.organisationId?string
Returns

Promise<{ allowedClientIds: string[]; authorizationEndpoint: string | null; cacheTtl: number; clientId: string | null; configuration: | { [key: string]: unknown; } | null; createdAt: string; emailDomain: string | null; id: string; isDefault: boolean; isEnabled: boolean; issuer: string; jwksUri: string; jwksUriInternal: string | null; organisationId: string | null; providerType: string; scopes: string[]; supportsPkce: boolean; tokenEndpoint: string | null; tokenEndpointInternal: string | null; updatedAt: string; userinfoEndpoint: string | null; userinfoEndpointInternal: string | null; }[]>

Operation Id

listIdentityProviders

update()

update: (id: string, request: {
allowedClientIds?: string[];
cacheTtl?: number;
configuration?: {
[key: string]: unknown;
};
emailDomain?: string | null;
isDefault?: boolean;
isEnabled?: boolean;
scopes?: string[];
}) => Promise<{
allowedClientIds: string[];
authorizationEndpoint: string | null;
cacheTtl: number;
clientId: string | null;
configuration: | {
[key: string]: unknown;
}
| null;
createdAt: string;
emailDomain: string | null;
id: string;
isDefault: boolean;
isEnabled: boolean;
issuer: string;
jwksUri: string;
jwksUriInternal: string | null;
organisationId: string | null;
providerType: string;
scopes: string[];
supportsPkce: boolean;
tokenEndpoint: string | null;
tokenEndpointInternal: string | null;
updatedAt: string;
userinfoEndpoint: string | null;
userinfoEndpointInternal: string | null;
}>;

Update identity provider Update an identity provider configuration

Parameters
ParameterTypeDescription
idstring-
request{ allowedClientIds?: string[]; cacheTtl?: number; configuration?: { [key: string]: unknown; }; emailDomain?: string | null; isDefault?: boolean; isEnabled?: boolean; scopes?: string[]; }-
request.allowedClientIds?string[]Example [ "backstage-app" ]
request.cacheTtl?numberExample 600
request.configuration?{ [key: string]: unknown; }Example {}
request.emailDomain?string | nullExample @example.com
request.isDefault?booleanExample false
request.isEnabled?booleanExample true
request.scopes?string[]Example [ "openid", "profile", "email" ]
Returns

Promise<{ allowedClientIds: string[]; authorizationEndpoint: string | null; cacheTtl: number; clientId: string | null; configuration: | { [key: string]: unknown; } | null; createdAt: string; emailDomain: string | null; id: string; isDefault: boolean; isEnabled: boolean; issuer: string; jwksUri: string; jwksUriInternal: string | null; organisationId: string | null; providerType: string; scopes: string[]; supportsPkce: boolean; tokenEndpoint: string | null; tokenEndpointInternal: string | null; updatedAt: string; userinfoEndpoint: string | null; userinfoEndpointInternal: string | null; }>

Operation Id

updateIdentityProvider


integrations

integrations: {
get: (id: string) => Promise<any>;
list: () => Promise<any>;
listConnectedApps: () => Promise<any>;
revokeConnection: (id: string) => Promise<any>;
};

Defined in: client.ts:5283

Integrations methods

get()

get: (id: string) => Promise<any>;

Get an integration

Parameters
ParameterType
idstring
Returns

Promise<any>

Operation Id

getIntegration

list()

list: () => Promise<any>;

List the integration marketplace The marketplace catalogue (connected apps + provider integrations) with this org’s status for each.

Returns

Promise<any>

Operation Id

listIntegrations

listConnectedApps()

listConnectedApps: () => Promise<any>;

List connected OAuth apps for the org

Returns

Promise<any>

Operation Id

listConnectedApps

revokeConnection()

revokeConnection: (id: string) => Promise<any>;

Revoke a connected app

Parameters
ParameterType
idstring
Returns

Promise<any>

Operation Id

revokeIntegrationConnection


inventory

inventory: {
create: (request: {
accountId: string;
eventId?: string;
eventLayoutAreaId?: string;
eventOccurrenceId?: string;
isAllocated?: boolean;
metadata?: Record<string, any>;
productId?: string;
sourceType: "event_occurrence_area" | "product";
totalCapacity: number;
}) => Promise<{
accountId: string;
available: number;
confirmed: number;
createdAt: string;
eventId: string | null;
eventLayoutAreaId: string | null;
eventOccurrenceId: string | null;
held: number;
id: string;
isAllocated: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
productId: string | null;
reserved: number;
sourceType: "event_occurrence_area" | "product";
totalCapacity: number;
updatedAt: string;
version: number;
}>;
delete: (id: string, options?: {
accountId: string;
}) => Promise<string>;
get: (id: string, options?: {
accountId: string;
}) => Promise<{
accountId: string;
available: number;
confirmed: number;
createdAt: string;
eventId: string | null;
eventLayoutAreaId: string | null;
eventOccurrenceId: string | null;
held: number;
id: string;
isAllocated: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
productId: string | null;
reserved: number;
sourceType: "event_occurrence_area" | "product";
totalCapacity: number;
updatedAt: string;
version: number;
}>;
getAuditLog: (id: string, options?: {
accountId: string;
}) => Promise<{
action: string;
actorId: string | null;
actorType: string | null;
changes: {
[key: string]: unknown;
};
createdAt: string;
id: number;
inventoryId: string;
referenceId: string | null;
referenceType: string | null;
}[]>;
list: (options?: {
eventId?: string;
eventOccurrenceId?: string;
isAllocated?: "true" | "false";
productId?: string;
sourceType?: "event_occurrence_area" | "product";
}) => Promise<{
accountId: string;
available: number;
confirmed: number;
createdAt: string;
eventId: string | null;
eventLayoutAreaId: string | null;
eventOccurrenceId: string | null;
held: number;
id: string;
isAllocated: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
productId: string | null;
reserved: number;
sourceType: "event_occurrence_area" | "product";
totalCapacity: number;
updatedAt: string;
version: number;
}[]>;
updateCapacity: (id: string, request: {
accountId: string;
totalCapacity: number;
}) => Promise<{
accountId: string;
available: number;
confirmed: number;
createdAt: string;
eventId: string | null;
eventLayoutAreaId: string | null;
eventOccurrenceId: string | null;
held: number;
id: string;
isAllocated: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
productId: string | null;
reserved: number;
sourceType: "event_occurrence_area" | "product";
totalCapacity: number;
updatedAt: string;
version: number;
}>;
};

Defined in: client.ts:2228

Inventory methods

create()

create: (request: {
accountId: string;
eventId?: string;
eventLayoutAreaId?: string;
eventOccurrenceId?: string;
isAllocated?: boolean;
metadata?: Record<string, any>;
productId?: string;
sourceType: "event_occurrence_area" | "product";
totalCapacity: number;
}) => Promise<{
accountId: string;
available: number;
confirmed: number;
createdAt: string;
eventId: string | null;
eventLayoutAreaId: string | null;
eventOccurrenceId: string | null;
held: number;
id: string;
isAllocated: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
productId: string | null;
reserved: number;
sourceType: "event_occurrence_area" | "product";
totalCapacity: number;
updatedAt: string;
version: number;
}>;

Create inventory Create a new inventory bucket for tracking capacity

Parameters
ParameterType
request{ accountId: string; eventId?: string; eventLayoutAreaId?: string; eventOccurrenceId?: string; isAllocated?: boolean; metadata?: Record<string, any>; productId?: string; sourceType: "event_occurrence_area" | "product"; totalCapacity: number; }
request.accountIdstring
request.eventId?string
request.eventLayoutAreaId?string
request.eventOccurrenceId?string
request.isAllocated?boolean
request.metadata?Record<string, any>
request.productId?string
request.sourceType"event_occurrence_area" | "product"
request.totalCapacitynumber
Returns

Promise<{ accountId: string; available: number; confirmed: number; createdAt: string; eventId: string | null; eventLayoutAreaId: string | null; eventOccurrenceId: string | null; held: number; id: string; isAllocated: boolean; metadata: | { [key: string]: unknown; } | null; organisationId: string; productId: string | null; reserved: number; sourceType: "event_occurrence_area" | "product"; totalCapacity: number; updatedAt: string; version: number; }>

Operation Id

createInventory

delete()

delete: (id: string, options?: {
accountId: string;
}) => Promise<string>;

Delete inventory Delete an inventory bucket (only if no confirmed reservations)

Parameters
ParameterType
idstring
options?{ accountId: string; }
options.accountId?string
Returns

Promise<string>

Operation Id

deleteInventory

get()

get: (id: string, options?: {
accountId: string;
}) => Promise<{
accountId: string;
available: number;
confirmed: number;
createdAt: string;
eventId: string | null;
eventLayoutAreaId: string | null;
eventOccurrenceId: string | null;
held: number;
id: string;
isAllocated: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
productId: string | null;
reserved: number;
sourceType: "event_occurrence_area" | "product";
totalCapacity: number;
updatedAt: string;
version: number;
}>;

Get inventory Get a specific inventory bucket by ID

Parameters
ParameterType
idstring
options?{ accountId: string; }
options.accountId?string
Returns

Promise<{ accountId: string; available: number; confirmed: number; createdAt: string; eventId: string | null; eventLayoutAreaId: string | null; eventOccurrenceId: string | null; held: number; id: string; isAllocated: boolean; metadata: | { [key: string]: unknown; } | null; organisationId: string; productId: string | null; reserved: number; sourceType: "event_occurrence_area" | "product"; totalCapacity: number; updatedAt: string; version: number; }>

Operation Id

getInventory

getAuditLog()

getAuditLog: (id: string, options?: {
accountId: string;
}) => Promise<{
action: string;
actorId: string | null;
actorType: string | null;
changes: {
[key: string]: unknown;
};
createdAt: string;
id: number;
inventoryId: string;
referenceId: string | null;
referenceType: string | null;
}[]>;

Get inventory audit log Get the audit log for an inventory bucket

Parameters
ParameterType
idstring
options?{ accountId: string; }
options.accountId?string
Returns

Promise<{ action: string; actorId: string | null; actorType: string | null; changes: { [key: string]: unknown; }; createdAt: string; id: number; inventoryId: string; referenceId: string | null; referenceType: string | null; }[]>

Operation Id

getInventoryAuditLog

list()

list: (options?: {
eventId?: string;
eventOccurrenceId?: string;
isAllocated?: "true" | "false";
productId?: string;
sourceType?: "event_occurrence_area" | "product";
}) => Promise<{
accountId: string;
available: number;
confirmed: number;
createdAt: string;
eventId: string | null;
eventLayoutAreaId: string | null;
eventOccurrenceId: string | null;
held: number;
id: string;
isAllocated: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
productId: string | null;
reserved: number;
sourceType: "event_occurrence_area" | "product";
totalCapacity: number;
updatedAt: string;
version: number;
}[]>;

List inventory List all inventory buckets for the organisation with optional filtering

Parameters
ParameterType
options?{ eventId?: string; eventOccurrenceId?: string; isAllocated?: "true" | "false"; productId?: string; sourceType?: "event_occurrence_area" | "product"; }
options.eventId?string
options.eventOccurrenceId?string
options.isAllocated?"true" | "false"
options.productId?string
options.sourceType?"event_occurrence_area" | "product"
Returns

Promise<{ accountId: string; available: number; confirmed: number; createdAt: string; eventId: string | null; eventLayoutAreaId: string | null; eventOccurrenceId: string | null; held: number; id: string; isAllocated: boolean; metadata: | { [key: string]: unknown; } | null; organisationId: string; productId: string | null; reserved: number; sourceType: "event_occurrence_area" | "product"; totalCapacity: number; updatedAt: string; version: number; }[]>

Operation Id

listInventory

updateCapacity()

updateCapacity: (id: string, request: {
accountId: string;
totalCapacity: number;
}) => Promise<{
accountId: string;
available: number;
confirmed: number;
createdAt: string;
eventId: string | null;
eventLayoutAreaId: string | null;
eventOccurrenceId: string | null;
held: number;
id: string;
isAllocated: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
productId: string | null;
reserved: number;
sourceType: "event_occurrence_area" | "product";
totalCapacity: number;
updatedAt: string;
version: number;
}>;

Update inventory capacity Update the total capacity of an inventory bucket

Parameters
ParameterType
idstring
request{ accountId: string; totalCapacity: number; }
request.accountIdstring
request.totalCapacitynumber
Returns

Promise<{ accountId: string; available: number; confirmed: number; createdAt: string; eventId: string | null; eventLayoutAreaId: string | null; eventOccurrenceId: string | null; held: number; id: string; isAllocated: boolean; metadata: | { [key: string]: unknown; } | null; organisationId: string; productId: string | null; reserved: number; sourceType: "event_occurrence_area" | "product"; totalCapacity: number; updatedAt: string; version: number; }>

Operation Id

updateInventoryCapacity


inventoryHolds

inventoryHolds: {
createHold: (request: {
accountId: string;
expiresAt?: string;
heldBy: string;
inventoryId: string;
quantity?: number;
reason: string;
seatIds?: string[];
}) => Promise<{
accountId: string;
createdAt: string;
expiresAt: string | null;
heldBy: string | null;
id: string;
inventoryId: string;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
quantity: number;
reason: string | null;
referenceId: string | null;
referenceType: "subscription" | "order" | "hold" | null;
seatIds: string[] | null;
type: "confirmed" | "maintenance" | "hold" | "temporary";
updatedAt: string;
}>;
releaseHold: (id: string, request: {
accountId: string;
}) => Promise<string>;
};

Defined in: client.ts:2492

Inventory Holds methods

createHold()

createHold: (request: {
accountId: string;
expiresAt?: string;
heldBy: string;
inventoryId: string;
quantity?: number;
reason: string;
seatIds?: string[];
}) => Promise<{
accountId: string;
createdAt: string;
expiresAt: string | null;
heldBy: string | null;
id: string;
inventoryId: string;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
quantity: number;
reason: string | null;
referenceId: string | null;
referenceType: "subscription" | "order" | "hold" | null;
seatIds: string[] | null;
type: "confirmed" | "maintenance" | "hold" | "temporary";
updatedAt: string;
}>;

Create hold Create a hold on inventory (for VIPs, promoters, etc.)

Parameters
ParameterType
request{ accountId: string; expiresAt?: string; heldBy: string; inventoryId: string; quantity?: number; reason: string; seatIds?: string[]; }
request.accountIdstring
request.expiresAt?string
request.heldBystring
request.inventoryIdstring
request.quantity?number
request.reasonstring
request.seatIds?string[]
Returns

Promise<{ accountId: string; createdAt: string; expiresAt: string | null; heldBy: string | null; id: string; inventoryId: string; metadata: | { [key: string]: unknown; } | null; organisationId: string; quantity: number; reason: string | null; referenceId: string | null; referenceType: "subscription" | "order" | "hold" | null; seatIds: string[] | null; type: "confirmed" | "maintenance" | "hold" | "temporary"; updatedAt: string; }>

Operation Id

createHold

releaseHold()

releaseHold: (id: string, request: {
accountId: string;
}) => Promise<string>;

Release hold Release a hold and return inventory to available

Parameters
ParameterType
idstring
request{ accountId: string; }
request.accountIdstring
Returns

Promise<string>

Operation Id

releaseHold


inventoryReservations

inventoryReservations: {
checkAvailability: (request: {
requests: {
inventoryId: string;
quantity?: number;
seatIds?: string[];
}[];
}) => Promise<{
available: boolean;
availableQuantity: number;
requestedQuantity: number;
}>;
confirmReservation: (id: string, request: {
accountId: string;
referenceId?: string;
referenceType?: "subscription" | "order" | "hold";
}) => Promise<{
accountId: string;
createdAt: string;
expiresAt: string | null;
heldBy: string | null;
id: string;
inventoryId: string;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
quantity: number;
reason: string | null;
referenceId: string | null;
referenceType: "subscription" | "order" | "hold" | null;
seatIds: string[] | null;
type: "confirmed" | "maintenance" | "hold" | "temporary";
updatedAt: string;
}>;
extendReservation: (id: string, request: {
expiresAt: string;
}) => Promise<{
accountId: string;
createdAt: string;
expiresAt: string | null;
heldBy: string | null;
id: string;
inventoryId: string;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
quantity: number;
reason: string | null;
referenceId: string | null;
referenceType: "subscription" | "order" | "hold" | null;
seatIds: string[] | null;
type: "confirmed" | "maintenance" | "hold" | "temporary";
updatedAt: string;
}>;
getReservation: (id: string, options?: {
accountId: string;
}) => Promise<{
accountId: string;
createdAt: string;
expiresAt: string | null;
heldBy: string | null;
id: string;
inventoryId: string;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
quantity: number;
reason: string | null;
referenceId: string | null;
referenceType: "subscription" | "order" | "hold" | null;
seatIds: string[] | null;
type: "confirmed" | "maintenance" | "hold" | "temporary";
updatedAt: string;
}>;
listReservations: (options?: {
accountId?: string;
inventoryId?: string;
referenceId?: string;
referenceType?: "subscription" | "order" | "hold";
type?: "confirmed" | "maintenance" | "hold" | "temporary";
}) => Promise<{
accountId: string;
createdAt: string;
expiresAt: string | null;
heldBy: string | null;
id: string;
inventoryId: string;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
quantity: number;
reason: string | null;
referenceId: string | null;
referenceType: "subscription" | "order" | "hold" | null;
seatIds: string[] | null;
type: "confirmed" | "maintenance" | "hold" | "temporary";
updatedAt: string;
}[]>;
releaseReservation: (id: string, request: {
accountId: string;
}) => Promise<string>;
reserve: (request: {
accountId: string;
inventoryId: string;
quantity?: number;
referenceId: string;
referenceType: "subscription" | "order" | "hold";
seatIds?: string[];
ttlSeconds?: number;
}) => Promise<{
accountId: string;
createdAt: string;
expiresAt: string | null;
heldBy: string | null;
id: string;
inventoryId: string;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
quantity: number;
reason: string | null;
referenceId: string | null;
referenceType: "subscription" | "order" | "hold" | null;
seatIds: string[] | null;
type: "confirmed" | "maintenance" | "hold" | "temporary";
updatedAt: string;
}>;
};

Defined in: client.ts:2377

Inventory Reservations methods

checkAvailability()

checkAvailability: (request: {
requests: {
inventoryId: string;
quantity?: number;
seatIds?: string[];
}[];
}) => Promise<{
available: boolean;
availableQuantity: number;
requestedQuantity: number;
}>;

Check availability Check if requested quantity is available in inventory

Parameters
ParameterType
request{ requests: { inventoryId: string; quantity?: number; seatIds?: string[]; }[]; }
request.requests{ inventoryId: string; quantity?: number; seatIds?: string[]; }[]
Returns

Promise<{ available: boolean; availableQuantity: number; requestedQuantity: number; }>

Operation Id

checkAvailability

confirmReservation()

confirmReservation: (id: string, request: {
accountId: string;
referenceId?: string;
referenceType?: "subscription" | "order" | "hold";
}) => Promise<{
accountId: string;
createdAt: string;
expiresAt: string | null;
heldBy: string | null;
id: string;
inventoryId: string;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
quantity: number;
reason: string | null;
referenceId: string | null;
referenceType: "subscription" | "order" | "hold" | null;
seatIds: string[] | null;
type: "confirmed" | "maintenance" | "hold" | "temporary";
updatedAt: string;
}>;

Confirm reservation Confirm a temporary reservation (converts reserved to confirmed)

Parameters
ParameterType
idstring
request{ accountId: string; referenceId?: string; referenceType?: "subscription" | "order" | "hold"; }
request.accountIdstring
request.referenceId?string
request.referenceType?"subscription" | "order" | "hold"
Returns

Promise<{ accountId: string; createdAt: string; expiresAt: string | null; heldBy: string | null; id: string; inventoryId: string; metadata: | { [key: string]: unknown; } | null; organisationId: string; quantity: number; reason: string | null; referenceId: string | null; referenceType: "subscription" | "order" | "hold" | null; seatIds: string[] | null; type: "confirmed" | "maintenance" | "hold" | "temporary"; updatedAt: string; }>

Operation Id

confirmReservation

extendReservation()

extendReservation: (id: string, request: {
expiresAt: string;
}) => Promise<{
accountId: string;
createdAt: string;
expiresAt: string | null;
heldBy: string | null;
id: string;
inventoryId: string;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
quantity: number;
reason: string | null;
referenceId: string | null;
referenceType: "subscription" | "order" | "hold" | null;
seatIds: string[] | null;
type: "confirmed" | "maintenance" | "hold" | "temporary";
updatedAt: string;
}>;

Extend reservation Extend the expiry time of a temporary reservation

Parameters
ParameterType
idstring
request{ expiresAt: string; }
request.expiresAtstring
Returns

Promise<{ accountId: string; createdAt: string; expiresAt: string | null; heldBy: string | null; id: string; inventoryId: string; metadata: | { [key: string]: unknown; } | null; organisationId: string; quantity: number; reason: string | null; referenceId: string | null; referenceType: "subscription" | "order" | "hold" | null; seatIds: string[] | null; type: "confirmed" | "maintenance" | "hold" | "temporary"; updatedAt: string; }>

Operation Id

extendReservation

getReservation()

getReservation: (id: string, options?: {
accountId: string;
}) => Promise<{
accountId: string;
createdAt: string;
expiresAt: string | null;
heldBy: string | null;
id: string;
inventoryId: string;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
quantity: number;
reason: string | null;
referenceId: string | null;
referenceType: "subscription" | "order" | "hold" | null;
seatIds: string[] | null;
type: "confirmed" | "maintenance" | "hold" | "temporary";
updatedAt: string;
}>;

Get reservation Get a specific reservation by ID

Parameters
ParameterType
idstring
options?{ accountId: string; }
options.accountId?string
Returns

Promise<{ accountId: string; createdAt: string; expiresAt: string | null; heldBy: string | null; id: string; inventoryId: string; metadata: | { [key: string]: unknown; } | null; organisationId: string; quantity: number; reason: string | null; referenceId: string | null; referenceType: "subscription" | "order" | "hold" | null; seatIds: string[] | null; type: "confirmed" | "maintenance" | "hold" | "temporary"; updatedAt: string; }>

Operation Id

getReservation

listReservations()

listReservations: (options?: {
accountId?: string;
inventoryId?: string;
referenceId?: string;
referenceType?: "subscription" | "order" | "hold";
type?: "confirmed" | "maintenance" | "hold" | "temporary";
}) => Promise<{
accountId: string;
createdAt: string;
expiresAt: string | null;
heldBy: string | null;
id: string;
inventoryId: string;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
quantity: number;
reason: string | null;
referenceId: string | null;
referenceType: "subscription" | "order" | "hold" | null;
seatIds: string[] | null;
type: "confirmed" | "maintenance" | "hold" | "temporary";
updatedAt: string;
}[]>;

List reservations List all reservations with optional filtering

Parameters
ParameterType
options?{ accountId?: string; inventoryId?: string; referenceId?: string; referenceType?: "subscription" | "order" | "hold"; type?: "confirmed" | "maintenance" | "hold" | "temporary"; }
options.accountId?string
options.inventoryId?string
options.referenceId?string
options.referenceType?"subscription" | "order" | "hold"
options.type?"confirmed" | "maintenance" | "hold" | "temporary"
Returns

Promise<{ accountId: string; createdAt: string; expiresAt: string | null; heldBy: string | null; id: string; inventoryId: string; metadata: | { [key: string]: unknown; } | null; organisationId: string; quantity: number; reason: string | null; referenceId: string | null; referenceType: "subscription" | "order" | "hold" | null; seatIds: string[] | null; type: "confirmed" | "maintenance" | "hold" | "temporary"; updatedAt: string; }[]>

Operation Id

listReservations

releaseReservation()

releaseReservation: (id: string, request: {
accountId: string;
}) => Promise<string>;

Release reservation Release a reservation and return inventory to available

Parameters
ParameterType
idstring
request{ accountId: string; }
request.accountIdstring
Returns

Promise<string>

Operation Id

releaseReservation

reserve()

reserve: (request: {
accountId: string;
inventoryId: string;
quantity?: number;
referenceId: string;
referenceType: "subscription" | "order" | "hold";
seatIds?: string[];
ttlSeconds?: number;
}) => Promise<{
accountId: string;
createdAt: string;
expiresAt: string | null;
heldBy: string | null;
id: string;
inventoryId: string;
metadata: | {
[key: string]: unknown;
}
| null;
organisationId: string;
quantity: number;
reason: string | null;
referenceId: string | null;
referenceType: "subscription" | "order" | "hold" | null;
seatIds: string[] | null;
type: "confirmed" | "maintenance" | "hold" | "temporary";
updatedAt: string;
}>;

Reserve inventory Create a temporary reservation for GA or allocated seats

Parameters
ParameterType
request{ accountId: string; inventoryId: string; quantity?: number; referenceId: string; referenceType: "subscription" | "order" | "hold"; seatIds?: string[]; ttlSeconds?: number; }
request.accountIdstring
request.inventoryIdstring
request.quantity?number
request.referenceIdstring
request.referenceType"subscription" | "order" | "hold"
request.seatIds?string[]
request.ttlSeconds?number
Returns

Promise<{ accountId: string; createdAt: string; expiresAt: string | null; heldBy: string | null; id: string; inventoryId: string; metadata: | { [key: string]: unknown; } | null; organisationId: string; quantity: number; reason: string | null; referenceId: string | null; referenceType: "subscription" | "order" | "hold" | null; seatIds: string[] | null; type: "confirmed" | "maintenance" | "hold" | "temporary"; updatedAt: string; }>

Operation Id

reserveInventory


inventorySeats

inventorySeats: {
importSeats: (id: string, request: {
seats: {
attributes?: Record<string, any>;
eventLayoutSeatId?: string;
isAccessible?: boolean;
isCompanion?: boolean;
priceCategory?: string;
rowName: string;
seatNumber: string;
}[];
}) => Promise<{
count: number;
seats: {
accountId: string;
attributes: | {
[key: string]: unknown;
}
| null;
createdAt: string;
eventLayoutSeatId: string | null;
id: string;
inventoryId: string;
isAccessible: boolean;
isCompanion: boolean;
organisationId: string;
priceCategory: string | null;
reservationId: string | null;
rowName: string;
seatNumber: string;
status: "available" | "held" | "reserved" | "confirmed" | "maintenance";
updatedAt: string;
version: number;
}[];
}>;
listSeats: (id: string, options?: {
isAccessible?: "true" | "false";
priceCategory?: string;
rowName?: string;
status?: "available" | "held" | "reserved" | "confirmed" | "maintenance";
}) => Promise<{
accountId: string;
attributes: | {
[key: string]: unknown;
}
| null;
createdAt: string;
eventLayoutSeatId: string | null;
id: string;
inventoryId: string;
isAccessible: boolean;
isCompanion: boolean;
organisationId: string;
priceCategory: string | null;
reservationId: string | null;
rowName: string;
seatNumber: string;
status: "available" | "held" | "reserved" | "confirmed" | "maintenance";
updatedAt: string;
version: number;
}[]>;
};

Defined in: client.ts:2337

Inventory Seats methods

importSeats()

importSeats: (id: string, request: {
seats: {
attributes?: Record<string, any>;
eventLayoutSeatId?: string;
isAccessible?: boolean;
isCompanion?: boolean;
priceCategory?: string;
rowName: string;
seatNumber: string;
}[];
}) => Promise<{
count: number;
seats: {
accountId: string;
attributes: | {
[key: string]: unknown;
}
| null;
createdAt: string;
eventLayoutSeatId: string | null;
id: string;
inventoryId: string;
isAccessible: boolean;
isCompanion: boolean;
organisationId: string;
priceCategory: string | null;
reservationId: string | null;
rowName: string;
seatNumber: string;
status: "available" | "held" | "reserved" | "confirmed" | "maintenance";
updatedAt: string;
version: number;
}[];
}>;

Bulk import seats Import seats into an allocated inventory bucket

Parameters
ParameterType
idstring
request{ seats: { attributes?: Record<string, any>; eventLayoutSeatId?: string; isAccessible?: boolean; isCompanion?: boolean; priceCategory?: string; rowName: string; seatNumber: string; }[]; }
request.seats{ attributes?: Record<string, any>; eventLayoutSeatId?: string; isAccessible?: boolean; isCompanion?: boolean; priceCategory?: string; rowName: string; seatNumber: string; }[]
Returns

Promise<{ count: number; seats: { accountId: string; attributes: | { [key: string]: unknown; } | null; createdAt: string; eventLayoutSeatId: string | null; id: string; inventoryId: string; isAccessible: boolean; isCompanion: boolean; organisationId: string; priceCategory: string | null; reservationId: string | null; rowName: string; seatNumber: string; status: "available" | "held" | "reserved" | "confirmed" | "maintenance"; updatedAt: string; version: number; }[]; }>

Operation Id

bulkImportSeats

listSeats()

listSeats: (id: string, options?: {
isAccessible?: "true" | "false";
priceCategory?: string;
rowName?: string;
status?: "available" | "held" | "reserved" | "confirmed" | "maintenance";
}) => Promise<{
accountId: string;
attributes: | {
[key: string]: unknown;
}
| null;
createdAt: string;
eventLayoutSeatId: string | null;
id: string;
inventoryId: string;
isAccessible: boolean;
isCompanion: boolean;
organisationId: string;
priceCategory: string | null;
reservationId: string | null;
rowName: string;
seatNumber: string;
status: "available" | "held" | "reserved" | "confirmed" | "maintenance";
updatedAt: string;
version: number;
}[]>;

List inventory seats List all seats for an allocated inventory bucket

Parameters
ParameterType
idstring
options?{ isAccessible?: "true" | "false"; priceCategory?: string; rowName?: string; status?: "available" | "held" | "reserved" | "confirmed" | "maintenance"; }
options.isAccessible?"true" | "false"
options.priceCategory?string
options.rowName?string
options.status?"available" | "held" | "reserved" | "confirmed" | "maintenance"
Returns

Promise<{ accountId: string; attributes: | { [key: string]: unknown; } | null; createdAt: string; eventLayoutSeatId: string | null; id: string; inventoryId: string; isAccessible: boolean; isCompanion: boolean; organisationId: string; priceCategory: string | null; reservationId: string | null; rowName: string; seatNumber: string; status: "available" | "held" | "reserved" | "confirmed" | "maintenance"; updatedAt: string; version: number; }[]>

Operation Id

listInventorySeats


locations

locations: {
create: (request: {
accountId: string;
description?: string;
name: string;
}) => Promise<any>;
delete: (locationId: string) => Promise<any>;
get: (locationId: string) => Promise<any>;
list: () => Promise<any>;
update: (locationId: string, request: {
description?: any;
name?: string;
}) => Promise<any>;
};

Defined in: client.ts:4778

Locations methods

create()

create: (request: {
accountId: string;
description?: string;
name: string;
}) => Promise<any>;

Create location

Parameters
ParameterType
request{ accountId: string; description?: string; name: string; }
request.accountIdstring
request.description?string
request.namestring
Returns

Promise<any>

Operation Id

createLocation

delete()

delete: (locationId: string) => Promise<any>;

Delete location

Parameters
ParameterType
locationIdstring
Returns

Promise<any>

Operation Id

deleteLocation

get()

get: (locationId: string) => Promise<any>;

Get location

Parameters
ParameterType
locationIdstring
Returns

Promise<any>

Operation Id

getLocation

list()

list: () => Promise<any>;

List locations

Returns

Promise<any>

Operation Id

listLocations

update()

update: (locationId: string, request: {
description?: any;
name?: string;
}) => Promise<any>;

Update location

Parameters
ParameterType
locationIdstring
request{ description?: any; name?: string; }
request.description?any
request.name?string
Returns

Promise<any>

Operation Id

updateLocation


me

me: {
current: () => Promise<{
email: string;
externalUserId?: string;
firstName?: string;
id: string;
identityProvider?: string;
lastName?: string;
}>;
organisations: () => Promise<{
id: string;
logoUrl?: string;
name: string;
primaryColor?: string;
secondaryColor?: string;
slug: string;
userId: string;
}[]>;
permissions: (options?: {
action?: string;
resource?: string;
}) => Promise<{
filters: {
action: string | null;
resource: string | null;
};
isOrgAdmin: boolean;
permissions: {
accounts: string[];
isAllAccounts: boolean;
permission: string;
}[];
}>;
roles: () => Promise<{
isOrgAdmin: boolean;
roles: {
accountId: string;
description: string | null;
id: string;
isSystemRole: boolean;
name: string | null;
}[];
}>;
};

Defined in: client.ts:878

Me methods

current()

current: () => Promise<{
email: string;
externalUserId?: string;
firstName?: string;
id: string;
identityProvider?: string;
lastName?: string;
}>;

Get current user Get the currently authenticated user information

Returns

Promise<{ email: string; externalUserId?: string; firstName?: string; id: string; identityProvider?: string; lastName?: string; }>

Operation Id

getCurrentUser

organisations()

organisations: () => Promise<{
id: string;
logoUrl?: string;
name: string;
primaryColor?: string;
secondaryColor?: string;
slug: string;
userId: string;
}[]>;

Get my organisations Get all organisations the current user is a member of

Returns

Promise<{ id: string; logoUrl?: string; name: string; primaryColor?: string; secondaryColor?: string; slug: string; userId: string; }[]>

Operation Id

getMyOrganisations

permissions()

permissions: (options?: {
action?: string;
resource?: string;
}) => Promise<{
filters: {
action: string | null;
resource: string | null;
};
isOrgAdmin: boolean;
permissions: {
accounts: string[];
isAllAccounts: boolean;
permission: string;
}[];
}>;

Get my permissions Get the current user's effective permissions based on their role assignments. Supports filtering by resource and/or action.

Parameters
ParameterType
options?{ action?: string; resource?: string; }
options.action?string
options.resource?string
Returns

Promise<{ filters: { action: string | null; resource: string | null; }; isOrgAdmin: boolean; permissions: { accounts: string[]; isAllAccounts: boolean; permission: string; }[]; }>

Operation Id

getMyPermissions

roles()

roles: () => Promise<{
isOrgAdmin: boolean;
roles: {
accountId: string;
description: string | null;
id: string;
isSystemRole: boolean;
name: string | null;
}[];
}>;

Get my roles Get the current user's role assignments with role info (name, description). Does not include permissions - use /me/permissions for that.

Returns

Promise<{ isOrgAdmin: boolean; roles: { accountId: string; description: string | null; id: string; isSystemRole: boolean; name: string | null; }[]; }>

Operation Id

getMyRoles


meta

meta: {
versions: () => Promise<{
current: string;
resolved: string;
versions: {
breakingChanges: string[];
date: string;
deprecatedAt: string | null;
status: "current" | "supported" | "deprecated" | "sunset";
summary: string;
sunsetAt: string | null;
}[];
}>;
};

Defined in: client.ts:783

Meta methods

versions()

versions: () => Promise<{
current: string;
resolved: string;
versions: {
breakingChanges: string[];
date: string;
deprecatedAt: string | null;
status: "current" | "supported" | "deprecated" | "sunset";
summary: string;
sunsetAt: string | null;
}[];
}>;

List API versions Lists all dated API versions with their lifecycle status. Pin a version per-request with the TL-Version header; organisations are pinned to the version current at signup by default.

Returns

Promise<{ current: string; resolved: string; versions: { breakingChanges: string[]; date: string; deprecatedAt: string | null; status: "current" | "supported" | "deprecated" | "sunset"; summary: string; sunsetAt: string | null; }[]; }>

Operation Id

listApiVersions


orders

orders: {
addItem: (orderId: string, request: {
description?: string;
feeDetails?: Record<string, any>;
metadata?: Record<string, any>;
name: string;
productDetails?: Record<string, any>;
quantity?: number;
ticketDetails?: Record<string, any>;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
}) => Promise<{
item: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
};
order: {
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
};
}>;
cancel: (orderId: string, request: {
reason: string;
}) => Promise<{
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}>;
create: (request: {
accountId: string;
channel?: string;
currency?: string;
customerId?: string;
customerNotes?: string;
expiresInMinutes?: number;
internalNotes?: string;
isGuestCheckout?: boolean;
items?: {
description?: string;
feeDetails?: Record<string, any>;
metadata?: Record<string, any>;
name: string;
productDetails?: Record<string, any>;
quantity?: number;
ticketDetails?: Record<string, any>;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
}[];
metadata?: Record<string, any>;
}) => Promise<{
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}>;
get: (orderId: string) => Promise<{
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}>;
getByNumber: (orderNumber: string) => Promise<{
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}>;
getPasses: (orderId: string) => Promise<{
entitlements: {
createdAt: string;
currency: string | null;
eventOccurrenceId: string | null;
id: string;
name: string;
orderLineItemId: string;
passId: string | null;
redemptionCount: number;
redemptionLimit: number | null;
seatLabel: string | null;
status: string;
ticketTypeId: string | null;
type: string;
unitPrice: number | null;
}[];
passes: {
barcode: string;
createdAt: string;
customerId: string | null;
holderEmail: string | null;
holderName: string | null;
id: string;
issuedAt: string;
status: string;
type: string;
}[];
redemptions: {
createdAt: string;
deviceId: string | null;
entitlementId: string;
id: string;
location: string | null;
passId: string;
redeemedBy: string | null;
rejectionReason: string | null;
reversalReason: string | null;
reversedAt: string | null;
status: string;
}[];
}>;
getPassPdf: (orderId: string, passId: string) => Promise<any>;
getPaymentStatus: (orderId: string) => Promise<{
amount: number | null;
currency: string | null;
failedAt: string | null;
failureReason: string | null;
paidAt: string | null;
paymentId: string | null;
status: | "cancelled"
| "pending"
| "succeeded"
| "failed"
| "processing"
| "requires_action"
| "none";
}>;
initiatePayment: (orderId: string, request: {
metadata?: Record<string, any>;
paymentMethod: | "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque";
returnUrl?: string;
}) => Promise<{
clientSecret: string | null;
expiresAt: string | null;
paymentId: string;
redirectUrl: string | null;
status: "pending" | "succeeded" | "failed" | "processing" | "requires_action";
}>;
list: (options?: {
channel?: string;
cursor?: string;
customerId?: string;
fromDate?: string;
limit?: string;
page?: string;
search?: string;
status?: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
toDate?: string;
updatedSince?: string;
}) => Promise<{
orders: {
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: ...]: ...;
}
| null;
id: string;
metadata: | {
[key: ...]: ...;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: ...]: ...;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: ...]: ...;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}[];
pagination: {
limit: number;
page: number;
total: number;
totalPages: number;
};
}>;
printPass: (orderId: string, passId: string, request: {
printerId: string;
type?: "print.ticket" | "print.label" | "print.receipt";
}) => Promise<any>;
removeItem: (orderId: string, itemId: string) => Promise<{
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}>;
resendConfirmation: (orderId: string) => Promise<{
attachments: number;
messageId?: string;
recipient: string | null;
sent: boolean;
skippedReason?: | "already_sent"
| "no_recipient"
| "not_configured"
| "order_not_confirmed";
}>;
transitionStatus: (orderId: string, request: {
status: | "completed"
| "cancelled"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
}) => Promise<{
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}>;
update: (orderId: string, request: {
addItems?: {
description?: string;
feeDetails?: Record<string, any>;
metadata?: Record<string, any>;
name: string;
productDetails?: Record<string, any>;
quantity?: number;
ticketDetails?: Record<string, any>;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
}[];
customerId?: string;
customerNotes?: string;
extendExpiry?: boolean;
internalNotes?: string;
metadata?: Record<string, any>;
removeItems?: string[];
updateItems?: {
itemId: string;
updates: {
metadata?: Record<string, any>;
quantity?: number;
unitPrice?: number;
};
}[];
}) => Promise<{
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}>;
updateItem: (orderId: string, itemId: string, request: {
metadata?: Record<string, any>;
quantity?: number;
unitPrice?: number;
}) => Promise<{
item: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
};
order: {
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
};
}>;
validate: (orderId: string, request: {
}) => Promise<{
errors: {
code: string;
itemId?: string;
message: string;
}[];
valid: boolean;
}>;
};

Defined in: client.ts:2623

Orders methods

addItem()

addItem: (orderId: string, request: {
description?: string;
feeDetails?: Record<string, any>;
metadata?: Record<string, any>;
name: string;
productDetails?: Record<string, any>;
quantity?: number;
ticketDetails?: Record<string, any>;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
}) => Promise<{
item: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
};
order: {
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
};
}>;

Add line item Add a line item to an order

Parameters
ParameterType
orderIdstring
request{ description?: string; feeDetails?: Record<string, any>; metadata?: Record<string, any>; name: string; productDetails?: Record<string, any>; quantity?: number; ticketDetails?: Record<string, any>; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; }
request.description?string
request.feeDetails?Record<string, any>
request.metadata?Record<string, any>
request.namestring
request.productDetails?Record<string, any>
request.quantity?number
request.ticketDetails?Record<string, any>
request.type"product" | "ticket" | "addon" | "fee" | "tax" | "discount"
request.unitPricenumber
Returns

Promise<{ item: { createdAt: string; description: string | null; discountAmount: number; feeDetails: | { [key: string]: unknown; } | null; id: string; metadata: | { [key: string]: unknown; } | null; name: string; orderId: string; productDetails: | { [key: string]: unknown; } | null; quantity: number; subtotal: number; taxAmount: number; ticketDetails: | { [key: string]: unknown; } | null; total: number; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; updatedAt: string; }; order: { accountId: string; cancellationReason: string | null; cancelledAt: string | null; channel: string | null; completedAt: string | null; confirmedAt: string | null; createdAt: string; currency: string; customerId: string | null; customerNotes: string | null; expiresAt: string | null; id: string; internalNotes: string | null; isGuestCheckout: boolean; items?: { createdAt: string; description: string | null; discountAmount: number; feeDetails: | { [key: string]: unknown; } | null; id: string; metadata: | { [key: string]: unknown; } | null; name: string; orderId: string; productDetails: | { [key: string]: unknown; } | null; quantity: number; subtotal: number; taxAmount: number; ticketDetails: | { [key: string]: unknown; } | null; total: number; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; updatedAt: string; }[]; metadata: | { [key: string]: unknown; } | null; orderNumber: string; organisationId: string; status: | "completed" | "cancelled" | "pending" | "failed" | "refunded" | "confirmed" | "processing" | "expired"; subtotal: number; total: number; totalDiscounts: number; totalFees: number; totalPaid: number; totalRefunded: number; totalTax: number; updatedAt: string; }; }>

Operation Id

addOrderLineItem

cancel()

cancel: (orderId: string, request: {
reason: string;
}) => Promise<{
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}>;

Cancel order Cancel an order with a reason

Parameters
ParameterType
orderIdstring
request{ reason: string; }
request.reasonstring
Returns

Promise<{ accountId: string; cancellationReason: string | null; cancelledAt: string | null; channel: string | null; completedAt: string | null; confirmedAt: string | null; createdAt: string; currency: string; customerId: string | null; customerNotes: string | null; expiresAt: string | null; id: string; internalNotes: string | null; isGuestCheckout: boolean; items?: { createdAt: string; description: string | null; discountAmount: number; feeDetails: | { [key: string]: unknown; } | null; id: string; metadata: | { [key: string]: unknown; } | null; name: string; orderId: string; productDetails: | { [key: string]: unknown; } | null; quantity: number; subtotal: number; taxAmount: number; ticketDetails: | { [key: string]: unknown; } | null; total: number; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; updatedAt: string; }[]; metadata: | { [key: string]: unknown; } | null; orderNumber: string; organisationId: string; status: | "completed" | "cancelled" | "pending" | "failed" | "refunded" | "confirmed" | "processing" | "expired"; subtotal: number; total: number; totalDiscounts: number; totalFees: number; totalPaid: number; totalRefunded: number; totalTax: number; updatedAt: string; }>

Operation Id

cancelOrder

create()

create: (request: {
accountId: string;
channel?: string;
currency?: string;
customerId?: string;
customerNotes?: string;
expiresInMinutes?: number;
internalNotes?: string;
isGuestCheckout?: boolean;
items?: {
description?: string;
feeDetails?: Record<string, any>;
metadata?: Record<string, any>;
name: string;
productDetails?: Record<string, any>;
quantity?: number;
ticketDetails?: Record<string, any>;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
}[];
metadata?: Record<string, any>;
}) => Promise<{
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}>;

Create order Create a new order with optional line items

Parameters
ParameterType
request{ accountId: string; channel?: string; currency?: string; customerId?: string; customerNotes?: string; expiresInMinutes?: number; internalNotes?: string; isGuestCheckout?: boolean; items?: { description?: string; feeDetails?: Record<string, any>; metadata?: Record<string, any>; name: string; productDetails?: Record<string, any>; quantity?: number; ticketDetails?: Record<string, any>; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; }[]; metadata?: Record<string, any>; }
request.accountIdstring
request.channel?string
request.currency?string
request.customerId?string
request.customerNotes?string
request.expiresInMinutes?number
request.internalNotes?string
request.isGuestCheckout?boolean
request.items?{ description?: string; feeDetails?: Record<string, any>; metadata?: Record<string, any>; name: string; productDetails?: Record<string, any>; quantity?: number; ticketDetails?: Record<string, any>; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; }[]
request.metadata?Record<string, any>
Returns

Promise<{ accountId: string; cancellationReason: string | null; cancelledAt: string | null; channel: string | null; completedAt: string | null; confirmedAt: string | null; createdAt: string; currency: string; customerId: string | null; customerNotes: string | null; expiresAt: string | null; id: string; internalNotes: string | null; isGuestCheckout: boolean; items?: { createdAt: string; description: string | null; discountAmount: number; feeDetails: | { [key: string]: unknown; } | null; id: string; metadata: | { [key: string]: unknown; } | null; name: string; orderId: string; productDetails: | { [key: string]: unknown; } | null; quantity: number; subtotal: number; taxAmount: number; ticketDetails: | { [key: string]: unknown; } | null; total: number; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; updatedAt: string; }[]; metadata: | { [key: string]: unknown; } | null; orderNumber: string; organisationId: string; status: | "completed" | "cancelled" | "pending" | "failed" | "refunded" | "confirmed" | "processing" | "expired"; subtotal: number; total: number; totalDiscounts: number; totalFees: number; totalPaid: number; totalRefunded: number; totalTax: number; updatedAt: string; }>

Operation Id

createOrder

get()

get: (orderId: string) => Promise<{
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}>;

Get order Get a specific order by ID

Parameters
ParameterType
orderIdstring
Returns

Promise<{ accountId: string; cancellationReason: string | null; cancelledAt: string | null; channel: string | null; completedAt: string | null; confirmedAt: string | null; createdAt: string; currency: string; customerId: string | null; customerNotes: string | null; expiresAt: string | null; id: string; internalNotes: string | null; isGuestCheckout: boolean; items?: { createdAt: string; description: string | null; discountAmount: number; feeDetails: | { [key: string]: unknown; } | null; id: string; metadata: | { [key: string]: unknown; } | null; name: string; orderId: string; productDetails: | { [key: string]: unknown; } | null; quantity: number; subtotal: number; taxAmount: number; ticketDetails: | { [key: string]: unknown; } | null; total: number; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; updatedAt: string; }[]; metadata: | { [key: string]: unknown; } | null; orderNumber: string; organisationId: string; status: | "completed" | "cancelled" | "pending" | "failed" | "refunded" | "confirmed" | "processing" | "expired"; subtotal: number; total: number; totalDiscounts: number; totalFees: number; totalPaid: number; totalRefunded: number; totalTax: number; updatedAt: string; }>

Operation Id

getOrder

getByNumber()

getByNumber: (orderNumber: string) => Promise<{
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}>;

Get order by number Get a specific order by order number

Parameters
ParameterType
orderNumberstring
Returns

Promise<{ accountId: string; cancellationReason: string | null; cancelledAt: string | null; channel: string | null; completedAt: string | null; confirmedAt: string | null; createdAt: string; currency: string; customerId: string | null; customerNotes: string | null; expiresAt: string | null; id: string; internalNotes: string | null; isGuestCheckout: boolean; items?: { createdAt: string; description: string | null; discountAmount: number; feeDetails: | { [key: string]: unknown; } | null; id: string; metadata: | { [key: string]: unknown; } | null; name: string; orderId: string; productDetails: | { [key: string]: unknown; } | null; quantity: number; subtotal: number; taxAmount: number; ticketDetails: | { [key: string]: unknown; } | null; total: number; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; updatedAt: string; }[]; metadata: | { [key: string]: unknown; } | null; orderNumber: string; organisationId: string; status: | "completed" | "cancelled" | "pending" | "failed" | "refunded" | "confirmed" | "processing" | "expired"; subtotal: number; total: number; totalDiscounts: number; totalFees: number; totalPaid: number; totalRefunded: number; totalTax: number; updatedAt: string; }>

Operation Id

getOrderByNumber

getPasses()

getPasses: (orderId: string) => Promise<{
entitlements: {
createdAt: string;
currency: string | null;
eventOccurrenceId: string | null;
id: string;
name: string;
orderLineItemId: string;
passId: string | null;
redemptionCount: number;
redemptionLimit: number | null;
seatLabel: string | null;
status: string;
ticketTypeId: string | null;
type: string;
unitPrice: number | null;
}[];
passes: {
barcode: string;
createdAt: string;
customerId: string | null;
holderEmail: string | null;
holderName: string | null;
id: string;
issuedAt: string;
status: string;
type: string;
}[];
redemptions: {
createdAt: string;
deviceId: string | null;
entitlementId: string;
id: string;
location: string | null;
passId: string;
redeemedBy: string | null;
rejectionReason: string | null;
reversalReason: string | null;
reversedAt: string | null;
status: string;
}[];
}>;

Get order passes List the passes, entitlements and redemptions issued for an order (the order's tickets). Staff surface - includes the redemption barcode.

Parameters
ParameterType
orderIdstring
Returns

Promise<{ entitlements: { createdAt: string; currency: string | null; eventOccurrenceId: string | null; id: string; name: string; orderLineItemId: string; passId: string | null; redemptionCount: number; redemptionLimit: number | null; seatLabel: string | null; status: string; ticketTypeId: string | null; type: string; unitPrice: number | null; }[]; passes: { barcode: string; createdAt: string; customerId: string | null; holderEmail: string | null; holderName: string | null; id: string; issuedAt: string; status: string; type: string; }[]; redemptions: { createdAt: string; deviceId: string | null; entitlementId: string; id: string; location: string | null; passId: string; redeemedBy: string | null; rejectionReason: string | null; reversalReason: string | null; reversedAt: string | null; status: string; }[]; }>

Operation Id

getOrderPasses

getPassPdf()

getPassPdf: (orderId: string, passId: string) => Promise<any>;

Download a pass as a PDF ticket Render and stream a single pass as a PDF ticket (application/pdf). Staff surface; browsers fetch this directly rather than through the typed SDK.

Parameters
ParameterType
orderIdstring
passIdstring
Returns

Promise<any>

Operation Id

getOrderPassPdf

getPaymentStatus()

getPaymentStatus: (orderId: string) => Promise<{
amount: number | null;
currency: string | null;
failedAt: string | null;
failureReason: string | null;
paidAt: string | null;
paymentId: string | null;
status: | "cancelled"
| "pending"
| "succeeded"
| "failed"
| "processing"
| "requires_action"
| "none";
}>;

Get payment status Get the current payment status for an order

Parameters
ParameterType
orderIdstring
Returns

Promise<{ amount: number | null; currency: string | null; failedAt: string | null; failureReason: string | null; paidAt: string | null; paymentId: string | null; status: | "cancelled" | "pending" | "succeeded" | "failed" | "processing" | "requires_action" | "none"; }>

Operation Id

getOrderPaymentStatus

initiatePayment()

initiatePayment: (orderId: string, request: {
metadata?: Record<string, any>;
paymentMethod: | "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque";
returnUrl?: string;
}) => Promise<{
clientSecret: string | null;
expiresAt: string | null;
paymentId: string;
redirectUrl: string | null;
status: "pending" | "succeeded" | "failed" | "processing" | "requires_action";
}>;

Initiate payment Initiate payment for an order

Parameters
ParameterType
orderIdstring
request{ metadata?: Record<string, any>; paymentMethod: | "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque"; returnUrl?: string; }
request.metadata?Record<string, any>
request.paymentMethod| "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque"
request.returnUrl?string
Returns

Promise<{ clientSecret: string | null; expiresAt: string | null; paymentId: string; redirectUrl: string | null; status: "pending" | "succeeded" | "failed" | "processing" | "requires_action"; }>

Operation Id

initiateOrderPayment

list()

list: (options?: {
channel?: string;
cursor?: string;
customerId?: string;
fromDate?: string;
limit?: string;
page?: string;
search?: string;
status?: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
toDate?: string;
updatedSince?: string;
}) => Promise<{
orders: {
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: ...]: ...;
}
| null;
id: string;
metadata: | {
[key: ...]: ...;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: ...]: ...;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: ...]: ...;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}[];
pagination: {
limit: number;
page: number;
total: number;
totalPages: number;
};
}>;

List orders List all orders with optional filtering and pagination

Parameters
ParameterType
options?{ channel?: string; cursor?: string; customerId?: string; fromDate?: string; limit?: string; page?: string; search?: string; status?: | "completed" | "cancelled" | "pending" | "failed" | "refunded" | "confirmed" | "processing" | "expired"; toDate?: string; updatedSince?: string; }
options.channel?string
options.cursor?string
options.customerId?string
options.fromDate?string
options.limit?string
options.page?string
options.search?string
options.status?| "completed" | "cancelled" | "pending" | "failed" | "refunded" | "confirmed" | "processing" | "expired"
options.toDate?string
options.updatedSince?string
Returns

Promise<{ orders: { accountId: string; cancellationReason: string | null; cancelledAt: string | null; channel: string | null; completedAt: string | null; confirmedAt: string | null; createdAt: string; currency: string; customerId: string | null; customerNotes: string | null; expiresAt: string | null; id: string; internalNotes: string | null; isGuestCheckout: boolean; items?: { createdAt: string; description: string | null; discountAmount: number; feeDetails: | { [key: ...]: ...; } | null; id: string; metadata: | { [key: ...]: ...; } | null; name: string; orderId: string; productDetails: | { [key: ...]: ...; } | null; quantity: number; subtotal: number; taxAmount: number; ticketDetails: | { [key: ...]: ...; } | null; total: number; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; updatedAt: string; }[]; metadata: | { [key: string]: unknown; } | null; orderNumber: string; organisationId: string; status: | "completed" | "cancelled" | "pending" | "failed" | "refunded" | "confirmed" | "processing" | "expired"; subtotal: number; total: number; totalDiscounts: number; totalFees: number; totalPaid: number; totalRefunded: number; totalTax: number; updatedAt: string; }[]; pagination: { limit: number; page: number; total: number; totalPages: number; }; }>

Operation Id

listOrders

printPass()

printPass: (orderId: string, passId: string, request: {
printerId: string;
type?: "print.ticket" | "print.label" | "print.receipt";
}) => Promise<any>;

Print a pass to a device Render the pass to its canonical SVG and dispatch it as a print job to a printer device. Returns the device command id (poll the devices command for status).

Parameters
ParameterType
orderIdstring
passIdstring
request{ printerId: string; type?: "print.ticket" | "print.label" | "print.receipt"; }
request.printerIdstring
request.type?"print.ticket" | "print.label" | "print.receipt"
Returns

Promise<any>

Operation Id

printPass

removeItem()

removeItem: (orderId: string, itemId: string) => Promise<{
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}>;

Remove line item Remove a line item from an order

Parameters
ParameterType
orderIdstring
itemIdstring
Returns

Promise<{ accountId: string; cancellationReason: string | null; cancelledAt: string | null; channel: string | null; completedAt: string | null; confirmedAt: string | null; createdAt: string; currency: string; customerId: string | null; customerNotes: string | null; expiresAt: string | null; id: string; internalNotes: string | null; isGuestCheckout: boolean; items?: { createdAt: string; description: string | null; discountAmount: number; feeDetails: | { [key: string]: unknown; } | null; id: string; metadata: | { [key: string]: unknown; } | null; name: string; orderId: string; productDetails: | { [key: string]: unknown; } | null; quantity: number; subtotal: number; taxAmount: number; ticketDetails: | { [key: string]: unknown; } | null; total: number; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; updatedAt: string; }[]; metadata: | { [key: string]: unknown; } | null; orderNumber: string; organisationId: string; status: | "completed" | "cancelled" | "pending" | "failed" | "refunded" | "confirmed" | "processing" | "expired"; subtotal: number; total: number; totalDiscounts: number; totalFees: number; totalPaid: number; totalRefunded: number; totalTax: number; updatedAt: string; }>

Operation Id

removeOrderLineItem

resendConfirmation()

resendConfirmation: (orderId: string) => Promise<{
attachments: number;
messageId?: string;
recipient: string | null;
sent: boolean;
skippedReason?: | "already_sent"
| "no_recipient"
| "not_configured"
| "order_not_confirmed";
}>;

Resend order confirmation email Resend the buyer's confirmation email for a confirmed order, with the ticket PDFs attached. Bypasses the once-per-order send marker. Staff surface.

Parameters
ParameterType
orderIdstring
Returns

Promise<{ attachments: number; messageId?: string; recipient: string | null; sent: boolean; skippedReason?: | "already_sent" | "no_recipient" | "not_configured" | "order_not_confirmed"; }>

Operation Id

resendOrderConfirmation

transitionStatus()

transitionStatus: (orderId: string, request: {
status: | "completed"
| "cancelled"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
}) => Promise<{
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}>;

Transition order status Transition an order to a new status

Parameters
ParameterType
orderIdstring
request{ status: | "completed" | "cancelled" | "failed" | "refunded" | "confirmed" | "processing" | "expired"; }
request.status| "completed" | "cancelled" | "failed" | "refunded" | "confirmed" | "processing" | "expired"
Returns

Promise<{ accountId: string; cancellationReason: string | null; cancelledAt: string | null; channel: string | null; completedAt: string | null; confirmedAt: string | null; createdAt: string; currency: string; customerId: string | null; customerNotes: string | null; expiresAt: string | null; id: string; internalNotes: string | null; isGuestCheckout: boolean; items?: { createdAt: string; description: string | null; discountAmount: number; feeDetails: | { [key: string]: unknown; } | null; id: string; metadata: | { [key: string]: unknown; } | null; name: string; orderId: string; productDetails: | { [key: string]: unknown; } | null; quantity: number; subtotal: number; taxAmount: number; ticketDetails: | { [key: string]: unknown; } | null; total: number; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; updatedAt: string; }[]; metadata: | { [key: string]: unknown; } | null; orderNumber: string; organisationId: string; status: | "completed" | "cancelled" | "pending" | "failed" | "refunded" | "confirmed" | "processing" | "expired"; subtotal: number; total: number; totalDiscounts: number; totalFees: number; totalPaid: number; totalRefunded: number; totalTax: number; updatedAt: string; }>

Operation Id

transitionOrderStatus

update()

update: (orderId: string, request: {
addItems?: {
description?: string;
feeDetails?: Record<string, any>;
metadata?: Record<string, any>;
name: string;
productDetails?: Record<string, any>;
quantity?: number;
ticketDetails?: Record<string, any>;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
}[];
customerId?: string;
customerNotes?: string;
extendExpiry?: boolean;
internalNotes?: string;
metadata?: Record<string, any>;
removeItems?: string[];
updateItems?: {
itemId: string;
updates: {
metadata?: Record<string, any>;
quantity?: number;
unitPrice?: number;
};
}[];
}) => Promise<{
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
}>;

Update order Update an existing order

Parameters
ParameterType
orderIdstring
request{ addItems?: { description?: string; feeDetails?: Record<string, any>; metadata?: Record<string, any>; name: string; productDetails?: Record<string, any>; quantity?: number; ticketDetails?: Record<string, any>; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; }[]; customerId?: string; customerNotes?: string; extendExpiry?: boolean; internalNotes?: string; metadata?: Record<string, any>; removeItems?: string[]; updateItems?: { itemId: string; updates: { metadata?: Record<string, any>; quantity?: number; unitPrice?: number; }; }[]; }
request.addItems?{ description?: string; feeDetails?: Record<string, any>; metadata?: Record<string, any>; name: string; productDetails?: Record<string, any>; quantity?: number; ticketDetails?: Record<string, any>; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; }[]
request.customerId?string
request.customerNotes?string
request.extendExpiry?boolean
request.internalNotes?string
request.metadata?Record<string, any>
request.removeItems?string[]
request.updateItems?{ itemId: string; updates: { metadata?: Record<string, any>; quantity?: number; unitPrice?: number; }; }[]
Returns

Promise<{ accountId: string; cancellationReason: string | null; cancelledAt: string | null; channel: string | null; completedAt: string | null; confirmedAt: string | null; createdAt: string; currency: string; customerId: string | null; customerNotes: string | null; expiresAt: string | null; id: string; internalNotes: string | null; isGuestCheckout: boolean; items?: { createdAt: string; description: string | null; discountAmount: number; feeDetails: | { [key: string]: unknown; } | null; id: string; metadata: | { [key: string]: unknown; } | null; name: string; orderId: string; productDetails: | { [key: string]: unknown; } | null; quantity: number; subtotal: number; taxAmount: number; ticketDetails: | { [key: string]: unknown; } | null; total: number; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; updatedAt: string; }[]; metadata: | { [key: string]: unknown; } | null; orderNumber: string; organisationId: string; status: | "completed" | "cancelled" | "pending" | "failed" | "refunded" | "confirmed" | "processing" | "expired"; subtotal: number; total: number; totalDiscounts: number; totalFees: number; totalPaid: number; totalRefunded: number; totalTax: number; updatedAt: string; }>

Operation Id

updateOrder

updateItem()

updateItem: (orderId: string, itemId: string, request: {
metadata?: Record<string, any>;
quantity?: number;
unitPrice?: number;
}) => Promise<{
item: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
};
order: {
accountId: string;
cancellationReason: string | null;
cancelledAt: string | null;
channel: string | null;
completedAt: string | null;
confirmedAt: string | null;
createdAt: string;
currency: string;
customerId: string | null;
customerNotes: string | null;
expiresAt: string | null;
id: string;
internalNotes: string | null;
isGuestCheckout: boolean;
items?: {
createdAt: string;
description: string | null;
discountAmount: number;
feeDetails: | {
[key: string]: unknown;
}
| null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
orderId: string;
productDetails: | {
[key: string]: unknown;
}
| null;
quantity: number;
subtotal: number;
taxAmount: number;
ticketDetails: | {
[key: string]: unknown;
}
| null;
total: number;
type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount";
unitPrice: number;
updatedAt: string;
}[];
metadata: | {
[key: string]: unknown;
}
| null;
orderNumber: string;
organisationId: string;
status: | "completed"
| "cancelled"
| "pending"
| "failed"
| "refunded"
| "confirmed"
| "processing"
| "expired";
subtotal: number;
total: number;
totalDiscounts: number;
totalFees: number;
totalPaid: number;
totalRefunded: number;
totalTax: number;
updatedAt: string;
};
}>;

Update line item Update a line item in an order

Parameters
ParameterType
orderIdstring
itemIdstring
request{ metadata?: Record<string, any>; quantity?: number; unitPrice?: number; }
request.metadata?Record<string, any>
request.quantity?number
request.unitPrice?number
Returns

Promise<{ item: { createdAt: string; description: string | null; discountAmount: number; feeDetails: | { [key: string]: unknown; } | null; id: string; metadata: | { [key: string]: unknown; } | null; name: string; orderId: string; productDetails: | { [key: string]: unknown; } | null; quantity: number; subtotal: number; taxAmount: number; ticketDetails: | { [key: string]: unknown; } | null; total: number; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; updatedAt: string; }; order: { accountId: string; cancellationReason: string | null; cancelledAt: string | null; channel: string | null; completedAt: string | null; confirmedAt: string | null; createdAt: string; currency: string; customerId: string | null; customerNotes: string | null; expiresAt: string | null; id: string; internalNotes: string | null; isGuestCheckout: boolean; items?: { createdAt: string; description: string | null; discountAmount: number; feeDetails: | { [key: string]: unknown; } | null; id: string; metadata: | { [key: string]: unknown; } | null; name: string; orderId: string; productDetails: | { [key: string]: unknown; } | null; quantity: number; subtotal: number; taxAmount: number; ticketDetails: | { [key: string]: unknown; } | null; total: number; type: "product" | "ticket" | "addon" | "fee" | "tax" | "discount"; unitPrice: number; updatedAt: string; }[]; metadata: | { [key: string]: unknown; } | null; orderNumber: string; organisationId: string; status: | "completed" | "cancelled" | "pending" | "failed" | "refunded" | "confirmed" | "processing" | "expired"; subtotal: number; total: number; totalDiscounts: number; totalFees: number; totalPaid: number; totalRefunded: number; totalTax: number; updatedAt: string; }; }>

Operation Id

updateOrderLineItem

validate()

validate: (orderId: string, request: {
}) => Promise<{
errors: {
code: string;
itemId?: string;
message: string;
}[];
valid: boolean;
}>;

Validate order Validate an order before payment (check inventory, pricing, etc.)

Parameters
ParameterType
orderIdstring
request{ }
Returns

Promise<{ errors: { code: string; itemId?: string; message: string; }[]; valid: boolean; }>

Operation Id

validateOrder


organisations

organisations: {
get: (id: string) => Promise<{
apiVersion: string;
createdAt: string;
id: string;
logoUrl?: string;
metadata?: {
[key: string]: unknown;
};
name: string;
primaryColor?: string;
secondaryColor?: string;
updatedAt: string;
}>;
update: (id: string, request: {
apiVersion?: string;
logoUrl?: string;
metadata?: {
[key: string]: unknown;
};
name?: string;
primaryColor?: string;
secondaryColor?: string;
}) => Promise<{
apiVersion: string;
createdAt: string;
id: string;
logoUrl?: string;
metadata?: {
[key: string]: unknown;
};
name: string;
primaryColor?: string;
secondaryColor?: string;
updatedAt: string;
}>;
};

Defined in: client.ts:941

Organisations methods

get()

get: (id: string) => Promise<{
apiVersion: string;
createdAt: string;
id: string;
logoUrl?: string;
metadata?: {
[key: string]: unknown;
};
name: string;
primaryColor?: string;
secondaryColor?: string;
updatedAt: string;
}>;

Get organisation Get organisation details including branding information

Parameters
ParameterType
idstring
Returns

Promise<{ apiVersion: string; createdAt: string; id: string; logoUrl?: string; metadata?: { [key: string]: unknown; }; name: string; primaryColor?: string; secondaryColor?: string; updatedAt: string; }>

Operation Id

getOrganisation

update()

update: (id: string, request: {
apiVersion?: string;
logoUrl?: string;
metadata?: {
[key: string]: unknown;
};
name?: string;
primaryColor?: string;
secondaryColor?: string;
}) => Promise<{
apiVersion: string;
createdAt: string;
id: string;
logoUrl?: string;
metadata?: {
[key: string]: unknown;
};
name: string;
primaryColor?: string;
secondaryColor?: string;
updatedAt: string;
}>;

Update organisation Update organisation details and branding (owner permission required)

Parameters
ParameterTypeDescription
idstring-
request{ apiVersion?: string; logoUrl?: string; metadata?: { [key: string]: unknown; }; name?: string; primaryColor?: string; secondaryColor?: string; }-
request.apiVersion?stringDescription Pin the organisation to a dated API version. Must be a known, non-sunset version (see GET /meta/versions). Example 2026-06-13
request.logoUrl?stringFormat: uri Description URL to organisation logo Example https://example.com/logo.png
request.metadata?{ [key: string]: unknown; }Description Additional metadata Example { * "industry": "Technology", * "size": "Medium" * }
request.name?stringDescription Organisation name Example Acme Corporation
request.primaryColor?stringDescription Primary brand color (hex format) Example #FF5733
request.secondaryColor?stringDescription Secondary brand color (hex format) Example #3366FF
Returns

Promise<{ apiVersion: string; createdAt: string; id: string; logoUrl?: string; metadata?: { [key: string]: unknown; }; name: string; primaryColor?: string; secondaryColor?: string; updatedAt: string; }>

Operation Id

updateOrganisation


passes()

passes: (passeId: string) => {
entitlements: {
redeem: (barcode: string, request: {
deviceId?: string;
idempotencyKey?: string;
location?: string;
}) => Promise<{
entitlement: {
eventOccurrenceId: string | null;
id: string;
name: string;
redemptionCount: number;
redemptionLimit: number | null;
seatLabel: string | null;
status: string;
type: string;
};
outcome: "void" | "valid" | "duplicate";
pass: {
id: string;
status: string;
};
reason?: string;
redemption?: {
id: string;
redeemedAt: string;
};
}>;
};
};

Defined in: client.ts:3994

passes methods Use passes() to access nested resources: passes(id).entitlements

Parameters

ParameterType
passeIdstring

Returns

{
entitlements: {
redeem: (barcode: string, request: {
deviceId?: string;
idempotencyKey?: string;
location?: string;
}) => Promise<{
entitlement: {
eventOccurrenceId: string | null;
id: string;
name: string;
redemptionCount: number;
redemptionLimit: number | null;
seatLabel: string | null;
status: string;
type: string;
};
outcome: "void" | "valid" | "duplicate";
pass: {
id: string;
status: string;
};
reason?: string;
redemption?: {
id: string;
redeemedAt: string;
};
}>;
};
}
entitlements
entitlements: {
redeem: (barcode: string, request: {
deviceId?: string;
idempotencyKey?: string;
location?: string;
}) => Promise<{
entitlement: {
eventOccurrenceId: string | null;
id: string;
name: string;
redemptionCount: number;
redemptionLimit: number | null;
seatLabel: string | null;
status: string;
type: string;
};
outcome: "void" | "valid" | "duplicate";
pass: {
id: string;
status: string;
};
reason?: string;
redemption?: {
id: string;
redeemedAt: string;
};
}>;
};
entitlements.redeem()
redeem: (barcode: string, request: {
deviceId?: string;
idempotencyKey?: string;
location?: string;
}) => Promise<{
entitlement: {
eventOccurrenceId: string | null;
id: string;
name: string;
redemptionCount: number;
redemptionLimit: number | null;
seatLabel: string | null;
status: string;
type: string;
};
outcome: "void" | "valid" | "duplicate";
pass: {
id: string;
status: string;
};
reason?: string;
redemption?: {
id: string;
redeemedAt: string;
};
}>;

Redeem a pass Redeem a pass by its barcode at a gate. Idempotent under an Idempotency-Key header. Returns an outcome of valid, duplicate, or void. (Basic implementation: status + limit only; the full rules engine is part of the scanning/Go stream.)

Parameters
ParameterType
barcodestring
request{ deviceId?: string; idempotencyKey?: string; location?: string; }
request.deviceId?string
request.idempotencyKey?string
request.location?string
Returns

Promise<{ entitlement: { eventOccurrenceId: string | null; id: string; name: string; redemptionCount: number; redemptionLimit: number | null; seatLabel: string | null; status: string; type: string; }; outcome: "void" | "valid" | "duplicate"; pass: { id: string; status: string; }; reason?: string; redemption?: { id: string; redeemedAt: string; }; }>

Operation Id

redeemPass


paymentProviders

paymentProviders: {
create: (request: {
accountId?: string;
applicationFee?: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
capabilities?: {
maxAmount?: number;
minAmount?: number;
requiresCustomerAction?: boolean;
supportedCurrencies?: string[];
supportsDelayedCapture?: boolean;
supportsInstantCapture?: boolean;
supportsPartialRefunds?: boolean;
supportsRefunds?: boolean;
};
configuration: Record<string, any>;
description?: string;
feeStructure?: {
currency?: string;
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
};
integrationServiceUrl?: string;
integrationServiceVersion?: string;
integrationType?: "ticketlayer_pay" | "self_service";
isDefault?: boolean;
metadata?: Record<string, any>;
name: string;
priority?: number;
supportedPaymentTypes: (
| "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque")[];
type: | "stripe_connect"
| "stripe_direct"
| "adyen"
| "square"
| "paypal"
| "cash"
| "bank_transfer";
}) => Promise<{
accountId: string | null;
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
capabilities: | {
maxAmount?: number;
minAmount?: number;
requiresCustomerAction?: boolean;
supportedCurrencies?: string[];
supportsDelayedCapture?: boolean;
supportsInstantCapture?: boolean;
supportsPartialRefunds?: boolean;
supportsRefunds?: boolean;
}
| null;
configuration: {
[key: string]: unknown;
};
createdAt: string;
description: string | null;
feeStructure: | {
currency?: string;
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
}
| null;
id: string;
integrationServiceUrl: string | null;
integrationServiceVersion: string;
isDefault: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
organisationId: string;
priority: number;
status: "active" | "inactive" | "pending_setup";
supportedPaymentTypes: (
| "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque")[];
type: | "stripe_connect"
| "stripe_direct"
| "adyen"
| "square"
| "paypal"
| "cash"
| "bank_transfer";
updatedAt: string;
}>;
createAccountOnboardingLink: (providerId: string, accountId: string, request: {
refreshUrl: string;
returnUrl: string;
}) => Promise<{
connectedAccountId: string;
expiresAt: string;
url: string;
}>;
createAccountOnboardingSession: (providerId: string, accountId: string) => Promise<{
clientSecret: string;
connectedAccountId: string;
expiresAt: string;
publishableKey: string;
}>;
createTicketlayerPayOnboardingLink: (request: {
refreshUrl: string;
returnUrl: string;
}) => Promise<{
connectedAccountId: string;
expiresAt: string;
url: string;
}>;
createTicketlayerPayOnboardingSession: () => Promise<{
clientSecret: string;
connectedAccountId: string;
expiresAt: string;
publishableKey: string;
}>;
delete: (providerId: string) => Promise<{
id: string;
success: boolean;
}>;
enableTicketlayerPay: (request: {
contactEmail?: string;
country?: string;
currency?: string;
displayName?: string;
metadata?: Record<string, any>;
}) => Promise<{
created: boolean;
status: {
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
chargesEnabled: boolean;
connectedAccountId: string | null;
detailsSubmitted: boolean;
disabledReason: string | null;
enabled: boolean;
lastSyncedAt: string | null;
onboardingStatus: | "not_started"
| "in_progress"
| "pending_verification"
| "complete"
| "restricted"
| "disabled"
| null;
payoutsEnabled: boolean;
providerId: string | null;
providerStatus: "active" | "inactive" | "pending_setup" | null;
requirements: | {
deadline: string | null;
entries: {
code: string;
deadline: string | null;
description: string;
}[];
status: "past_due" | "currently_due" | "eventually_due" | null;
}
| null;
};
}>;
get: (providerId: string) => Promise<{
accountId: string | null;
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
capabilities: | {
maxAmount?: number;
minAmount?: number;
requiresCustomerAction?: boolean;
supportedCurrencies?: string[];
supportsDelayedCapture?: boolean;
supportsInstantCapture?: boolean;
supportsPartialRefunds?: boolean;
supportsRefunds?: boolean;
}
| null;
configuration: {
[key: string]: unknown;
};
createdAt: string;
description: string | null;
feeStructure: | {
currency?: string;
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
}
| null;
id: string;
integrationServiceUrl: string | null;
integrationServiceVersion: string;
isDefault: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
organisationId: string;
priority: number;
status: "active" | "inactive" | "pending_setup";
supportedPaymentTypes: (
| "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque")[];
type: | "stripe_connect"
| "stripe_direct"
| "adyen"
| "square"
| "paypal"
| "cash"
| "bank_transfer";
updatedAt: string;
}>;
getAccount: (providerId: string, accountId: string, options?: {
refresh?: "true" | "false" | "0" | "1";
}) => Promise<
| {
accountId: string;
chargesEnabled: boolean;
connectedAccountId: string | null;
createdAt: string;
detailsSubmitted: boolean;
disabledReason: string | null;
id: string;
lastSyncedAt: string | null;
mode: "direct" | "connected";
onboardingStatus: | "not_started"
| "in_progress"
| "pending_verification"
| "complete"
| "restricted"
| "disabled"
| null;
payoutsEnabled: boolean;
providerId: string;
requirements: | {
deadline: string | null;
entries: {
code: string;
deadline: string | null;
description: string;
}[];
status: "past_due" | "currently_due" | "eventually_due" | null;
}
| null;
updatedAt: string;
}
| null>;
getDefault: () => Promise<{
accountId: string | null;
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
capabilities: | {
maxAmount?: number;
minAmount?: number;
requiresCustomerAction?: boolean;
supportedCurrencies?: string[];
supportsDelayedCapture?: boolean;
supportsInstantCapture?: boolean;
supportsPartialRefunds?: boolean;
supportsRefunds?: boolean;
}
| null;
configuration: {
[key: string]: unknown;
};
createdAt: string;
description: string | null;
feeStructure: | {
currency?: string;
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
}
| null;
id: string;
integrationServiceUrl: string | null;
integrationServiceVersion: string;
isDefault: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
organisationId: string;
priority: number;
status: "active" | "inactive" | "pending_setup";
supportedPaymentTypes: (
| "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque")[];
type: | "stripe_connect"
| "stripe_direct"
| "adyen"
| "square"
| "paypal"
| "cash"
| "bank_transfer";
updatedAt: string;
}>;
getStripeConnect: () => Promise<
| {
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
connectWebhookRegistered: boolean;
createdAt: string;
defaultMode: "direct" | "connected";
id: string;
livemode: boolean;
name: string;
platformAccountId: string | null;
platformCountry: string | null;
platformCurrency: string | null;
publishableKey: string | null;
refundApplicationFee: boolean;
status: "active" | "inactive" | "pending_setup";
updatedAt: string;
webhookRegistered: boolean;
webhookRegistrationError: string | null;
}
| null>;
getTicketlayerPay: (options?: {
refresh?: "true" | "false" | "0" | "1";
}) => Promise<{
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
chargesEnabled: boolean;
connectedAccountId: string | null;
detailsSubmitted: boolean;
disabledReason: string | null;
enabled: boolean;
lastSyncedAt: string | null;
onboardingStatus: | "not_started"
| "in_progress"
| "pending_verification"
| "complete"
| "restricted"
| "disabled"
| null;
payoutsEnabled: boolean;
providerId: string | null;
providerStatus: "active" | "inactive" | "pending_setup" | null;
requirements: | {
deadline: string | null;
entries: {
code: string;
deadline: string | null;
description: string;
}[];
status: "past_due" | "currently_due" | "eventually_due" | null;
}
| null;
}>;
linkStripeConnect: (request: {
applicationFee?: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
defaultMode: "direct" | "connected";
name?: string;
publishableKey: string;
refundApplicationFee?: boolean;
secretKey: string;
}) => Promise<{
created: boolean;
provider: {
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
connectWebhookRegistered: boolean;
createdAt: string;
defaultMode: "direct" | "connected";
id: string;
livemode: boolean;
name: string;
platformAccountId: string | null;
platformCountry: string | null;
platformCurrency: string | null;
publishableKey: string | null;
refundApplicationFee: boolean;
status: "active" | "inactive" | "pending_setup";
updatedAt: string;
webhookRegistered: boolean;
webhookRegistrationError: string | null;
};
}>;
list: (options?: {
accountId?: string;
integrationType?: "ticketlayer_pay" | "self_service";
isDefault?: string;
limit?: string;
page?: string;
paymentType?: | "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque";
status?: "active" | "inactive" | "pending_setup";
type?: | "stripe_connect"
| "stripe_direct"
| "adyen"
| "square"
| "paypal"
| "cash"
| "bank_transfer";
}) => Promise<{
pagination: {
limit: number;
page: number;
total: number;
totalPages: number;
};
providers: {
accountId: string | null;
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
capabilities: | {
maxAmount?: number;
minAmount?: number;
requiresCustomerAction?: boolean;
supportedCurrencies?: string[];
supportsDelayedCapture?: boolean;
supportsInstantCapture?: boolean;
supportsPartialRefunds?: boolean;
supportsRefunds?: boolean;
}
| null;
configuration: {
[key: string]: unknown;
};
createdAt: string;
description: string | null;
feeStructure: | {
currency?: string;
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
}
| null;
id: string;
integrationServiceUrl: string | null;
integrationServiceVersion: string;
isDefault: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
organisationId: string;
priority: number;
status: "active" | "inactive" | "pending_setup";
supportedPaymentTypes: (
| "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque")[];
type: | "stripe_connect"
| "stripe_direct"
| "adyen"
| "square"
| "paypal"
| "cash"
| "bank_transfer";
updatedAt: string;
}[];
}>;
listAccounts: (providerId: string) => Promise<{
accountId: string;
chargesEnabled: boolean;
connectedAccountId: string | null;
createdAt: string;
detailsSubmitted: boolean;
disabledReason: string | null;
id: string;
lastSyncedAt: string | null;
mode: "direct" | "connected";
onboardingStatus: | "not_started"
| "in_progress"
| "pending_verification"
| "complete"
| "restricted"
| "disabled"
| null;
payoutsEnabled: boolean;
providerId: string;
requirements: | {
deadline: string | null;
entries: {
code: string;
deadline: string | null;
description: string;
}[];
status: "past_due" | "currently_due" | "eventually_due" | null;
}
| null;
updatedAt: string;
}[]>;
setAccountMode: (providerId: string, accountId: string, request: {
connectedAccountId?: string;
contactEmail?: string;
country?: string;
currency?: string;
displayName?: string;
mode: "direct" | "connected";
}) => Promise<{
accountId: string;
chargesEnabled: boolean;
connectedAccountId: string | null;
createdAt: string;
detailsSubmitted: boolean;
disabledReason: string | null;
id: string;
lastSyncedAt: string | null;
mode: "direct" | "connected";
onboardingStatus: | "not_started"
| "in_progress"
| "pending_verification"
| "complete"
| "restricted"
| "disabled"
| null;
payoutsEnabled: boolean;
providerId: string;
requirements: | {
deadline: string | null;
entries: {
code: string;
deadline: string | null;
description: string;
}[];
status: "past_due" | "currently_due" | "eventually_due" | null;
}
| null;
updatedAt: string;
}>;
update: (providerId: string, request: {
applicationFee?: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
capabilities?: {
maxAmount?: number;
minAmount?: number;
requiresCustomerAction?: boolean;
supportedCurrencies?: string[];
supportsDelayedCapture?: boolean;
supportsInstantCapture?: boolean;
supportsPartialRefunds?: boolean;
supportsRefunds?: boolean;
};
configuration?: Record<string, any>;
description?: string;
feeStructure?: {
currency?: string;
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
};
integrationServiceUrl?: string;
integrationServiceVersion?: string;
isDefault?: boolean;
metadata?: Record<string, any>;
name?: string;
priority?: number;
status?: "active" | "inactive" | "pending_setup";
supportedPaymentTypes?: (
| "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque")[];
}) => Promise<{
accountId: string | null;
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
capabilities: | {
maxAmount?: number;
minAmount?: number;
requiresCustomerAction?: boolean;
supportedCurrencies?: string[];
supportsDelayedCapture?: boolean;
supportsInstantCapture?: boolean;
supportsPartialRefunds?: boolean;
supportsRefunds?: boolean;
}
| null;
configuration: {
[key: string]: unknown;
};
createdAt: string;
description: string | null;
feeStructure: | {
currency?: string;
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
}
| null;
id: string;
integrationServiceUrl: string | null;
integrationServiceVersion: string;
isDefault: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
organisationId: string;
priority: number;
status: "active" | "inactive" | "pending_setup";
supportedPaymentTypes: (
| "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque")[];
type: | "stripe_connect"
| "stripe_direct"
| "adyen"
| "square"
| "paypal"
| "cash"
| "bank_transfer";
updatedAt: string;
}>;
};

Defined in: client.ts:2970

Payment Providers methods

create()

create: (request: {
accountId?: string;
applicationFee?: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
capabilities?: {
maxAmount?: number;
minAmount?: number;
requiresCustomerAction?: boolean;
supportedCurrencies?: string[];
supportsDelayedCapture?: boolean;
supportsInstantCapture?: boolean;
supportsPartialRefunds?: boolean;
supportsRefunds?: boolean;
};
configuration: Record<string, any>;
description?: string;
feeStructure?: {
currency?: string;
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
};
integrationServiceUrl?: string;
integrationServiceVersion?: string;
integrationType?: "ticketlayer_pay" | "self_service";
isDefault?: boolean;
metadata?: Record<string, any>;
name: string;
priority?: number;
supportedPaymentTypes: (
| "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque")[];
type: | "stripe_connect"
| "stripe_direct"
| "adyen"
| "square"
| "paypal"
| "cash"
| "bank_transfer";
}) => Promise<{
accountId: string | null;
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
capabilities: | {
maxAmount?: number;
minAmount?: number;
requiresCustomerAction?: boolean;
supportedCurrencies?: string[];
supportsDelayedCapture?: boolean;
supportsInstantCapture?: boolean;
supportsPartialRefunds?: boolean;
supportsRefunds?: boolean;
}
| null;
configuration: {
[key: string]: unknown;
};
createdAt: string;
description: string | null;
feeStructure: | {
currency?: string;
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
}
| null;
id: string;
integrationServiceUrl: string | null;
integrationServiceVersion: string;
isDefault: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
organisationId: string;
priority: number;
status: "active" | "inactive" | "pending_setup";
supportedPaymentTypes: (
| "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque")[];
type: | "stripe_connect"
| "stripe_direct"
| "adyen"
| "square"
| "paypal"
| "cash"
| "bank_transfer";
updatedAt: string;
}>;

Create payment provider Create a new payment provider configuration

Parameters
ParameterType
request{ accountId?: string; applicationFee?: | { fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; value?: number; } | null; capabilities?: { maxAmount?: number; minAmount?: number; requiresCustomerAction?: boolean; supportedCurrencies?: string[]; supportsDelayedCapture?: boolean; supportsInstantCapture?: boolean; supportsPartialRefunds?: boolean; supportsRefunds?: boolean; }; configuration: Record<string, any>; description?: string; feeStructure?: { currency?: string; fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; }; integrationServiceUrl?: string; integrationServiceVersion?: string; integrationType?: "ticketlayer_pay" | "self_service"; isDefault?: boolean; metadata?: Record<string, any>; name: string; priority?: number; supportedPaymentTypes: ( | "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque")[]; type: | "stripe_connect" | "stripe_direct" | "adyen" | "square" | "paypal" | "cash" | "bank_transfer"; }
request.accountId?string
request.applicationFee?| { fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; value?: number; } | null
request.capabilities?{ maxAmount?: number; minAmount?: number; requiresCustomerAction?: boolean; supportedCurrencies?: string[]; supportsDelayedCapture?: boolean; supportsInstantCapture?: boolean; supportsPartialRefunds?: boolean; supportsRefunds?: boolean; }
request.capabilities.maxAmount?number
request.capabilities.minAmount?number
request.capabilities.requiresCustomerAction?boolean
request.capabilities.supportedCurrencies?string[]
request.capabilities.supportsDelayedCapture?boolean
request.capabilities.supportsInstantCapture?boolean
request.capabilities.supportsPartialRefunds?boolean
request.capabilities.supportsRefunds?boolean
request.configurationRecord<string, any>
request.description?string
request.feeStructure?{ currency?: string; fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; }
request.feeStructure.currency?string
request.feeStructure.fixed?number
request.feeStructure.percentage?number
request.feeStructure.type"percentage" | "fixed" | "percentage_plus_fixed"
request.integrationServiceUrl?string
request.integrationServiceVersion?string
request.integrationType?"ticketlayer_pay" | "self_service"
request.isDefault?boolean
request.metadata?Record<string, any>
request.namestring
request.priority?number
request.supportedPaymentTypes( | "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque")[]
request.type| "stripe_connect" | "stripe_direct" | "adyen" | "square" | "paypal" | "cash" | "bank_transfer"
Returns

Promise<{ accountId: string | null; applicationFee: | { fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; value?: number; } | null; capabilities: | { maxAmount?: number; minAmount?: number; requiresCustomerAction?: boolean; supportedCurrencies?: string[]; supportsDelayedCapture?: boolean; supportsInstantCapture?: boolean; supportsPartialRefunds?: boolean; supportsRefunds?: boolean; } | null; configuration: { [key: string]: unknown; }; createdAt: string; description: string | null; feeStructure: | { currency?: string; fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; } | null; id: string; integrationServiceUrl: string | null; integrationServiceVersion: string; isDefault: boolean; metadata: | { [key: string]: unknown; } | null; name: string; organisationId: string; priority: number; status: "active" | "inactive" | "pending_setup"; supportedPaymentTypes: ( | "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque")[]; type: | "stripe_connect" | "stripe_direct" | "adyen" | "square" | "paypal" | "cash" | "bank_transfer"; updatedAt: string; }>

Operation Id

createPaymentProvider

createAccountOnboardingLink: (providerId: string, accountId: string, request: {
refreshUrl: string;
returnUrl: string;
}) => Promise<{
connectedAccountId: string;
expiresAt: string;
url: string;
}>;

Hosted onboarding link for an Account's connected account

Parameters
ParameterType
providerIdstring
accountIdstring
request{ refreshUrl: string; returnUrl: string; }
request.refreshUrlstring
request.returnUrlstring
Returns

Promise<{ connectedAccountId: string; expiresAt: string; url: string; }>

Operation Id

createPaymentProviderAccountOnboardingLink

createAccountOnboardingSession()

createAccountOnboardingSession: (providerId: string, accountId: string) => Promise<{
clientSecret: string;
connectedAccountId: string;
expiresAt: string;
publishableKey: string;
}>;

Account Session for embedded onboarding of an Account's connected account

Parameters
ParameterType
providerIdstring
accountIdstring
Returns

Promise<{ clientSecret: string; connectedAccountId: string; expiresAt: string; publishableKey: string; }>

Operation Id

createPaymentProviderAccountOnboardingSession

createTicketlayerPayOnboardingLink: (request: {
refreshUrl: string;
returnUrl: string;
}) => Promise<{
connectedAccountId: string;
expiresAt: string;
url: string;
}>;

Hosted onboarding link for Ticketlayer Pay

Parameters
ParameterType
request{ refreshUrl: string; returnUrl: string; }
request.refreshUrlstring
request.returnUrlstring
Returns

Promise<{ connectedAccountId: string; expiresAt: string; url: string; }>

Operation Id

createTicketlayerPayOnboardingLink

createTicketlayerPayOnboardingSession()

createTicketlayerPayOnboardingSession: () => Promise<{
clientSecret: string;
connectedAccountId: string;
expiresAt: string;
publishableKey: string;
}>;

Account Session for embedded Ticketlayer Pay onboarding Mints a Stripe Account Session for the embedded account-onboarding, account-management and notification-banner components.

Returns

Promise<{ clientSecret: string; connectedAccountId: string; expiresAt: string; publishableKey: string; }>

Operation Id

createTicketlayerPayOnboardingSession

delete()

delete: (providerId: string) => Promise<{
id: string;
success: boolean;
}>;

Delete payment provider Delete a payment provider (soft delete)

Parameters
ParameterType
providerIdstring
Returns

Promise<{ id: string; success: boolean; }>

Operation Id

deletePaymentProvider

enableTicketlayerPay()

enableTicketlayerPay: (request: {
contactEmail?: string;
country?: string;
currency?: string;
displayName?: string;
metadata?: Record<string, any>;
}) => Promise<{
created: boolean;
status: {
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
chargesEnabled: boolean;
connectedAccountId: string | null;
detailsSubmitted: boolean;
disabledReason: string | null;
enabled: boolean;
lastSyncedAt: string | null;
onboardingStatus: | "not_started"
| "in_progress"
| "pending_verification"
| "complete"
| "restricted"
| "disabled"
| null;
payoutsEnabled: boolean;
providerId: string | null;
providerStatus: "active" | "inactive" | "pending_setup" | null;
requirements: | {
deadline: string | null;
entries: {
code: string;
deadline: string | null;
description: string;
}[];
status: "past_due" | "currently_due" | "eventually_due" | null;
}
| null;
};
}>;

Enable Ticketlayer Pay Vend the organisation's connected account on Ticketlayer's Stripe platform and create its Ticketlayer Pay provider. Idempotent: a second call returns the existing provider.

Parameters
ParameterType
request{ contactEmail?: string; country?: string; currency?: string; displayName?: string; metadata?: Record<string, any>; }
request.contactEmail?string
request.country?string
request.currency?string
request.displayName?string
request.metadata?Record<string, any>
Returns

Promise<{ created: boolean; status: { applicationFee: | { fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; value?: number; } | null; chargesEnabled: boolean; connectedAccountId: string | null; detailsSubmitted: boolean; disabledReason: string | null; enabled: boolean; lastSyncedAt: string | null; onboardingStatus: | "not_started" | "in_progress" | "pending_verification" | "complete" | "restricted" | "disabled" | null; payoutsEnabled: boolean; providerId: string | null; providerStatus: "active" | "inactive" | "pending_setup" | null; requirements: | { deadline: string | null; entries: { code: string; deadline: string | null; description: string; }[]; status: "past_due" | "currently_due" | "eventually_due" | null; } | null; }; }>

Operation Id

enableTicketlayerPay

get()

get: (providerId: string) => Promise<{
accountId: string | null;
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
capabilities: | {
maxAmount?: number;
minAmount?: number;
requiresCustomerAction?: boolean;
supportedCurrencies?: string[];
supportsDelayedCapture?: boolean;
supportsInstantCapture?: boolean;
supportsPartialRefunds?: boolean;
supportsRefunds?: boolean;
}
| null;
configuration: {
[key: string]: unknown;
};
createdAt: string;
description: string | null;
feeStructure: | {
currency?: string;
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
}
| null;
id: string;
integrationServiceUrl: string | null;
integrationServiceVersion: string;
isDefault: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
organisationId: string;
priority: number;
status: "active" | "inactive" | "pending_setup";
supportedPaymentTypes: (
| "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque")[];
type: | "stripe_connect"
| "stripe_direct"
| "adyen"
| "square"
| "paypal"
| "cash"
| "bank_transfer";
updatedAt: string;
}>;

Get payment provider Get a specific payment provider by ID

Parameters
ParameterType
providerIdstring
Returns

Promise<{ accountId: string | null; applicationFee: | { fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; value?: number; } | null; capabilities: | { maxAmount?: number; minAmount?: number; requiresCustomerAction?: boolean; supportedCurrencies?: string[]; supportsDelayedCapture?: boolean; supportsInstantCapture?: boolean; supportsPartialRefunds?: boolean; supportsRefunds?: boolean; } | null; configuration: { [key: string]: unknown; }; createdAt: string; description: string | null; feeStructure: | { currency?: string; fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; } | null; id: string; integrationServiceUrl: string | null; integrationServiceVersion: string; isDefault: boolean; metadata: | { [key: string]: unknown; } | null; name: string; organisationId: string; priority: number; status: "active" | "inactive" | "pending_setup"; supportedPaymentTypes: ( | "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque")[]; type: | "stripe_connect" | "stripe_direct" | "adyen" | "square" | "paypal" | "cash" | "bank_transfer"; updatedAt: string; }>

Operation Id

getPaymentProvider

getAccount()

getAccount: (providerId: string, accountId: string, options?: {
refresh?: "true" | "false" | "0" | "1";
}) => Promise<
| {
accountId: string;
chargesEnabled: boolean;
connectedAccountId: string | null;
createdAt: string;
detailsSubmitted: boolean;
disabledReason: string | null;
id: string;
lastSyncedAt: string | null;
mode: "direct" | "connected";
onboardingStatus: | "not_started"
| "in_progress"
| "pending_verification"
| "complete"
| "restricted"
| "disabled"
| null;
payoutsEnabled: boolean;
providerId: string;
requirements: | {
deadline: string | null;
entries: {
code: string;
deadline: string | null;
description: string;
}[];
status: "past_due" | "currently_due" | "eventually_due" | null;
}
| null;
updatedAt: string;
}
| null>;

One Account's routing on a Stripe Connect provider

Parameters
ParameterType
providerIdstring
accountIdstring
options?{ refresh?: "true" | "false" | "0" | "1"; }
options.refresh?"true" | "false" | "0" | "1"
Returns

Promise< | { accountId: string; chargesEnabled: boolean; connectedAccountId: string | null; createdAt: string; detailsSubmitted: boolean; disabledReason: string | null; id: string; lastSyncedAt: string | null; mode: "direct" | "connected"; onboardingStatus: | "not_started" | "in_progress" | "pending_verification" | "complete" | "restricted" | "disabled" | null; payoutsEnabled: boolean; providerId: string; requirements: | { deadline: string | null; entries: { code: string; deadline: string | null; description: string; }[]; status: "past_due" | "currently_due" | "eventually_due" | null; } | null; updatedAt: string; } | null>

Operation Id

getPaymentProviderAccount

getDefault()

getDefault: () => Promise<{
accountId: string | null;
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
capabilities: | {
maxAmount?: number;
minAmount?: number;
requiresCustomerAction?: boolean;
supportedCurrencies?: string[];
supportsDelayedCapture?: boolean;
supportsInstantCapture?: boolean;
supportsPartialRefunds?: boolean;
supportsRefunds?: boolean;
}
| null;
configuration: {
[key: string]: unknown;
};
createdAt: string;
description: string | null;
feeStructure: | {
currency?: string;
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
}
| null;
id: string;
integrationServiceUrl: string | null;
integrationServiceVersion: string;
isDefault: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
organisationId: string;
priority: number;
status: "active" | "inactive" | "pending_setup";
supportedPaymentTypes: (
| "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque")[];
type: | "stripe_connect"
| "stripe_direct"
| "adyen"
| "square"
| "paypal"
| "cash"
| "bank_transfer";
updatedAt: string;
}>;

Get default payment provider Get the default payment provider for the account/organisation

Returns

Promise<{ accountId: string | null; applicationFee: | { fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; value?: number; } | null; capabilities: | { maxAmount?: number; minAmount?: number; requiresCustomerAction?: boolean; supportedCurrencies?: string[]; supportsDelayedCapture?: boolean; supportsInstantCapture?: boolean; supportsPartialRefunds?: boolean; supportsRefunds?: boolean; } | null; configuration: { [key: string]: unknown; }; createdAt: string; description: string | null; feeStructure: | { currency?: string; fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; } | null; id: string; integrationServiceUrl: string | null; integrationServiceVersion: string; isDefault: boolean; metadata: | { [key: string]: unknown; } | null; name: string; organisationId: string; priority: number; status: "active" | "inactive" | "pending_setup"; supportedPaymentTypes: ( | "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque")[]; type: | "stripe_connect" | "stripe_direct" | "adyen" | "square" | "paypal" | "cash" | "bank_transfer"; updatedAt: string; }>

Operation Id

getDefaultPaymentProvider

getStripeConnect()

getStripeConnect: () => Promise<
| {
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
connectWebhookRegistered: boolean;
createdAt: string;
defaultMode: "direct" | "connected";
id: string;
livemode: boolean;
name: string;
platformAccountId: string | null;
platformCountry: string | null;
platformCurrency: string | null;
publishableKey: string | null;
refundApplicationFee: boolean;
status: "active" | "inactive" | "pending_setup";
updatedAt: string;
webhookRegistered: boolean;
webhookRegistrationError: string | null;
}
| null>;

The organisation's Stripe Connect provider

Returns

Promise< | { applicationFee: | { fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; value?: number; } | null; connectWebhookRegistered: boolean; createdAt: string; defaultMode: "direct" | "connected"; id: string; livemode: boolean; name: string; platformAccountId: string | null; platformCountry: string | null; platformCurrency: string | null; publishableKey: string | null; refundApplicationFee: boolean; status: "active" | "inactive" | "pending_setup"; updatedAt: string; webhookRegistered: boolean; webhookRegistrationError: string | null; } | null>

Operation Id

getStripeConnect

getTicketlayerPay()

getTicketlayerPay: (options?: {
refresh?: "true" | "false" | "0" | "1";
}) => Promise<{
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
chargesEnabled: boolean;
connectedAccountId: string | null;
detailsSubmitted: boolean;
disabledReason: string | null;
enabled: boolean;
lastSyncedAt: string | null;
onboardingStatus: | "not_started"
| "in_progress"
| "pending_verification"
| "complete"
| "restricted"
| "disabled"
| null;
payoutsEnabled: boolean;
providerId: string | null;
providerStatus: "active" | "inactive" | "pending_setup" | null;
requirements: | {
deadline: string | null;
entries: {
code: string;
deadline: string | null;
description: string;
}[];
status: "past_due" | "currently_due" | "eventually_due" | null;
}
| null;
}>;

Ticketlayer Pay status Onboarding and charge state of the organisation's Ticketlayer Pay account; refresh=true re-reads Stripe first.

Parameters
ParameterType
options?{ refresh?: "true" | "false" | "0" | "1"; }
options.refresh?"true" | "false" | "0" | "1"
Returns

Promise<{ applicationFee: | { fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; value?: number; } | null; chargesEnabled: boolean; connectedAccountId: string | null; detailsSubmitted: boolean; disabledReason: string | null; enabled: boolean; lastSyncedAt: string | null; onboardingStatus: | "not_started" | "in_progress" | "pending_verification" | "complete" | "restricted" | "disabled" | null; payoutsEnabled: boolean; providerId: string | null; providerStatus: "active" | "inactive" | "pending_setup" | null; requirements: | { deadline: string | null; entries: { code: string; deadline: string | null; description: string; }[]; status: "past_due" | "currently_due" | "eventually_due" | null; } | null; }>

Operation Id

getTicketlayerPay

linkStripeConnect()

linkStripeConnect: (request: {
applicationFee?: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
defaultMode: "direct" | "connected";
name?: string;
publishableKey: string;
refundApplicationFee?: boolean;
secretKey: string;
}) => Promise<{
created: boolean;
provider: {
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
connectWebhookRegistered: boolean;
createdAt: string;
defaultMode: "direct" | "connected";
id: string;
livemode: boolean;
name: string;
platformAccountId: string | null;
platformCountry: string | null;
platformCurrency: string | null;
publishableKey: string | null;
refundApplicationFee: boolean;
status: "active" | "inactive" | "pending_setup";
updatedAt: string;
webhookRegistered: boolean;
webhookRegistrationError: string | null;
};
}>;

Link the organisation's own Stripe account Validates the keys against Stripe, stores them encrypted, registers the webhook endpoints and creates (or re-keys) the organisation's stripe_connect provider.

Parameters
ParameterType
request{ applicationFee?: | { fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; value?: number; } | null; defaultMode: "direct" | "connected"; name?: string; publishableKey: string; refundApplicationFee?: boolean; secretKey: string; }
request.applicationFee?| { fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; value?: number; } | null
request.defaultMode"direct" | "connected"
request.name?string
request.publishableKeystring
request.refundApplicationFee?boolean
request.secretKeystring
Returns

Promise<{ created: boolean; provider: { applicationFee: | { fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; value?: number; } | null; connectWebhookRegistered: boolean; createdAt: string; defaultMode: "direct" | "connected"; id: string; livemode: boolean; name: string; platformAccountId: string | null; platformCountry: string | null; platformCurrency: string | null; publishableKey: string | null; refundApplicationFee: boolean; status: "active" | "inactive" | "pending_setup"; updatedAt: string; webhookRegistered: boolean; webhookRegistrationError: string | null; }; }>

Operation Id

linkStripeConnect

list()

list: (options?: {
accountId?: string;
integrationType?: "ticketlayer_pay" | "self_service";
isDefault?: string;
limit?: string;
page?: string;
paymentType?: | "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque";
status?: "active" | "inactive" | "pending_setup";
type?: | "stripe_connect"
| "stripe_direct"
| "adyen"
| "square"
| "paypal"
| "cash"
| "bank_transfer";
}) => Promise<{
pagination: {
limit: number;
page: number;
total: number;
totalPages: number;
};
providers: {
accountId: string | null;
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
capabilities: | {
maxAmount?: number;
minAmount?: number;
requiresCustomerAction?: boolean;
supportedCurrencies?: string[];
supportsDelayedCapture?: boolean;
supportsInstantCapture?: boolean;
supportsPartialRefunds?: boolean;
supportsRefunds?: boolean;
}
| null;
configuration: {
[key: string]: unknown;
};
createdAt: string;
description: string | null;
feeStructure: | {
currency?: string;
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
}
| null;
id: string;
integrationServiceUrl: string | null;
integrationServiceVersion: string;
isDefault: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
organisationId: string;
priority: number;
status: "active" | "inactive" | "pending_setup";
supportedPaymentTypes: (
| "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque")[];
type: | "stripe_connect"
| "stripe_direct"
| "adyen"
| "square"
| "paypal"
| "cash"
| "bank_transfer";
updatedAt: string;
}[];
}>;

List payment providers List all payment providers with optional filtering and pagination

Parameters
ParameterType
options?{ accountId?: string; integrationType?: "ticketlayer_pay" | "self_service"; isDefault?: string; limit?: string; page?: string; paymentType?: | "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque"; status?: "active" | "inactive" | "pending_setup"; type?: | "stripe_connect" | "stripe_direct" | "adyen" | "square" | "paypal" | "cash" | "bank_transfer"; }
options.accountId?string
options.integrationType?"ticketlayer_pay" | "self_service"
options.isDefault?string
options.limit?string
options.page?string
options.paymentType?| "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque"
options.status?"active" | "inactive" | "pending_setup"
options.type?| "stripe_connect" | "stripe_direct" | "adyen" | "square" | "paypal" | "cash" | "bank_transfer"
Returns

Promise<{ pagination: { limit: number; page: number; total: number; totalPages: number; }; providers: { accountId: string | null; applicationFee: | { fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; value?: number; } | null; capabilities: | { maxAmount?: number; minAmount?: number; requiresCustomerAction?: boolean; supportedCurrencies?: string[]; supportsDelayedCapture?: boolean; supportsInstantCapture?: boolean; supportsPartialRefunds?: boolean; supportsRefunds?: boolean; } | null; configuration: { [key: string]: unknown; }; createdAt: string; description: string | null; feeStructure: | { currency?: string; fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; } | null; id: string; integrationServiceUrl: string | null; integrationServiceVersion: string; isDefault: boolean; metadata: | { [key: string]: unknown; } | null; name: string; organisationId: string; priority: number; status: "active" | "inactive" | "pending_setup"; supportedPaymentTypes: ( | "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque")[]; type: | "stripe_connect" | "stripe_direct" | "adyen" | "square" | "paypal" | "cash" | "bank_transfer"; updatedAt: string; }[]; }>

Operation Id

listPaymentProviders

listAccounts()

listAccounts: (providerId: string) => Promise<{
accountId: string;
chargesEnabled: boolean;
connectedAccountId: string | null;
createdAt: string;
detailsSubmitted: boolean;
disabledReason: string | null;
id: string;
lastSyncedAt: string | null;
mode: "direct" | "connected";
onboardingStatus: | "not_started"
| "in_progress"
| "pending_verification"
| "complete"
| "restricted"
| "disabled"
| null;
payoutsEnabled: boolean;
providerId: string;
requirements: | {
deadline: string | null;
entries: {
code: string;
deadline: string | null;
description: string;
}[];
status: "past_due" | "currently_due" | "eventually_due" | null;
}
| null;
updatedAt: string;
}[]>;

Per-Account routing rows on a Stripe Connect provider

Parameters
ParameterType
providerIdstring
Returns

Promise<{ accountId: string; chargesEnabled: boolean; connectedAccountId: string | null; createdAt: string; detailsSubmitted: boolean; disabledReason: string | null; id: string; lastSyncedAt: string | null; mode: "direct" | "connected"; onboardingStatus: | "not_started" | "in_progress" | "pending_verification" | "complete" | "restricted" | "disabled" | null; payoutsEnabled: boolean; providerId: string; requirements: | { deadline: string | null; entries: { code: string; deadline: string | null; description: string; }[]; status: "past_due" | "currently_due" | "eventually_due" | null; } | null; updatedAt: string; }[]>

Operation Id

listPaymentProviderAccounts

setAccountMode()

setAccountMode: (providerId: string, accountId: string, request: {
connectedAccountId?: string;
contactEmail?: string;
country?: string;
currency?: string;
displayName?: string;
mode: "direct" | "connected";
}) => Promise<{
accountId: string;
chargesEnabled: boolean;
connectedAccountId: string | null;
createdAt: string;
detailsSubmitted: boolean;
disabledReason: string | null;
id: string;
lastSyncedAt: string | null;
mode: "direct" | "connected";
onboardingStatus: | "not_started"
| "in_progress"
| "pending_verification"
| "complete"
| "restricted"
| "disabled"
| null;
payoutsEnabled: boolean;
providerId: string;
requirements: | {
deadline: string | null;
entries: {
code: string;
deadline: string | null;
description: string;
}[];
status: "past_due" | "currently_due" | "eventually_due" | null;
}
| null;
updatedAt: string;
}>;

Set how an Account charges through a Stripe Connect provider direct charges the organisation's own Stripe account; connected links the given connected account, reuses the one already on the row, or vends a new Stripe v2 account (Stripe liable, no dashboard) for this Account.

Parameters
ParameterType
providerIdstring
accountIdstring
request{ connectedAccountId?: string; contactEmail?: string; country?: string; currency?: string; displayName?: string; mode: "direct" | "connected"; }
request.connectedAccountId?string
request.contactEmail?string
request.country?string
request.currency?string
request.displayName?string
request.mode"direct" | "connected"
Returns

Promise<{ accountId: string; chargesEnabled: boolean; connectedAccountId: string | null; createdAt: string; detailsSubmitted: boolean; disabledReason: string | null; id: string; lastSyncedAt: string | null; mode: "direct" | "connected"; onboardingStatus: | "not_started" | "in_progress" | "pending_verification" | "complete" | "restricted" | "disabled" | null; payoutsEnabled: boolean; providerId: string; requirements: | { deadline: string | null; entries: { code: string; deadline: string | null; description: string; }[]; status: "past_due" | "currently_due" | "eventually_due" | null; } | null; updatedAt: string; }>

Operation Id

setPaymentProviderAccountMode

update()

update: (providerId: string, request: {
applicationFee?: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
capabilities?: {
maxAmount?: number;
minAmount?: number;
requiresCustomerAction?: boolean;
supportedCurrencies?: string[];
supportsDelayedCapture?: boolean;
supportsInstantCapture?: boolean;
supportsPartialRefunds?: boolean;
supportsRefunds?: boolean;
};
configuration?: Record<string, any>;
description?: string;
feeStructure?: {
currency?: string;
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
};
integrationServiceUrl?: string;
integrationServiceVersion?: string;
isDefault?: boolean;
metadata?: Record<string, any>;
name?: string;
priority?: number;
status?: "active" | "inactive" | "pending_setup";
supportedPaymentTypes?: (
| "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque")[];
}) => Promise<{
accountId: string | null;
applicationFee: | {
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
value?: number;
}
| null;
capabilities: | {
maxAmount?: number;
minAmount?: number;
requiresCustomerAction?: boolean;
supportedCurrencies?: string[];
supportsDelayedCapture?: boolean;
supportsInstantCapture?: boolean;
supportsPartialRefunds?: boolean;
supportsRefunds?: boolean;
}
| null;
configuration: {
[key: string]: unknown;
};
createdAt: string;
description: string | null;
feeStructure: | {
currency?: string;
fixed?: number;
percentage?: number;
type: "percentage" | "fixed" | "percentage_plus_fixed";
}
| null;
id: string;
integrationServiceUrl: string | null;
integrationServiceVersion: string;
isDefault: boolean;
metadata: | {
[key: string]: unknown;
}
| null;
name: string;
organisationId: string;
priority: number;
status: "active" | "inactive" | "pending_setup";
supportedPaymentTypes: (
| "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque")[];
type: | "stripe_connect"
| "stripe_direct"
| "adyen"
| "square"
| "paypal"
| "cash"
| "bank_transfer";
updatedAt: string;
}>;

Update payment provider Update an existing payment provider configuration

Parameters
ParameterType
providerIdstring
request{ applicationFee?: | { fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; value?: number; } | null; capabilities?: { maxAmount?: number; minAmount?: number; requiresCustomerAction?: boolean; supportedCurrencies?: string[]; supportsDelayedCapture?: boolean; supportsInstantCapture?: boolean; supportsPartialRefunds?: boolean; supportsRefunds?: boolean; }; configuration?: Record<string, any>; description?: string; feeStructure?: { currency?: string; fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; }; integrationServiceUrl?: string; integrationServiceVersion?: string; isDefault?: boolean; metadata?: Record<string, any>; name?: string; priority?: number; status?: "active" | "inactive" | "pending_setup"; supportedPaymentTypes?: ( | "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque")[]; }
request.applicationFee?| { fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; value?: number; } | null
request.capabilities?{ maxAmount?: number; minAmount?: number; requiresCustomerAction?: boolean; supportedCurrencies?: string[]; supportsDelayedCapture?: boolean; supportsInstantCapture?: boolean; supportsPartialRefunds?: boolean; supportsRefunds?: boolean; }
request.capabilities.maxAmount?number
request.capabilities.minAmount?number
request.capabilities.requiresCustomerAction?boolean
request.capabilities.supportedCurrencies?string[]
request.capabilities.supportsDelayedCapture?boolean
request.capabilities.supportsInstantCapture?boolean
request.capabilities.supportsPartialRefunds?boolean
request.capabilities.supportsRefunds?boolean
request.configuration?Record<string, any>
request.description?string
request.feeStructure?{ currency?: string; fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; }
request.feeStructure.currency?string
request.feeStructure.fixed?number
request.feeStructure.percentage?number
request.feeStructure.type"percentage" | "fixed" | "percentage_plus_fixed"
request.integrationServiceUrl?string
request.integrationServiceVersion?string
request.isDefault?boolean
request.metadata?Record<string, any>
request.name?string
request.priority?number
request.status?"active" | "inactive" | "pending_setup"
request.supportedPaymentTypes?( | "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque")[]
Returns

Promise<{ accountId: string | null; applicationFee: | { fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; value?: number; } | null; capabilities: | { maxAmount?: number; minAmount?: number; requiresCustomerAction?: boolean; supportedCurrencies?: string[]; supportsDelayedCapture?: boolean; supportsInstantCapture?: boolean; supportsPartialRefunds?: boolean; supportsRefunds?: boolean; } | null; configuration: { [key: string]: unknown; }; createdAt: string; description: string | null; feeStructure: | { currency?: string; fixed?: number; percentage?: number; type: "percentage" | "fixed" | "percentage_plus_fixed"; } | null; id: string; integrationServiceUrl: string | null; integrationServiceVersion: string; isDefault: boolean; metadata: | { [key: string]: unknown; } | null; name: string; organisationId: string; priority: number; status: "active" | "inactive" | "pending_setup"; supportedPaymentTypes: ( | "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque")[]; type: | "stripe_connect" | "stripe_direct" | "adyen" | "square" | "paypal" | "cash" | "bank_transfer"; updatedAt: string; }>

Operation Id

updatePaymentProvider


payments

payments: {
cancel: (paymentId: string, request: {
reason?: string;
}) => Promise<{
amount: number;
createdAt: string;
currency: string;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
invoiceId: string | null;
method: string | null;
organisationId: string;
paidAt: string | null;
status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded";
updatedAt: string;
}>;
create: (request: {
accountId: string;
amount: number;
currency: string;
isPartialPayment?: boolean;
metadata?: Record<string, any>;
orderId: string;
orderNumber: string;
paymentProviderId?: string;
paymentType: | "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque";
remainingBalance?: number;
returnUrl?: string;
}) => Promise<{
amount: number;
createdAt: string;
currency: string;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
invoiceId: string | null;
method: string | null;
organisationId: string;
paidAt: string | null;
status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded";
updatedAt: string;
}>;
createRefund: (paymentId: string, request: {
amount: number;
metadata?: Record<string, any>;
notes?: string;
reason: string;
}) => Promise<{
amount: number;
completedAt: string | null;
createdAt: string;
externalRefundId: string | null;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
notes: string | null;
paymentId: string;
reason: string;
status: "cancelled" | "pending" | "succeeded" | "failed" | "processing";
updatedAt: string;
}>;
get: (paymentId: string) => Promise<{
amount: number;
createdAt: string;
currency: string;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
invoiceId: string | null;
method: string | null;
organisationId: string;
paidAt: string | null;
status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded";
updatedAt: string;
}>;
list: (options?: {
fromDate?: string;
limit?: string;
orderId?: string;
page?: string;
paymentProviderId?: string;
paymentType?: | "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque";
status?: | "cancelled"
| "pending"
| "succeeded"
| "failed"
| "processing"
| "expired"
| "requires_action"
| "created";
toDate?: string;
}) => Promise<{
amount: number;
createdAt: string;
currency: string;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
invoiceId: string | null;
method: string | null;
organisationId: string;
paidAt: string | null;
status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded";
updatedAt: string;
}[]>;
listRefunds: (paymentId: string) => Promise<{
amount: number;
completedAt: string | null;
createdAt: string;
externalRefundId: string | null;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
notes: string | null;
paymentId: string;
reason: string;
status: "cancelled" | "pending" | "succeeded" | "failed" | "processing";
updatedAt: string;
}[]>;
};

Defined in: client.ts:2872

Payments methods

cancel()

cancel: (paymentId: string, request: {
reason?: string;
}) => Promise<{
amount: number;
createdAt: string;
currency: string;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
invoiceId: string | null;
method: string | null;
organisationId: string;
paidAt: string | null;
status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded";
updatedAt: string;
}>;

Cancel payment Cancel a pending payment

Parameters
ParameterType
paymentIdstring
request{ reason?: string; }
request.reason?string
Returns

Promise<{ amount: number; createdAt: string; currency: string; failedAt: string | null; failureCode: string | null; failureMessage: string | null; id: string; invoiceId: string | null; method: string | null; organisationId: string; paidAt: string | null; status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded"; updatedAt: string; }>

Operation Id

cancelPayment

create()

create: (request: {
accountId: string;
amount: number;
currency: string;
isPartialPayment?: boolean;
metadata?: Record<string, any>;
orderId: string;
orderNumber: string;
paymentProviderId?: string;
paymentType: | "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque";
remainingBalance?: number;
returnUrl?: string;
}) => Promise<{
amount: number;
createdAt: string;
currency: string;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
invoiceId: string | null;
method: string | null;
organisationId: string;
paidAt: string | null;
status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded";
updatedAt: string;
}>;

Create payment Create a new payment for an order

Parameters
ParameterType
request{ accountId: string; amount: number; currency: string; isPartialPayment?: boolean; metadata?: Record<string, any>; orderId: string; orderNumber: string; paymentProviderId?: string; paymentType: | "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque"; remainingBalance?: number; returnUrl?: string; }
request.accountIdstring
request.amountnumber
request.currencystring
request.isPartialPayment?boolean
request.metadata?Record<string, any>
request.orderIdstring
request.orderNumberstring
request.paymentProviderId?string
request.paymentType| "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque"
request.remainingBalance?number
request.returnUrl?string
Returns

Promise<{ amount: number; createdAt: string; currency: string; failedAt: string | null; failureCode: string | null; failureMessage: string | null; id: string; invoiceId: string | null; method: string | null; organisationId: string; paidAt: string | null; status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded"; updatedAt: string; }>

Operation Id

createPayment

createRefund()

createRefund: (paymentId: string, request: {
amount: number;
metadata?: Record<string, any>;
notes?: string;
reason: string;
}) => Promise<{
amount: number;
completedAt: string | null;
createdAt: string;
externalRefundId: string | null;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
notes: string | null;
paymentId: string;
reason: string;
status: "cancelled" | "pending" | "succeeded" | "failed" | "processing";
updatedAt: string;
}>;

Create refund Create a refund for a payment

Parameters
ParameterType
paymentIdstring
request{ amount: number; metadata?: Record<string, any>; notes?: string; reason: string; }
request.amountnumber
request.metadata?Record<string, any>
request.notes?string
request.reasonstring
Returns

Promise<{ amount: number; completedAt: string | null; createdAt: string; externalRefundId: string | null; failedAt: string | null; failureCode: string | null; failureMessage: string | null; id: string; metadata: | { [key: string]: unknown; } | null; notes: string | null; paymentId: string; reason: string; status: "cancelled" | "pending" | "succeeded" | "failed" | "processing"; updatedAt: string; }>

Operation Id

createPaymentRefund

get()

get: (paymentId: string) => Promise<{
amount: number;
createdAt: string;
currency: string;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
invoiceId: string | null;
method: string | null;
organisationId: string;
paidAt: string | null;
status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded";
updatedAt: string;
}>;

Get payment Get a specific payment by ID

Parameters
ParameterType
paymentIdstring
Returns

Promise<{ amount: number; createdAt: string; currency: string; failedAt: string | null; failureCode: string | null; failureMessage: string | null; id: string; invoiceId: string | null; method: string | null; organisationId: string; paidAt: string | null; status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded"; updatedAt: string; }>

Operation Id

getPayment

list()

list: (options?: {
fromDate?: string;
limit?: string;
orderId?: string;
page?: string;
paymentProviderId?: string;
paymentType?: | "bank_transfer"
| "online_card"
| "online_bank_transfer"
| "online_wallet"
| "in_person_card"
| "in_person_cash"
| "cheque";
status?: | "cancelled"
| "pending"
| "succeeded"
| "failed"
| "processing"
| "expired"
| "requires_action"
| "created";
toDate?: string;
}) => Promise<{
amount: number;
createdAt: string;
currency: string;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
invoiceId: string | null;
method: string | null;
organisationId: string;
paidAt: string | null;
status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded";
updatedAt: string;
}[]>;

List payments List all payments with optional filtering and pagination

Parameters
ParameterType
options?{ fromDate?: string; limit?: string; orderId?: string; page?: string; paymentProviderId?: string; paymentType?: | "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque"; status?: | "cancelled" | "pending" | "succeeded" | "failed" | "processing" | "expired" | "requires_action" | "created"; toDate?: string; }
options.fromDate?string
options.limit?string
options.orderId?string
options.page?string
options.paymentProviderId?string
options.paymentType?| "bank_transfer" | "online_card" | "online_bank_transfer" | "online_wallet" | "in_person_card" | "in_person_cash" | "cheque"
options.status?| "cancelled" | "pending" | "succeeded" | "failed" | "processing" | "expired" | "requires_action" | "created"
options.toDate?string
Returns

Promise<{ amount: number; createdAt: string; currency: string; failedAt: string | null; failureCode: string | null; failureMessage: string | null; id: string; invoiceId: string | null; method: string | null; organisationId: string; paidAt: string | null; status: "cancelled" | "pending" | "succeeded" | "failed" | "refunded"; updatedAt: string; }[]>

Operation Id

listPayments

listRefunds()

listRefunds: (paymentId: string) => Promise<{
amount: number;
completedAt: string | null;
createdAt: string;
externalRefundId: string | null;
failedAt: string | null;
failureCode: string | null;
failureMessage: string | null;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
notes: string | null;
paymentId: string;
reason: string;
status: "cancelled" | "pending" | "succeeded" | "failed" | "processing";
updatedAt: string;
}[]>;

List refunds List all refunds for a specific payment

Parameters
ParameterType
paymentIdstring
Returns

Promise<{ amount: number; completedAt: string | null; createdAt: string; externalRefundId: string | null; failedAt: string | null; failureCode: string | null; failureMessage: string | null; id: string; metadata: | { [key: string]: unknown; } | null; notes: string | null; paymentId: string; reason: string; status: "cancelled" | "pending" | "succeeded" | "failed" | "processing"; updatedAt: string; }[]>

Operation Id

listPaymentRefunds


presaleCodes

presaleCodes: {
create: (request: {
accountId: string;
benefit: string;
benefitExpiresAt?: string;
channelId?: string;
code: string;
expiresAt?: string;
maxRedemptions?: number;
}) => Promise<{
accountId: string;
benefit: string;
benefitExpiresAt: string | null;
channelId: string | null;
code: string;
createdAt: string;
createdBy: string | null;
expiresAt: string | null;
id: string;
isActive: boolean;
maxRedemptions: number | null;
organisationId: string;
redemptionCount: number;
updatedAt: string;
}>;
deactivate: (codeId: string) => Promise<{
accountId: string;
benefit: string;
benefitExpiresAt: string | null;
channelId: string | null;
code: string;
createdAt: string;
createdBy: string | null;
expiresAt: string | null;
id: string;
isActive: boolean;
maxRedemptions: number | null;
organisationId: string;
redemptionCount: number;
updatedAt: string;
}>;
list: () => Promise<{
accountId: string;
benefit: string;
benefitExpiresAt: string | null;
channelId: string | null;
code: string;
createdAt: string;
createdBy: string | null;
expiresAt: string | null;
id: string;
isActive: boolean;
maxRedemptions: number | null;
organisationId: string;
redemptionCount: number;
updatedAt: string;
}[]>;
};

Defined in: client.ts:3448

Presale Codes methods

create()

create: (request: {
accountId: string;
benefit: string;
benefitExpiresAt?: string;
channelId?: string;
code: string;
expiresAt?: string;
maxRedemptions?: number;
}) => Promise<{
accountId: string;
benefit: string;
benefitExpiresAt: string | null;
channelId: string | null;
code: string;
createdAt: string;
createdBy: string | null;
expiresAt: string | null;
id: string;
isActive: boolean;
maxRedemptions: number | null;
organisationId: string;
redemptionCount: number;
updatedAt: string;
}>;

Create presale code Create a shareable presale code that grants a benefit on redemption

Parameters
ParameterType
request{ accountId: string; benefit: string; benefitExpiresAt?: string; channelId?: string; code: string; expiresAt?: string; maxRedemptions?: number; }
request.accountIdstring
request.benefitstring
request.benefitExpiresAt?string
request.channelId?string
request.codestring
request.expiresAt?string
request.maxRedemptions?number
Returns

Promise<{ accountId: string; benefit: string; benefitExpiresAt: string | null; channelId: string | null; code: string; createdAt: string; createdBy: string | null; expiresAt: string | null; id: string; isActive: boolean; maxRedemptions: number | null; organisationId: string; redemptionCount: number; updatedAt: string; }>

Operation Id

createPresaleCode

deactivate()

deactivate: (codeId: string) => Promise<{
accountId: string;
benefit: string;
benefitExpiresAt: string | null;
channelId: string | null;
code: string;
createdAt: string;
createdBy: string | null;
expiresAt: string | null;
id: string;
isActive: boolean;
maxRedemptions: number | null;
organisationId: string;
redemptionCount: number;
updatedAt: string;
}>;

Deactivate presale code Deactivate a presale code so it can no longer be redeemed

Parameters
ParameterType
codeIdstring
Returns

Promise<{ accountId: string; benefit: string; benefitExpiresAt: string | null; channelId: string | null; code: string; createdAt: string; createdBy: string | null; expiresAt: string | null; id: string; isActive: boolean; maxRedemptions: number | null; organisationId: string; redemptionCount: number; updatedAt: string; }>

Operation Id

deactivatePresaleCode

list()

list: () => Promise<{
accountId: string;
benefit: string;
benefitExpiresAt: string | null;
channelId: string | null;
code: string;
createdAt: string;
createdBy: string | null;
expiresAt: string | null;
id: string;
isActive: boolean;
maxRedemptions: number | null;
organisationId: string;
redemptionCount: number;
updatedAt: string;
}[]>;

List presale codes List the organisation's presale codes visible to the caller

Returns

Promise<{ accountId: string; benefit: string; benefitExpiresAt: string | null; channelId: string | null; code: string; createdAt: string; createdBy: string | null; expiresAt: string | null; id: string; isActive: boolean; maxRedemptions: number | null; organisationId: string; redemptionCount: number; updatedAt: string; }[]>

Operation Id

listPresaleCodes


reports

reports: {
dashboardCreate: (request: {
accountId?: string;
description?: string;
globalFilters?: {
control: "dateRange" | "select" | "multiselect";
default?: any;
key: string;
label: string;
member?: string;
members?: Record<string, any>;
}[];
layout?: {
h: number;
query?: {
dimensions?: string[];
filters?: {
member: ...;
operator: ...;
values?: ...;
}[];
limit?: number;
measures?: string[];
offset?: number;
order?: any;
segments?: string[];
timeDimensions?: {
dateRange?: ...;
dimension: ...;
granularity?: ...;
}[];
timezone?: string;
};
reportId?: string;
tileId: string;
title?: string;
viz?: {
series?: string;
type: "bar" | "table" | "line" | "area" | "pie" | "kpi";
x?: string;
y?: any;
};
w: number;
x: number;
y: number;
}[];
name: string;
}) => Promise<{
data: {
dashboard: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
globalFilters: {
[key: string]: unknown;
}[];
id: string;
isSystem: boolean;
layout: {
[key: string]: unknown;
}[];
name: string;
organisationId: string;
updatedAt: string;
};
};
status: "success";
}>;
dashboardDelete: (id: string) => Promise<{
data: {
deleted: boolean;
};
status: "success";
}>;
dashboardGet: (id: string) => Promise<{
data: {
dashboard: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
globalFilters: {
[key: string]: unknown;
}[];
id: string;
isSystem: boolean;
layout: {
[key: string]: unknown;
}[];
name: string;
organisationId: string;
updatedAt: string;
};
};
status: "success";
}>;
dashboardList: (options?: {
accountId?: string;
}) => Promise<{
data: {
dashboards: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
globalFilters: {
[key: string]: unknown;
}[];
id: string;
isSystem: boolean;
layout: {
[key: string]: unknown;
}[];
name: string;
organisationId: string;
updatedAt: string;
}[];
};
status: "success";
}>;
dashboardUpdate: (id: string, request: {
accountId?: string;
description?: string;
globalFilters?: {
control: "dateRange" | "select" | "multiselect";
default?: any;
key: string;
label: string;
member?: string;
members?: Record<string, any>;
}[];
layout?: {
h: number;
query?: {
dimensions?: string[];
filters?: {
member: ...;
operator: ...;
values?: ...;
}[];
limit?: number;
measures?: string[];
offset?: number;
order?: any;
segments?: string[];
timeDimensions?: {
dateRange?: ...;
dimension: ...;
granularity?: ...;
}[];
timezone?: string;
};
reportId?: string;
tileId: string;
title?: string;
viz?: {
series?: string;
type: "bar" | "table" | "line" | "area" | "pie" | "kpi";
x?: string;
y?: any;
};
w: number;
x: number;
y: number;
}[];
name?: string;
}) => Promise<{
data: {
dashboard: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
globalFilters: {
[key: string]: unknown;
}[];
id: string;
isSystem: boolean;
layout: {
[key: string]: unknown;
}[];
name: string;
organisationId: string;
updatedAt: string;
};
};
status: "success";
}>;
inventory: (options?: {
eventId?: string;
}) => Promise<{
data: {
filters: {
[key: string]: unknown;
};
occurrences: {
available: number;
confirmed: number;
eventId: string | null;
held: number;
occurrenceId: string | null;
reserved: number;
sellThroughPct: number;
totalCapacity: number;
utilisationPct: number;
}[];
};
status: "success";
}>;
meta: () => Promise<{
data: {
models: {
[key: string]: unknown;
}[];
};
status: "success";
}>;
query: (request: {
query: {
dimensions?: string[];
filters?: {
member: string;
operator: string;
values?: string[];
}[];
limit?: number;
measures?: string[];
offset?: number;
order?: any;
segments?: string[];
timeDimensions?: {
dateRange?: any;
dimension: string;
granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter";
}[];
timezone?: string;
};
}) => Promise<{
data: {
query: {
[key: string]: unknown;
};
rows: {
[key: string]: unknown;
}[];
};
status: "success";
}>;
savedCreate: (request: {
accountId?: string;
description?: string;
name: string;
params?: {
allowed?: string[];
kind: "timeRange" | "groupBy" | "filter" | "compare";
label?: string;
member?: string;
}[];
query: {
dimensions?: string[];
filters?: {
member: string;
operator: string;
values?: string[];
}[];
limit?: number;
measures?: string[];
offset?: number;
order?: any;
segments?: string[];
timeDimensions?: {
dateRange?: any;
dimension: string;
granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter";
}[];
timezone?: string;
};
viz?: {
series?: string;
type: "bar" | "table" | "line" | "area" | "pie" | "kpi";
x?: string;
y?: any;
};
}) => Promise<{
data: {
report: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
id: string;
name: string;
organisationId: string;
params: {
[key: string]: unknown;
}[];
query: {
[key: string]: unknown;
};
updatedAt: string;
viz: {
[key: string]: unknown;
};
};
};
status: "success";
}>;
savedDelete: (id: string) => Promise<{
data: {
deleted: boolean;
};
status: "success";
}>;
savedGet: (id: string) => Promise<{
data: {
report: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
id: string;
name: string;
organisationId: string;
params: {
[key: string]: unknown;
}[];
query: {
[key: string]: unknown;
};
updatedAt: string;
viz: {
[key: string]: unknown;
};
};
};
status: "success";
}>;
savedList: (options?: {
accountId?: string;
}) => Promise<{
data: {
reports: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
id: string;
name: string;
organisationId: string;
params: {
[key: string]: unknown;
}[];
query: {
[key: string]: unknown;
};
updatedAt: string;
viz: {
[key: string]: unknown;
};
}[];
};
status: "success";
}>;
savedRun: (id: string, request: {
overrides?: {
dimensions?: string[];
filters?: {
member: string;
operator: string;
values?: string[];
}[];
limit?: number;
measures?: string[];
offset?: number;
order?: any;
segments?: string[];
timeDimensions?: {
dateRange?: any;
dimension: string;
granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter";
}[];
timezone?: string;
};
}) => Promise<{
data: {
query: {
[key: string]: unknown;
};
rows: {
[key: string]: unknown;
}[];
};
status: "success";
}>;
savedUpdate: (id: string, request: {
accountId?: string;
description?: string;
name?: string;
params?: {
allowed?: string[];
kind: "timeRange" | "groupBy" | "filter" | "compare";
label?: string;
member?: string;
}[];
query?: {
dimensions?: string[];
filters?: {
member: string;
operator: string;
values?: string[];
}[];
limit?: number;
measures?: string[];
offset?: number;
order?: any;
segments?: string[];
timeDimensions?: {
dateRange?: any;
dimension: string;
granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter";
}[];
timezone?: string;
};
viz?: {
series?: string;
type: "bar" | "table" | "line" | "area" | "pie" | "kpi";
x?: string;
y?: any;
};
}) => Promise<{
data: {
report: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
id: string;
name: string;
organisationId: string;
params: {
[key: string]: unknown;
}[];
query: {
[key: string]: unknown;
};
updatedAt: string;
viz: {
[key: string]: unknown;
};
};
};
status: "success";
}>;
summary: (options?: {
eventId?: string;
from?: string;
to?: string;
}) => Promise<{
data: {
currencies: {
aov: number;
currency: string | null;
discounts: number;
grossRevenue: number;
netToOrganiser: number;
orderCount: number;
platformFees: number;
taxCollected: number;
ticketsSold: number;
}[];
filters: {
eventId?: string;
from?: string;
to?: string;
};
};
status: "success";
}>;
templateInstall: (key: string) => Promise<{
data: {
dashboard: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
globalFilters: {
[key: string]: unknown;
}[];
id: string;
isSystem: boolean;
layout: {
[key: string]: unknown;
}[];
name: string;
organisationId: string;
updatedAt: string;
};
};
status: "success";
}>;
templateList: () => Promise<{
data: {
templates: {
description: string;
key: string;
name: string;
tileCount: number;
}[];
};
status: "success";
}>;
timeseries: (options?: {
eventId?: string;
from?: string;
granularity?: "month" | "day" | "week";
to?: string;
}) => Promise<{
data: {
filters: {
[key: string]: unknown;
};
granularity: string;
series: {
currency: string | null;
date: string | null;
grossRevenue: number;
ticketsSold: number;
}[];
};
status: "success";
}>;
};

Defined in: client.ts:4850

Reports methods

dashboardCreate()

dashboardCreate: (request: {
accountId?: string;
description?: string;
globalFilters?: {
control: "dateRange" | "select" | "multiselect";
default?: any;
key: string;
label: string;
member?: string;
members?: Record<string, any>;
}[];
layout?: {
h: number;
query?: {
dimensions?: string[];
filters?: {
member: ...;
operator: ...;
values?: ...;
}[];
limit?: number;
measures?: string[];
offset?: number;
order?: any;
segments?: string[];
timeDimensions?: {
dateRange?: ...;
dimension: ...;
granularity?: ...;
}[];
timezone?: string;
};
reportId?: string;
tileId: string;
title?: string;
viz?: {
series?: string;
type: "bar" | "table" | "line" | "area" | "pie" | "kpi";
x?: string;
y?: any;
};
w: number;
x: number;
y: number;
}[];
name: string;
}) => Promise<{
data: {
dashboard: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
globalFilters: {
[key: string]: unknown;
}[];
id: string;
isSystem: boolean;
layout: {
[key: string]: unknown;
}[];
name: string;
organisationId: string;
updatedAt: string;
};
};
status: "success";
}>;

Create a dashboard

Parameters
ParameterType
request{ accountId?: string; description?: string; globalFilters?: { control: "dateRange" | "select" | "multiselect"; default?: any; key: string; label: string; member?: string; members?: Record<string, any>; }[]; layout?: { h: number; query?: { dimensions?: string[]; filters?: { member: ...; operator: ...; values?: ...; }[]; limit?: number; measures?: string[]; offset?: number; order?: any; segments?: string[]; timeDimensions?: { dateRange?: ...; dimension: ...; granularity?: ...; }[]; timezone?: string; }; reportId?: string; tileId: string; title?: string; viz?: { series?: string; type: "bar" | "table" | "line" | "area" | "pie" | "kpi"; x?: string; y?: any; }; w: number; x: number; y: number; }[]; name: string; }
request.accountId?string
request.description?string
request.globalFilters?{ control: "dateRange" | "select" | "multiselect"; default?: any; key: string; label: string; member?: string; members?: Record<string, any>; }[]
request.layout?{ h: number; query?: { dimensions?: string[]; filters?: { member: ...; operator: ...; values?: ...; }[]; limit?: number; measures?: string[]; offset?: number; order?: any; segments?: string[]; timeDimensions?: { dateRange?: ...; dimension: ...; granularity?: ...; }[]; timezone?: string; }; reportId?: string; tileId: string; title?: string; viz?: { series?: string; type: "bar" | "table" | "line" | "area" | "pie" | "kpi"; x?: string; y?: any; }; w: number; x: number; y: number; }[]
request.namestring
Returns

Promise<{ data: { dashboard: { accountId: string | null; createdAt: string; createdBy: string | null; description: string | null; globalFilters: { [key: string]: unknown; }[]; id: string; isSystem: boolean; layout: { [key: string]: unknown; }[]; name: string; organisationId: string; updatedAt: string; }; }; status: "success"; }>

Operation Id

createDashboard

dashboardDelete()

dashboardDelete: (id: string) => Promise<{
data: {
deleted: boolean;
};
status: "success";
}>;

Delete a dashboard

Parameters
ParameterType
idstring
Returns

Promise<{ data: { deleted: boolean; }; status: "success"; }>

Operation Id

deleteDashboard

dashboardGet()

dashboardGet: (id: string) => Promise<{
data: {
dashboard: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
globalFilters: {
[key: string]: unknown;
}[];
id: string;
isSystem: boolean;
layout: {
[key: string]: unknown;
}[];
name: string;
organisationId: string;
updatedAt: string;
};
};
status: "success";
}>;

Get a dashboard

Parameters
ParameterType
idstring
Returns

Promise<{ data: { dashboard: { accountId: string | null; createdAt: string; createdBy: string | null; description: string | null; globalFilters: { [key: string]: unknown; }[]; id: string; isSystem: boolean; layout: { [key: string]: unknown; }[]; name: string; organisationId: string; updatedAt: string; }; }; status: "success"; }>

Operation Id

getDashboard

dashboardList()

dashboardList: (options?: {
accountId?: string;
}) => Promise<{
data: {
dashboards: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
globalFilters: {
[key: string]: unknown;
}[];
id: string;
isSystem: boolean;
layout: {
[key: string]: unknown;
}[];
name: string;
organisationId: string;
updatedAt: string;
}[];
};
status: "success";
}>;

List dashboards

Parameters
ParameterType
options?{ accountId?: string; }
options.accountId?string
Returns

Promise<{ data: { dashboards: { accountId: string | null; createdAt: string; createdBy: string | null; description: string | null; globalFilters: { [key: string]: unknown; }[]; id: string; isSystem: boolean; layout: { [key: string]: unknown; }[]; name: string; organisationId: string; updatedAt: string; }[]; }; status: "success"; }>

Operation Id

listDashboards

dashboardUpdate()

dashboardUpdate: (id: string, request: {
accountId?: string;
description?: string;
globalFilters?: {
control: "dateRange" | "select" | "multiselect";
default?: any;
key: string;
label: string;
member?: string;
members?: Record<string, any>;
}[];
layout?: {
h: number;
query?: {
dimensions?: string[];
filters?: {
member: ...;
operator: ...;
values?: ...;
}[];
limit?: number;
measures?: string[];
offset?: number;
order?: any;
segments?: string[];
timeDimensions?: {
dateRange?: ...;
dimension: ...;
granularity?: ...;
}[];
timezone?: string;
};
reportId?: string;
tileId: string;
title?: string;
viz?: {
series?: string;
type: "bar" | "table" | "line" | "area" | "pie" | "kpi";
x?: string;
y?: any;
};
w: number;
x: number;
y: number;
}[];
name?: string;
}) => Promise<{
data: {
dashboard: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
globalFilters: {
[key: string]: unknown;
}[];
id: string;
isSystem: boolean;
layout: {
[key: string]: unknown;
}[];
name: string;
organisationId: string;
updatedAt: string;
};
};
status: "success";
}>;

Update a dashboard

Parameters
ParameterType
idstring
request{ accountId?: string; description?: string; globalFilters?: { control: "dateRange" | "select" | "multiselect"; default?: any; key: string; label: string; member?: string; members?: Record<string, any>; }[]; layout?: { h: number; query?: { dimensions?: string[]; filters?: { member: ...; operator: ...; values?: ...; }[]; limit?: number; measures?: string[]; offset?: number; order?: any; segments?: string[]; timeDimensions?: { dateRange?: ...; dimension: ...; granularity?: ...; }[]; timezone?: string; }; reportId?: string; tileId: string; title?: string; viz?: { series?: string; type: "bar" | "table" | "line" | "area" | "pie" | "kpi"; x?: string; y?: any; }; w: number; x: number; y: number; }[]; name?: string; }
request.accountId?string
request.description?string
request.globalFilters?{ control: "dateRange" | "select" | "multiselect"; default?: any; key: string; label: string; member?: string; members?: Record<string, any>; }[]
request.layout?{ h: number; query?: { dimensions?: string[]; filters?: { member: ...; operator: ...; values?: ...; }[]; limit?: number; measures?: string[]; offset?: number; order?: any; segments?: string[]; timeDimensions?: { dateRange?: ...; dimension: ...; granularity?: ...; }[]; timezone?: string; }; reportId?: string; tileId: string; title?: string; viz?: { series?: string; type: "bar" | "table" | "line" | "area" | "pie" | "kpi"; x?: string; y?: any; }; w: number; x: number; y: number; }[]
request.name?string
Returns

Promise<{ data: { dashboard: { accountId: string | null; createdAt: string; createdBy: string | null; description: string | null; globalFilters: { [key: string]: unknown; }[]; id: string; isSystem: boolean; layout: { [key: string]: unknown; }[]; name: string; organisationId: string; updatedAt: string; }; }; status: "success"; }>

Operation Id

updateDashboard

inventory()

inventory: (options?: {
eventId?: string;
}) => Promise<{
data: {
filters: {
[key: string]: unknown;
};
occurrences: {
available: number;
confirmed: number;
eventId: string | null;
held: number;
occurrenceId: string | null;
reserved: number;
sellThroughPct: number;
totalCapacity: number;
utilisationPct: number;
}[];
};
status: "success";
}>;

Inventory sell-through Current sell-through and utilisation per occurrence.

Parameters
ParameterType
options?{ eventId?: string; }
options.eventId?string
Returns

Promise<{ data: { filters: { [key: string]: unknown; }; occurrences: { available: number; confirmed: number; eventId: string | null; held: number; occurrenceId: string | null; reserved: number; sellThroughPct: number; totalCapacity: number; utilisationPct: number; }[]; }; status: "success"; }>

Operation Id

getReportsInventory

meta()

meta: () => Promise<{
data: {
models: {
[key: string]: unknown;
}[];
};
status: "success";
}>;

Semantic model The semantic model (data models, measures, dimensions) the caller may explore - drives the explorer pickers and grounds NL queries.

Returns

Promise<{ data: { models: { [key: string]: unknown; }[]; }; status: "success"; }>

Operation Id

getReportsMeta

query()

query: (request: {
query: {
dimensions?: string[];
filters?: {
member: string;
operator: string;
values?: string[];
}[];
limit?: number;
measures?: string[];
offset?: number;
order?: any;
segments?: string[];
timeDimensions?: {
dateRange?: any;
dimension: string;
granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter";
}[];
timezone?: string;
};
}) => Promise<{
data: {
query: {
[key: string]: unknown;
};
rows: {
[key: string]: unknown;
}[];
};
status: "success";
}>;

Run an ad-hoc query Execute an arbitrary (validated + guarded) Insights query. Tenant- and account-scoped via the analytics principal; data models/members restricted and cost capped.

Parameters
ParameterType
request{ query: { dimensions?: string[]; filters?: { member: string; operator: string; values?: string[]; }[]; limit?: number; measures?: string[]; offset?: number; order?: any; segments?: string[]; timeDimensions?: { dateRange?: any; dimension: string; granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter"; }[]; timezone?: string; }; }
request.query{ dimensions?: string[]; filters?: { member: string; operator: string; values?: string[]; }[]; limit?: number; measures?: string[]; offset?: number; order?: any; segments?: string[]; timeDimensions?: { dateRange?: any; dimension: string; granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter"; }[]; timezone?: string; }
request.query.dimensions?string[]
request.query.filters?{ member: string; operator: string; values?: string[]; }[]
request.query.limit?number
request.query.measures?string[]
request.query.offset?number
request.query.order?any
request.query.segments?string[]
request.query.timeDimensions?{ dateRange?: any; dimension: string; granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter"; }[]
request.query.timezone?string
Returns

Promise<{ data: { query: { [key: string]: unknown; }; rows: { [key: string]: unknown; }[]; }; status: "success"; }>

Operation Id

runReportsQuery

savedCreate()

savedCreate: (request: {
accountId?: string;
description?: string;
name: string;
params?: {
allowed?: string[];
kind: "timeRange" | "groupBy" | "filter" | "compare";
label?: string;
member?: string;
}[];
query: {
dimensions?: string[];
filters?: {
member: string;
operator: string;
values?: string[];
}[];
limit?: number;
measures?: string[];
offset?: number;
order?: any;
segments?: string[];
timeDimensions?: {
dateRange?: any;
dimension: string;
granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter";
}[];
timezone?: string;
};
viz?: {
series?: string;
type: "bar" | "table" | "line" | "area" | "pie" | "kpi";
x?: string;
y?: any;
};
}) => Promise<{
data: {
report: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
id: string;
name: string;
organisationId: string;
params: {
[key: string]: unknown;
}[];
query: {
[key: string]: unknown;
};
updatedAt: string;
viz: {
[key: string]: unknown;
};
};
};
status: "success";
}>;

Create a saved report Persist a cube query + viz + slicer params as a reusable report.

Parameters
ParameterType
request{ accountId?: string; description?: string; name: string; params?: { allowed?: string[]; kind: "timeRange" | "groupBy" | "filter" | "compare"; label?: string; member?: string; }[]; query: { dimensions?: string[]; filters?: { member: string; operator: string; values?: string[]; }[]; limit?: number; measures?: string[]; offset?: number; order?: any; segments?: string[]; timeDimensions?: { dateRange?: any; dimension: string; granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter"; }[]; timezone?: string; }; viz?: { series?: string; type: "bar" | "table" | "line" | "area" | "pie" | "kpi"; x?: string; y?: any; }; }
request.accountId?string
request.description?string
request.namestring
request.params?{ allowed?: string[]; kind: "timeRange" | "groupBy" | "filter" | "compare"; label?: string; member?: string; }[]
request.query{ dimensions?: string[]; filters?: { member: string; operator: string; values?: string[]; }[]; limit?: number; measures?: string[]; offset?: number; order?: any; segments?: string[]; timeDimensions?: { dateRange?: any; dimension: string; granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter"; }[]; timezone?: string; }
request.query.dimensions?string[]
request.query.filters?{ member: string; operator: string; values?: string[]; }[]
request.query.limit?number
request.query.measures?string[]
request.query.offset?number
request.query.order?any
request.query.segments?string[]
request.query.timeDimensions?{ dateRange?: any; dimension: string; granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter"; }[]
request.query.timezone?string
request.viz?{ series?: string; type: "bar" | "table" | "line" | "area" | "pie" | "kpi"; x?: string; y?: any; }
request.viz.series?string
request.viz.type"bar" | "table" | "line" | "area" | "pie" | "kpi"
request.viz.x?string
request.viz.y?any
Returns

Promise<{ data: { report: { accountId: string | null; createdAt: string; createdBy: string | null; description: string | null; id: string; name: string; organisationId: string; params: { [key: string]: unknown; }[]; query: { [key: string]: unknown; }; updatedAt: string; viz: { [key: string]: unknown; }; }; }; status: "success"; }>

Operation Id

createSavedReport

savedDelete()

savedDelete: (id: string) => Promise<{
data: {
deleted: boolean;
};
status: "success";
}>;

Delete a saved report

Parameters
ParameterType
idstring
Returns

Promise<{ data: { deleted: boolean; }; status: "success"; }>

Operation Id

deleteSavedReport

savedGet()

savedGet: (id: string) => Promise<{
data: {
report: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
id: string;
name: string;
organisationId: string;
params: {
[key: string]: unknown;
}[];
query: {
[key: string]: unknown;
};
updatedAt: string;
viz: {
[key: string]: unknown;
};
};
};
status: "success";
}>;

Get a saved report

Parameters
ParameterType
idstring
Returns

Promise<{ data: { report: { accountId: string | null; createdAt: string; createdBy: string | null; description: string | null; id: string; name: string; organisationId: string; params: { [key: string]: unknown; }[]; query: { [key: string]: unknown; }; updatedAt: string; viz: { [key: string]: unknown; }; }; }; status: "success"; }>

Operation Id

getSavedReport

savedList()

savedList: (options?: {
accountId?: string;
}) => Promise<{
data: {
reports: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
id: string;
name: string;
organisationId: string;
params: {
[key: string]: unknown;
}[];
query: {
[key: string]: unknown;
};
updatedAt: string;
viz: {
[key: string]: unknown;
};
}[];
};
status: "success";
}>;

List saved reports List the saved reports the caller may see in their organisation.

Parameters
ParameterType
options?{ accountId?: string; }
options.accountId?string
Returns

Promise<{ data: { reports: { accountId: string | null; createdAt: string; createdBy: string | null; description: string | null; id: string; name: string; organisationId: string; params: { [key: string]: unknown; }[]; query: { [key: string]: unknown; }; updatedAt: string; viz: { [key: string]: unknown; }; }[]; }; status: "success"; }>

Operation Id

listSavedReports

savedRun()

savedRun: (id: string, request: {
overrides?: {
dimensions?: string[];
filters?: {
member: string;
operator: string;
values?: string[];
}[];
limit?: number;
measures?: string[];
offset?: number;
order?: any;
segments?: string[];
timeDimensions?: {
dateRange?: any;
dimension: string;
granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter";
}[];
timezone?: string;
};
}) => Promise<{
data: {
query: {
[key: string]: unknown;
};
rows: {
[key: string]: unknown;
}[];
};
status: "success";
}>;

Run a saved report Execute a saved report, optionally merging slicer overrides onto its base query (re-validated + re-scoped).

Parameters
ParameterType
idstring
request{ overrides?: { dimensions?: string[]; filters?: { member: string; operator: string; values?: string[]; }[]; limit?: number; measures?: string[]; offset?: number; order?: any; segments?: string[]; timeDimensions?: { dateRange?: any; dimension: string; granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter"; }[]; timezone?: string; }; }
request.overrides?{ dimensions?: string[]; filters?: { member: string; operator: string; values?: string[]; }[]; limit?: number; measures?: string[]; offset?: number; order?: any; segments?: string[]; timeDimensions?: { dateRange?: any; dimension: string; granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter"; }[]; timezone?: string; }
request.overrides.dimensions?string[]
request.overrides.filters?{ member: string; operator: string; values?: string[]; }[]
request.overrides.limit?number
request.overrides.measures?string[]
request.overrides.offset?number
request.overrides.order?any
request.overrides.segments?string[]
request.overrides.timeDimensions?{ dateRange?: any; dimension: string; granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter"; }[]
request.overrides.timezone?string
Returns

Promise<{ data: { query: { [key: string]: unknown; }; rows: { [key: string]: unknown; }[]; }; status: "success"; }>

Operation Id

runSavedReport

savedUpdate()

savedUpdate: (id: string, request: {
accountId?: string;
description?: string;
name?: string;
params?: {
allowed?: string[];
kind: "timeRange" | "groupBy" | "filter" | "compare";
label?: string;
member?: string;
}[];
query?: {
dimensions?: string[];
filters?: {
member: string;
operator: string;
values?: string[];
}[];
limit?: number;
measures?: string[];
offset?: number;
order?: any;
segments?: string[];
timeDimensions?: {
dateRange?: any;
dimension: string;
granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter";
}[];
timezone?: string;
};
viz?: {
series?: string;
type: "bar" | "table" | "line" | "area" | "pie" | "kpi";
x?: string;
y?: any;
};
}) => Promise<{
data: {
report: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
id: string;
name: string;
organisationId: string;
params: {
[key: string]: unknown;
}[];
query: {
[key: string]: unknown;
};
updatedAt: string;
viz: {
[key: string]: unknown;
};
};
};
status: "success";
}>;

Update a saved report

Parameters
ParameterType
idstring
request{ accountId?: string; description?: string; name?: string; params?: { allowed?: string[]; kind: "timeRange" | "groupBy" | "filter" | "compare"; label?: string; member?: string; }[]; query?: { dimensions?: string[]; filters?: { member: string; operator: string; values?: string[]; }[]; limit?: number; measures?: string[]; offset?: number; order?: any; segments?: string[]; timeDimensions?: { dateRange?: any; dimension: string; granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter"; }[]; timezone?: string; }; viz?: { series?: string; type: "bar" | "table" | "line" | "area" | "pie" | "kpi"; x?: string; y?: any; }; }
request.accountId?string
request.description?string
request.name?string
request.params?{ allowed?: string[]; kind: "timeRange" | "groupBy" | "filter" | "compare"; label?: string; member?: string; }[]
request.query?{ dimensions?: string[]; filters?: { member: string; operator: string; values?: string[]; }[]; limit?: number; measures?: string[]; offset?: number; order?: any; segments?: string[]; timeDimensions?: { dateRange?: any; dimension: string; granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter"; }[]; timezone?: string; }
request.query.dimensions?string[]
request.query.filters?{ member: string; operator: string; values?: string[]; }[]
request.query.limit?number
request.query.measures?string[]
request.query.offset?number
request.query.order?any
request.query.segments?string[]
request.query.timeDimensions?{ dateRange?: any; dimension: string; granularity?: "month" | "year" | "day" | "week" | "hour" | "quarter"; }[]
request.query.timezone?string
request.viz?{ series?: string; type: "bar" | "table" | "line" | "area" | "pie" | "kpi"; x?: string; y?: any; }
request.viz.series?string
request.viz.type"bar" | "table" | "line" | "area" | "pie" | "kpi"
request.viz.x?string
request.viz.y?any
Returns

Promise<{ data: { report: { accountId: string | null; createdAt: string; createdBy: string | null; description: string | null; id: string; name: string; organisationId: string; params: { [key: string]: unknown; }[]; query: { [key: string]: unknown; }; updatedAt: string; viz: { [key: string]: unknown; }; }; }; status: "success"; }>

Operation Id

updateSavedReport

summary()

summary: (options?: {
eventId?: string;
from?: string;
to?: string;
}) => Promise<{
data: {
currencies: {
aov: number;
currency: string | null;
discounts: number;
grossRevenue: number;
netToOrganiser: number;
orderCount: number;
platformFees: number;
taxCollected: number;
ticketsSold: number;
}[];
filters: {
eventId?: string;
from?: string;
to?: string;
};
};
status: "success";
}>;

Sales summary KPIs Headline realised-sales KPIs (gross, net-to-organiser, fees, tax, tickets, AOV) per currency. Money is integer minor units. Tenant- and account-scoped via the analytics principal.

Parameters
ParameterType
options?{ eventId?: string; from?: string; to?: string; }
options.eventId?string
options.from?string
options.to?string
Returns

Promise<{ data: { currencies: { aov: number; currency: string | null; discounts: number; grossRevenue: number; netToOrganiser: number; orderCount: number; platformFees: number; taxCollected: number; ticketsSold: number; }[]; filters: { eventId?: string; from?: string; to?: string; }; }; status: "success"; }>

Operation Id

getReportsSummary

templateInstall()

templateInstall: (key: string) => Promise<{
data: {
dashboard: {
accountId: string | null;
createdAt: string;
createdBy: string | null;
description: string | null;
globalFilters: {
[key: string]: unknown;
}[];
id: string;
isSystem: boolean;
layout: {
[key: string]: unknown;
}[];
name: string;
organisationId: string;
updatedAt: string;
};
};
status: "success";
}>;

Install a template Clone a standard template into the org: creates its saved reports + a dashboard the org then owns.

Parameters
ParameterType
keystring
Returns

Promise<{ data: { dashboard: { accountId: string | null; createdAt: string; createdBy: string | null; description: string | null; globalFilters: { [key: string]: unknown; }[]; id: string; isSystem: boolean; layout: { [key: string]: unknown; }[]; name: string; organisationId: string; updatedAt: string; }; }; status: "success"; }>

Operation Id

installReportTemplate

templateList()

templateList: () => Promise<{
data: {
templates: {
description: string;
key: string;
name: string;
tileCount: number;
}[];
};
status: "success";
}>;

List standard templates The standard library of report/dashboard templates that can be installed.

Returns

Promise<{ data: { templates: { description: string; key: string; name: string; tileCount: number; }[]; }; status: "success"; }>

Operation Id

listReportTemplates

timeseries()

timeseries: (options?: {
eventId?: string;
from?: string;
granularity?: "month" | "day" | "week";
to?: string;
}) => Promise<{
data: {
filters: {
[key: string]: unknown;
};
granularity: string;
series: {
currency: string | null;
date: string | null;
grossRevenue: number;
ticketsSold: number;
}[];
};
status: "success";
}>;

Sales over time Gross revenue and tickets sold bucketed by day/week/month, per currency.

Parameters
ParameterType
options?{ eventId?: string; from?: string; granularity?: "month" | "day" | "week"; to?: string; }
options.eventId?string
options.from?string
options.granularity?"month" | "day" | "week"
options.to?string
Returns

Promise<{ data: { filters: { [key: string]: unknown; }; granularity: string; series: { currency: string | null; date: string | null; grossRevenue: number; ticketsSold: number; }[]; }; status: "success"; }>

Operation Id

getReportsTimeseries


roles

roles: {
create: (request: {
description?: string;
name: string;
permissions: string[];
}) => Promise<{
createdAt: string;
description: string | null;
id: string;
isDeleted: boolean;
isSystemRole: boolean;
name: string;
organisationId: string;
permissions: string[];
updatedAt: string;
}>;
delete: (id: string) => Promise<{
id: string;
success: boolean;
}>;
get: (id: string) => Promise<{
createdAt: string;
description: string | null;
id: string;
isDeleted: boolean;
isSystemRole: boolean;
name: string;
organisationId: string;
permissions: string[];
updatedAt: string;
}>;
list: () => Promise<{
createdAt: string;
description: string | null;
id: string;
isDeleted: boolean;
isSystemRole: boolean;
name: string;
organisationId: string;
permissions: string[];
updatedAt: string;
}[]>;
update: (id: string, request: {
description?: string;
name?: string;
permissions?: string[];
}) => Promise<{
createdAt: string;
description: string | null;
id: string;
isDeleted: boolean;
isSystemRole: boolean;
name: string;
organisationId: string;
permissions: string[];
updatedAt: string;
}>;
};

Defined in: client.ts:1178

Roles methods

create()

create: (request: {
description?: string;
name: string;
permissions: string[];
}) => Promise<{
createdAt: string;
description: string | null;
id: string;
isDeleted: boolean;
isSystemRole: boolean;
name: string;
organisationId: string;
permissions: string[];
updatedAt: string;
}>;

Create role Create a new custom role with specified permissions. Permissions use format: resource.action:scope (e.g., events.create, events.read:all, events.*:acc_123)

Parameters
ParameterTypeDescription
request{ description?: string; name: string; permissions: string[]; }-
request.description?stringDescription Optional description of the role Example Manages events and related resources
request.namestringDescription The name of the role Example Event Manager
request.permissionsstring[]Description Array of permission strings Example [ "events.*", "venues.read:all", "orders.read" ]
Returns

Promise<{ createdAt: string; description: string | null; id: string; isDeleted: boolean; isSystemRole: boolean; name: string; organisationId: string; permissions: string[]; updatedAt: string; }>

Operation Id

createRole

delete()

delete: (id: string) => Promise<{
id: string;
success: boolean;
}>;

Delete role Delete a custom role (soft delete). System roles cannot be deleted.

Parameters
ParameterType
idstring
Returns

Promise<{ id: string; success: boolean; }>

Operation Id

deleteRole

get()

get: (id: string) => Promise<{
createdAt: string;
description: string | null;
id: string;
isDeleted: boolean;
isSystemRole: boolean;
name: string;
organisationId: string;
permissions: string[];
updatedAt: string;
}>;

Get role Get a specific role by ID

Parameters
ParameterType
idstring
Returns

Promise<{ createdAt: string; description: string | null; id: string; isDeleted: boolean; isSystemRole: boolean; name: string; organisationId: string; permissions: string[]; updatedAt: string; }>

Operation Id

getRole

list()

list: () => Promise<{
createdAt: string;
description: string | null;
id: string;
isDeleted: boolean;
isSystemRole: boolean;
name: string;
organisationId: string;
permissions: string[];
updatedAt: string;
}[]>;

List roles List all roles for the organisation. Returns both system-defined and custom roles.

Returns

Promise<{ createdAt: string; description: string | null; id: string; isDeleted: boolean; isSystemRole: boolean; name: string; organisationId: string; permissions: string[]; updatedAt: string; }[]>

Operation Id

listRoles

update()

update: (id: string, request: {
description?: string;
name?: string;
permissions?: string[];
}) => Promise<{
createdAt: string;
description: string | null;
id: string;
isDeleted: boolean;
isSystemRole: boolean;
name: string;
organisationId: string;
permissions: string[];
updatedAt: string;
}>;

Update role Update an existing custom role. System roles cannot be modified.

Parameters
ParameterTypeDescription
idstring-
request{ description?: string; name?: string; permissions?: string[]; }-
request.description?stringDescription Optional description of the role Example Manages events and related resources
request.name?stringDescription The name of the role Example Event Manager
request.permissions?string[]Description Array of permission strings Example [ "events.*", "venues.read:all", "orders.read" ]
Returns

Promise<{ createdAt: string; description: string | null; id: string; isDeleted: boolean; isSystemRole: boolean; name: string; organisationId: string; permissions: string[]; updatedAt: string; }>

Operation Id

updateRole


sales

sales: {
get: (eventId: string) => Promise<{
currency: string | null;
description: string | null;
heroImageUrl: string | null;
id: string;
imageUrl: string | null;
name: string;
occurrences: {
endDate: string;
endsAt: string | null;
endTime: string;
id: string;
startDate: string;
startsAt: string | null;
startTime: string;
status: string;
ticketTypes: {
categoryId: string;
categoryName: string;
currency: string;
description: string | null;
ticketTypeId: string;
ticketTypeName: string;
unitPrice: number;
}[];
timezone: string;
}[];
presentation: | {
buttonSize?: "small" | "medium" | "large";
cinemaGradient?: {
position: "bottom" | "center";
strength: 20 | 50 | 70;
};
heroLayout?: {
size: "small" | "medium" | "large";
type: "hero" | "cinema";
};
navbar?: {
transparent?: boolean;
};
twoColumnSplit?: [number, number];
}
| null;
priceFrom: number | null;
shortDescription: string | null;
status: string;
subtitle: string | null;
timezone: string;
venueCity: string | null;
venueId: string | null;
venueName: string | null;
}>;
getTheme: () => Promise<{
brand: {
[key: string]: unknown;
};
colors: {
[key: string]: unknown;
};
design?: | {
[key: string]: unknown;
}
| null;
id: string;
name: string;
shape: {
[key: string]: unknown;
};
typography: {
[key: string]: unknown;
};
}>;
resolveChannel: (options?: {
domain: string;
}) => Promise<{
channel: {
id: string;
name: string;
slug: string;
};
publishableKey: string | null;
}>;
};

Defined in: client.ts:3859

Sales methods

get()

get: (eventId: string) => Promise<{
currency: string | null;
description: string | null;
heroImageUrl: string | null;
id: string;
imageUrl: string | null;
name: string;
occurrences: {
endDate: string;
endsAt: string | null;
endTime: string;
id: string;
startDate: string;
startsAt: string | null;
startTime: string;
status: string;
ticketTypes: {
categoryId: string;
categoryName: string;
currency: string;
description: string | null;
ticketTypeId: string;
ticketTypeName: string;
unitPrice: number;
}[];
timezone: string;
}[];
presentation: | {
buttonSize?: "small" | "medium" | "large";
cinemaGradient?: {
position: "bottom" | "center";
strength: 20 | 50 | 70;
};
heroLayout?: {
size: "small" | "medium" | "large";
type: "hero" | "cinema";
};
navbar?: {
transparent?: boolean;
};
twoColumnSplit?: [number, number];
}
| null;
priceFrom: number | null;
shortDescription: string | null;
status: string;
subtitle: string | null;
timezone: string;
venueCity: string | null;
venueId: string | null;
venueName: string | null;
}>;

Get event catalogue detail Catalogue detail for an event listed on this channel: occurrences with their priced ticket-type offers. Benefit-gated types are included only when the request carries a customer token holding the benefit. Returns 404 if the event is not listed on this channel.

Parameters
ParameterType
eventIdstring
Returns

Promise<{ currency: string | null; description: string | null; heroImageUrl: string | null; id: string; imageUrl: string | null; name: string; occurrences: { endDate: string; endsAt: string | null; endTime: string; id: string; startDate: string; startsAt: string | null; startTime: string; status: string; ticketTypes: { categoryId: string; categoryName: string; currency: string; description: string | null; ticketTypeId: string; ticketTypeName: string; unitPrice: number; }[]; timezone: string; }[]; presentation: | { buttonSize?: "small" | "medium" | "large"; cinemaGradient?: { position: "bottom" | "center"; strength: 20 | 50 | 70; }; heroLayout?: { size: "small" | "medium" | "large"; type: "hero" | "cinema"; }; navbar?: { transparent?: boolean; }; twoColumnSplit?: [number, number]; } | null; priceFrom: number | null; shortDescription: string | null; status: string; subtitle: string | null; timezone: string; venueCity: string | null; venueId: string | null; venueName: string | null; }>

Operation Id

getSalesEvent

getTheme()

getTheme: () => Promise<{
brand: {
[key: string]: unknown;
};
colors: {
[key: string]: unknown;
};
design?: | {
[key: string]: unknown;
}
| null;
id: string;
name: string;
shape: {
[key: string]: unknown;
};
typography: {
[key: string]: unknown;
};
}>;

Get channel theme The channel's resolved (inheritance-merged) theme for SSR injection. Returns 404 if the channel has neither its own theme nor an organisation base theme.

Returns

Promise<{ brand: { [key: string]: unknown; }; colors: { [key: string]: unknown; }; design?: | { [key: string]: unknown; } | null; id: string; name: string; shape: { [key: string]: unknown; }; typography: { [key: string]: unknown; }; }>

Operation Id

getSalesTheme

resolveChannel()

resolveChannel: (options?: {
domain: string;
}) => Promise<{
channel: {
id: string;
name: string;
slug: string;
};
publishableKey: string | null;
}>;

Resolve a channel by domain Public tenant resolution for hosted surfaces: maps a hostname (the channel's configured subdomain or custom domain) to its channel summary and publishable key. No authentication; rate-limited.

Parameters
ParameterType
options?{ domain: string; }
options.domain?string
Returns

Promise<{ channel: { id: string; name: string; slug: string; }; publishableKey: string | null; }>

Operation Id

resolveSalesChannel


salesCarts

salesCarts: {
addItem: (cartId: string, request: {
categoryId: string;
eventLayoutAreaId?: string;
eventLayoutSeatIds?: string[];
eventOccurrenceId: string;
quantity?: number;
ticketTypeId: string;
}) => Promise<{
currency: string | null;
expiresAt: string;
id: string;
items: {
categoryName: string;
currency: string;
eventName: string;
eventOccurrenceId: string;
id: string;
quantity: number;
subtotal: number;
ticketTypeName: string;
unitPrice: number;
}[];
itemsSubtotal: number;
orderId: string | null;
status: string;
}>;
checkout: (cartId: string, request: {
customer?: {
email: string;
firstName?: string;
lastName?: string;
marketingConsent?: boolean;
phone?: string;
};
customerNotes?: string;
metadata?: Record<string, any>;
}) => Promise<{
cart: {
currency: string | null;
expiresAt: string;
id: string;
items: {
categoryName: string;
currency: string;
eventName: string;
eventOccurrenceId: string;
id: string;
quantity: number;
subtotal: number;
ticketTypeName: string;
unitPrice: number;
}[];
itemsSubtotal: number;
orderId: string | null;
status: string;
};
order: {
createdAt: string;
currency: string;
expiresAt: string | null;
id: string;
items: {
description: string | null;
name: string;
quantity: number;
subtotal: number;
type: string;
unitPrice: number;
}[];
orderNumber: string;
paymentStatus: string;
status: string;
subtotal: number;
tickets: {
admissionStatus: string;
barcode: string;
eventOccurrenceId: string | null;
holderName: string | null;
id: string;
name: string;
seatLabel: string | null;
status: string;
type: string;
}[];
total: number;
totalFees: number;
totalTax: number;
};
orderAccessToken: string;
}>;
create: (request: {
metadata?: Record<string, any>;
}) => Promise<{
currency: string | null;
expiresAt: string;
id: string;
items: {
categoryName: string;
currency: string;
eventName: string;
eventOccurrenceId: string;
id: string;
quantity: number;
subtotal: number;
ticketTypeName: string;
unitPrice: number;
}[];
itemsSubtotal: number;
orderId: string | null;
status: string;
}>;
get: (cartId: string) => Promise<{
currency: string | null;
expiresAt: string;
id: string;
items: {
categoryName: string;
currency: string;
eventName: string;
eventOccurrenceId: string;
id: string;
quantity: number;
subtotal: number;
ticketTypeName: string;
unitPrice: number;
}[];
itemsSubtotal: number;
orderId: string | null;
status: string;
}>;
removeItem: (cartId: string, itemId: string) => Promise<{
currency: string | null;
expiresAt: string;
id: string;
items: {
categoryName: string;
currency: string;
eventName: string;
eventOccurrenceId: string;
id: string;
quantity: number;
subtotal: number;
ticketTypeName: string;
unitPrice: number;
}[];
itemsSubtotal: number;
orderId: string | null;
status: string;
}>;
};

Defined in: client.ts:3634

Sales Carts methods

addItem()

addItem: (cartId: string, request: {
categoryId: string;
eventLayoutAreaId?: string;
eventLayoutSeatIds?: string[];
eventOccurrenceId: string;
quantity?: number;
ticketTypeId: string;
}) => Promise<{
currency: string | null;
expiresAt: string;
id: string;
items: {
categoryName: string;
currency: string;
eventName: string;
eventOccurrenceId: string;
id: string;
quantity: number;
subtotal: number;
ticketTypeName: string;
unitPrice: number;
}[];
itemsSubtotal: number;
orderId: string | null;
status: string;
}>;

Add cart item Add an item to the cart, taking a real inventory reservation with the channel's TTL

Parameters
ParameterType
cartIdstring
request{ categoryId: string; eventLayoutAreaId?: string; eventLayoutSeatIds?: string[]; eventOccurrenceId: string; quantity?: number; ticketTypeId: string; }
request.categoryIdstring
request.eventLayoutAreaId?string
request.eventLayoutSeatIds?string[]
request.eventOccurrenceIdstring
request.quantity?number
request.ticketTypeIdstring
Returns

Promise<{ currency: string | null; expiresAt: string; id: string; items: { categoryName: string; currency: string; eventName: string; eventOccurrenceId: string; id: string; quantity: number; subtotal: number; ticketTypeName: string; unitPrice: number; }[]; itemsSubtotal: number; orderId: string | null; status: string; }>

Operation Id

addSalesCartItem

checkout()

checkout: (cartId: string, request: {
customer?: {
email: string;
firstName?: string;
lastName?: string;
marketingConsent?: boolean;
phone?: string;
};
customerNotes?: string;
metadata?: Record<string, any>;
}) => Promise<{
cart: {
currency: string | null;
expiresAt: string;
id: string;
items: {
categoryName: string;
currency: string;
eventName: string;
eventOccurrenceId: string;
id: string;
quantity: number;
subtotal: number;
ticketTypeName: string;
unitPrice: number;
}[];
itemsSubtotal: number;
orderId: string | null;
status: string;
};
order: {
createdAt: string;
currency: string;
expiresAt: string | null;
id: string;
items: {
description: string | null;
name: string;
quantity: number;
subtotal: number;
type: string;
unitPrice: number;
}[];
orderNumber: string;
paymentStatus: string;
status: string;
subtotal: number;
tickets: {
admissionStatus: string;
barcode: string;
eventOccurrenceId: string | null;
holderName: string | null;
id: string;
name: string;
seatLabel: string | null;
status: string;
type: string;
}[];
total: number;
totalFees: number;
totalTax: number;
};
orderAccessToken: string;
}>;

Checkout cart Convert the cart into an order. Returns an order access token for possession-based guest access (confirmation page, payment status polling).

Parameters
ParameterType
cartIdstring
request{ customer?: { email: string; firstName?: string; lastName?: string; marketingConsent?: boolean; phone?: string; }; customerNotes?: string; metadata?: Record<string, any>; }
request.customer?{ email: string; firstName?: string; lastName?: string; marketingConsent?: boolean; phone?: string; }
request.customer.emailstring
request.customer.firstName?string
request.customer.lastName?string
request.customer.marketingConsent?boolean
request.customer.phone?string
request.customerNotes?string
request.metadata?Record<string, any>
Returns

Promise<{ cart: { currency: string | null; expiresAt: string; id: string; items: { categoryName: string; currency: string; eventName: string; eventOccurrenceId: string; id: string; quantity: number; subtotal: number; ticketTypeName: string; unitPrice: number; }[]; itemsSubtotal: number; orderId: string | null; status: string; }; order: { createdAt: string; currency: string; expiresAt: string | null; id: string; items: { description: string | null; name: string; quantity: number; subtotal: number; type: string; unitPrice: number; }[]; orderNumber: string; paymentStatus: string; status: string; subtotal: number; tickets: { admissionStatus: string; barcode: string; eventOccurrenceId: string | null; holderName: string | null; id: string; name: string; seatLabel: string | null; status: string; type: string; }[]; total: number; totalFees: number; totalTax: number; }; orderAccessToken: string; }>

Operation Id

checkoutSalesCart

create()

create: (request: {
metadata?: Record<string, any>;
}) => Promise<{
currency: string | null;
expiresAt: string;
id: string;
items: {
categoryName: string;
currency: string;
eventName: string;
eventOccurrenceId: string;
id: string;
quantity: number;
subtotal: number;
ticketTypeName: string;
unitPrice: number;
}[];
itemsSubtotal: number;
orderId: string | null;
status: string;
}>;

Create cart Create a cart on this channel. Customer identity comes only from a verified customer token, never from the body.

Parameters
ParameterType
request{ metadata?: Record<string, any>; }
request.metadata?Record<string, any>
Returns

Promise<{ currency: string | null; expiresAt: string; id: string; items: { categoryName: string; currency: string; eventName: string; eventOccurrenceId: string; id: string; quantity: number; subtotal: number; ticketTypeName: string; unitPrice: number; }[]; itemsSubtotal: number; orderId: string | null; status: string; }>

Operation Id

createSalesCart

get()

get: (cartId: string) => Promise<{
currency: string | null;
expiresAt: string;
id: string;
items: {
categoryName: string;
currency: string;
eventName: string;
eventOccurrenceId: string;
id: string;
quantity: number;
subtotal: number;
ticketTypeName: string;
unitPrice: number;
}[];
itemsSubtotal: number;
orderId: string | null;
status: string;
}>;

Get cart Get a cart with its items

Parameters
ParameterType
cartIdstring
Returns

Promise<{ currency: string | null; expiresAt: string; id: string; items: { categoryName: string; currency: string; eventName: string; eventOccurrenceId: string; id: string; quantity: number; subtotal: number; ticketTypeName: string; unitPrice: number; }[]; itemsSubtotal: number; orderId: string | null; status: string; }>

Operation Id

getSalesCart

removeItem()

removeItem: (cartId: string, itemId: string) => Promise<{
currency: string | null;
expiresAt: string;
id: string;
items: {
categoryName: string;
currency: string;
eventName: string;
eventOccurrenceId: string;
id: string;
quantity: number;
subtotal: number;
ticketTypeName: string;
unitPrice: number;
}[];
itemsSubtotal: number;
orderId: string | null;
status: string;
}>;

Remove cart item Remove an item from the cart, releasing its reservation

Parameters
ParameterType
cartIdstring
itemIdstring
Returns

Promise<{ currency: string | null; expiresAt: string; id: string; items: { categoryName: string; currency: string; eventName: string; eventOccurrenceId: string; id: string; quantity: number; subtotal: number; ticketTypeName: string; unitPrice: number; }[]; itemsSubtotal: number; orderId: string | null; status: string; }>

Operation Id

removeSalesCartItem


salesChannels

salesChannels: (channelId: string) => {
carts: {
addItem: (cartId: string, request: {
categoryId: string;
eventLayoutAreaId?: string;
eventLayoutSeatIds?: string[];
eventOccurrenceId: string;
quantity?: number;
ticketTypeId: string;
}) => Promise<{
cart: {
accountId: string;
channelId: string;
createdAt: string;
currency: string | null;
customerId: string | null;
expiresAt: string;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
orderId: string | null;
organisationId: string;
status: "active" | "expired" | "checked_out" | "abandoned";
updatedAt: string;
};
items: {
cartId: string;
categoryId: string;
createdAt: string;
eventLayoutAreaId: string | null;
eventLayoutSeatId: string | null;
eventOccurrenceId: string;
id: string;
notes: string | null;
organisationId: string;
priceSnapshot: {
categoryName: string;
currency: string;
eventId: string;
eventName: string;
priceSchemeId: string;
ticketTypeName: string;
unitPrice: number;
};
quantity: number;
reservationId: string;
ticketTypeId: string;
}[];
}>;
checkout: (cartId: string, request: {
customerId?: string;
customerNotes?: string;
discount?: {
amount?: number;
label?: string;
percent?: number;
reason: string;
};
metadata?: Record<string, any>;
}) => Promise<{
cart: {
accountId: string;
channelId: string;
createdAt: string;
currency: string | null;
customerId: string | null;
expiresAt: string;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
orderId: string | null;
organisationId: string;
status: "active" | "expired" | "checked_out" | "abandoned";
updatedAt: string;
};
order: {
accountId: string;
createdAt: string;
currency: string;
customerId: string | null;
expiresAt: string | null;
id: string;
items: {
description: ... | ...;
id: string;
name: string;
orderId: string;
quantity: number;
subtotal: number;
type: string;
unitPrice: number;
}[];
orderNumber: string;
organisationId: string;
paymentStatus: string;
status: string;
subtotal: number;
total: number;
totalFees: number;
totalPaid: number;
totalTax: number;
updatedAt: string;
};
}>;
create: (request: {
customerId?: string;
metadata?: Record<string, any>;
}) => Promise<{
cart: {
accountId: string;
channelId: string;
createdAt: string;
currency: string | null;
customerId: string | null;
expiresAt: string;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
orderId: string | null;
organisationId: string;
status: "active" | "expired" | "checked_out" | "abandoned";
updatedAt: string;
};
items: {
cartId: string;
categoryId: string;
createdAt: string;
eventLayoutAreaId: string | null;
eventLayoutSeatId: string | null;
eventOccurrenceId: string;
id: string;
notes: string | null;
organisationId: string;
priceSnapshot: {
categoryName: string;
currency: string;
eventId: string;
eventName: string;
priceSchemeId: string;
ticketTypeName: string;
unitPrice: number;
};
quantity: number;
reservationId: string;
ticketTypeId: string;
}[];
}>;
get: (cartId: string) => Promise<{
cart: {
accountId: string;
channelId: string;
createdAt: string;
currency: string | null;
customerId: string | null;
expiresAt: string;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
orderId: string | null;
organisationId: string;
status: "active" | "expired" | "checked_out" | "abandoned";
updatedAt: string;
};
items: {
cartId: string;
categoryId: string;
createdAt: string;
eventLayoutAreaId: string | null;
eventLayoutSeatId: string | null;
eventOccurrenceId: string;
id: string;
notes: string | null;
organisationId: string;
priceSnapshot: {
categoryName: string;
currency: string;
eventId: string;
eventName: string;
priceSchemeId: string;
ticketTypeName: string;
unitPrice: number;
};
quantity: number;
reservationId: string;
ticketTypeId: string;
}[];
}>;
removeItem: (cartId: string, itemId: string) => Promise<{
cart: {
accountId: string;
channelId: string;
createdAt: string;
currency: string | null;
customerId: string | null;
expiresAt: string;
id: string;
metadata: | {
[key: string]: unknown;
}
| null;
orderId: string | null;
organisationId: string;
status: "active" | "expired" | "checked_out" | "abandoned";
updatedAt: string;
};
items: {
cartId: string;
categoryId: string;
createdAt: string;
eventLayoutAreaId: string | null;
eventLayoutSeatId: string | null;
eventOccurrenceId: string;
id: string;
notes: string | null;
organisationId: string;
priceSnapshot: {
categoryName: string;
currency: string;
eventId: string;
eventName: string;
priceSchemeId: string;
ticketTypeName: string;
unitPrice: number;
};
quantity: number;
reservationId: string;
ticketTypeId: string;
}[];
}>;
};
keys: {
issue: (request: {
keyType: "publishable" | "secret";
name: string;
}) => Promise<{
key: {
channelId: string;
createdAt: string;
id: string;
keyType: "publishable" | "secret";
last4: string;
name: string;
status: "active" | "revoked" | "compromised";
};
keyMaterial: string;
warning?: string;
}>;
list: () => Promise<{
channelId: string;
createdAt: string;
id: string;
keyType: "publishable" | "secret";
last4: string;
lastUsedAt: string | null;
name: string;
publishableKey: string | null;
revokedAt: string | null;
status: "active" | "revoked" | "compromised";
}[]>;
revoke: (keyId: string, request: {
reason?: string;
}) => Promise<{
id: string;
revokedAt: string | null;
status: "active" | "revoked" | "compromised";
}>;
};
listings: {
create: (request: {
eventId: string;
saleEndsAt?: string;
saleStartsAt?: string;
}) => Promise<{
channelId: string;
createdAt: string;
createdBy: string | null;
eventId: string;
id: string;
isActive: boolean;
organisationId: string;
saleEndsAt: string | null;
saleStartsAt: string | null;
updatedAt: string;
}>;
delete: (listingId: string) => Promise<boolean>;
list: () => Promise<{
channelId: string;
createdAt: string;
createdBy: string | null;
eventId: string;
id: string;
isActive: boolean;
organisationId: string;
saleEndsAt: string | null;
saleStartsAt: string | null;
updatedAt: string;
}[]>;
};
} & {
create: (request: {
accountId: string;
channelTags?: string[];
channelType: | "website"
| "embed"
| "box_office"
| "kiosk"
| "reseller_api"
| "internal";
checkoutTtlSeconds?: number;
customerConfig?: {
allowGuestCheckout?: boolean;
collectAddress?: boolean;
collectPhone?: boolean;
requireLogin?: boolean;
};
customerFacing?: {
allowedOrigins?: any[];
customDomain?: string;
enabled?: boolean;
magicLinkBaseUrl?: string;
partnerIdentity?: {
algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512";
issuer: string;
publicKeyPem: string;
};
subdomain?: string;
};
description?: string;
eventFilter?: {
channelTags?: string[];
mode: "all" | "tagged";
};
feeProfileId?: string;
name: string;
pricingConfig?: {
includeFeesInPrice?: boolean;
showMemberPricing?: boolean;
showOriginalPrice?: boolean;
};
receivingAccountId?: string;
reservationTtlSeconds?: number;
slug: string;
}) => Promise<{
accountId: string;
channelTags: string[];
channelType: | "website"
| "embed"
| "box_office"
| "kiosk"
| "reseller_api"
| "internal";
checkoutTtlSeconds: number;
createdAt: string;
customerConfig: {
allowGuestCheckout: boolean;
collectAddress: boolean;
collectPhone: boolean;
requireLogin: boolean;
};
customerFacing: {
allowedOrigins: string[];
customDomain?: string;
enabled: boolean;
magicLinkBaseUrl?: string;
partnerIdentity?: {
algorithm: string;
issuer: string;
publicKeyPem: string;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
slug: string;
themeId: string | null;
updatedAt: string;
}>;
delete: (channelId: string) => Promise<boolean>;
get: (channelId: string) => Promise<{
accountId: string;
channelTags: string[];
channelType: | "website"
| "embed"
| "box_office"
| "kiosk"
| "reseller_api"
| "internal";
checkoutTtlSeconds: number;
createdAt: string;
customerConfig: {
allowGuestCheckout: boolean;
collectAddress: boolean;
collectPhone: boolean;
requireLogin: boolean;
};
customerFacing: {
allowedOrigins: string[];
customDomain?: string;
enabled: boolean;
magicLinkBaseUrl?: string;
partnerIdentity?: {
algorithm: string;
issuer: string;
publicKeyPem: string;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
slug: string;
themeId: string | null;
updatedAt: string;
}>;
list: () => Promise<{
accountId: string;
channelTags: string[];
channelType: | "website"
| "embed"
| "box_office"
| "kiosk"
| "reseller_api"
| "internal";
checkoutTtlSeconds: number;
createdAt: string;
customerConfig: {
allowGuestCheckout: boolean;
collectAddress: boolean;
collectPhone: boolean;
requireLogin: boolean;
};
customerFacing: {
allowedOrigins: string[];
customDomain?: string;
enabled: boolean;
magicLinkBaseUrl?: string;
partnerIdentity?: {
algorithm: string;
issuer: string;
publicKeyPem: string;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
slug: string;
themeId: string | null;
updatedAt: string;
}[]>;
update: (channelId: string, request: {
channelTags?: string[];
checkoutTtlSeconds?: number;
customerConfig?: {
allowGuestCheckout?: boolean;
collectAddress?: boolean;
collectPhone?: boolean;
requireLogin?: boolean;
};
customerFacing?: {
allowedOrigins?: any[];
customDomain?: string;
enabled?: boolean;
magicLinkBaseUrl?: string;
partnerIdentity?: {
algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512";
issuer: string;
publicKeyPem: string;
};
subdomain?: string;
};
description?: string;
eventFilter?: {
channelTags?: string[];
mode: "all" | "tagged";
};
feeProfileId?: any;
isActive?: boolean;
name?: string;
paymentProviderId?: any;
pricingConfig?: {
includeFeesInPrice?: boolean;
showMemberPricing?: boolean;
showOriginalPrice?: boolean;
};
receivingAccountId?: string;
reservationTtlSeconds?: number;
themeId?: any;
}) => Promise<{
accountId: string;
channelTags: string[];
channelType: | "website"
| "embed"
| "box_office"
| "kiosk"
| "reseller_api"
| "internal";
checkoutTtlSeconds: number;
createdAt: string;
customerConfig: {
allowGuestCheckout: boolean;
collectAddress: boolean;
collectPhone: boolean;
requireLogin: boolean;
};
customerFacing: {
allowedOrigins: string[];
customDomain?: string;
enabled: boolean;
magicLinkBaseUrl?: string;
partnerIdentity?: {
algorithm: string;
issuer: string;
publicKeyPem: string;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
slug: string;
themeId: string | null;
updatedAt: string;
}>;
};

Defined in: client.ts:3220

Sales Channels methods Use salesChannels() to access nested resources: salesChannels(id).keys, listings, carts

Type Declaration

create()
create: (request: {
accountId: string;
channelTags?: string[];
channelType: | "website"
| "embed"
| "box_office"
| "kiosk"
| "reseller_api"
| "internal";
checkoutTtlSeconds?: number;
customerConfig?: {
allowGuestCheckout?: boolean;
collectAddress?: boolean;
collectPhone?: boolean;
requireLogin?: boolean;
};
customerFacing?: {
allowedOrigins?: any[];
customDomain?: string;
enabled?: boolean;
magicLinkBaseUrl?: string;
partnerIdentity?: {
algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512";
issuer: string;
publicKeyPem: string;
};
subdomain?: string;
};
description?: string;
eventFilter?: {
channelTags?: string[];
mode: "all" | "tagged";
};
feeProfileId?: string;
name: string;
pricingConfig?: {
includeFeesInPrice?: boolean;
showMemberPricing?: boolean;
showOriginalPrice?: boolean;
};
receivingAccountId?: string;
reservationTtlSeconds?: number;
slug: string;
}) => Promise<{
accountId: string;
channelTags: string[];
channelType: | "website"
| "embed"
| "box_office"
| "kiosk"
| "reseller_api"
| "internal";
checkoutTtlSeconds: number;
createdAt: string;
customerConfig: {
allowGuestCheckout: boolean;
collectAddress: boolean;
collectPhone: boolean;
requireLogin: boolean;
};
customerFacing: {
allowedOrigins: string[];
customDomain?: string;
enabled: boolean;
magicLinkBaseUrl?: string;
partnerIdentity?: {
algorithm: string;
issuer: string;
publicKeyPem: string;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
slug: string;
themeId: string | null;
updatedAt: string;
}>;

Create sales channel Create a sales channel: a policy bundle describing where and under what commercial rules tickets are sold

Parameters
ParameterType
request{ accountId: string; channelTags?: string[]; channelType: | "website" | "embed" | "box_office" | "kiosk" | "reseller_api" | "internal"; checkoutTtlSeconds?: number; customerConfig?: { allowGuestCheckout?: boolean; collectAddress?: boolean; collectPhone?: boolean; requireLogin?: boolean; }; customerFacing?: { allowedOrigins?: any[]; customDomain?: string; enabled?: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"; issuer: string; publicKeyPem: string; }; subdomain?: string; }; description?: string; eventFilter?: { channelTags?: string[]; mode: "all" | "tagged"; }; feeProfileId?: string; name: string; pricingConfig?: { includeFeesInPrice?: boolean; showMemberPricing?: boolean; showOriginalPrice?: boolean; }; receivingAccountId?: string; reservationTtlSeconds?: number; slug: string; }
request.accountIdstring
request.channelTags?string[]
request.channelType| "website" | "embed" | "box_office" | "kiosk" | "reseller_api" | "internal"
request.checkoutTtlSeconds?number
request.customerConfig?{ allowGuestCheckout?: boolean; collectAddress?: boolean; collectPhone?: boolean; requireLogin?: boolean; }
request.customerConfig.allowGuestCheckout?boolean
request.customerConfig.collectAddress?boolean
request.customerConfig.collectPhone?boolean
request.customerConfig.requireLogin?boolean
request.customerFacing?{ allowedOrigins?: any[]; customDomain?: string; enabled?: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"; issuer: string; publicKeyPem: string; }; subdomain?: string; }
request.customerFacing.allowedOrigins?any[]
request.customerFacing.customDomain?string
request.customerFacing.enabled?boolean
request.customerFacing.magicLinkBaseUrl?string
request.customerFacing.partnerIdentity?{ algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"; issuer: string; publicKeyPem: string; }
request.customerFacing.partnerIdentity.algorithm"RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"
request.customerFacing.partnerIdentity.issuerstring
request.customerFacing.partnerIdentity.publicKeyPemstring
request.customerFacing.subdomain?string
request.description?string
request.eventFilter?{ channelTags?: string[]; mode: "all" | "tagged"; }
request.eventFilter.channelTags?string[]
request.eventFilter.mode"all" | "tagged"
request.feeProfileId?string
request.namestring
request.pricingConfig?{ includeFeesInPrice?: boolean; showMemberPricing?: boolean; showOriginalPrice?: boolean; }
request.pricingConfig.includeFeesInPrice?boolean
request.pricingConfig.showMemberPricing?boolean
request.pricingConfig.showOriginalPrice?boolean
request.receivingAccountId?string
request.reservationTtlSeconds?number
request.slugstring
Returns

Promise<{ accountId: string; channelTags: string[]; channelType: | "website" | "embed" | "box_office" | "kiosk" | "reseller_api" | "internal"; checkoutTtlSeconds: number; createdAt: string; customerConfig: { allowGuestCheckout: boolean; collectAddress: boolean; collectPhone: boolean; requireLogin: boolean; }; customerFacing: { allowedOrigins: string[]; customDomain?: string; enabled: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: string; issuer: string; publicKeyPem: string; }; subdomain?: string; }; deletedAt: string | null; description: string | null; eventFilter: { channelTags?: string[]; mode: "all" | "tagged"; }; feeProfileId: string | null; id: string; isActive: boolean; isDeleted: boolean; name: string; organisationId: string; pricingConfig: { includeFeesInPrice: boolean; showMemberPricing: boolean; showOriginalPrice: boolean; }; receivingAccountId: string; reservationTtlSeconds: number; slug: string; themeId: string | null; updatedAt: string; }>

Operation Id

createSalesChannel

delete()
delete: (channelId: string) => Promise<boolean>;

Delete sales channel Soft-delete a sales channel

Parameters
ParameterType
channelIdstring
Returns

Promise<boolean>

Operation Id

deleteSalesChannel

get()
get: (channelId: string) => Promise<{
accountId: string;
channelTags: string[];
channelType: | "website"
| "embed"
| "box_office"
| "kiosk"
| "reseller_api"
| "internal";
checkoutTtlSeconds: number;
createdAt: string;
customerConfig: {
allowGuestCheckout: boolean;
collectAddress: boolean;
collectPhone: boolean;
requireLogin: boolean;
};
customerFacing: {
allowedOrigins: string[];
customDomain?: string;
enabled: boolean;
magicLinkBaseUrl?: string;
partnerIdentity?: {
algorithm: string;
issuer: string;
publicKeyPem: string;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
slug: string;
themeId: string | null;
updatedAt: string;
}>;

Get sales channel Get a sales channel by ID

Parameters
ParameterType
channelIdstring
Returns

Promise<{ accountId: string; channelTags: string[]; channelType: | "website" | "embed" | "box_office" | "kiosk" | "reseller_api" | "internal"; checkoutTtlSeconds: number; createdAt: string; customerConfig: { allowGuestCheckout: boolean; collectAddress: boolean; collectPhone: boolean; requireLogin: boolean; }; customerFacing: { allowedOrigins: string[]; customDomain?: string; enabled: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: string; issuer: string; publicKeyPem: string; }; subdomain?: string; }; deletedAt: string | null; description: string | null; eventFilter: { channelTags?: string[]; mode: "all" | "tagged"; }; feeProfileId: string | null; id: string; isActive: boolean; isDeleted: boolean; name: string; organisationId: string; pricingConfig: { includeFeesInPrice: boolean; showMemberPricing: boolean; showOriginalPrice: boolean; }; receivingAccountId: string; reservationTtlSeconds: number; slug: string; themeId: string | null; updatedAt: string; }>

Operation Id

getSalesChannel

list()
list: () => Promise<{
accountId: string;
channelTags: string[];
channelType: | "website"
| "embed"
| "box_office"
| "kiosk"
| "reseller_api"
| "internal";
checkoutTtlSeconds: number;
createdAt: string;
customerConfig: {
allowGuestCheckout: boolean;
collectAddress: boolean;
collectPhone: boolean;
requireLogin: boolean;
};
customerFacing: {
allowedOrigins: string[];
customDomain?: string;
enabled: boolean;
magicLinkBaseUrl?: string;
partnerIdentity?: {
algorithm: string;
issuer: string;
publicKeyPem: string;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
slug: string;
themeId: string | null;
updatedAt: string;
}[]>;

List sales channels List the organisation's sales channels visible to the caller

Returns

Promise<{ accountId: string; channelTags: string[]; channelType: | "website" | "embed" | "box_office" | "kiosk" | "reseller_api" | "internal"; checkoutTtlSeconds: number; createdAt: string; customerConfig: { allowGuestCheckout: boolean; collectAddress: boolean; collectPhone: boolean; requireLogin: boolean; }; customerFacing: { allowedOrigins: string[]; customDomain?: string; enabled: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: string; issuer: string; publicKeyPem: string; }; subdomain?: string; }; deletedAt: string | null; description: string | null; eventFilter: { channelTags?: string[]; mode: "all" | "tagged"; }; feeProfileId: string | null; id: string; isActive: boolean; isDeleted: boolean; name: string; organisationId: string; pricingConfig: { includeFeesInPrice: boolean; showMemberPricing: boolean; showOriginalPrice: boolean; }; receivingAccountId: string; reservationTtlSeconds: number; slug: string; themeId: string | null; updatedAt: string; }[]>

Operation Id

listSalesChannels

update()
update: (channelId: string, request: {
channelTags?: string[];
checkoutTtlSeconds?: number;
customerConfig?: {
allowGuestCheckout?: boolean;
collectAddress?: boolean;
collectPhone?: boolean;
requireLogin?: boolean;
};
customerFacing?: {
allowedOrigins?: any[];
customDomain?: string;
enabled?: boolean;
magicLinkBaseUrl?: string;
partnerIdentity?: {
algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512";
issuer: string;
publicKeyPem: string;
};
subdomain?: string;
};
description?: string;
eventFilter?: {
channelTags?: string[];
mode: "all" | "tagged";
};
feeProfileId?: any;
isActive?: boolean;
name?: string;
paymentProviderId?: any;
pricingConfig?: {
includeFeesInPrice?: boolean;
showMemberPricing?: boolean;
showOriginalPrice?: boolean;
};
receivingAccountId?: string;
reservationTtlSeconds?: number;
themeId?: any;
}) => Promise<{
accountId: string;
channelTags: string[];
channelType: | "website"
| "embed"
| "box_office"
| "kiosk"
| "reseller_api"
| "internal";
checkoutTtlSeconds: number;
createdAt: string;
customerConfig: {
allowGuestCheckout: boolean;
collectAddress: boolean;
collectPhone: boolean;
requireLogin: boolean;
};
customerFacing: {
allowedOrigins: string[];
customDomain?: string;
enabled: boolean;
magicLinkBaseUrl?: string;
partnerIdentity?: {
algorithm: string;
issuer: string;
publicKeyPem: string;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
slug: string;
themeId: string | null;
updatedAt: string;
}>;

Update sales channel Update a sales channel's configuration

Parameters
ParameterType
channelIdstring
request{ channelTags?: string[]; checkoutTtlSeconds?: number; customerConfig?: { allowGuestCheckout?: boolean; collectAddress?: boolean; collectPhone?: boolean; requireLogin?: boolean; }; customerFacing?: { allowedOrigins?: any[]; customDomain?: string; enabled?: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"; issuer: string; publicKeyPem: string; }; subdomain?: string; }; description?: string; eventFilter?: { channelTags?: string[]; mode: "all" | "tagged"; }; feeProfileId?: any; isActive?: boolean; name?: string; paymentProviderId?: any; pricingConfig?: { includeFeesInPrice?: boolean; showMemberPricing?: boolean; showOriginalPrice?: boolean; }; receivingAccountId?: string; reservationTtlSeconds?: number; themeId?: any; }
request.channelTags?string[]
request.checkoutTtlSeconds?number
request.customerConfig?{ allowGuestCheckout?: boolean; collectAddress?: boolean; collectPhone?: boolean; requireLogin?: boolean; }
request.customerConfig.allowGuestCheckout?boolean
request.customerConfig.collectAddress?boolean
request.customerConfig.collectPhone?boolean
request.customerConfig.requireLogin?boolean
request.customerFacing?{ allowedOrigins?: any[]; customDomain?: string; enabled?: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"; issuer: string; publicKeyPem: string; }; subdomain?: string; }
request.customerFacing.allowedOrigins?any[]
request.customerFacing.customDomain?string
request.customerFacing.enabled?boolean
request.customerFacing.magicLinkBaseUrl?string
request.customerFacing.partnerIdentity?{ algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"; issuer: string; publicKeyPem: string; }
request.customerFacing.partnerIdentity.algorithm"RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"
request.customerFacing.partnerIdentity.issuerstring
request.customerFacing.partnerIdentity.publicKeyPemstring
request.customerFacing.subdomain?string
request.description?string
request.eventFilter?{ channelTags?: string[]; mode: "all" | "tagged"; }
request.eventFilter.channelTags?string[]
request.eventFilter.mode"all" | "tagged"
request.feeProfileId?any
request.isActive?boolean
request.name?string
request.paymentProviderId?any
request.pricingConfig?{ includeFeesInPrice?: boolean; showMemberPricing?: boolean; showOriginalPrice?: boolean; }
request.pricingConfig.includeFeesInPrice?boolean
request.pricingConfig.showMemberPricing?boolean
request.pricingConfig.showOriginalPrice?boolean
request.receivingAccountId?string
request.reservationTtlSeconds?number
request.themeId?any
Returns

Promise<{ accountId: string; channelTags: string[]; channelType: | "website" | "embed" | "box_office" | "kiosk" | "reseller_api" | "internal"; checkoutTtlSeconds: number; createdAt: string; customerConfig: { allowGuestCheckout: boolean; collectAddress: boolean; collectPhone: boolean; requireLogin: boolean; }; customerFacing: { allowedOrigins: string[]; customDomain?: string; enabled: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: string; issuer: string; publicKeyPem: string; }; subdomain?: string; }; deletedAt: string | null; description: string | null; eventFilter: { channelTags?: string[]; mode: "all" | "tagged"; }; feeProfileId: string | null; id: string; isActive: boolean; isDeleted: boolean; name: string; organisationId: string; pricingConfig: { includeFeesInPrice: boolean; showMemberPricing: boolean; showOriginalPrice: boolean; }; receivingAccountId: string; reservationTtlSeconds: number; slug: string; themeId: string | null; updatedAt: string; }>

Operation Id

updateSalesChannel


salesCustomerAuth

salesCustomerAuth: {
magicLink: (request: {
email?: string;
phone?: string;
}) => Promise<boolean>;
};

Defined in: client.ts:3583

Sales Customer Auth methods

magicLink: (request: {
email?: string;
phone?: string;
}) => Promise<boolean>;

Request magic link Start a magic-link sign-in for a customer. Always reports success - account existence is never revealed.

Parameters
ParameterType
request{ email?: string; phone?: string; }
request.email?string
request.phone?string
Returns

Promise<boolean>

Operation Id

requestSalesMagicLink


salesCustomers

salesCustomers: {
create: (request: {
email: string;
firstName?: string;
lastName?: string;
marketingConsent?: boolean;
phone?: string;
}) => Promise<{
email: string;
firstName: string | null;
id: string;
lastName: string | null;
}>;
get: (customerId: string) => Promise<{
email: string;
firstName: string | null;
id: string;
lastName: string | null;
}>;
update: (customerId: string, request: {
firstName?: string;
lastName?: string;
phone?: string;
}) => Promise<{
email: string;
firstName: string | null;
id: string;
lastName: string | null;
}>;
};

Defined in: client.ts:3794

Sales Customers methods

create()

create: (request: {
email: string;
firstName?: string;
lastName?: string;
marketingConsent?: boolean;
phone?: string;
}) => Promise<{
email: string;
firstName: string | null;
id: string;
lastName: string | null;
}>;

Create customer Provenance-scoped channel CRM (secret keys only). Reuses the org's existing record for the email and grants the channel access; there is no list or search.

Parameters
ParameterType
request{ email: string; firstName?: string; lastName?: string; marketingConsent?: boolean; phone?: string; }
request.emailstring
request.firstName?string
request.lastName?string
request.marketingConsent?boolean
request.phone?string
Returns

Promise<{ email: string; firstName: string | null; id: string; lastName: string | null; }>

Operation Id

createSalesCustomer

get()

get: (customerId: string) => Promise<{
email: string;
firstName: string | null;
id: string;
lastName: string | null;
}>;

Get customer Get a customer the channel holds an access grant for (created through it, or who bought through it)

Parameters
ParameterType
customerIdstring
Returns

Promise<{ email: string; firstName: string | null; id: string; lastName: string | null; }>

Operation Id

getSalesCustomer

update()

update: (customerId: string, request: {
firstName?: string;
lastName?: string;
phone?: string;
}) => Promise<{
email: string;
firstName: string | null;
id: string;
lastName: string | null;
}>;

Update customer Update a customer the channel holds an access grant for. The update surface is deliberately small - email changes go through the org's staff.

Parameters
ParameterType
customerIdstring
request{ firstName?: string; lastName?: string; phone?: string; }
request.firstName?string
request.lastName?string
request.phone?string
Returns

Promise<{ email: string; firstName: string | null; id: string; lastName: string | null; }>

Operation Id

updateSalesCustomer


salesCustomerTokens

salesCustomerTokens: {
create: (request: {
proof: any;
}) => Promise<{
customer: {
email: string;
firstName: string | null;
id: string;
lastName: string | null;
};
customerToken: string;
expiresIn: number;
}>;
refresh: () => Promise<{
customer: {
email: string;
firstName: string | null;
id: string;
lastName: string | null;
};
customerToken: string;
expiresIn: number;
}>;
};

Defined in: client.ts:3602

Sales Customer Tokens methods

create()

create: (request: {
proof: any;
}) => Promise<{
customer: {
email: string;
firstName: string | null;
id: string;
lastName: string | null;
};
customerToken: string;
expiresIn: number;
}>;

Exchange identity proof for customer token Exchange an identity proof (magic-link code or partner assertion) for a short-lived customer token bound to this channel. Identity is exchanged, never asserted.

Parameters
ParameterType
request{ proof: any; }
request.proofany
Returns

Promise<{ customer: { email: string; firstName: string | null; id: string; lastName: string | null; }; customerToken: string; expiresIn: number; }>

Operation Id

createSalesCustomerToken

refresh()

refresh: () => Promise<{
customer: {
email: string;
firstName: string | null;
id: string;
lastName: string | null;
};
customerToken: string;
expiresIn: number;
}>;

Refresh a customer token Re-signs a still-valid customer token (presented via X-Customer-Token) for a fresh 30 minutes, carrying the original 24-hour absolute ceiling forward. Once the ceiling passes the customer must re-authenticate.

Returns

Promise<{ customer: { email: string; firstName: string | null; id: string; lastName: string | null; }; customerToken: string; expiresIn: number; }>

Operation Id

refreshSalesCustomerToken


salesListings

salesListings: {
list: () => Promise<{
channel: {
id: string;
name: string;
slug: string;
};
listings: {
currency: string | null;
eventId: string;
id: string;
imageUrl: string | null;
name: string | null;
nextOccurrenceAt: string | null;
priceFrom: number | null;
saleEndsAt: string | null;
saleStartsAt: string | null;
shortDescription: string | null;
subtitle: string | null;
venueCity: string | null;
venueName: string | null;
}[];
}>;
};

Defined in: client.ts:3565

Sales Listings methods

list()

list: () => Promise<{
channel: {
id: string;
name: string;
slug: string;
};
listings: {
currency: string | null;
eventId: string;
id: string;
imageUrl: string | null;
name: string | null;
nextOccurrenceAt: string | null;
priceFrom: number | null;
saleEndsAt: string | null;
saleStartsAt: string | null;
shortDescription: string | null;
subtitle: string | null;
venueCity: string | null;
venueName: string | null;
}[];
}>;

List active listings What is on sale through this channel right now. The channel is resolved from the key, never from a parameter.

Returns

Promise<{ channel: { id: string; name: string; slug: string; }; listings: { currency: string | null; eventId: string; id: string; imageUrl: string | null; name: string | null; nextOccurrenceAt: string | null; priceFrom: number | null; saleEndsAt: string | null; saleStartsAt: string | null; shortDescription: string | null; subtitle: string | null; venueCity: string | null; venueName: string | null; }[]; }>

Operation Id

listSalesListings


salesMyOrders

salesMyOrders: {
list: () => Promise<{
createdAt: string;
currency: string;
expiresAt: string | null;
id: string;
items: {
description: string | null;
name: string;
quantity: number;
subtotal: number;
type: string;
unitPrice: number;
}[];
orderNumber: string;
paymentStatus: string;
status: string;
subtotal: number;
tickets: {
admissionStatus: string;
barcode: string;
eventOccurrenceId: string | null;
holderName: string | null;
id: string;
name: string;
seatLabel: string | null;
status: string;
type: string;
}[];
total: number;
totalFees: number;
totalTax: number;
}[]>;
};

Defined in: client.ts:3707

Sales My Orders methods

list()

list: () => Promise<{
createdAt: string;
currency: string;
expiresAt: string | null;
id: string;
items: {
description: string | null;
name: string;
quantity: number;
subtotal: number;
type: string;
unitPrice: number;
}[];
orderNumber: string;
paymentStatus: string;
status: string;
subtotal: number;
tickets: {
admissionStatus: string;
barcode: string;
eventOccurrenceId: string | null;
holderName: string | null;
id: string;
name: string;
seatLabel: string | null;
status: string;
type: string;
}[];
total: number;
totalFees: number;
totalTax: number;
}[]>;

List my orders The verified customer's own orders. Requires a customer token - orders cannot be listed with key or possession credentials alone.

Returns

Promise<{ createdAt: string; currency: string; expiresAt: string | null; id: string; items: { description: string | null; name: string; quantity: number; subtotal: number; type: string; unitPrice: number; }[]; orderNumber: string; paymentStatus: string; status: string; subtotal: number; tickets: { admissionStatus: string; barcode: string; eventOccurrenceId: string | null; holderName: string | null; id: string; name: string; seatLabel: string | null; status: string; type: string; }[]; total: number; totalFees: number; totalTax: number; }[]>

Operation Id

listMySalesOrders


salesOrderPayments

salesOrderPayments: {
create: (orderId: string, request: {
paymentType?: "online_card" | "online_bank_transfer" | "online_wallet";
returnUrl?: string;
}) => Promise<{
amount: number;
connectedAccountId: string | null;
currency: string;
externalPaymentUrl: string | null;
id: string;
orderId: string;
paymentType: string;
providerClientSecret: string | null;
providerType: string | null;
publishableKey: string | null;
status: string;
}>;
};

Defined in: client.ts:3756

Sales Order Payments methods

create()

create: (orderId: string, request: {
paymentType?: "online_card" | "online_bank_transfer" | "online_wallet";
returnUrl?: string;
}) => Promise<{
amount: number;
connectedAccountId: string | null;
currency: string;
externalPaymentUrl: string | null;
id: string;
orderId: string;
paymentType: string;
providerClientSecret: string | null;
providerType: string | null;
publishableKey: string | null;
status: string;
}>;

Create order payment Initiate payment for the order's outstanding balance through the channel's payment provider

Parameters
ParameterType
orderIdstring
request{ paymentType?: "online_card" | "online_bank_transfer" | "online_wallet"; returnUrl?: string; }
request.paymentType?"online_card" | "online_bank_transfer" | "online_wallet"
request.returnUrl?string
Returns

Promise<{ amount: number; connectedAccountId: string | null; currency: string; externalPaymentUrl: string | null; id: string; orderId: string; paymentType: string; providerClientSecret: string | null; providerType: string | null; publishableKey: string | null; status: string; }>

Operation Id

createSalesOrderPayment


salesOrders

salesOrders: {
get: (orderId: string) => Promise<{
createdAt: string;
currency: string;
expiresAt: string | null;
id: string;
items: {
description: string | null;
name: string;
quantity: number;
subtotal: number;
type: string;
unitPrice: number;
}[];
orderNumber: string;
paymentStatus: string;
status: string;
subtotal: number;
tickets: {
admissionStatus: string;
barcode: string;
eventOccurrenceId: string | null;
holderName: string | null;
id: string;
name: string;
seatLabel: string | null;
status: string;
type: string;
}[];
total: number;
totalFees: number;
totalTax: number;
}>;
ticketPdf: (orderId: string, passId: string) => Promise<any>;
};

Defined in: client.ts:3725

Sales Orders methods

get()

get: (orderId: string) => Promise<{
createdAt: string;
currency: string;
expiresAt: string | null;
id: string;
items: {
description: string | null;
name: string;
quantity: number;
subtotal: number;
type: string;
unitPrice: number;
}[];
orderNumber: string;
paymentStatus: string;
status: string;
subtotal: number;
tickets: {
admissionStatus: string;
barcode: string;
eventOccurrenceId: string | null;
holderName: string | null;
id: string;
name: string;
seatLabel: string | null;
status: string;
type: string;
}[];
total: number;
totalFees: number;
totalTax: number;
}>;

Get order Get an order on this channel. Access requires a secret key (own channel), an X-Order-Access-Token header (guest possession) or a customer token (own orders).

Parameters
ParameterType
orderIdstring
Returns

Promise<{ createdAt: string; currency: string; expiresAt: string | null; id: string; items: { description: string | null; name: string; quantity: number; subtotal: number; type: string; unitPrice: number; }[]; orderNumber: string; paymentStatus: string; status: string; subtotal: number; tickets: { admissionStatus: string; barcode: string; eventOccurrenceId: string | null; holderName: string | null; id: string; name: string; seatLabel: string | null; status: string; type: string; }[]; total: number; totalFees: number; totalTax: number; }>

Operation Id

getSalesOrder

ticketPdf()

ticketPdf: (orderId: string, passId: string) => Promise<any>;

Download a ticket PDF Render and stream a pass as a PDF ticket (application/pdf) for the holder. Order-access gated. Browsers fetch this directly rather than through the typed SDK.

Parameters
ParameterType
orderIdstring
passIdstring
Returns

Promise<any>

Operation Id

getSalesOrderTicketPdf


salesPresaleCodes

salesPresaleCodes: {
redeem: (request: {
code: string;
}) => Promise<{
alreadyHeld: boolean;
benefit: string;
}>;
};

Defined in: client.ts:3840

Sales Presale Codes methods

redeem()

redeem: (request: {
code: string;
}) => Promise<{
alreadyHeld: boolean;
benefit: string;
}>;

Redeem presale code A verified customer redeems a presale code for its benefit; gated pricing unlocks immediately. Requires a customer token.

Parameters
ParameterType
request{ code: string; }
request.codestring
Returns

Promise<{ alreadyHeld: boolean; benefit: string; }>

Operation Id

redeemSalesPresaleCode


salesRefundRequests

salesRefundRequests: {
create: (orderId: string, request: {
reason?: string;
type: "refund" | "exchange";
}) => Promise<{
createdAt: string;
id: string;
orderId: string;
reason: string | null;
status: string;
type: string;
}>;
};

Defined in: client.ts:3775

Sales Refund Requests methods

create()

create: (orderId: string, request: {
reason?: string;
type: "refund" | "exchange";
}) => Promise<{
createdAt: string;
id: string;
orderId: string;
reason: string | null;
status: string;
type: string;
}>;

Request refund or exchange File a refund or exchange request for the order within the resolved refund policy. Requester identity is derived from the credential, never from the body.

Parameters
ParameterType
orderIdstring
request{ reason?: string; type: "refund" | "exchange"; }
request.reason?string
request.type"refund" | "exchange"
Returns

Promise<{ createdAt: string; id: string; orderId: string; reason: string | null; status: string; type: string; }>

Operation Id

createSalesOrderRefundRequest


scan

scan: {
config: () => Promise<any>;
manifest: (options?: {
since?: string;
}) => Promise<any>;
operations: (request: {
operations: {
actor?: {
id: string;
type: "device" | "user";
};
entitlementId?: string;
gate?: string;
hopPath?: string[];
kind: "redeem" | "validate" | "reverse";
locationId?: string;
occurredAt: string;
opId: string;
originDeviceId?: string;
passBarcode: string;
reverseOf?: string;
seq?: number;
}[];
}) => Promise<any>;
};

Defined in: client.ts:4184

Scan methods

config()

config: () => Promise<any>;

Get the device scan scope The calling scanner device’s resolved configuration (scope + allowed operations). Device JWT only.

Returns

Promise<any>

Operation Id

getScanConfigForDevice

manifest()

manifest: (options?: {
since?: string;
}) => Promise<any>;

Get the offline validation dataset The entitlements in scope, as a cursored delta (pass ?since= the prior cursor). Device JWT only.

Parameters
ParameterType
options?{ since?: string; }
options.since?string
Returns

Promise<any>

Operation Id

getScanManifest

operations()

operations: (request: {
operations: {
actor?: {
id: string;
type: "device" | "user";
};
entitlementId?: string;
gate?: string;
hopPath?: string[];
kind: "redeem" | "validate" | "reverse";
locationId?: string;
occurredAt: string;
opId: string;
originDeviceId?: string;
passBarcode: string;
reverseOf?: string;
seq?: number;
}[];
}) => Promise<any>;

Submit scan operations Batch of ScanOperations - applied in occurredAt order, idempotent on opId, duplicates recorded + noted. Device JWT only.

Parameters
ParameterType
request{ operations: { actor?: { id: string; type: "device" | "user"; }; entitlementId?: string; gate?: string; hopPath?: string[]; kind: "redeem" | "validate" | "reverse"; locationId?: string; occurredAt: string; opId: string; originDeviceId?: string; passBarcode: string; reverseOf?: string; seq?: number; }[]; }
request.operations{ actor?: { id: string; type: "device" | "user"; }; entitlementId?: string; gate?: string; hopPath?: string[]; kind: "redeem" | "validate" | "reverse"; locationId?: string; occurredAt: string; opId: string; originDeviceId?: string; passBarcode: string; reverseOf?: string; seq?: number; }[]
Returns

Promise<any>

Operation Id

submitScanOperations


scanConfigs

scanConfigs: {
create: (request: {
accountId: string;
allowedKinds: ("redeem" | "validate" | "reverse")[];
entitlementFilter?: {
entitlementIds?: string[];
tags?: string[];
ticketTypeIds?: string[];
types?: string[];
};
eventFilter: {
eventIds?: string[];
mode: "all" | "events" | "occurrences";
occurrenceIds?: string[];
};
gates?: string[];
name: string;
validFrom?: string;
validUntil?: string;
}) => Promise<any>;
delete: (configId: string) => Promise<any>;
get: (configId: string) => Promise<any>;
list: () => Promise<any>;
setDevices: (configId: string, request: {
deviceIds: string[];
}) => Promise<any>;
update: (configId: string, request: {
accountId?: string;
allowedKinds?: ("redeem" | "validate" | "reverse")[];
entitlementFilter?: {
entitlementIds?: string[];
tags?: string[];
ticketTypeIds?: string[];
types?: string[];
};
eventFilter?: {
eventIds?: string[];
mode: "all" | "events" | "occurrences";
occurrenceIds?: string[];
};
gates?: string[];
name?: string;
status?: "active" | "archived";
validFrom?: string;
validUntil?: string;
}) => Promise<any>;
};

Defined in: client.ts:4098

Scan Configs methods

create()

create: (request: {
accountId: string;
allowedKinds: ("redeem" | "validate" | "reverse")[];
entitlementFilter?: {
entitlementIds?: string[];
tags?: string[];
ticketTypeIds?: string[];
types?: string[];
};
eventFilter: {
eventIds?: string[];
mode: "all" | "events" | "occurrences";
occurrenceIds?: string[];
};
gates?: string[];
name: string;
validFrom?: string;
validUntil?: string;
}) => Promise<any>;

Create a scan configuration Create a scanner scope (events + entitlement/gate/time filters + allowed operations). Delegation-gated: the author must hold entitlements.redeem on the account.

Parameters
ParameterType
request{ accountId: string; allowedKinds: ("redeem" | "validate" | "reverse")[]; entitlementFilter?: { entitlementIds?: string[]; tags?: string[]; ticketTypeIds?: string[]; types?: string[]; }; eventFilter: { eventIds?: string[]; mode: "all" | "events" | "occurrences"; occurrenceIds?: string[]; }; gates?: string[]; name: string; validFrom?: string; validUntil?: string; }
request.accountIdstring
request.allowedKinds("redeem" | "validate" | "reverse")[]
request.entitlementFilter?{ entitlementIds?: string[]; tags?: string[]; ticketTypeIds?: string[]; types?: string[]; }
request.entitlementFilter.entitlementIds?string[]
request.entitlementFilter.tags?string[]
request.entitlementFilter.ticketTypeIds?string[]
request.entitlementFilter.types?string[]
request.eventFilter{ eventIds?: string[]; mode: "all" | "events" | "occurrences"; occurrenceIds?: string[]; }
request.eventFilter.eventIds?string[]
request.eventFilter.mode"all" | "events" | "occurrences"
request.eventFilter.occurrenceIds?string[]
request.gates?string[]
request.namestring
request.validFrom?string
request.validUntil?string
Returns

Promise<any>

Operation Id

createScanConfig

delete()

delete: (configId: string) => Promise<any>;

Delete a scan configuration

Parameters
ParameterType
configIdstring
Returns

Promise<any>

Operation Id

deleteScanConfig

get()

get: (configId: string) => Promise<any>;

Get a scan configuration

Parameters
ParameterType
configIdstring
Returns

Promise<any>

Operation Id

getScanConfig

list()

list: () => Promise<any>;

List scan configurations

Returns

Promise<any>

Operation Id

listScanConfigs

setDevices()

setDevices: (configId: string, request: {
deviceIds: string[];
}) => Promise<any>;

Assign scanner devices to a configuration Replace the set of scanner devices driven by this config. A device has at most one active config.

Parameters
ParameterType
configIdstring
request{ deviceIds: string[]; }
request.deviceIdsstring[]
Returns

Promise<any>

Operation Id

setScanConfigDevices

update()

update: (configId: string, request: {
accountId?: string;
allowedKinds?: ("redeem" | "validate" | "reverse")[];
entitlementFilter?: {
entitlementIds?: string[];
tags?: string[];
ticketTypeIds?: string[];
types?: string[];
};
eventFilter?: {
eventIds?: string[];
mode: "all" | "events" | "occurrences";
occurrenceIds?: string[];
};
gates?: string[];
name?: string;
status?: "active" | "archived";
validFrom?: string;
validUntil?: string;
}) => Promise<any>;

Update a scan configuration

Parameters
ParameterType
configIdstring
request{ accountId?: string; allowedKinds?: ("redeem" | "validate" | "reverse")[]; entitlementFilter?: { entitlementIds?: string[]; tags?: string[]; ticketTypeIds?: string[]; types?: string[]; }; eventFilter?: { eventIds?: string[]; mode: "all" | "events" | "occurrences"; occurrenceIds?: string[]; }; gates?: string[]; name?: string; status?: "active" | "archived"; validFrom?: string; validUntil?: string; }
request.accountId?string
request.allowedKinds?("redeem" | "validate" | "reverse")[]
request.entitlementFilter?{ entitlementIds?: string[]; tags?: string[]; ticketTypeIds?: string[]; types?: string[]; }
request.entitlementFilter.entitlementIds?string[]
request.entitlementFilter.tags?string[]
request.entitlementFilter.ticketTypeIds?string[]
request.entitlementFilter.types?string[]
request.eventFilter?{ eventIds?: string[]; mode: "all" | "events" | "occurrences"; occurrenceIds?: string[]; }
request.eventFilter.eventIds?string[]
request.eventFilter.mode"all" | "events" | "occurrences"
request.eventFilter.occurrenceIds?string[]
request.gates?string[]
request.name?string
request.status?"active" | "archived"
request.validFrom?string
request.validUntil?string
Returns

Promise<any>

Operation Id

updateScanConfig


scans

scans: {
list: (options?: {
deviceId?: string;
eventId?: string;
from?: string;
limit?: number;
occurrenceId?: string;
status?: "redeemed" | "rejected" | "reversed" | "validated";
to?: string;
}) => Promise<any>;
reverse: (redemptionId: string, request: {
reason?: string;
}) => Promise<any>;
};

Defined in: client.ts:4234

Scans methods

list()

list: (options?: {
deviceId?: string;
eventId?: string;
from?: string;
limit?: number;
occurrenceId?: string;
status?: "redeemed" | "rejected" | "reversed" | "validated";
to?: string;
}) => Promise<any>;

List scans (staff reporting) Redemption/scan history, account-filtered, faceted by occurrence/event/device/status.

Parameters
ParameterType
options?{ deviceId?: string; eventId?: string; from?: string; limit?: number; occurrenceId?: string; status?: "redeemed" | "rejected" | "reversed" | "validated"; to?: string; }
options.deviceId?string
options.eventId?string
options.from?string
options.limit?number
options.occurrenceId?string
options.status?"redeemed" | "rejected" | "reversed" | "validated"
options.to?string
Returns

Promise<any>

Operation Id

listScans

reverse()

reverse: (redemptionId: string, request: {
reason?: string;
}) => Promise<any>;

Reverse a redemption Supervisor undo of a mistaken scan: the redemption becomes reversed and the entitlement gets its consumption back.

Parameters
ParameterType
redemptionIdstring
request{ reason?: string; }
request.reason?string
Returns

Promise<any>

Operation Id

reverseRedemption


themes

themes: {
create: (request: {
brand?: {
displayName?: string;
faviconUrl?: string;
logoDarkUrl?: string;
logoUrl?: string;
};
colors?: {
accent?: string;
accentForeground?: string;
background?: string;
border?: string;
destructive?: string;
destructiveForeground?: string;
foreground?: string;
input?: string;
muted?: string;
mutedForeground?: string;
primary?: string;
primaryForeground?: string;
ring?: string;
secondary?: string;
secondaryForeground?: string;
success?: string;
successForeground?: string;
warning?: string;
warningForeground?: string;
};
description?: string;
design?: {
cinemaGradient?: {
position: "bottom" | "center";
strength: 20 | 50 | 70;
};
heroLayout?: {
size: "small" | "medium" | "large";
type: "hero" | "cinema";
};
} & {
[key: string]: unknown;
};
extendsThemeId?: string;
isActive?: boolean;
isBaseTheme?: boolean;
name: string;
shape?: {
radiusFull?: string;
radiusLg?: string;
radiusMd?: string;
radiusNone?: string;
radiusSm?: string;
};
typography?: {
baseSize?: string;
fontFamily?: string;
fontFamilyMono?: string;
scaleRatio?: number;
};
}) => Promise<{
brand: {
displayName?: string;
faviconUrl?: string;
logoDarkUrl?: string;
logoUrl?: string;
};
colors: {
accent?: string;
accentForeground?: string;
background?: string;
border?: string;
destructive?: string;
destructiveForeground?: string;
foreground?: string;
input?: string;
muted?: string;
mutedForeground?: string;
primary?: string;
primaryForeground?: string;
ring?: string;
secondary?: string;
secondaryForeground?: string;
success?: string;
successForeground?: string;
warning?: string;
warningForeground?: string;
};
createdAt: string;
description: string | null;
design: | {
cinemaGradient?: {
position: "bottom" | "center";
strength: 20 | 50 | 70;
};
heroLayout?: {
size: "small" | "medium" | "large";
type: "hero" | "cinema";
};
}
| null;
extendsThemeId: string | null;
id: string;
isActive: boolean;
isBaseTheme: boolean;
name: string;
organisationId: string;
shape: {
radiusFull?: string;
radiusLg?: string;
radiusMd?: string;
radiusNone?: string;
radiusSm?: string;
};
typography: {
baseSize?: string;
fontFamily?: string;
fontFamilyMono?: string;
scaleRatio?: number;
};
updatedAt: string;
}>;
delete: (id: string) => Promise<boolean>;
get: (id: string) => Promise<{
brand: {
displayName?: string;
faviconUrl?: string;
logoDarkUrl?: string;
logoUrl?: string;
};
colors: {
accent?: string;
accentForeground?: string;
background?: string;
border?: string;
destructive?: string;
destructiveForeground?: string;
foreground?: string;
input?: string;
muted?: string;
mutedForeground?: string;
primary?: string;
primaryForeground?: string;
ring?: string;
secondary?: string;
secondaryForeground?: string;
success?: string;
successForeground?: string;
warning?: string;
warningForeground?: string;
};
createdAt: string;
description: string | null;
design: | {
cinemaGradient?: {
position: "bottom" | "center";
strength: 20 | 50 | 70;
};
heroLayout?: {
size: "small" | "medium" | "large";
type: "hero" | "cinema";
};
}
| null;
extendsThemeId: string | null;
id: string;
isActive: boolean;
isBaseTheme: boolean;
name: string;
organisationId: string;
shape: {
radiusFull?: string;
radiusLg?: string;
radiusMd?: string;
radiusNone?: string;
radiusSm?: string;
};
typography: {
baseSize?: string;
fontFamily?: string;
fontFamilyMono?: string;
scaleRatio?: number;
};
updatedAt: string;
}>;
list: () => Promise<{
brand: {
displayName?: string;
faviconUrl?: string;
logoDarkUrl?: string;
logoUrl?: string;
};
colors: {
accent?: string;
accentForeground?: string;
background?: string;
border?: string;
destructive?: string;
destructiveForeground?: string;
foreground?: string;
input?: string;
muted?: string;
mutedForeground?: string;
primary?: string;
primaryForeground?: string;
ring?: string;
secondary?: string;
secondaryForeground?: string;
success?: string;
successForeground?: string;
warning?: string;
warningForeground?: string;
};
createdAt: string;
description: string | null;
design: | {
cinemaGradient?: {
position: "bottom" | "center";
strength: 20 | 50 | 70;
};
heroLayout?: {
size: "small" | "medium" | "large";
type: "hero" | "cinema";
};
}
| null;
extendsThemeId: string | null;
id: string;
isActive: boolean;
isBaseTheme: boolean;
name: string;
organisationId: string;
shape: {
radiusFull?: string;
radiusLg?: string;
radiusMd?: string;
radiusNone?: string;
radiusSm?: string;
};
typography: {
baseSize?: string;
fontFamily?: string;
fontFamilyMono?: string;
scaleRatio?: number;
};
updatedAt: string;
}[]>;
resolved: (id: string) => Promise<{
brand: {
displayName?: string;
faviconUrl?: string;
logoDarkUrl?: string;
logoUrl?: string;
};
colors: {
accent?: string;
accentForeground?: string;
background?: string;
border?: string;
destructive?: string;
destructiveForeground?: string;
foreground?: string;
input?: string;
muted?: string;
mutedForeground?: string;
primary?: string;
primaryForeground?: string;
ring?: string;
secondary?: string;
secondaryForeground?: string;
success?: string;
successForeground?: string;
warning?: string;
warningForeground?: string;
};
description: string | null;
design: | {
cinemaGradient?: {
position: "bottom" | "center";
strength: 20 | 50 | 70;
};
heroLayout?: {
size: "small" | "medium" | "large";
type: "hero" | "cinema";
};
}
| null;
extendsThemeId: string | null;
id: string;
isActive: boolean;
isBaseTheme: boolean;
name: string;
organisationId: string;
shape: {
radiusFull?: string;
radiusLg?: string;
radiusMd?: string;
radiusNone?: string;
radiusSm?: string;
};
typography: {
baseSize?: string;
fontFamily?: string;
fontFamilyMono?: string;
scaleRatio?: number;
};
}>;
update: (id: string, request: {
brand?: {
displayName?: string;
faviconUrl?: string;
logoDarkUrl?: string;
logoUrl?: string;
};
colors?: {
accent?: string;
accentForeground?: string;
background?: string;
border?: string;
destructive?: string;
destructiveForeground?: string;
foreground?: string;
input?: string;
muted?: string;
mutedForeground?: string;
primary?: string;
primaryForeground?: string;
ring?: string;
secondary?: string;
secondaryForeground?: string;
success?: string;
successForeground?: string;
warning?: string;
warningForeground?: string;
};
description?: any;
design?: any;
extendsThemeId?: any;
isActive?: boolean;
isBaseTheme?: boolean;
name?: string;
shape?: {
radiusFull?: string;
radiusLg?: string;
radiusMd?: string;
radiusNone?: string;
radiusSm?: string;
};
typography?: {
baseSize?: string;
fontFamily?: string;
fontFamilyMono?: string;
scaleRatio?: number;
};
}) => Promise<{
brand: {
displayName?: string;
faviconUrl?: string;
logoDarkUrl?: string;
logoUrl?: string;
};
colors: {
accent?: string;
accentForeground?: string;
background?: string;
border?: string;
destructive?: string;
destructiveForeground?: string;
foreground?: string;
input?: string;
muted?: string;
mutedForeground?: string;
primary?: string;
primaryForeground?: string;
ring?: string;
secondary?: string;
secondaryForeground?: string;
success?: string;
successForeground?: string;
warning?: string;
warningForeground?: string;
};
createdAt: string;
description: string | null;
design: | {
cinemaGradient?: {
position: "bottom" | "center";
strength: 20 | 50 | 70;
};
heroLayout?: {
size: "small" | "medium" | "large";
type: "hero" | "cinema";
};
}
| null;
extendsThemeId: string | null;
id: string;
isActive: boolean;
isBaseTheme: boolean;
name: string;
organisationId: string;
shape: {
radiusFull?: string;
radiusLg?: string;
radiusMd?: string;
radiusNone?: string;
radiusSm?: string;
};
typography: {
baseSize?: string;
fontFamily?: string;
fontFamilyMono?: string;
scaleRatio?: number;
};
updatedAt: string;
}>;
};

Defined in: client.ts:3908

Themes methods

create()

create: (request: {
brand?: {
displayName?: string;
faviconUrl?: string;
logoDarkUrl?: string;
logoUrl?: string;
};
colors?: {
accent?: string;
accentForeground?: string;
background?: string;
border?: string;
destructive?: string;
destructiveForeground?: string;
foreground?: string;
input?: string;
muted?: string;
mutedForeground?: string;
primary?: string;
primaryForeground?: string;
ring?: string;
secondary?: string;
secondaryForeground?: string;
success?: string;
successForeground?: string;
warning?: string;
warningForeground?: string;
};
description?: string;
design?: {
cinemaGradient?: {
position: "bottom" | "center";
strength: 20 | 50 | 70;
};
heroLayout?: {
size: "small" | "medium" | "large";
type: "hero" | "cinema";
};
} & {
[key: string]: unknown;
};
extendsThemeId?: string;
isActive?: boolean;
isBaseTheme?: boolean;
name: string;
shape?: {
radiusFull?: string;
radiusLg?: string;
radiusMd?: string;
radiusNone?: string;
radiusSm?: string;
};
typography?: {
baseSize?: string;
fontFamily?: string;
fontFamilyMono?: string;
scaleRatio?: number;
};
}) => Promise<{
brand: {
displayName?: string;
faviconUrl?: string;
logoDarkUrl?: string;
logoUrl?: string;
};
colors: {
accent?: string;
accentForeground?: string;
background?: string;
border?: string;
destructive?: string;
destructiveForeground?: string;
foreground?: string;
input?: string;
muted?: string;
mutedForeground?: string;
primary?: string;
primaryForeground?: string;
ring?: string;
secondary?: string;
secondaryForeground?: string;
success?: string;
successForeground?: string;
warning?: string;
warningForeground?: string;
};
createdAt: string;
description: string | null;
design: | {
cinemaGradient?: {
position: "bottom" | "center";
strength: 20 | 50 | 70;
};
heroLayout?: {
size: "small" | "medium" | "large";
type: "hero" | "cinema";
};
}
| null;
extendsThemeId: string | null;
id: string;
isActive: boolean;
isBaseTheme: boolean;
name: string;
organisationId: string;
shape: {
radiusFull?: string;
radiusLg?: string;
radiusMd?: string;
radiusNone?: string;
radiusSm?: string;
};
typography: {
baseSize?: string;
fontFamily?: string;
fontFamilyMono?: string;
scaleRatio?: number;
};
updatedAt: string;
}>;

Create theme Create a new branding/design theme

Parameters
ParameterType
request{ brand?: { displayName?: string; faviconUrl?: string; logoDarkUrl?: string; logoUrl?: string; }; colors?: { accent?: string; accentForeground?: string; background?: string; border?: string; destructive?: string; destructiveForeground?: string; foreground?: string; input?: string; muted?: string; mutedForeground?: string; primary?: string; primaryForeground?: string; ring?: string; secondary?: string; secondaryForeground?: string; success?: string; successForeground?: string; warning?: string; warningForeground?: string; }; description?: string; design?: { cinemaGradient?: { position: "bottom" | "center"; strength: 20 | 50 | 70; }; heroLayout?: { size: "small" | "medium" | "large"; type: "hero" | "cinema"; }; } & { [key: string]: unknown; }; extendsThemeId?: string; isActive?: boolean; isBaseTheme?: boolean; name: string; shape?: { radiusFull?: string; radiusLg?: string; radiusMd?: string; radiusNone?: string; radiusSm?: string; }; typography?: { baseSize?: string; fontFamily?: string; fontFamilyMono?: string; scaleRatio?: number; }; }
request.brand?{ displayName?: string; faviconUrl?: string; logoDarkUrl?: string; logoUrl?: string; }
request.brand.displayName?string
request.brand.faviconUrl?string
request.brand.logoDarkUrl?string
request.brand.logoUrl?string
request.colors?{ accent?: string; accentForeground?: string; background?: string; border?: string; destructive?: string; destructiveForeground?: string; foreground?: string; input?: string; muted?: string; mutedForeground?: string; primary?: string; primaryForeground?: string; ring?: string; secondary?: string; secondaryForeground?: string; success?: string; successForeground?: string; warning?: string; warningForeground?: string; }
request.colors.accent?string
request.colors.accentForeground?string
request.colors.background?string
request.colors.border?string
request.colors.destructive?string
request.colors.destructiveForeground?string
request.colors.foreground?string
request.colors.input?string
request.colors.muted?string
request.colors.mutedForeground?string
request.colors.primary?string
request.colors.primaryForeground?string
request.colors.ring?string
request.colors.secondary?string
request.colors.secondaryForeground?string
request.colors.success?string
request.colors.successForeground?string
request.colors.warning?string
request.colors.warningForeground?string
request.description?string
request.design?{ cinemaGradient?: { position: "bottom" | "center"; strength: 20 | 50 | 70; }; heroLayout?: { size: "small" | "medium" | "large"; type: "hero" | "cinema"; }; } & { [key: string]: unknown; }
request.extendsThemeId?string
request.isActive?boolean
request.isBaseTheme?boolean
request.namestring
request.shape?{ radiusFull?: string; radiusLg?: string; radiusMd?: string; radiusNone?: string; radiusSm?: string; }
request.shape.radiusFull?string
request.shape.radiusLg?string
request.shape.radiusMd?string
request.shape.radiusNone?string
request.shape.radiusSm?string
request.typography?{ baseSize?: string; fontFamily?: string; fontFamilyMono?: string; scaleRatio?: number; }
request.typography.baseSize?string
request.typography.fontFamily?string
request.typography.fontFamilyMono?string
request.typography.scaleRatio?number
Returns

Promise<{ brand: { displayName?: string; faviconUrl?: string; logoDarkUrl?: string; logoUrl?: string; }; colors: { accent?: string; accentForeground?: string; background?: string; border?: string; destructive?: string; destructiveForeground?: string; foreground?: string; input?: string; muted?: string; mutedForeground?: string; primary?: string; primaryForeground?: string; ring?: string; secondary?: string; secondaryForeground?: string; success?: string; successForeground?: string; warning?: string; warningForeground?: string; }; createdAt: string; description: string | null; design: | { cinemaGradient?: { position: "bottom" | "center"; strength: 20 | 50 | 70; }; heroLayout?: { size: "small" | "medium" | "large"; type: "hero" | "cinema"; }; } | null; extendsThemeId: string | null; id: string; isActive: boolean; isBaseTheme: boolean; name: string; organisationId: string; shape: { radiusFull?: string; radiusLg?: string; radiusMd?: string; radiusNone?: string; radiusSm?: string; }; typography: { baseSize?: string; fontFamily?: string; fontFamilyMono?: string; scaleRatio?: number; }; updatedAt: string; }>

Operation Id

createTheme

delete()

delete: (id: string) => Promise<boolean>;

Delete theme Soft-delete a theme

Parameters
ParameterType
idstring
Returns

Promise<boolean>

Operation Id

deleteTheme

get()

get: (id: string) => Promise<{
brand: {
displayName?: string;
faviconUrl?: string;
logoDarkUrl?: string;
logoUrl?: string;
};
colors: {
accent?: string;
accentForeground?: string;
background?: string;
border?: string;
destructive?: string;
destructiveForeground?: string;
foreground?: string;
input?: string;
muted?: string;
mutedForeground?: string;
primary?: string;
primaryForeground?: string;
ring?: string;
secondary?: string;
secondaryForeground?: string;
success?: string;
successForeground?: string;
warning?: string;
warningForeground?: string;
};
createdAt: string;
description: string | null;
design: | {
cinemaGradient?: {
position: "bottom" | "center";
strength: 20 | 50 | 70;
};
heroLayout?: {
size: "small" | "medium" | "large";
type: "hero" | "cinema";
};
}
| null;
extendsThemeId: string | null;
id: string;
isActive: boolean;
isBaseTheme: boolean;
name: string;
organisationId: string;
shape: {
radiusFull?: string;
radiusLg?: string;
radiusMd?: string;
radiusNone?: string;
radiusSm?: string;
};
typography: {
baseSize?: string;
fontFamily?: string;
fontFamilyMono?: string;
scaleRatio?: number;
};
updatedAt: string;
}>;

Get theme Get a specific theme by ID

Parameters
ParameterType
idstring
Returns

Promise<{ brand: { displayName?: string; faviconUrl?: string; logoDarkUrl?: string; logoUrl?: string; }; colors: { accent?: string; accentForeground?: string; background?: string; border?: string; destructive?: string; destructiveForeground?: string; foreground?: string; input?: string; muted?: string; mutedForeground?: string; primary?: string; primaryForeground?: string; ring?: string; secondary?: string; secondaryForeground?: string; success?: string; successForeground?: string; warning?: string; warningForeground?: string; }; createdAt: string; description: string | null; design: | { cinemaGradient?: { position: "bottom" | "center"; strength: 20 | 50 | 70; }; heroLayout?: { size: "small" | "medium" | "large"; type: "hero" | "cinema"; }; } | null; extendsThemeId: string | null; id: string; isActive: boolean; isBaseTheme: boolean; name: string; organisationId: string; shape: { radiusFull?: string; radiusLg?: string; radiusMd?: string; radiusNone?: string; radiusSm?: string; }; typography: { baseSize?: string; fontFamily?: string; fontFamilyMono?: string; scaleRatio?: number; }; updatedAt: string; }>

Operation Id

getTheme

list()

list: () => Promise<{
brand: {
displayName?: string;
faviconUrl?: string;
logoDarkUrl?: string;
logoUrl?: string;
};
colors: {
accent?: string;
accentForeground?: string;
background?: string;
border?: string;
destructive?: string;
destructiveForeground?: string;
foreground?: string;
input?: string;
muted?: string;
mutedForeground?: string;
primary?: string;
primaryForeground?: string;
ring?: string;
secondary?: string;
secondaryForeground?: string;
success?: string;
successForeground?: string;
warning?: string;
warningForeground?: string;
};
createdAt: string;
description: string | null;
design: | {
cinemaGradient?: {
position: "bottom" | "center";
strength: 20 | 50 | 70;
};
heroLayout?: {
size: "small" | "medium" | "large";
type: "hero" | "cinema";
};
}
| null;
extendsThemeId: string | null;
id: string;
isActive: boolean;
isBaseTheme: boolean;
name: string;
organisationId: string;
shape: {
radiusFull?: string;
radiusLg?: string;
radiusMd?: string;
radiusNone?: string;
radiusSm?: string;
};
typography: {
baseSize?: string;
fontFamily?: string;
fontFamilyMono?: string;
scaleRatio?: number;
};
updatedAt: string;
}[]>;

List themes List all branding/design themes for the organisation

Returns

Promise<{ brand: { displayName?: string; faviconUrl?: string; logoDarkUrl?: string; logoUrl?: string; }; colors: { accent?: string; accentForeground?: string; background?: string; border?: string; destructive?: string; destructiveForeground?: string; foreground?: string; input?: string; muted?: string; mutedForeground?: string; primary?: string; primaryForeground?: string; ring?: string; secondary?: string; secondaryForeground?: string; success?: string; successForeground?: string; warning?: string; warningForeground?: string; }; createdAt: string; description: string | null; design: | { cinemaGradient?: { position: "bottom" | "center"; strength: 20 | 50 | 70; }; heroLayout?: { size: "small" | "medium" | "large"; type: "hero" | "cinema"; }; } | null; extendsThemeId: string | null; id: string; isActive: boolean; isBaseTheme: boolean; name: string; organisationId: string; shape: { radiusFull?: string; radiusLg?: string; radiusMd?: string; radiusNone?: string; radiusSm?: string; }; typography: { baseSize?: string; fontFamily?: string; fontFamilyMono?: string; scaleRatio?: number; }; updatedAt: string; }[]>

Operation Id

listThemes

resolved()

resolved: (id: string) => Promise<{
brand: {
displayName?: string;
faviconUrl?: string;
logoDarkUrl?: string;
logoUrl?: string;
};
colors: {
accent?: string;
accentForeground?: string;
background?: string;
border?: string;
destructive?: string;
destructiveForeground?: string;
foreground?: string;
input?: string;
muted?: string;
mutedForeground?: string;
primary?: string;
primaryForeground?: string;
ring?: string;
secondary?: string;
secondaryForeground?: string;
success?: string;
successForeground?: string;
warning?: string;
warningForeground?: string;
};
description: string | null;
design: | {
cinemaGradient?: {
position: "bottom" | "center";
strength: 20 | 50 | 70;
};
heroLayout?: {
size: "small" | "medium" | "large";
type: "hero" | "cinema";
};
}
| null;
extendsThemeId: string | null;
id: string;
isActive: boolean;
isBaseTheme: boolean;
name: string;
organisationId: string;
shape: {
radiusFull?: string;
radiusLg?: string;
radiusMd?: string;
radiusNone?: string;
radiusSm?: string;
};
typography: {
baseSize?: string;
fontFamily?: string;
fontFamilyMono?: string;
scaleRatio?: number;
};
}>;

Get resolved theme Get a theme with its inheritance chain deep-merged (parent tokens overridden by the child)

Parameters
ParameterType
idstring
Returns

Promise<{ brand: { displayName?: string; faviconUrl?: string; logoDarkUrl?: string; logoUrl?: string; }; colors: { accent?: string; accentForeground?: string; background?: string; border?: string; destructive?: string; destructiveForeground?: string; foreground?: string; input?: string; muted?: string; mutedForeground?: string; primary?: string; primaryForeground?: string; ring?: string; secondary?: string; secondaryForeground?: string; success?: string; successForeground?: string; warning?: string; warningForeground?: string; }; description: string | null; design: | { cinemaGradient?: { position: "bottom" | "center"; strength: 20 | 50 | 70; }; heroLayout?: { size: "small" | "medium" | "large"; type: "hero" | "cinema"; }; } | null; extendsThemeId: string | null; id: string; isActive: boolean; isBaseTheme: boolean; name: string; organisationId: string; shape: { radiusFull?: string; radiusLg?: string; radiusMd?: string; radiusNone?: string; radiusSm?: string; }; typography: { baseSize?: string; fontFamily?: string; fontFamilyMono?: string; scaleRatio?: number; }; }>

Operation Id

getResolvedTheme

update()

update: (id: string, request: {
brand?: {
displayName?: string;
faviconUrl?: string;
logoDarkUrl?: string;
logoUrl?: string;
};
colors?: {
accent?: string;
accentForeground?: string;
background?: string;
border?: string;
destructive?: string;
destructiveForeground?: string;
foreground?: string;
input?: string;
muted?: string;
mutedForeground?: string;
primary?: string;
primaryForeground?: string;
ring?: string;
secondary?: string;
secondaryForeground?: string;
success?: string;
successForeground?: string;
warning?: string;
warningForeground?: string;
};
description?: any;
design?: any;
extendsThemeId?: any;
isActive?: boolean;
isBaseTheme?: boolean;
name?: string;
shape?: {
radiusFull?: string;
radiusLg?: string;
radiusMd?: string;
radiusNone?: string;
radiusSm?: string;
};
typography?: {
baseSize?: string;
fontFamily?: string;
fontFamilyMono?: string;
scaleRatio?: number;
};
}) => Promise<{
brand: {
displayName?: string;
faviconUrl?: string;
logoDarkUrl?: string;
logoUrl?: string;
};
colors: {
accent?: string;
accentForeground?: string;
background?: string;
border?: string;
destructive?: string;
destructiveForeground?: string;
foreground?: string;
input?: string;
muted?: string;
mutedForeground?: string;
primary?: string;
primaryForeground?: string;
ring?: string;
secondary?: string;
secondaryForeground?: string;
success?: string;
successForeground?: string;
warning?: string;
warningForeground?: string;
};
createdAt: string;
description: string | null;
design: | {
cinemaGradient?: {
position: "bottom" | "center";
strength: 20 | 50 | 70;
};
heroLayout?: {
size: "small" | "medium" | "large";
type: "hero" | "cinema";
};
}
| null;
extendsThemeId: string | null;
id: string;
isActive: boolean;
isBaseTheme: boolean;
name: string;
organisationId: string;
shape: {
radiusFull?: string;
radiusLg?: string;
radiusMd?: string;
radiusNone?: string;
radiusSm?: string;
};
typography: {
baseSize?: string;
fontFamily?: string;
fontFamilyMono?: string;
scaleRatio?: number;
};
updatedAt: string;
}>;

Update theme Update an existing theme

Parameters
ParameterType
idstring
request{ brand?: { displayName?: string; faviconUrl?: string; logoDarkUrl?: string; logoUrl?: string; }; colors?: { accent?: string; accentForeground?: string; background?: string; border?: string; destructive?: string; destructiveForeground?: string; foreground?: string; input?: string; muted?: string; mutedForeground?: string; primary?: string; primaryForeground?: string; ring?: string; secondary?: string; secondaryForeground?: string; success?: string; successForeground?: string; warning?: string; warningForeground?: string; }; description?: any; design?: any; extendsThemeId?: any; isActive?: boolean; isBaseTheme?: boolean; name?: string; shape?: { radiusFull?: string; radiusLg?: string; radiusMd?: string; radiusNone?: string; radiusSm?: string; }; typography?: { baseSize?: string; fontFamily?: string; fontFamilyMono?: string; scaleRatio?: number; }; }
request.brand?{ displayName?: string; faviconUrl?: string; logoDarkUrl?: string; logoUrl?: string; }
request.brand.displayName?string
request.brand.faviconUrl?string
request.brand.logoDarkUrl?string
request.brand.logoUrl?string
request.colors?{ accent?: string; accentForeground?: string; background?: string; border?: string; destructive?: string; destructiveForeground?: string; foreground?: string; input?: string; muted?: string; mutedForeground?: string; primary?: string; primaryForeground?: string; ring?: string; secondary?: string; secondaryForeground?: string; success?: string; successForeground?: string; warning?: string; warningForeground?: string; }
request.colors.accent?string
request.colors.accentForeground?string
request.colors.background?string
request.colors.border?string
request.colors.destructive?string
request.colors.destructiveForeground?string
request.colors.foreground?string
request.colors.input?string
request.colors.muted?string
request.colors.mutedForeground?string
request.colors.primary?string
request.colors.primaryForeground?string
request.colors.ring?string
request.colors.secondary?string
request.colors.secondaryForeground?string
request.colors.success?string
request.colors.successForeground?string
request.colors.warning?string
request.colors.warningForeground?string
request.description?any
request.design?any
request.extendsThemeId?any
request.isActive?boolean
request.isBaseTheme?boolean
request.name?string
request.shape?{ radiusFull?: string; radiusLg?: string; radiusMd?: string; radiusNone?: string; radiusSm?: string; }
request.shape.radiusFull?string
request.shape.radiusLg?string
request.shape.radiusMd?string
request.shape.radiusNone?string
request.shape.radiusSm?string
request.typography?{ baseSize?: string; fontFamily?: string; fontFamilyMono?: string; scaleRatio?: number; }
request.typography.baseSize?string
request.typography.fontFamily?string
request.typography.fontFamilyMono?string
request.typography.scaleRatio?number
Returns

Promise<{ brand: { displayName?: string; faviconUrl?: string; logoDarkUrl?: string; logoUrl?: string; }; colors: { accent?: string; accentForeground?: string; background?: string; border?: string; destructive?: string; destructiveForeground?: string; foreground?: string; input?: string; muted?: string; mutedForeground?: string; primary?: string; primaryForeground?: string; ring?: string; secondary?: string; secondaryForeground?: string; success?: string; successForeground?: string; warning?: string; warningForeground?: string; }; createdAt: string; description: string | null; design: | { cinemaGradient?: { position: "bottom" | "center"; strength: 20 | 50 | 70; }; heroLayout?: { size: "small" | "medium" | "large"; type: "hero" | "cinema"; }; } | null; extendsThemeId: string | null; id: string; isActive: boolean; isBaseTheme: boolean; name: string; organisationId: string; shape: { radiusFull?: string; radiusLg?: string; radiusMd?: string; radiusNone?: string; radiusSm?: string; }; typography: { baseSize?: string; fontFamily?: string; fontFamilyMono?: string; scaleRatio?: number; }; updatedAt: string; }>

Operation Id

updateTheme


ticketTemplates

ticketTemplates: {
create: (request: {
accountId?: any;
description?: any;
isDefault?: boolean;
layout?: {
blocks: {
height: number;
id: string;
type: "text" | "qr" | "barcode" | "image" | "rect";
width: number;
x: number;
y: number;
}[];
page: {
background?: {
color?: string;
};
height: number;
width: number;
};
};
name: string;
scopeChannelId?: any;
scopeEventId?: any;
scopeTicketTypeId?: any;
status?: "active" | "draft" | "archived";
themeId?: any;
type?: "label" | "ticket" | "eticket" | "receipt";
}) => Promise<{
accountId: string | null;
createdAt: string;
description: string | null;
id: string;
isDefault: boolean;
layout: {
blocks: {
height: number;
id: string;
type: "text" | "qr" | "barcode" | "image" | "rect";
width: number;
x: number;
y: number;
} & {
[key: string]: unknown;
}[];
page: {
background?: {
color?: ... | ...;
} & {
[key: string]: unknown;
};
height: number;
width: number;
} & {
[key: string]: unknown;
};
};
name: string;
organisationId: string;
scopeChannelId: string | null;
scopeEventId: string | null;
scopeTicketTypeId: string | null;
status: string;
themeId: string | null;
type: string;
updatedAt: string;
version: number;
}>;
delete: (id: string) => Promise<boolean>;
get: (id: string) => Promise<{
accountId: string | null;
createdAt: string;
description: string | null;
id: string;
isDefault: boolean;
layout: {
blocks: {
height: number;
id: string;
type: "text" | "qr" | "barcode" | "image" | "rect";
width: number;
x: number;
y: number;
} & {
[key: string]: unknown;
}[];
page: {
background?: {
color?: ... | ...;
} & {
[key: string]: unknown;
};
height: number;
width: number;
} & {
[key: string]: unknown;
};
};
name: string;
organisationId: string;
scopeChannelId: string | null;
scopeEventId: string | null;
scopeTicketTypeId: string | null;
status: string;
themeId: string | null;
type: string;
updatedAt: string;
version: number;
}>;
list: (options?: {
eventId?: string;
status?: "active" | "draft" | "archived";
}) => Promise<{
accountId: string | null;
createdAt: string;
description: string | null;
id: string;
isDefault: boolean;
layout: {
blocks: {
height: number;
id: string;
type: "text" | "qr" | "barcode" | "image" | "rect";
width: number;
x: number;
y: number;
} & {
[key: string]: unknown;
}[];
page: {
background?: {
color?: ...;
} & {
[key: ...]: ...;
};
height: number;
width: number;
} & {
[key: string]: unknown;
};
};
name: string;
organisationId: string;
scopeChannelId: string | null;
scopeEventId: string | null;
scopeTicketTypeId: string | null;
status: string;
themeId: string | null;
type: string;
updatedAt: string;
version: number;
}[]>;
update: (id: string, request: {
description?: any;
isDefault?: boolean;
layout?: {
blocks: {
height: number;
id: string;
type: "text" | "qr" | "barcode" | "image" | "rect";
width: number;
x: number;
y: number;
}[];
page: {
background?: {
color?: string;
};
height: number;
width: number;
};
};
name?: string;
scopeChannelId?: any;
scopeEventId?: any;
scopeTicketTypeId?: any;
status?: "active" | "draft" | "archived";
themeId?: any;
type?: "label" | "ticket" | "eticket" | "receipt";
}) => Promise<{
accountId: string | null;
createdAt: string;
description: string | null;
id: string;
isDefault: boolean;
layout: {
blocks: {
height: number;
id: string;
type: "text" | "qr" | "barcode" | "image" | "rect";
width: number;
x: number;
y: number;
} & {
[key: string]: unknown;
}[];
page: {
background?: {
color?: ... | ...;
} & {
[key: string]: unknown;
};
height: number;
width: number;
} & {
[key: string]: unknown;
};
};
name: string;
organisationId: string;
scopeChannelId: string | null;
scopeEventId: string | null;
scopeTicketTypeId: string | null;
status: string;
themeId: string | null;
type: string;
updatedAt: string;
version: number;
}>;
};

Defined in: client.ts:4020

Ticket Templates methods

create()

create: (request: {
accountId?: any;
description?: any;
isDefault?: boolean;
layout?: {
blocks: {
height: number;
id: string;
type: "text" | "qr" | "barcode" | "image" | "rect";
width: number;
x: number;
y: number;
}[];
page: {
background?: {
color?: string;
};
height: number;
width: number;
};
};
name: string;
scopeChannelId?: any;
scopeEventId?: any;
scopeTicketTypeId?: any;
status?: "active" | "draft" | "archived";
themeId?: any;
type?: "label" | "ticket" | "eticket" | "receipt";
}) => Promise<{
accountId: string | null;
createdAt: string;
description: string | null;
id: string;
isDefault: boolean;
layout: {
blocks: {
height: number;
id: string;
type: "text" | "qr" | "barcode" | "image" | "rect";
width: number;
x: number;
y: number;
} & {
[key: string]: unknown;
}[];
page: {
background?: {
color?: ... | ...;
} & {
[key: string]: unknown;
};
height: number;
width: number;
} & {
[key: string]: unknown;
};
};
name: string;
organisationId: string;
scopeChannelId: string | null;
scopeEventId: string | null;
scopeTicketTypeId: string | null;
status: string;
themeId: string | null;
type: string;
updatedAt: string;
version: number;
}>;

Create ticket template Create a ticket/pass template. layout is the renderer-agnostic block model.

Parameters
ParameterType
request{ accountId?: any; description?: any; isDefault?: boolean; layout?: { blocks: { height: number; id: string; type: "text" | "qr" | "barcode" | "image" | "rect"; width: number; x: number; y: number; }[]; page: { background?: { color?: string; }; height: number; width: number; }; }; name: string; scopeChannelId?: any; scopeEventId?: any; scopeTicketTypeId?: any; status?: "active" | "draft" | "archived"; themeId?: any; type?: "label" | "ticket" | "eticket" | "receipt"; }
request.accountId?any
request.description?any
request.isDefault?boolean
request.layout?{ blocks: { height: number; id: string; type: "text" | "qr" | "barcode" | "image" | "rect"; width: number; x: number; y: number; }[]; page: { background?: { color?: string; }; height: number; width: number; }; }
request.layout.blocks{ height: number; id: string; type: "text" | "qr" | "barcode" | "image" | "rect"; width: number; x: number; y: number; }[]
request.layout.page{ background?: { color?: string; }; height: number; width: number; }
request.layout.page.background?{ color?: string; }
request.layout.page.background.color?string
request.layout.page.heightnumber
request.layout.page.widthnumber
request.namestring
request.scopeChannelId?any
request.scopeEventId?any
request.scopeTicketTypeId?any
request.status?"active" | "draft" | "archived"
request.themeId?any
request.type?"label" | "ticket" | "eticket" | "receipt"
Returns

Promise<{ accountId: string | null; createdAt: string; description: string | null; id: string; isDefault: boolean; layout: { blocks: { height: number; id: string; type: "text" | "qr" | "barcode" | "image" | "rect"; width: number; x: number; y: number; } & { [key: string]: unknown; }[]; page: { background?: { color?: ... | ...; } & { [key: string]: unknown; }; height: number; width: number; } & { [key: string]: unknown; }; }; name: string; organisationId: string; scopeChannelId: string | null; scopeEventId: string | null; scopeTicketTypeId: string | null; status: string; themeId: string | null; type: string; updatedAt: string; version: number; }>

Operation Id

createTicketTemplate

delete()

delete: (id: string) => Promise<boolean>;

Delete ticket template Soft-delete a ticket/pass template.

Parameters
ParameterType
idstring
Returns

Promise<boolean>

Operation Id

deleteTicketTemplate

get()

get: (id: string) => Promise<{
accountId: string | null;
createdAt: string;
description: string | null;
id: string;
isDefault: boolean;
layout: {
blocks: {
height: number;
id: string;
type: "text" | "qr" | "barcode" | "image" | "rect";
width: number;
x: number;
y: number;
} & {
[key: string]: unknown;
}[];
page: {
background?: {
color?: ... | ...;
} & {
[key: string]: unknown;
};
height: number;
width: number;
} & {
[key: string]: unknown;
};
};
name: string;
organisationId: string;
scopeChannelId: string | null;
scopeEventId: string | null;
scopeTicketTypeId: string | null;
status: string;
themeId: string | null;
type: string;
updatedAt: string;
version: number;
}>;

Get ticket template Get a ticket/pass template by id.

Parameters
ParameterType
idstring
Returns

Promise<{ accountId: string | null; createdAt: string; description: string | null; id: string; isDefault: boolean; layout: { blocks: { height: number; id: string; type: "text" | "qr" | "barcode" | "image" | "rect"; width: number; x: number; y: number; } & { [key: string]: unknown; }[]; page: { background?: { color?: ... | ...; } & { [key: string]: unknown; }; height: number; width: number; } & { [key: string]: unknown; }; }; name: string; organisationId: string; scopeChannelId: string | null; scopeEventId: string | null; scopeTicketTypeId: string | null; status: string; themeId: string | null; type: string; updatedAt: string; version: number; }>

Operation Id

getTicketTemplate

list()

list: (options?: {
eventId?: string;
status?: "active" | "draft" | "archived";
}) => Promise<{
accountId: string | null;
createdAt: string;
description: string | null;
id: string;
isDefault: boolean;
layout: {
blocks: {
height: number;
id: string;
type: "text" | "qr" | "barcode" | "image" | "rect";
width: number;
x: number;
y: number;
} & {
[key: string]: unknown;
}[];
page: {
background?: {
color?: ...;
} & {
[key: ...]: ...;
};
height: number;
width: number;
} & {
[key: string]: unknown;
};
};
name: string;
organisationId: string;
scopeChannelId: string | null;
scopeEventId: string | null;
scopeTicketTypeId: string | null;
status: string;
themeId: string | null;
type: string;
updatedAt: string;
version: number;
}[]>;

List ticket templates List the organisation's ticket/pass templates (the designer layouts).

Parameters
ParameterType
options?{ eventId?: string; status?: "active" | "draft" | "archived"; }
options.eventId?string
options.status?"active" | "draft" | "archived"
Returns

Promise<{ accountId: string | null; createdAt: string; description: string | null; id: string; isDefault: boolean; layout: { blocks: { height: number; id: string; type: "text" | "qr" | "barcode" | "image" | "rect"; width: number; x: number; y: number; } & { [key: string]: unknown; }[]; page: { background?: { color?: ...; } & { [key: ...]: ...; }; height: number; width: number; } & { [key: string]: unknown; }; }; name: string; organisationId: string; scopeChannelId: string | null; scopeEventId: string | null; scopeTicketTypeId: string | null; status: string; themeId: string | null; type: string; updatedAt: string; version: number; }[]>

Operation Id

listTicketTemplates

update()

update: (id: string, request: {
description?: any;
isDefault?: boolean;
layout?: {
blocks: {
height: number;
id: string;
type: "text" | "qr" | "barcode" | "image" | "rect";
width: number;
x: number;
y: number;
}[];
page: {
background?: {
color?: string;
};
height: number;
width: number;
};
};
name?: string;
scopeChannelId?: any;
scopeEventId?: any;
scopeTicketTypeId?: any;
status?: "active" | "draft" | "archived";
themeId?: any;
type?: "label" | "ticket" | "eticket" | "receipt";
}) => Promise<{
accountId: string | null;
createdAt: string;
description: string | null;
id: string;
isDefault: boolean;
layout: {
blocks: {
height: number;
id: string;
type: "text" | "qr" | "barcode" | "image" | "rect";
width: number;
x: number;
y: number;
} & {
[key: string]: unknown;
}[];
page: {
background?: {
color?: ... | ...;
} & {
[key: string]: unknown;
};
height: number;
width: number;
} & {
[key: string]: unknown;
};
};
name: string;
organisationId: string;
scopeChannelId: string | null;
scopeEventId: string | null;
scopeTicketTypeId: string | null;
status: string;
themeId: string | null;
type: string;
updatedAt: string;
version: number;
}>;

Update ticket template Update a ticket/pass template. Saving a new layout bumps its version.

Parameters
ParameterType
idstring
request{ description?: any; isDefault?: boolean; layout?: { blocks: { height: number; id: string; type: "text" | "qr" | "barcode" | "image" | "rect"; width: number; x: number; y: number; }[]; page: { background?: { color?: string; }; height: number; width: number; }; }; name?: string; scopeChannelId?: any; scopeEventId?: any; scopeTicketTypeId?: any; status?: "active" | "draft" | "archived"; themeId?: any; type?: "label" | "ticket" | "eticket" | "receipt"; }
request.description?any
request.isDefault?boolean
request.layout?{ blocks: { height: number; id: string; type: "text" | "qr" | "barcode" | "image" | "rect"; width: number; x: number; y: number; }[]; page: { background?: { color?: string; }; height: number; width: number; }; }
request.layout.blocks{ height: number; id: string; type: "text" | "qr" | "barcode" | "image" | "rect"; width: number; x: number; y: number; }[]
request.layout.page{ background?: { color?: string; }; height: number; width: number; }
request.layout.page.background?{ color?: string; }
request.layout.page.background.color?string
request.layout.page.heightnumber
request.layout.page.widthnumber
request.name?string
request.scopeChannelId?any
request.scopeEventId?any
request.scopeTicketTypeId?any
request.status?"active" | "draft" | "archived"
request.themeId?any
request.type?"label" | "ticket" | "eticket" | "receipt"
Returns

Promise<{ accountId: string | null; createdAt: string; description: string | null; id: string; isDefault: boolean; layout: { blocks: { height: number; id: string; type: "text" | "qr" | "barcode" | "image" | "rect"; width: number; x: number; y: number; } & { [key: string]: unknown; }[]; page: { background?: { color?: ... | ...; } & { [key: string]: unknown; }; height: number; width: number; } & { [key: string]: unknown; }; }; name: string; organisationId: string; scopeChannelId: string | null; scopeEventId: string | null; scopeTicketTypeId: string | null; status: string; themeId: string | null; type: string; updatedAt: string; version: number; }>

Operation Id

updateTicketTemplate


userAccountRoles

userAccountRoles: {
assign: (request: {
accountId: string;
roleId: string;
userId: string;
}) => Promise<{
account?: {
id: string;
name: string;
};
accountId: string;
createdAt: string;
id: string;
organisationId: string;
role?: {
id: string;
isSystemRole: boolean;
name: string;
};
roleId: string;
user?: {
email: string;
firstName: string | null;
id: string;
lastName: string | null;
};
userId: string;
}>;
list: () => Promise<{
account?: {
id: string;
name: string;
};
accountId: string;
createdAt: string;
id: string;
organisationId: string;
role?: {
id: string;
isSystemRole: boolean;
name: string;
};
roleId: string;
user?: {
email: string;
firstName: string | null;
id: string;
lastName: string | null;
};
userId: string;
}[]>;
listByAccount: (accountId: string) => Promise<{
account?: {
id: string;
name: string;
};
accountId: string;
createdAt: string;
id: string;
organisationId: string;
role?: {
id: string;
isSystemRole: boolean;
name: string;
};
roleId: string;
user?: {
email: string;
firstName: string | null;
id: string;
lastName: string | null;
};
userId: string;
}[]>;
listByUser: (userId: string) => Promise<{
account?: {
id: string;
name: string;
};
accountId: string;
createdAt: string;
id: string;
organisationId: string;
role?: {
id: string;
isSystemRole: boolean;
name: string;
};
roleId: string;
user?: {
email: string;
firstName: string | null;
id: string;
lastName: string | null;
};
userId: string;
}[]>;
remove: (id: string) => Promise<boolean>;
update: (request: {
accountId: string;
roleIds: string[];
userId: string;
}) => Promise<{
account?: {
id: string;
name: string;
};
accountId: string;
createdAt: string;
id: string;
organisationId: string;
role?: {
id: string;
isSystemRole: boolean;
name: string;
};
roleId: string;
user?: {
email: string;
firstName: string | null;
id: string;
lastName: string | null;
};
userId: string;
}[]>;
};

Defined in: client.ts:1250

User Account Roles methods

assign()

assign: (request: {
accountId: string;
roleId: string;
userId: string;
}) => Promise<{
account?: {
id: string;
name: string;
};
accountId: string;
createdAt: string;
id: string;
organisationId: string;
role?: {
id: string;
isSystemRole: boolean;
name: string;
};
roleId: string;
user?: {
email: string;
firstName: string | null;
id: string;
lastName: string | null;
};
userId: string;
}>;

Assign role to user Assign a role to a user for a specific account. Creates a new role assignment.

Parameters
ParameterTypeDescription
request{ accountId: string; roleId: string; userId: string; }-
request.accountIdstringDescription Account ID Example acc_abc123
request.roleIdstringDescription Role ID (can be a system role or custom role) Example rol_system_event_manager
request.userIdstringDescription User ID Example usr_abc123
Returns

Promise<{ account?: { id: string; name: string; }; accountId: string; createdAt: string; id: string; organisationId: string; role?: { id: string; isSystemRole: boolean; name: string; }; roleId: string; user?: { email: string; firstName: string | null; id: string; lastName: string | null; }; userId: string; }>

Operation Id

assignRole

list()

list: () => Promise<{
account?: {
id: string;
name: string;
};
accountId: string;
createdAt: string;
id: string;
organisationId: string;
role?: {
id: string;
isSystemRole: boolean;
name: string;
};
roleId: string;
user?: {
email: string;
firstName: string | null;
id: string;
lastName: string | null;
};
userId: string;
}[]>;

List all role assignments List all role assignments in the organisation. Shows which users have which roles on which accounts.

Returns

Promise<{ account?: { id: string; name: string; }; accountId: string; createdAt: string; id: string; organisationId: string; role?: { id: string; isSystemRole: boolean; name: string; }; roleId: string; user?: { email: string; firstName: string | null; id: string; lastName: string | null; }; userId: string; }[]>

Operation Id

listUserAccountRoles

listByAccount()

listByAccount: (accountId: string) => Promise<{
account?: {
id: string;
name: string;
};
accountId: string;
createdAt: string;
id: string;
organisationId: string;
role?: {
id: string;
isSystemRole: boolean;
name: string;
};
roleId: string;
user?: {
email: string;
firstName: string | null;
id: string;
lastName: string | null;
};
userId: string;
}[]>;

List role assignments for account List all role assignments for a specific account (all users with access).

Parameters
ParameterType
accountIdstring
Returns

Promise<{ account?: { id: string; name: string; }; accountId: string; createdAt: string; id: string; organisationId: string; role?: { id: string; isSystemRole: boolean; name: string; }; roleId: string; user?: { email: string; firstName: string | null; id: string; lastName: string | null; }; userId: string; }[]>

Operation Id

listUserAccountRolesByAccount

listByUser()

listByUser: (userId: string) => Promise<{
account?: {
id: string;
name: string;
};
accountId: string;
createdAt: string;
id: string;
organisationId: string;
role?: {
id: string;
isSystemRole: boolean;
name: string;
};
roleId: string;
user?: {
email: string;
firstName: string | null;
id: string;
lastName: string | null;
};
userId: string;
}[]>;

List role assignments for user List all role assignments for a specific user across all accounts.

Parameters
ParameterType
userIdstring
Returns

Promise<{ account?: { id: string; name: string; }; accountId: string; createdAt: string; id: string; organisationId: string; role?: { id: string; isSystemRole: boolean; name: string; }; roleId: string; user?: { email: string; firstName: string | null; id: string; lastName: string | null; }; userId: string; }[]>

Operation Id

listUserAccountRolesByUser

remove()

remove: (id: string) => Promise<boolean>;

Remove role assignment Remove a specific role assignment from a user.

Parameters
ParameterType
idstring
Returns

Promise<boolean>

Operation Id

removeRoleAssignment

update()

update: (request: {
accountId: string;
roleIds: string[];
userId: string;
}) => Promise<{
account?: {
id: string;
name: string;
};
accountId: string;
createdAt: string;
id: string;
organisationId: string;
role?: {
id: string;
isSystemRole: boolean;
name: string;
};
roleId: string;
user?: {
email: string;
firstName: string | null;
id: string;
lastName: string | null;
};
userId: string;
}[]>;

Update user roles on account Update the roles for a user on an account. Replaces all existing role assignments for this user-account pair.

Parameters
ParameterTypeDescription
request{ accountId: string; roleIds: string[]; userId: string; }-
request.accountIdstringDescription Account ID Example acc_abc123
request.roleIdsstring[]Description Array of role IDs to assign (replaces existing roles) Example [ "rol_system_event_manager", "rol_system_box_office" ]
request.userIdstringDescription User ID Example usr_abc123
Returns

Promise<{ account?: { id: string; name: string; }; accountId: string; createdAt: string; id: string; organisationId: string; role?: { id: string; isSystemRole: boolean; name: string; }; roleId: string; user?: { email: string; firstName: string | null; id: string; lastName: string | null; }; userId: string; }[]>

Operation Id

updateUserAccountRoles


userInvitations

userInvitations: {
cancel: (id: string) => Promise<{
id: string;
success: boolean;
}>;
create: (request: {
email: string;
firstName?: string;
lastName?: string;
organisationId: string;
roleIds?: string[];
}) => Promise<{
code: string;
createdAt: string;
email: string;
expiresAt: string;
id: string;
organisationId: string;
redeemedAt: string | null;
userId: string;
}>;
get: (id: string) => Promise<{
code: string;
createdAt: string;
email: string;
expiresAt: string;
id: string;
organisationId: string;
redeemedAt: string | null;
userId: string;
}>;
list: (options?: {
organisationId?: string;
status?: "pending" | "expired" | "all" | "redeemed";
}) => Promise<{
code: string;
createdAt: string;
email: string;
expiresAt: string;
id: string;
organisationId: string;
redeemedAt: string | null;
userId: string;
}[]>;
resend: (id: string) => Promise<{
code: string;
createdAt: string;
email: string;
expiresAt: string;
id: string;
organisationId: string;
redeemedAt: string | null;
userId: string;
}>;
};

Defined in: client.ts:1101

User Invitations methods

cancel()

cancel: (id: string) => Promise<{
id: string;
success: boolean;
}>;

Cancel user invitation Cancel a pending user invitation

Parameters
ParameterType
idstring
Returns

Promise<{ id: string; success: boolean; }>

Operation Id

cancelUserInvitation

create()

create: (request: {
email: string;
firstName?: string;
lastName?: string;
organisationId: string;
roleIds?: string[];
}) => Promise<{
code: string;
createdAt: string;
email: string;
expiresAt: string;
id: string;
organisationId: string;
redeemedAt: string | null;
userId: string;
}>;

Create user invitation Create a new user invitation and send invitation email

Parameters
ParameterTypeDescription
request{ email: string; firstName?: string; lastName?: string; organisationId: string; roleIds?: string[]; }-
request.emailstringFormat: email Example newuser@example.com
request.firstName?stringExample John
request.lastName?stringExample Doe
request.organisationIdstringExample org_xyz789
request.roleIds?string[]Example [ "rol_admin123" ]
Returns

Promise<{ code: string; createdAt: string; email: string; expiresAt: string; id: string; organisationId: string; redeemedAt: string | null; userId: string; }>

Operation Id

createUserInvitation

get()

get: (id: string) => Promise<{
code: string;
createdAt: string;
email: string;
expiresAt: string;
id: string;
organisationId: string;
redeemedAt: string | null;
userId: string;
}>;

Get user invitation Get a specific user invitation by ID

Parameters
ParameterType
idstring
Returns

Promise<{ code: string; createdAt: string; email: string; expiresAt: string; id: string; organisationId: string; redeemedAt: string | null; userId: string; }>

Operation Id

getUserInvitation

list()

list: (options?: {
organisationId?: string;
status?: "pending" | "expired" | "all" | "redeemed";
}) => Promise<{
code: string;
createdAt: string;
email: string;
expiresAt: string;
id: string;
organisationId: string;
redeemedAt: string | null;
userId: string;
}[]>;

List user invitations List all user invitations for the organisation

Parameters
ParameterType
options?{ organisationId?: string; status?: "pending" | "expired" | "all" | "redeemed"; }
options.organisationId?string
options.status?"pending" | "expired" | "all" | "redeemed"
Returns

Promise<{ code: string; createdAt: string; email: string; expiresAt: string; id: string; organisationId: string; redeemedAt: string | null; userId: string; }[]>

Operation Id

listUserInvitations

resend()

resend: (id: string) => Promise<{
code: string;
createdAt: string;
email: string;
expiresAt: string;
id: string;
organisationId: string;
redeemedAt: string | null;
userId: string;
}>;

Resend user invitation Resend a user invitation email

Parameters
ParameterType
idstring
Returns

Promise<{ code: string; createdAt: string; email: string; expiresAt: string; id: string; organisationId: string; redeemedAt: string | null; userId: string; }>

Operation Id

resendUserInvitation


venues

venues: (id: string) => {
venuelayoutareas: {
addArea: (layoutId: string, request: {
capacity: number;
categoryId?: string;
color?: string;
description?: string;
displayOrder?: number;
name: string;
position?: {
height: number;
width: number;
x: number;
y: number;
};
seats?: any[];
status?: "active" | "inactive";
type: "unallocated" | "allocated";
}) => Promise<{
area: {
capacity: number;
color?: string;
description?: string;
displayOrder: number;
id: string;
name: string;
seats?: unknown[];
status: "active" | "inactive";
type: "unallocated" | "allocated";
};
venueLayout?: unknown;
}>;
deleteArea: (layoutId: string, areaId: string) => Promise<{
success: boolean;
venueLayout?: unknown;
}>;
updateArea: (layoutId: string, areaId: string, request: {
capacity?: number;
categoryId?: string;
color?: string;
description?: string;
displayOrder?: number;
name?: string;
position?: {
height: number;
width: number;
x: number;
y: number;
};
seats?: any[];
status?: "active" | "inactive";
type?: "unallocated" | "allocated";
}) => Promise<{
area: {
capacity: number;
color?: string;
description?: string;
displayOrder: number;
id: string;
name: string;
seats?: unknown[];
status: "active" | "inactive";
type: "unallocated" | "allocated";
};
venueLayout?: unknown;
}>;
};
venuelayoutcategories: {
addCategory: (layoutId: string, request: {
color?: string;
description?: string;
displayOrder?: number;
name: string;
}) => Promise<{
category: {
color?: string;
description?: string;
displayOrder: number;
id: string;
name: string;
};
venueLayout?: unknown;
}>;
deleteCategory: (layoutId: string, categoryId: string) => Promise<{
success: boolean;
venueLayout?: unknown;
}>;
updateCategory: (layoutId: string, categoryId: string, request: {
color?: string;
description?: string;
displayOrder?: number;
name?: string;
}) => Promise<{
category: {
color?: string;
description?: string;
displayOrder: number;
id: string;
name: string;
};
venueLayout?: unknown;
}>;
};
venuelayouts: {
create: (request: {
areas?: {
capacity: number;
color?: string;
description?: string;
displayOrder: number;
floorId?: string;
id?: string;
name: string;
position?: {
height: ...;
width: ...;
x: ...;
y: ...;
};
seats?: ...[];
sections?: ...[];
status?: "active" | "inactive";
type: "unallocated" | "allocated";
}[];
categories?: {
color?: string;
description?: string;
displayOrder: number;
id?: string;
name: string;
}[];
decorations?: {
id?: string;
label?: string;
name?: string;
position: {
height: number;
rotation?: ... | ...;
width: number;
x: number;
y: number;
};
style?: {
fill?: ...;
fontSize?: ...;
fontWeight?: ...;
stroke?: ...;
};
type: | "stage"
| "pillar"
| "barrier"
| "aisle"
| "wall"
| "exit"
| "entrance"
| "bar"
| "restroom"
| "label"
| "custom";
}[];
description?: string;
floors?: {
description?: string;
displayOrder: number;
id?: string;
name: string;
}[];
name: string;
status?: "active" | "archived";
tags?: string[];
totalCapacity?: number;
}) => Promise<{
accountId: string;
areas: unknown[];
categories: unknown[];
createdAt: string;
createdBy?: string;
decorations?: {
id: string;
label?: ... | ...;
name?: ... | ...;
position: {
height: ...;
rotation?: ...;
width: ...;
x: ...;
y: ...;
};
style?: ... | ...;
type: ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ...;
}[];
description?: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "archived";
tags: string[];
totalCapacity: number;
updatedAt: string;
venueId: string;
}>;
delete: (layoutId: string) => Promise<{
id: string;
success: boolean;
}>;
get: (layoutId: string) => Promise<{
accountId: string;
areas: unknown[];
categories: unknown[];
createdAt: string;
createdBy?: string;
decorations?: {
id: string;
label?: ... | ...;
name?: ... | ...;
position: {
height: ...;
rotation?: ...;
width: ...;
x: ...;
y: ...;
};
style?: ... | ...;
type: ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ...;
}[];
description?: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "archived";
tags: string[];
totalCapacity: number;
updatedAt: string;
venueId: string;
}>;
list: (options?: {
accountId?: string;
limit?: string;
page?: string;
search?: string;
status?: "active" | "archived";
}) => Promise<{
pagination: {
hasNext: boolean;
hasPrev: boolean;
limit: number;
page: number;
total: number;
totalPages: number;
};
venueLayouts: {
accountId: string;
areas: unknown[];
categories: unknown[];
createdAt: string;
createdBy?: string;
decorations?: ...[];
description?: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "archived";
tags: string[];
totalCapacity: number;
updatedAt: string;
venueId: string;
}[];
}>;
update: (layoutId: string, request: {
areas?: {
capacity: number;
color?: string;
description?: string;
displayOrder: number;
floorId?: string;
id?: string;
name: string;
position?: {
height: ...;
width: ...;
x: ...;
y: ...;
};
seats?: ...[];
sections?: ...[];
status?: "active" | "inactive";
type: "unallocated" | "allocated";
}[];
categories?: {
color?: string;
description?: string;
displayOrder: number;
id?: string;
name: string;
}[];
decorations?: {
id?: string;
label?: string;
name?: string;
position: {
height: number;
rotation?: ... | ...;
width: number;
x: number;
y: number;
};
style?: {
fill?: ...;
fontSize?: ...;
fontWeight?: ...;
stroke?: ...;
};
type: | "stage"
| "pillar"
| "barrier"
| "aisle"
| "wall"
| "exit"
| "entrance"
| "bar"
| "restroom"
| "label"
| "custom";
}[];
description?: string;
floors?: {
description?: string;
displayOrder: number;
id?: string;
name: string;
}[];
name?: string;
status?: "active" | "archived";
tags?: string[];
totalCapacity?: number;
}) => Promise<{
accountId: string;
areas: unknown[];
categories: unknown[];
createdAt: string;
createdBy?: string;
decorations?: {
id: string;
label?: ... | ...;
name?: ... | ...;
position: {
height: ...;
rotation?: ...;
width: ...;
x: ...;
y: ...;
};
style?: ... | ...;
type: ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ...;
}[];
description?: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
status: "active" | "archived";
tags: string[];
totalCapacity: number;
updatedAt: string;
venueId: string;
}>;
};
venuelayoutseats: {
addSeat: (layoutId: string, areaId: string, request: {
attributes?: (
| "accessible"
| "center"
| "aisle_left"
| "aisle_right"
| "wheelchair_space"
| "companion_seat"
| "easy_access"
| "obstructed_view"
| "restricted_view"
| "excellent_view"
| "stage_view"
| "extra_legroom"
| "premium_comfort"
| "front_row"
| "back_row")[];
categoryId?: string;
companionSeats?: string[];
companionTo?: string;
holdType?: string;
internalNotes?: string;
label?: string;
number: string;
position?: {
rotation?: number;
x: number;
y: number;
};
publicNotes?: string;
row: string;
section?: string;
status?: "available" | "blocked" | "accessible" | "held" | "removed";
}) => Promise<{
seat: {
attributes?: string[];
categoryId?: string;
companionSeats?: string[];
companionTo?: string;
holdType?: string;
id: string;
internalNotes?: string;
label: string;
number: string;
position?: {
rotation?: ... | ...;
x: number;
y: number;
};
publicNotes?: string;
row: string;
section?: string;
status: "available" | "blocked" | "accessible" | "held" | "removed";
};
venueLayout?: unknown;
}>;
bulkAddSeats: (layoutId: string, areaId: string, request: {
seats: {
attributes?: (... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ...)[];
categoryId?: string;
companionSeats?: string[];
companionTo?: string;
holdType?: string;
internalNotes?: string;
label?: string;
number: string;
position?: {
rotation?: ... | ...;
x: number;
y: number;
};
publicNotes?: string;
row: string;
section?: string;
status?: "available" | "blocked" | "accessible" | "held" | "removed";
}[];
}) => Promise<{
seatsAdded: number;
venueLayout?: unknown;
}>;
deleteSeat: (layoutId: string, areaId: string, seatId: string) => Promise<{
success: boolean;
venueLayout?: unknown;
}>;
generateSeats: (layoutId: string, areaId: string, request: {
categoryId?: string;
endRow: string;
rowPrefix?: string;
seatPrefix?: string;
seatsPerRow: number;
section?: string;
skipRows?: string[];
skipSeats?: string[];
startRow: string;
}) => Promise<{
seats: {
attributes?: ...[];
categoryId?: string;
companionSeats?: ...[];
companionTo?: string;
holdType?: string;
id: string;
internalNotes?: string;
label: string;
number: string;
position?: {
rotation?: ...;
x: ...;
y: ...;
};
publicNotes?: string;
row: string;
section?: string;
status: "available" | "blocked" | "accessible" | "held" | "removed";
}[];
seatsGenerated: number;
venueLayout?: unknown;
}>;
syncSeats: (layoutId: string, areaId: string, request: {
clearExisting?: boolean;
seats: {
attributes?: (... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ...)[];
categoryId?: string;
companionSeats?: string[];
companionTo?: string;
holdType?: string;
id?: string;
internalNotes?: string;
label?: string;
number: string;
position?: {
rotation?: ... | ...;
x: number;
y: number;
};
publicNotes?: string;
row: string;
section?: string;
status?: "available" | "blocked" | "accessible" | "held" | "removed";
}[];
}) => Promise<{
seats: {
attributes?: ...[];
categoryId?: string;
companionSeats?: ...[];
companionTo?: string;
holdType?: string;
id: string;
internalNotes?: string;
label: string;
number: string;
position?: {
rotation?: ...;
x: ...;
y: ...;
};
publicNotes?: string;
row: string;
section?: string;
status: "available" | "blocked" | "accessible" | "held" | "removed";
}[];
seatsSynced: number;
venueLayout?: unknown;
}>;
updateSeat: (layoutId: string, areaId: string, seatId: string, request: {
attributes?: (
| "accessible"
| "center"
| "aisle_left"
| "aisle_right"
| "wheelchair_space"
| "companion_seat"
| "easy_access"
| "obstructed_view"
| "restricted_view"
| "excellent_view"
| "stage_view"
| "extra_legroom"
| "premium_comfort"
| "front_row"
| "back_row")[];
categoryId?: string;
companionSeats?: string[];
companionTo?: string;
holdType?: string;
internalNotes?: string;
label?: string;
number?: string;
position?: {
rotation?: number;
x: number;
y: number;
};
publicNotes?: string;
row?: string;
section?: string;
status?: "available" | "blocked" | "accessible" | "held" | "removed";
}) => Promise<{
seat: {
attributes?: string[];
categoryId?: string;
companionSeats?: string[];
companionTo?: string;
holdType?: string;
id: string;
internalNotes?: string;
label: string;
number: string;
position?: {
rotation?: ... | ...;
x: number;
y: number;
};
publicNotes?: string;
row: string;
section?: string;
status: "available" | "blocked" | "accessible" | "held" | "removed";
};
venueLayout?: unknown;
}>;
};
} & {
create: (request: {
accountId: string;
city?: string;
coordinates?: {
latitude: number;
longitude: number;
};
country?: string;
description?: string;
email?: string;
features?: string[];
name: string;
phone?: string;
status?: "active" | "archived";
streetAddress?: string;
tags?: string[];
timezone?: string;
website?: string;
}) => Promise<{
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}>;
delete: (id: string) => Promise<{
id: string;
success: boolean;
}>;
get: (id: string) => Promise<{
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}>;
list: (options?: {
accountId?: string;
limit?: string;
page?: string;
search?: string;
status?: "active" | "archived";
}) => Promise<{
pagination: {
hasNext: boolean;
hasPrev: boolean;
limit: number;
page: number;
total: number;
totalPages: number;
};
venues: {
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}[];
}>;
update: (id: string, request: {
city?: string;
coordinates?: any;
country?: string;
description?: string;
email?: any;
features?: string[];
name?: string;
phone?: any;
status?: "active" | "archived";
streetAddress?: string;
tags?: string[];
timezone?: string;
website?: any;
}) => Promise<{
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}>;
};

Defined in: client.ts:1575

Venues methods Use venues() to access nested resources: venues(id).venuelayouts, venuelayoutareas, venuelayoutcategories, venuelayoutseats

Type Declaration

create()
create: (request: {
accountId: string;
city?: string;
coordinates?: {
latitude: number;
longitude: number;
};
country?: string;
description?: string;
email?: string;
features?: string[];
name: string;
phone?: string;
status?: "active" | "archived";
streetAddress?: string;
tags?: string[];
timezone?: string;
website?: string;
}) => Promise<{
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}>;

Create venue Create a new venue in the organisation

Parameters
ParameterType
request{ accountId: string; city?: string; coordinates?: { latitude: number; longitude: number; }; country?: string; description?: string; email?: string; features?: string[]; name: string; phone?: string; status?: "active" | "archived"; streetAddress?: string; tags?: string[]; timezone?: string; website?: string; }
request.accountIdstring
request.city?string
request.coordinates?{ latitude: number; longitude: number; }
request.coordinates.latitudenumber
request.coordinates.longitudenumber
request.country?string
request.description?string
request.email?string
request.features?string[]
request.namestring
request.phone?string
request.status?"active" | "archived"
request.streetAddress?string
request.tags?string[]
request.timezone?string
request.website?string
Returns

Promise<{ accountId: string; coordinates?: { coordinates: [number, number]; type: "Point"; }; country?: string; createdAt: string; createdBy?: string; description?: string; email?: string; features: string[]; id: string; isDeleted: boolean; name: string; organisationId: string; phone?: string; status: "active" | "archived"; streetAddress?: string; tags: string[]; timezone: string; updatedAt: string; website?: string; }>

Operation Id

createVenue

delete()
delete: (id: string) => Promise<{
id: string;
success: boolean;
}>;

Delete venue Delete a venue (soft delete)

Parameters
ParameterType
idstring
Returns

Promise<{ id: string; success: boolean; }>

Operation Id

deleteVenue

get()
get: (id: string) => Promise<{
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}>;

Get venue Get a specific venue by ID

Parameters
ParameterType
idstring
Returns

Promise<{ accountId: string; coordinates?: { coordinates: [number, number]; type: "Point"; }; country?: string; createdAt: string; createdBy?: string; description?: string; email?: string; features: string[]; id: string; isDeleted: boolean; name: string; organisationId: string; phone?: string; status: "active" | "archived"; streetAddress?: string; tags: string[]; timezone: string; updatedAt: string; website?: string; }>

Operation Id

getVenue

list()
list: (options?: {
accountId?: string;
limit?: string;
page?: string;
search?: string;
status?: "active" | "archived";
}) => Promise<{
pagination: {
hasNext: boolean;
hasPrev: boolean;
limit: number;
page: number;
total: number;
totalPages: number;
};
venues: {
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}[];
}>;

List venues List all venues for the organisation with optional filtering and pagination

Parameters
ParameterType
options?{ accountId?: string; limit?: string; page?: string; search?: string; status?: "active" | "archived"; }
options.accountId?string
options.limit?string
options.page?string
options.search?string
options.status?"active" | "archived"
Returns

Promise<{ pagination: { hasNext: boolean; hasPrev: boolean; limit: number; page: number; total: number; totalPages: number; }; venues: { accountId: string; coordinates?: { coordinates: [number, number]; type: "Point"; }; country?: string; createdAt: string; createdBy?: string; description?: string; email?: string; features: string[]; id: string; isDeleted: boolean; name: string; organisationId: string; phone?: string; status: "active" | "archived"; streetAddress?: string; tags: string[]; timezone: string; updatedAt: string; website?: string; }[]; }>

Operation Id

listVenues

update()
update: (id: string, request: {
city?: string;
coordinates?: any;
country?: string;
description?: string;
email?: any;
features?: string[];
name?: string;
phone?: any;
status?: "active" | "archived";
streetAddress?: string;
tags?: string[];
timezone?: string;
website?: any;
}) => Promise<{
accountId: string;
coordinates?: {
coordinates: [number, number];
type: "Point";
};
country?: string;
createdAt: string;
createdBy?: string;
description?: string;
email?: string;
features: string[];
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
phone?: string;
status: "active" | "archived";
streetAddress?: string;
tags: string[];
timezone: string;
updatedAt: string;
website?: string;
}>;

Update venue Update an existing venue

Parameters
ParameterType
idstring
request{ city?: string; coordinates?: any; country?: string; description?: string; email?: any; features?: string[]; name?: string; phone?: any; status?: "active" | "archived"; streetAddress?: string; tags?: string[]; timezone?: string; website?: any; }
request.city?string
request.coordinates?any
request.country?string
request.description?string
request.email?any
request.features?string[]
request.name?string
request.phone?any
request.status?"active" | "archived"
request.streetAddress?string
request.tags?string[]
request.timezone?string
request.website?any
Returns

Promise<{ accountId: string; coordinates?: { coordinates: [number, number]; type: "Point"; }; country?: string; createdAt: string; createdBy?: string; description?: string; email?: string; features: string[]; id: string; isDeleted: boolean; name: string; organisationId: string; phone?: string; status: "active" | "archived"; streetAddress?: string; tags: string[]; timezone: string; updatedAt: string; website?: string; }>

Operation Id

updateVenue


webhookDeliveries

webhookDeliveries: {
get: (deliveryId: string) => Promise<any>;
list: (options?: {
endpointId?: string;
limit?: number;
}) => Promise<any>;
listInbound: () => Promise<any>;
};

Defined in: client.ts:5233

Webhook Deliveries methods

get()

get: (deliveryId: string) => Promise<any>;

Get a webhook delivery

Parameters
ParameterType
deliveryIdstring
Returns

Promise<any>

Operation Id

getWebhookDelivery

list()

list: (options?: {
endpointId?: string;
limit?: number;
}) => Promise<any>;

List webhook deliveries The delivery log - every attempt, its status, response and retry schedule.

Parameters
ParameterType
options?{ endpointId?: string; limit?: number; }
options.endpointId?string
options.limit?number
Returns

Promise<any>

Operation Id

listWebhookDeliveries

listInbound()

listInbound: () => Promise<any>;

List recent inbound webhook events (ingress log)

Returns

Promise<any>

Operation Id

listInboundWebhooks


webhookEndpoints

webhookEndpoints: {
create: (request: {
accountId: string;
description?: string | null;
eventTypes?: string[];
url: string;
}) => Promise<any>;
delete: (endpointId: string) => Promise<any>;
get: (endpointId: string) => Promise<any>;
list: (options?: {
accountId?: string;
}) => Promise<any>;
test: (endpointId: string) => Promise<any>;
update: (endpointId: string, request: {
description?: string | null;
eventTypes?: string[];
status?: "disabled" | "enabled";
url?: string;
}) => Promise<any>;
};

Defined in: client.ts:5125

Webhook Endpoints methods

create()

create: (request: {
accountId: string;
description?: string | null;
eventTypes?: string[];
url: string;
}) => Promise<any>;

Create a webhook endpoint Register a URL to receive signed POSTs for the chosen public event types. The signing secret is returned ONCE in this response and is never retrievable again.

Parameters
ParameterTypeDescription
request{ accountId: string; description?: string | null; eventTypes?: string[]; url: string; }-
request.accountIdstring-
request.description?string | null-
request.eventTypes?string[]Example [ "order.confirmed", "ticket.issued" ]
request.urlstringFormat: uri Example https://hooks.example.com/tl
Returns

Promise<any>

Operation Id

createWebhookEndpoint

delete()

delete: (endpointId: string) => Promise<any>;

Delete a webhook endpoint

Parameters
ParameterType
endpointIdstring
Returns

Promise<any>

Operation Id

deleteWebhookEndpoint

get()

get: (endpointId: string) => Promise<any>;

Get a webhook endpoint

Parameters
ParameterType
endpointIdstring
Returns

Promise<any>

Operation Id

getWebhookEndpoint

list()

list: (options?: {
accountId?: string;
}) => Promise<any>;

List webhook endpoints

Parameters
ParameterType
options?{ accountId?: string; }
options.accountId?string
Returns

Promise<any>

Operation Id

listWebhookEndpoints

test()

test: (endpointId: string) => Promise<any>;

Send a test delivery Enqueue a sample signed delivery to the endpoint to verify connectivity.

Parameters
ParameterType
endpointIdstring
Returns

Promise<any>

Operation Id

testWebhookEndpoint

update()

update: (endpointId: string, request: {
description?: string | null;
eventTypes?: string[];
status?: "disabled" | "enabled";
url?: string;
}) => Promise<any>;

Update a webhook endpoint

Parameters
ParameterTypeDescription
endpointIdstring-
request{ description?: string | null; eventTypes?: string[]; status?: "disabled" | "enabled"; url?: string; }-
request.description?string | null-
request.eventTypes?string[]Example [ "order.confirmed", "ticket.issued" ]
request.status?"disabled" | "enabled"
request.url?stringFormat: uri
Returns

Promise<any>

Operation Id

updateWebhookEndpoint


webhookEventTypes

webhookEventTypes: {
list: () => Promise<any>;
};

Defined in: client.ts:5215

Webhook Event Types methods

list()

list: () => Promise<any>;

List subscribable webhook event types

Returns

Promise<any>

Operation Id

listWebhookEventTypes