BackstageClient.salesChannels
BackstageClient.salesChannels in @ticketlayer/backstage.
@ticketlayer/backstage / BackstageClient / salesChannels
salesChannels: (channelId: string) => {
channelaccess: {
grant: (request: {
subjectId: string;
subjectType: "user" | "role";
}, requestOptions?: RequestOptions) => Promise<{
createdAt: string;
id: string;
organisationId: string;
salesChannelId: string;
subjectId: string;
subjectType: "user" | "role";
}>;
list: (requestOptions?: RequestOptions) => Promise<{
createdAt: string;
id: string;
organisationId: string;
salesChannelId: string;
subjectId: string;
subjectType: "user" | "role";
}[]>;
revoke: (accessId: string, requestOptions?: RequestOptions) => Promise<boolean>;
};
concierge: {
get: (requestOptions?: RequestOptions) => Promise<{
channelId: string;
concierge: {
ai: {
disabledTools: string[];
enabled: boolean;
tier: "answer" | "integrated" | "actions";
};
allowedOrigins: string[];
contactQueueId: string | null;
enabled: boolean;
features: {
chat: boolean;
contact: boolean;
myOrders: boolean;
search: boolean;
};
knowledge: {
restrictToOwn: boolean;
};
openingHours: | {
timezone: string;
weekly: {
fri?: ...;
mon?: ...;
sat?: ...;
sun?: ...;
thu?: ...;
tue?: ...;
wed?: ...;
};
}
| null;
persona: {
avatarAssetId?: string;
greeting?: string;
name?: string;
};
placements: {
embedded: {
buyTickets: boolean;
checkout: boolean;
confirmation: boolean;
myOrders: boolean;
};
inline: boolean;
launcher: boolean;
page: boolean;
};
};
}>;
replace: (request: {
ai?: {
disabledTools?: string[];
enabled?: boolean;
tier?: "answer" | "integrated" | "actions";
};
allowedOrigins?: string[];
contactQueueId?: string | null;
enabled?: boolean;
features?: {
chat?: boolean;
contact?: boolean;
myOrders?: boolean;
search?: boolean;
};
knowledge?: {
restrictToOwn?: boolean;
};
openingHours?: | {
timezone: string;
weekly: {
fri?: ...[];
mon?: ...[];
sat?: ...[];
sun?: ...[];
thu?: ...[];
tue?: ...[];
wed?: ...[];
};
}
| null;
persona?: {
avatarAssetId?: string;
greeting?: string;
name?: string;
};
placements?: {
embedded?: {
buyTickets?: ... | ... | ...;
checkout?: ... | ... | ...;
confirmation?: ... | ... | ...;
myOrders?: ... | ... | ...;
};
inline?: boolean;
launcher?: boolean;
page?: boolean;
};
}, requestOptions?: RequestOptions) => Promise<{
channelId: string;
concierge: {
ai: {
disabledTools: string[];
enabled: boolean;
tier: "answer" | "integrated" | "actions";
};
allowedOrigins: string[];
contactQueueId: string | null;
enabled: boolean;
features: {
chat: boolean;
contact: boolean;
myOrders: boolean;
search: boolean;
};
knowledge: {
restrictToOwn: boolean;
};
openingHours: | {
timezone: string;
weekly: {
fri?: ...;
mon?: ...;
sat?: ...;
sun?: ...;
thu?: ...;
tue?: ...;
wed?: ...;
};
}
| null;
persona: {
avatarAssetId?: string;
greeting?: string;
name?: string;
};
placements: {
embedded: {
buyTickets: boolean;
checkout: boolean;
confirmation: boolean;
myOrders: boolean;
};
inline: boolean;
launcher: boolean;
page: boolean;
};
};
}>;
resolved: (requestOptions?: RequestOptions) => Promise<{
accountId: string;
ai: {
disabledTools: string[];
enabled: boolean;
tier: "answer" | "integrated" | "actions";
};
allowedLinkHosts: string[];
allowedOrigins: string[];
brandId: string | null;
channelId: string;
contactQueueId: string | null;
enabled: boolean;
features: {
chat: boolean;
contact: boolean;
myOrders: boolean;
search: boolean;
};
knowledge: {
restrictToOwn: boolean;
};
openingHours: | {
timezone: string;
weekly: {
fri?: ... | ...;
mon?: ... | ...;
sat?: ... | ...;
sun?: ... | ...;
thu?: ... | ...;
tue?: ... | ...;
wed?: ... | ...;
};
}
| null;
persona: {
avatarAssetId: string | null;
avatarUrl: string | null;
greeting: string | null;
name: string;
};
placements: {
embedded: {
buyTickets: boolean;
checkout: boolean;
confirmation: boolean;
myOrders: boolean;
};
inline: boolean;
launcher: boolean;
page: boolean;
};
}>;
};
keys: {
issue: (request: {
keyType: "publishable" | "secret";
name: string;
}, requestOptions?: RequestOptions) => Promise<{
key: {
channelId: string;
createdAt: string;
id: string;
keyType: "publishable" | "secret";
last4: string;
mode: "live" | "test";
name: string;
status: "revoked" | "active" | "compromised";
};
keyMaterial: string;
warning?: string;
}>;
list: (requestOptions?: RequestOptions) => Promise<{
channelId: string;
createdAt: string;
id: string;
keyType: "publishable" | "secret";
last4: string;
lastUsedAt: string | null;
mode: "live" | "test";
name: string;
publishableKey: string | null;
revokedAt: string | null;
status: "revoked" | "active" | "compromised";
}[]>;
revoke: (keyId: string, request: {
reason?: string;
}, requestOptions?: RequestOptions) => Promise<{
id: string;
revokedAt: string | null;
status: "revoked" | "active" | "compromised";
}>;
};
listings: {
create: (request: {
eventId: string;
rules?: {
discoverable?: any;
sellable?: any;
visible?: any;
};
}, requestOptions?: RequestOptions) => Promise<{
channelId: string;
createdAt: string;
effective: {
discoverable: {
open: boolean;
windows: {
audience: ...;
audienceTags: ...;
from: ...;
until: ...;
}[];
};
sellable: {
open: boolean;
windows: {
audience: ...;
audienceTags: ...;
from: ...;
until: ...;
}[];
};
visible: {
open: boolean;
windows: {
audience: ...;
audienceTags: ...;
from: ...;
until: ...;
}[];
};
};
eventId: string;
id: string;
rules: {
discoverable: {
open: boolean;
windows: ...[];
} & Record<string, never>;
sellable: {
open: boolean;
windows: ...[];
} & Record<string, never>;
visible: {
open: boolean;
windows: ...[];
} & Record<string, never>;
};
state: {
closesAt: string | null;
discoverable: boolean;
opensAt: string | null;
sellable: boolean;
visible: boolean;
};
updatedAt: string;
}>;
delete: (listingId: string, requestOptions?: RequestOptions) => Promise<boolean>;
list: (requestOptions?: RequestOptions) => Promise<{
channelId: string;
createdAt: string;
effective: {
discoverable: {
open: boolean;
windows: ...[];
};
sellable: {
open: boolean;
windows: ...[];
};
visible: {
open: boolean;
windows: ...[];
};
};
eventId: string;
id: string;
rules: {
discoverable: {
open: ...;
windows: ...;
} & Record<..., ...>;
sellable: {
open: ...;
windows: ...;
} & Record<..., ...>;
visible: {
open: ...;
windows: ...;
} & Record<..., ...>;
};
state: {
closesAt: string | null;
discoverable: boolean;
opensAt: string | null;
sellable: boolean;
visible: boolean;
};
updatedAt: string;
}[]>;
update: (listingId: string, request: {
rules?: {
discoverable?: any;
sellable?: any;
visible?: any;
};
}, requestOptions?: RequestOptions) => Promise<{
channelId: string;
createdAt: string;
effective: {
discoverable: {
open: boolean;
windows: {
audience: ...;
audienceTags: ...;
from: ...;
until: ...;
}[];
};
sellable: {
open: boolean;
windows: {
audience: ...;
audienceTags: ...;
from: ...;
until: ...;
}[];
};
visible: {
open: boolean;
windows: {
audience: ...;
audienceTags: ...;
from: ...;
until: ...;
}[];
};
};
eventId: string;
id: string;
rules: {
discoverable: {
open: boolean;
windows: ...[];
} & Record<string, never>;
sellable: {
open: boolean;
windows: ...[];
} & Record<string, never>;
visible: {
open: boolean;
windows: ...[];
} & Record<string, never>;
};
state: {
closesAt: string | null;
discoverable: boolean;
opensAt: string | null;
sellable: boolean;
visible: boolean;
};
updatedAt: string;
}>;
};
} & {
create: (request: {
accountId: string;
autoList?: boolean;
channelTags?: string[];
channelType: | "box_office"
| "internal"
| "website"
| "embed"
| "kiosk"
| "reseller_api";
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
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;
sellingRules?: {
maxTickets?: number;
singleSeatGap?: "warn" | "confirm";
};
slug: string;
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
autoList: boolean;
brandId: string | null;
channelTags: string[];
channelType: | "box_office"
| "internal"
| "website"
| "embed"
| "kiosk"
| "reseller_api";
checkoutTtlSeconds: number;
concierge: {
ai: {
disabledTools: string[];
enabled: boolean;
tier: "answer" | "integrated" | "actions";
};
allowedOrigins: string[];
contactQueueId: string | null;
enabled: boolean;
features: {
chat: boolean;
contact: boolean;
myOrders: boolean;
search: boolean;
};
knowledge: {
restrictToOwn: boolean;
};
openingHours: | {
timezone: string;
weekly: {
fri?: ...[];
mon?: ...[];
sat?: ...[];
sun?: ...[];
thu?: ...[];
tue?: ...[];
wed?: ...[];
};
}
| null;
persona: {
avatarAssetId?: string;
greeting?: string;
name?: string;
};
placements: {
embedded: {
buyTickets: boolean;
checkout: boolean;
confirmation: boolean;
myOrders: boolean;
};
inline: boolean;
launcher: boolean;
page: boolean;
};
};
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
externalCollection: {
enabled: boolean;
methods: (
| "in_person_cash"
| "in_person_card"
| "online_card"
| "bank_transfer"
| "cheque")[];
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
sellingRules: {
maxTickets: number;
singleSeatGap: "warn" | "confirm";
};
slug: string;
updatedAt: string;
}>;
delete: (channelId: string, requestOptions?: RequestOptions) => Promise<boolean>;
get: (channelId: string, requestOptions?: RequestOptions) => Promise<{
accountId: string;
autoList: boolean;
brandId: string | null;
channelTags: string[];
channelType: | "box_office"
| "internal"
| "website"
| "embed"
| "kiosk"
| "reseller_api";
checkoutTtlSeconds: number;
concierge: {
ai: {
disabledTools: string[];
enabled: boolean;
tier: "answer" | "integrated" | "actions";
};
allowedOrigins: string[];
contactQueueId: string | null;
enabled: boolean;
features: {
chat: boolean;
contact: boolean;
myOrders: boolean;
search: boolean;
};
knowledge: {
restrictToOwn: boolean;
};
openingHours: | {
timezone: string;
weekly: {
fri?: ...[];
mon?: ...[];
sat?: ...[];
sun?: ...[];
thu?: ...[];
tue?: ...[];
wed?: ...[];
};
}
| null;
persona: {
avatarAssetId?: string;
greeting?: string;
name?: string;
};
placements: {
embedded: {
buyTickets: boolean;
checkout: boolean;
confirmation: boolean;
myOrders: boolean;
};
inline: boolean;
launcher: boolean;
page: boolean;
};
};
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
externalCollection: {
enabled: boolean;
methods: (
| "in_person_cash"
| "in_person_card"
| "online_card"
| "bank_transfer"
| "cheque")[];
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
sellingRules: {
maxTickets: number;
singleSeatGap: "warn" | "confirm";
};
slug: string;
updatedAt: string;
}>;
list: (requestOptions?: RequestOptions) => Promise<{
accountId: string;
autoList: boolean;
brandId: string | null;
channelTags: string[];
channelType: | "box_office"
| "internal"
| "website"
| "embed"
| "kiosk"
| "reseller_api";
checkoutTtlSeconds: number;
concierge: {
ai: {
disabledTools: string[];
enabled: boolean;
tier: "answer" | "integrated" | "actions";
};
allowedOrigins: string[];
contactQueueId: string | null;
enabled: boolean;
features: {
chat: boolean;
contact: boolean;
myOrders: boolean;
search: boolean;
};
knowledge: {
restrictToOwn: boolean;
};
openingHours: | {
timezone: string;
weekly: {
fri?: ... | ...;
mon?: ... | ...;
sat?: ... | ...;
sun?: ... | ...;
thu?: ... | ...;
tue?: ... | ...;
wed?: ... | ...;
};
}
| null;
persona: {
avatarAssetId?: string;
greeting?: string;
name?: string;
};
placements: {
embedded: {
buyTickets: boolean;
checkout: boolean;
confirmation: boolean;
myOrders: boolean;
};
inline: boolean;
launcher: boolean;
page: boolean;
};
};
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
externalCollection: {
enabled: boolean;
methods: (
| "in_person_cash"
| "in_person_card"
| "online_card"
| "bank_transfer"
| "cheque")[];
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
sellingRules: {
maxTickets: number;
singleSeatGap: "warn" | "confirm";
};
slug: string;
updatedAt: string;
}[]>;
mySalesChannels: (requestOptions?: RequestOptions) => Promise<{
channels: {
id: string;
name: string;
slug: string;
}[];
permissions: {
permission: string;
scope: "channel" | "all";
}[];
scope: "channel" | "all";
}>;
update: (channelId: string, request: {
autoList?: boolean;
brandId?: any;
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
subdomain?: string;
};
description?: string;
eventFilter?: {
channelTags?: string[];
mode: "all" | "tagged";
};
externalCollection?: {
enabled?: boolean;
methods?: (
| "in_person_cash"
| "in_person_card"
| "online_card"
| "bank_transfer"
| "cheque")[];
};
feeProfileId?: any;
isActive?: boolean;
name?: string;
paymentProviderId?: any;
pricingConfig?: {
includeFeesInPrice?: boolean;
showMemberPricing?: boolean;
showOriginalPrice?: boolean;
};
receivingAccountId?: string;
reservationTtlSeconds?: number;
sellingRules?: {
maxTickets?: number;
singleSeatGap?: "warn" | "confirm";
};
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
autoList: boolean;
brandId: string | null;
channelTags: string[];
channelType: | "box_office"
| "internal"
| "website"
| "embed"
| "kiosk"
| "reseller_api";
checkoutTtlSeconds: number;
concierge: {
ai: {
disabledTools: string[];
enabled: boolean;
tier: "answer" | "integrated" | "actions";
};
allowedOrigins: string[];
contactQueueId: string | null;
enabled: boolean;
features: {
chat: boolean;
contact: boolean;
myOrders: boolean;
search: boolean;
};
knowledge: {
restrictToOwn: boolean;
};
openingHours: | {
timezone: string;
weekly: {
fri?: ...[];
mon?: ...[];
sat?: ...[];
sun?: ...[];
thu?: ...[];
tue?: ...[];
wed?: ...[];
};
}
| null;
persona: {
avatarAssetId?: string;
greeting?: string;
name?: string;
};
placements: {
embedded: {
buyTickets: boolean;
checkout: boolean;
confirmation: boolean;
myOrders: boolean;
};
inline: boolean;
launcher: boolean;
page: boolean;
};
};
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
externalCollection: {
enabled: boolean;
methods: (
| "in_person_cash"
| "in_person_card"
| "online_card"
| "bank_transfer"
| "cheque")[];
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
sellingRules: {
maxTickets: number;
singleSeatGap: "warn" | "confirm";
};
slug: string;
updatedAt: string;
}>;
};Defined in: client.ts:7525
Sales Channels methods Use salesChannels() to access nested resources: salesChannels(id).keys, listings, channelaccess, concierge
Type Declaration#
create()#
create: (request: {
accountId: string;
autoList?: boolean;
channelTags?: string[];
channelType: | "box_office"
| "internal"
| "website"
| "embed"
| "kiosk"
| "reseller_api";
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
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;
sellingRules?: {
maxTickets?: number;
singleSeatGap?: "warn" | "confirm";
};
slug: string;
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
autoList: boolean;
brandId: string | null;
channelTags: string[];
channelType: | "box_office"
| "internal"
| "website"
| "embed"
| "kiosk"
| "reseller_api";
checkoutTtlSeconds: number;
concierge: {
ai: {
disabledTools: string[];
enabled: boolean;
tier: "answer" | "integrated" | "actions";
};
allowedOrigins: string[];
contactQueueId: string | null;
enabled: boolean;
features: {
chat: boolean;
contact: boolean;
myOrders: boolean;
search: boolean;
};
knowledge: {
restrictToOwn: boolean;
};
openingHours: | {
timezone: string;
weekly: {
fri?: ...[];
mon?: ...[];
sat?: ...[];
sun?: ...[];
thu?: ...[];
tue?: ...[];
wed?: ...[];
};
}
| null;
persona: {
avatarAssetId?: string;
greeting?: string;
name?: string;
};
placements: {
embedded: {
buyTickets: boolean;
checkout: boolean;
confirmation: boolean;
myOrders: boolean;
};
inline: boolean;
launcher: boolean;
page: boolean;
};
};
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
externalCollection: {
enabled: boolean;
methods: (
| "in_person_cash"
| "in_person_card"
| "online_card"
| "bank_transfer"
| "cheque")[];
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
sellingRules: {
maxTickets: number;
singleSeatGap: "warn" | "confirm";
};
slug: string;
updatedAt: string;
}>;Create sales channel Create a sales channel: a policy bundle describing where and under what commercial rules tickets are sold
Parameters#
| Parameter | Type | Description |
|---|---|---|
request | { accountId: string; autoList?: boolean; channelTags?: string[]; channelType: | "box_office" | "internal" | "website" | "embed" | "kiosk" | "reseller_api"; 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; }; priceVisibility?: { lockedAs?: "locked" | "hidden"; unlockHints?: boolean; }; 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; sellingRules?: { maxTickets?: number; singleSeatGap?: "warn" | "confirm"; }; slug: string; } | - |
request.accountId | string | - |
request.autoList? | boolean | - |
request.channelTags? | string[] | - |
request.channelType? | | "box_office" | "internal" | "website" | "embed" | "kiosk" | "reseller_api" | - |
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; }; priceVisibility?: { lockedAs?: "locked" | "hidden"; unlockHints?: boolean; }; 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.issuer? | string | - |
request.customerFacing.partnerIdentity.publicKeyPem? | string | - |
request.customerFacing.priceVisibility? | { lockedAs?: "locked" | "hidden"; unlockHints?: boolean; } | - |
request.customerFacing.priceVisibility.lockedAs? | "locked" | "hidden" | Description locked (the default) shows a locked price with how to unlock it; hidden hides every locked price on this channel until it is unlocked Example hidden @enum {string} |
request.customerFacing.priceVisibility.unlockHints? | boolean | Description false withholds how to unlock a locked price (its tags' labels, whether a code could, the products that grant a tag) from buyers on this channel. Default true Example true |
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.name? | string | - |
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.sellingRules? | { maxTickets?: number; singleSeatGap?: "warn" | "confirm"; } | - |
request.sellingRules.maxTickets? | number | Description The most seats one cart holds for one occurrence: 1 to 50 Example 10 |
request.sellingRules.singleSeatGap? | "warn" | "confirm" | Description warn: a seat choice that strands a single seat is refused (409 SINGLE_SEAT_GAP) with a shifted suggestion, no override. confirm: the same refusal, and the box office may resend with acceptSingleSeatGap Example warn @enum {string} |
request.slug? | string | - |
requestOptions? | RequestOptions | - |
Returns#
Promise<{
accountId: string;
autoList: boolean;
brandId: string | null;
channelTags: string[];
channelType: | "box_office"
| "internal"
| "website"
| "embed"
| "kiosk"
| "reseller_api";
checkoutTtlSeconds: number;
concierge: {
ai: {
disabledTools: string[];
enabled: boolean;
tier: "answer" | "integrated" | "actions";
};
allowedOrigins: string[];
contactQueueId: string | null;
enabled: boolean;
features: {
chat: boolean;
contact: boolean;
myOrders: boolean;
search: boolean;
};
knowledge: {
restrictToOwn: boolean;
};
openingHours: | {
timezone: string;
weekly: {
fri?: ...[];
mon?: ...[];
sat?: ...[];
sun?: ...[];
thu?: ...[];
tue?: ...[];
wed?: ...[];
};
}
| null;
persona: {
avatarAssetId?: string;
greeting?: string;
name?: string;
};
placements: {
embedded: {
buyTickets: boolean;
checkout: boolean;
confirmation: boolean;
myOrders: boolean;
};
inline: boolean;
launcher: boolean;
page: boolean;
};
};
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
externalCollection: {
enabled: boolean;
methods: (
| "in_person_cash"
| "in_person_card"
| "online_card"
| "bank_transfer"
| "cheque")[];
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
sellingRules: {
maxTickets: number;
singleSeatGap: "warn" | "confirm";
};
slug: string;
updatedAt: string;
}>
Operation Id#
createSalesChannel
delete()#
delete: (channelId: string, requestOptions?: RequestOptions) => Promise<boolean>;Delete sales channel Soft-delete a sales channel
Parameters#
| Parameter | Type |
|---|---|
channelId | string |
requestOptions? | RequestOptions |
Returns#
Promise<boolean>
Operation Id#
deleteSalesChannel
get()#
get: (channelId: string, requestOptions?: RequestOptions) => Promise<{
accountId: string;
autoList: boolean;
brandId: string | null;
channelTags: string[];
channelType: | "box_office"
| "internal"
| "website"
| "embed"
| "kiosk"
| "reseller_api";
checkoutTtlSeconds: number;
concierge: {
ai: {
disabledTools: string[];
enabled: boolean;
tier: "answer" | "integrated" | "actions";
};
allowedOrigins: string[];
contactQueueId: string | null;
enabled: boolean;
features: {
chat: boolean;
contact: boolean;
myOrders: boolean;
search: boolean;
};
knowledge: {
restrictToOwn: boolean;
};
openingHours: | {
timezone: string;
weekly: {
fri?: ...[];
mon?: ...[];
sat?: ...[];
sun?: ...[];
thu?: ...[];
tue?: ...[];
wed?: ...[];
};
}
| null;
persona: {
avatarAssetId?: string;
greeting?: string;
name?: string;
};
placements: {
embedded: {
buyTickets: boolean;
checkout: boolean;
confirmation: boolean;
myOrders: boolean;
};
inline: boolean;
launcher: boolean;
page: boolean;
};
};
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
externalCollection: {
enabled: boolean;
methods: (
| "in_person_cash"
| "in_person_card"
| "online_card"
| "bank_transfer"
| "cheque")[];
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
sellingRules: {
maxTickets: number;
singleSeatGap: "warn" | "confirm";
};
slug: string;
updatedAt: string;
}>;Get sales channel Get a sales channel by ID
Parameters#
| Parameter | Type |
|---|---|
channelId | string |
requestOptions? | RequestOptions |
Returns#
Promise<{
accountId: string;
autoList: boolean;
brandId: string | null;
channelTags: string[];
channelType: | "box_office"
| "internal"
| "website"
| "embed"
| "kiosk"
| "reseller_api";
checkoutTtlSeconds: number;
concierge: {
ai: {
disabledTools: string[];
enabled: boolean;
tier: "answer" | "integrated" | "actions";
};
allowedOrigins: string[];
contactQueueId: string | null;
enabled: boolean;
features: {
chat: boolean;
contact: boolean;
myOrders: boolean;
search: boolean;
};
knowledge: {
restrictToOwn: boolean;
};
openingHours: | {
timezone: string;
weekly: {
fri?: ...[];
mon?: ...[];
sat?: ...[];
sun?: ...[];
thu?: ...[];
tue?: ...[];
wed?: ...[];
};
}
| null;
persona: {
avatarAssetId?: string;
greeting?: string;
name?: string;
};
placements: {
embedded: {
buyTickets: boolean;
checkout: boolean;
confirmation: boolean;
myOrders: boolean;
};
inline: boolean;
launcher: boolean;
page: boolean;
};
};
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
externalCollection: {
enabled: boolean;
methods: (
| "in_person_cash"
| "in_person_card"
| "online_card"
| "bank_transfer"
| "cheque")[];
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
sellingRules: {
maxTickets: number;
singleSeatGap: "warn" | "confirm";
};
slug: string;
updatedAt: string;
}>
Operation Id#
getSalesChannel
list()#
list: (requestOptions?: RequestOptions) => Promise<{
accountId: string;
autoList: boolean;
brandId: string | null;
channelTags: string[];
channelType: | "box_office"
| "internal"
| "website"
| "embed"
| "kiosk"
| "reseller_api";
checkoutTtlSeconds: number;
concierge: {
ai: {
disabledTools: string[];
enabled: boolean;
tier: "answer" | "integrated" | "actions";
};
allowedOrigins: string[];
contactQueueId: string | null;
enabled: boolean;
features: {
chat: boolean;
contact: boolean;
myOrders: boolean;
search: boolean;
};
knowledge: {
restrictToOwn: boolean;
};
openingHours: | {
timezone: string;
weekly: {
fri?: ... | ...;
mon?: ... | ...;
sat?: ... | ...;
sun?: ... | ...;
thu?: ... | ...;
tue?: ... | ...;
wed?: ... | ...;
};
}
| null;
persona: {
avatarAssetId?: string;
greeting?: string;
name?: string;
};
placements: {
embedded: {
buyTickets: boolean;
checkout: boolean;
confirmation: boolean;
myOrders: boolean;
};
inline: boolean;
launcher: boolean;
page: boolean;
};
};
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
externalCollection: {
enabled: boolean;
methods: (
| "in_person_cash"
| "in_person_card"
| "online_card"
| "bank_transfer"
| "cheque")[];
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
sellingRules: {
maxTickets: number;
singleSeatGap: "warn" | "confirm";
};
slug: string;
updatedAt: string;
}[]>;List sales channels List the organisation's sales channels visible to the caller
Parameters#
| Parameter | Type |
|---|---|
requestOptions? | RequestOptions |
Returns#
Promise<{
accountId: string;
autoList: boolean;
brandId: string | null;
channelTags: string[];
channelType: | "box_office"
| "internal"
| "website"
| "embed"
| "kiosk"
| "reseller_api";
checkoutTtlSeconds: number;
concierge: {
ai: {
disabledTools: string[];
enabled: boolean;
tier: "answer" | "integrated" | "actions";
};
allowedOrigins: string[];
contactQueueId: string | null;
enabled: boolean;
features: {
chat: boolean;
contact: boolean;
myOrders: boolean;
search: boolean;
};
knowledge: {
restrictToOwn: boolean;
};
openingHours: | {
timezone: string;
weekly: {
fri?: ... | ...;
mon?: ... | ...;
sat?: ... | ...;
sun?: ... | ...;
thu?: ... | ...;
tue?: ... | ...;
wed?: ... | ...;
};
}
| null;
persona: {
avatarAssetId?: string;
greeting?: string;
name?: string;
};
placements: {
embedded: {
buyTickets: boolean;
checkout: boolean;
confirmation: boolean;
myOrders: boolean;
};
inline: boolean;
launcher: boolean;
page: boolean;
};
};
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
externalCollection: {
enabled: boolean;
methods: (
| "in_person_cash"
| "in_person_card"
| "online_card"
| "bank_transfer"
| "cheque")[];
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
sellingRules: {
maxTickets: number;
singleSeatGap: "warn" | "confirm";
};
slug: string;
updatedAt: string;
}[]>
Operation Id#
listSalesChannels
mySalesChannels()#
mySalesChannels: (requestOptions?: RequestOptions) => Promise<{
channels: {
id: string;
name: string;
slug: string;
}[];
permissions: {
permission: string;
scope: "channel" | "all";
}[];
scope: "channel" | "all";
}>;The channels I may act through The sales channels the caller may act through, and at which scope. The one way a client learns its set: a box office app offers these at sign-in and sends the chosen slug as X-Ticketlayer-Channel on everything after.
Parameters#
| Parameter | Type |
|---|---|
requestOptions? | RequestOptions |
Returns#
Promise<{
channels: {
id: string;
name: string;
slug: string;
}[];
permissions: {
permission: string;
scope: "channel" | "all";
}[];
scope: "channel" | "all";
}>
Operation Id#
getMySalesChannels
update()#
update: (channelId: string, request: {
autoList?: boolean;
brandId?: any;
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
subdomain?: string;
};
description?: string;
eventFilter?: {
channelTags?: string[];
mode: "all" | "tagged";
};
externalCollection?: {
enabled?: boolean;
methods?: (
| "in_person_cash"
| "in_person_card"
| "online_card"
| "bank_transfer"
| "cheque")[];
};
feeProfileId?: any;
isActive?: boolean;
name?: string;
paymentProviderId?: any;
pricingConfig?: {
includeFeesInPrice?: boolean;
showMemberPricing?: boolean;
showOriginalPrice?: boolean;
};
receivingAccountId?: string;
reservationTtlSeconds?: number;
sellingRules?: {
maxTickets?: number;
singleSeatGap?: "warn" | "confirm";
};
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
autoList: boolean;
brandId: string | null;
channelTags: string[];
channelType: | "box_office"
| "internal"
| "website"
| "embed"
| "kiosk"
| "reseller_api";
checkoutTtlSeconds: number;
concierge: {
ai: {
disabledTools: string[];
enabled: boolean;
tier: "answer" | "integrated" | "actions";
};
allowedOrigins: string[];
contactQueueId: string | null;
enabled: boolean;
features: {
chat: boolean;
contact: boolean;
myOrders: boolean;
search: boolean;
};
knowledge: {
restrictToOwn: boolean;
};
openingHours: | {
timezone: string;
weekly: {
fri?: ...[];
mon?: ...[];
sat?: ...[];
sun?: ...[];
thu?: ...[];
tue?: ...[];
wed?: ...[];
};
}
| null;
persona: {
avatarAssetId?: string;
greeting?: string;
name?: string;
};
placements: {
embedded: {
buyTickets: boolean;
checkout: boolean;
confirmation: boolean;
myOrders: boolean;
};
inline: boolean;
launcher: boolean;
page: boolean;
};
};
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
externalCollection: {
enabled: boolean;
methods: (
| "in_person_cash"
| "in_person_card"
| "online_card"
| "bank_transfer"
| "cheque")[];
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
sellingRules: {
maxTickets: number;
singleSeatGap: "warn" | "confirm";
};
slug: string;
updatedAt: string;
}>;Update sales channel Update a sales channel's configuration
Parameters#
| Parameter | Type | Description |
|---|---|---|
channelId | string | - |
request | { autoList?: boolean; brandId?: any; 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; }; priceVisibility?: { lockedAs?: "locked" | "hidden"; unlockHints?: boolean; }; subdomain?: string; }; description?: string; eventFilter?: { channelTags?: string[]; mode: "all" | "tagged"; }; externalCollection?: { enabled?: boolean; methods?: ( | "in_person_cash" | "in_person_card" | "online_card" | "bank_transfer" | "cheque")[]; }; feeProfileId?: any; isActive?: boolean; name?: string; paymentProviderId?: any; pricingConfig?: { includeFeesInPrice?: boolean; showMemberPricing?: boolean; showOriginalPrice?: boolean; }; receivingAccountId?: string; reservationTtlSeconds?: number; sellingRules?: { maxTickets?: number; singleSeatGap?: "warn" | "confirm"; }; } | - |
request.autoList? | boolean | - |
request.brandId? | 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; }; priceVisibility?: { lockedAs?: "locked" | "hidden"; unlockHints?: boolean; }; 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.issuer? | string | - |
request.customerFacing.partnerIdentity.publicKeyPem? | string | - |
request.customerFacing.priceVisibility? | { lockedAs?: "locked" | "hidden"; unlockHints?: boolean; } | - |
request.customerFacing.priceVisibility.lockedAs? | "locked" | "hidden" | Description locked (the default) shows a locked price with how to unlock it; hidden hides every locked price on this channel until it is unlocked Example hidden @enum {string} |
request.customerFacing.priceVisibility.unlockHints? | boolean | Description false withholds how to unlock a locked price (its tags' labels, whether a code could, the products that grant a tag) from buyers on this channel. Default true Example true |
request.customerFacing.subdomain? | string | - |
request.description? | string | - |
request.eventFilter? | { channelTags?: string[]; mode: "all" | "tagged"; } | - |
request.eventFilter.channelTags? | string[] | - |
request.eventFilter.mode? | "all" | "tagged" | - |
request.externalCollection? | { enabled?: boolean; methods?: ( | "in_person_cash" | "in_person_card" | "online_card" | "bank_transfer" | "cheque")[]; } | - |
request.externalCollection.enabled? | boolean | Description Whether the channel's secret key and the staff selling on it may record payment the channel collected itself (POST /orders/{orderId}/external-payments). Off by default. Switching it on, or adding a method, also needs ledger.settle on the channel's account: the channel's owner will hold buyers' money and owe the event owner for it. Example true |
request.externalCollection.methods? | ( | "in_person_cash" | "in_person_card" | "online_card" | "bank_transfer" | "cheque")[] | Description The real methods the channel may record. At least one while enabled (EXTERNAL_COLLECTION_METHODS_REQUIRED). Example [ "in_person_cash" ] |
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.sellingRules? | { maxTickets?: number; singleSeatGap?: "warn" | "confirm"; } | - |
request.sellingRules.maxTickets? | number | Description The most seats one cart holds for one occurrence: 1 to 50 Example 10 |
request.sellingRules.singleSeatGap? | "warn" | "confirm" | Description warn: a seat choice that strands a single seat is refused (409 SINGLE_SEAT_GAP) with a shifted suggestion, no override. confirm: the same refusal, and the box office may resend with acceptSingleSeatGap Example warn @enum {string} |
requestOptions? | RequestOptions | - |
Returns#
Promise<{
accountId: string;
autoList: boolean;
brandId: string | null;
channelTags: string[];
channelType: | "box_office"
| "internal"
| "website"
| "embed"
| "kiosk"
| "reseller_api";
checkoutTtlSeconds: number;
concierge: {
ai: {
disabledTools: string[];
enabled: boolean;
tier: "answer" | "integrated" | "actions";
};
allowedOrigins: string[];
contactQueueId: string | null;
enabled: boolean;
features: {
chat: boolean;
contact: boolean;
myOrders: boolean;
search: boolean;
};
knowledge: {
restrictToOwn: boolean;
};
openingHours: | {
timezone: string;
weekly: {
fri?: ...[];
mon?: ...[];
sat?: ...[];
sun?: ...[];
thu?: ...[];
tue?: ...[];
wed?: ...[];
};
}
| null;
persona: {
avatarAssetId?: string;
greeting?: string;
name?: string;
};
placements: {
embedded: {
buyTickets: boolean;
checkout: boolean;
confirmation: boolean;
myOrders: boolean;
};
inline: boolean;
launcher: boolean;
page: boolean;
};
};
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;
};
priceVisibility?: {
lockedAs?: "locked" | "hidden";
unlockHints?: boolean;
};
subdomain?: string;
};
deletedAt: string | null;
description: string | null;
eventFilter: {
channelTags?: string[];
mode: "all" | "tagged";
};
externalCollection: {
enabled: boolean;
methods: (
| "in_person_cash"
| "in_person_card"
| "online_card"
| "bank_transfer"
| "cheque")[];
};
feeProfileId: string | null;
id: string;
isActive: boolean;
isDeleted: boolean;
name: string;
organisationId: string;
pricingConfig: {
includeFeesInPrice: boolean;
showMemberPricing: boolean;
showOriginalPrice: boolean;
};
receivingAccountId: string;
reservationTtlSeconds: number;
sellingRules: {
maxTickets: number;
singleSeatGap: "warn" | "confirm";
};
slug: string;
updatedAt: string;
}>
Operation Id#
updateSalesChannel