BackstageClient.events
BackstageClient.events in @ticketlayer/backstage.
@ticketlayer/backstage / BackstageClient / 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: "cancelled" | "draft" | "on_sale" | "sold_out" | "completed";
ticketSchemeId?: string;
timezone?: string;
venueId?: string;
venueLayoutId?: string;
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
createdAt: string;
endDate: string;
endTime: string;
eventId: string;
id: string;
isDeleted: boolean;
organisationId: string;
startDate: string;
startTime: string;
status: "cancelled" | "draft" | "on_sale" | "sold_out" | "completed";
timezone: string;
updatedAt: string;
venueId?: string;
}>;
delete: (occurrenceId: string, requestOptions?: RequestOptions) => Promise<{
id: string;
success: boolean;
}>;
get: (occurrenceId: string, requestOptions?: RequestOptions) => Promise<{
accountId: string;
createdAt: string;
endDate: string;
endTime: string;
eventId: string;
id: string;
isDeleted: boolean;
organisationId: string;
startDate: string;
startTime: string;
status: "cancelled" | "draft" | "on_sale" | "sold_out" | "completed";
timezone: string;
updatedAt: string;
venueId?: string;
}>;
list: (options?: {
limit?: string;
page?: string;
startDateFrom?: string;
startDateTo?: string;
status?: "cancelled" | "draft" | "on_sale" | "sold_out" | "completed";
venueId?: string;
}, requestOptions?: RequestOptions) => Promise<{
eventOccurrences: {
accountId: string;
createdAt: string;
endDate: string;
endTime: string;
eventId: string;
id: string;
isDeleted: boolean;
organisationId: string;
startDate: string;
startTime: string;
status: "cancelled" | "draft" | "on_sale" | "sold_out" | "completed";
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?: "cancelled" | "draft" | "on_sale" | "sold_out" | "completed";
ticketSchemeId?: any;
timezone?: string;
venueId?: any;
venueLayoutId?: any;
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
createdAt: string;
endDate: string;
endTime: string;
eventId: string;
id: string;
isDeleted: boolean;
organisationId: string;
startDate: string;
startTime: string;
status: "cancelled" | "draft" | "on_sale" | "sold_out" | "completed";
timezone: string;
updatedAt: string;
venueId?: string;
}>;
};
offers: {
get: (options?: {
at?: string;
cartId?: string;
code?: string;
customerId?: string;
occurrenceId?: string;
quantity?: string;
view?: "buyer" | "staff";
}, requestOptions?: RequestOptions) => Promise<{
channel: {
id: string;
name: string;
slug: string;
};
context: {
at: string;
cartId: string | null;
code: string | null;
codeApplied: boolean;
codes: {
code: string;
id: string;
label: string;
source: ... | ...;
}[];
customerId: string | null;
quantity: number;
view: "buyer" | "staff";
};
event: {
id: string;
name: string;
timezone: string;
};
limits: {
maxOrderValue: number;
maxPerOrder: number;
minPerOrder: number;
};
occurrences: {
availability: {
closesAt: ... | ...;
opensAt: ... | ...;
reason: ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ...;
state: ... | ... | ... | ... | ... | ...;
};
endsAt: string | null;
id: string;
offers: {
availability: ...;
categoryId: ...;
categoryName: ...;
description: ...;
limits: ...;
price: ...;
quote: ...;
remaining: ...;
ticketTypeId: ...;
ticketTypeName: ...;
unlock: ...;
}[];
startsAt: string | null;
status: string;
timezone: string;
}[];
summary: {
currency: string | null;
from: number | null;
state: | "on_sale"
| "sold_out"
| "locked"
| "hidden"
| "not_yet_on_sale"
| "off_sale"
| null;
to: number | null;
};
}>;
};
plans: {
addKills: (request: {
reason?: any;
seats: number[];
}, requestOptions?: RequestOptions) => Promise<{
eventPlan: {
accountId: string;
categories: {
color?: ... | ...;
defaultTicketTypeId?: ... | ... | ...;
description?: ... | ...;
displayOrder: number;
id: string;
name: string;
}[];
createdAt: string;
createdBy: string | null;
eventId: string;
hasSales: boolean;
id: string;
ranking: | {
[key: string]: unknown;
}
| null;
renderVariant: string | null;
seatCount: number;
sellingRules?: | {
[key: string]: unknown;
}
| null;
updatedAt: string;
venuePlanId: string;
venuePlanVersionId: string;
};
seats?: {
category: (... | ...)[];
killed: number[];
};
}>;
create: (request: {
categories?: {
color?: string;
defaultTicketTypeId?: any;
description?: string;
displayOrder?: number;
id?: string;
name: string;
}[];
ranking?: any;
renderVariant?: any;
sellingRules?: any;
venuePlanVersionId: string;
}, requestOptions?: RequestOptions) => Promise<{
eventPlan: {
accountId: string;
categories: {
color?: ... | ...;
defaultTicketTypeId?: ... | ... | ...;
description?: ... | ...;
displayOrder: number;
id: string;
name: string;
}[];
createdAt: string;
createdBy: string | null;
eventId: string;
hasSales: boolean;
id: string;
ranking: | {
[key: string]: unknown;
}
| null;
renderVariant: string | null;
seatCount: number;
sellingRules?: | {
[key: string]: unknown;
}
| null;
updatedAt: string;
venuePlanId: string;
venuePlanVersionId: string;
};
seats?: {
category: (... | ...)[];
killed: number[];
};
}>;
get: (options?: {
include?: "seats";
}, requestOptions?: RequestOptions) => Promise<{
eventPlan: {
accountId: string;
categories: {
color?: ... | ...;
defaultTicketTypeId?: ... | ... | ...;
description?: ... | ...;
displayOrder: number;
id: string;
name: string;
}[];
createdAt: string;
createdBy: string | null;
eventId: string;
hasSales: boolean;
id: string;
ranking: | {
[key: string]: unknown;
}
| null;
renderVariant: string | null;
seatCount: number;
sellingRules?: | {
[key: string]: unknown;
}
| null;
updatedAt: string;
venuePlanId: string;
venuePlanVersionId: string;
};
seats?: {
category: (... | ...)[];
killed: number[];
};
}>;
liftKills: (request: {
seats: number[];
}, requestOptions?: RequestOptions) => Promise<{
eventPlan: {
accountId: string;
categories: {
color?: ... | ...;
defaultTicketTypeId?: ... | ... | ...;
description?: ... | ...;
displayOrder: number;
id: string;
name: string;
}[];
createdAt: string;
createdBy: string | null;
eventId: string;
hasSales: boolean;
id: string;
ranking: | {
[key: string]: unknown;
}
| null;
renderVariant: string | null;
seatCount: number;
sellingRules?: | {
[key: string]: unknown;
}
| null;
updatedAt: string;
venuePlanId: string;
venuePlanVersionId: string;
};
seats?: {
category: (... | ...)[];
killed: number[];
};
}>;
setSeatCategories: (request: {
assignments: {
categoryId: any;
seats: number[];
}[];
}, requestOptions?: RequestOptions) => Promise<{
eventPlan: {
accountId: string;
categories: {
color?: ... | ...;
defaultTicketTypeId?: ... | ... | ...;
description?: ... | ...;
displayOrder: number;
id: string;
name: string;
}[];
createdAt: string;
createdBy: string | null;
eventId: string;
hasSales: boolean;
id: string;
ranking: | {
[key: string]: unknown;
}
| null;
renderVariant: string | null;
seatCount: number;
sellingRules?: | {
[key: string]: unknown;
}
| null;
updatedAt: string;
venuePlanId: string;
venuePlanVersionId: string;
};
seats?: {
category: (... | ...)[];
killed: number[];
};
}>;
update: (request: {
categories?: {
color?: string;
defaultTicketTypeId?: any;
description?: string;
displayOrder?: number;
id?: string;
name: string;
}[];
ranking?: any;
renderVariant?: any;
sellingRules?: any;
}, requestOptions?: RequestOptions) => Promise<{
eventPlan: {
accountId: string;
categories: {
color?: ... | ...;
defaultTicketTypeId?: ... | ... | ...;
description?: ... | ...;
displayOrder: number;
id: string;
name: string;
}[];
createdAt: string;
createdBy: string | null;
eventId: string;
hasSales: boolean;
id: string;
ranking: | {
[key: string]: unknown;
}
| null;
renderVariant: string | null;
seatCount: number;
sellingRules?: | {
[key: string]: unknown;
}
| null;
updatedAt: string;
venuePlanId: string;
venuePlanVersionId: string;
};
seats?: {
category: (... | ...)[];
killed: number[];
};
}>;
};
priceschemes: {
create: (request: {
channelPrices?: {
categoryId: string;
channelId: string;
price: number;
tags?: ...[];
typeId: string;
unlockTags?: any;
visibility?: "locked" | "hidden" | "null";
}[];
currency?: "GBP" | "USD" | "EUR" | "AUD" | "CAD";
description?: string;
name: string;
parentPriceSchemeId?: string;
status?: "active" | "draft" | "archived";
ticketPrices?: {
categoryId: string;
currency?: "GBP" | "USD" | "EUR" | "AUD" | "CAD";
price: number;
tags?: ...[];
typeId: string;
unlockTags?: any;
visibility?: "public" | "locked" | "hidden" | "null";
}[];
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
channelPrices: {
categoryId: string;
channelId: string;
price: number;
tags?: ...[];
typeId: string;
unlockTags?: ...[];
visibility?: "locked" | "hidden";
}[];
createdAt: string;
currency: "GBP" | "USD" | "EUR" | "AUD" | "CAD" | null;
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;
tags?: ...[];
typeId: string;
unlockTags?: ...[];
visibility?: "public" | "locked" | "hidden";
}[];
updatedAt: string;
}>;
delete: (priceSchemeId: string, requestOptions?: RequestOptions) => Promise<{
id: string;
success: boolean;
}>;
get: (priceSchemeId: string, requestOptions?: RequestOptions) => Promise<{
accountId: string;
channelPrices: {
categoryId: string;
channelId: string;
price: number;
tags?: ...[];
typeId: string;
unlockTags?: ...[];
visibility?: "locked" | "hidden";
}[];
createdAt: string;
currency: "GBP" | "USD" | "EUR" | "AUD" | "CAD" | null;
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;
tags?: ...[];
typeId: string;
unlockTags?: ...[];
visibility?: "public" | "locked" | "hidden";
}[];
updatedAt: string;
}>;
list: (requestOptions?: RequestOptions) => Promise<{
accountId: string;
channelPrices: {
categoryId: string;
channelId: string;
price: number;
tags?: ... | ...;
typeId: string;
unlockTags?: ... | ...;
visibility?: ... | ... | ...;
}[];
createdAt: string;
currency: "GBP" | "USD" | "EUR" | "AUD" | "CAD" | null;
description?: string;
eventId: string;
id: string;
isDeleted: boolean;
name: string;
organisationId: string;
parentPriceSchemeId?: string;
status: "active" | "draft" | "archived";
ticketPrices: {
categoryId: string;
currency: ... | ... | ... | ... | ...;
price: number;
tags?: ... | ...;
typeId: string;
unlockTags?: ... | ...;
visibility?: ... | ... | ... | ...;
}[];
updatedAt: string;
}[]>;
update: (priceSchemeId: string, request: {
channelPrices?: {
categoryId: string;
channelId: string;
price: number;
tags?: ...[];
typeId: string;
unlockTags?: any;
visibility?: "locked" | "hidden" | "null";
}[];
currency?: "GBP" | "USD" | "EUR" | "AUD" | "CAD";
description?: any;
name?: string;
status?: "active" | "draft" | "archived";
ticketPrices?: {
categoryId: string;
currency?: "GBP" | "USD" | "EUR" | "AUD" | "CAD";
price: number;
tags?: ...[];
typeId: string;
unlockTags?: any;
visibility?: "public" | "locked" | "hidden" | "null";
}[];
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
channelPrices: {
categoryId: string;
channelId: string;
price: number;
tags?: ...[];
typeId: string;
unlockTags?: ...[];
visibility?: "locked" | "hidden";
}[];
createdAt: string;
currency: "GBP" | "USD" | "EUR" | "AUD" | "CAD" | null;
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;
tags?: ...[];
typeId: string;
unlockTags?: ...[];
visibility?: "public" | "locked" | "hidden";
}[];
updatedAt: string;
}>;
};
} & {
addNote: (id: string, request: {
body: string;
tier?: "internal" | "restricted";
}, requestOptions?: RequestOptions) => Promise<{
author: {
id: string | null;
kind: string;
};
body: string;
createdAt: string;
deletedAt: string | null;
editedAt: string | null;
id: string;
legacyField: string | null;
objectId: string;
objectType: string;
redactedAt: string | null;
tier: "internal" | "restricted";
}>;
applyLayoutChanges: (eventId: string, request: {
accountId: string;
changes: {
addedSeats?: {
areaId: string;
id: string;
isAccessible?: boolean;
isCompanion?: boolean;
number: string;
priceCategory?: string;
row: string;
}[];
capacityChanges?: {
areaId: string;
newCapacity: number;
oldCapacity: number;
}[];
removedSeats?: string[];
seatAttributeChanges?: {
changes: {
isAccessible?: boolean;
isCompanion?: boolean;
priceCategory?: string;
};
seatId: string;
}[];
};
futureOnly: boolean;
}, requestOptions?: RequestOptions) => Promise<any>;
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;
presentation?: any;
rules?: {
discoverable?: {
open: boolean;
windows: {
audience?: ... | ... | ...;
audienceTags?: ... | ...;
from: ... | ...;
until: ... | ...;
}[];
};
sellable?: {
open: boolean;
windows: {
audience?: ... | ... | ...;
audienceTags?: ... | ...;
from: ... | ...;
until: ... | ...;
}[];
};
visible?: {
open: boolean;
windows: {
audience?: ... | ... | ...;
audienceTags?: ... | ...;
from: ... | ...;
until: ... | ...;
}[];
};
};
shortDescription?: any;
status?: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle?: any;
tags?: string[];
ticketTypes?: {
description?: string;
displayOrder: number;
id?: string;
name: string;
tags?: string[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: string[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone?: string;
venueId?: any;
venueName?: any;
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
contentUpdatedAt: string;
createdAt: string;
createdBy?: string;
defaultPriceSchemeId: string | null;
description?: string;
heroImageUrl: string | null;
id: string;
images: {
card: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
hero: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
};
imageUrl: string | null;
isDeleted: boolean;
name: string;
occurrenceCount: number;
organisationId: 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;
productCount: number;
rules: {
discoverable: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
sellable: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
visible: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
};
shortDescription: string | null;
status: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle: string | null;
tags: string[];
ticketCount: number;
ticketTypes: {
description?: string;
displayOrder: number;
id: string;
name: string;
requiredBenefit?: string;
tags?: string[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: string[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone: string;
updatedAt: string;
venueId?: string;
venueName: string | null;
version: number;
}>;
delete: (id: string, requestOptions?: RequestOptions) => Promise<{
id: string;
success: boolean;
}>;
deleteNote: (id: string, noteId: string, requestOptions?: RequestOptions) => Promise<{
author: {
id: string | null;
kind: string;
};
body: string;
createdAt: string;
deletedAt: string | null;
editedAt: string | null;
id: string;
legacyField: string | null;
objectId: string;
objectType: string;
redactedAt: string | null;
tier: "internal" | "restricted";
}>;
get: (id: string, options?: {
include?: ("occurrences" | "prices" | "venue")[];
}, requestOptions?: RequestOptions) => Promise<{
channel: | {
id: string;
name: string;
slug: string;
}
| null;
event: {
accountId: string;
contentUpdatedAt: string;
createdAt: string;
createdBy?: string;
defaultPriceSchemeId: string | null;
description?: string;
heroImageUrl: string | null;
id: string;
images: {
card: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
hero: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
};
imageUrl: string | null;
isDeleted: boolean;
listing: | {
closesAt: string | null;
currency: string | null;
discoverable: boolean;
id: string;
nextOccurrenceAt: string | null;
opensAt: string | null;
priceFrom: number | null;
sellable: boolean;
visible: boolean;
}
| null;
name: string;
occurrenceCount: number;
occurrences?: {
endDate: string;
endsAt: string | null;
endTime: string;
id: string;
startDate: string;
startsAt: string | null;
startTime: string;
status: "cancelled" | "draft" | "on_sale" | "sold_out" | "completed";
timezone: string;
venueId: string | null;
venueName: string | null;
}[];
occurrencesTruncated?: boolean;
organisationId: string;
presentation: | {
buttonSize?: "small" | "medium" | "large";
cinemaGradient?: {
position: ... | ...;
strength: ... | ... | ...;
};
heroLayout?: {
size: ... | ... | ...;
type: ... | ...;
};
navbar?: {
transparent?: ... | ... | ...;
};
twoColumnSplit?: [number, number];
}
| null;
prices?: | {
currency: string | null;
feesIncluded: boolean;
from: number | null;
sellable: boolean;
state: | "on_sale"
| "sold_out"
| "locked"
| "hidden"
| "not_yet_on_sale"
| "off_sale"
| null;
to: number | null;
}
| {
byChannel: {
channel: {
id: ...;
name: ...;
slug: ...;
};
currency: ... | ...;
feesIncluded: boolean;
from: ... | ...;
sellable: boolean;
state: ... | ... | ... | ... | ... | ... | ...;
to: ... | ...;
}[];
};
productCount: number;
rules: {
discoverable: {
open: boolean;
windows: {
audience: ... | ...;
audienceTags: ...[];
from: ... | ...;
until: ... | ...;
}[];
};
sellable: {
open: boolean;
windows: {
audience: ... | ...;
audienceTags: ...[];
from: ... | ...;
until: ... | ...;
}[];
};
visible: {
open: boolean;
windows: {
audience: ... | ...;
audienceTags: ...[];
from: ... | ...;
until: ... | ...;
}[];
};
};
shortDescription: string | null;
status: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle: string | null;
tags: string[];
ticketCount: number;
ticketTypes: {
description?: string;
displayOrder: number;
id: string;
name: string;
requiredBenefit?: string;
tags?: string[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: string[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone: string;
updatedAt: string;
venue?: | {
city: string | null;
coordinates: | {
latitude: number;
longitude: number;
}
| null;
country: string | null;
id: string;
name: string;
streetAddress: string | null;
timezone: string;
website: string | null;
}
| null;
venueId?: string;
venueName: string | null;
version: number;
};
}>;
getHistory: (id: string, options?: {
cursor?: string;
limit?: number;
}, requestOptions?: RequestOptions) => Promise<{
history: {
actor: {
id: string | null;
kind: string;
};
at: string;
changes: {
[key: string]: {
from?: unknown;
to?: unknown;
};
};
id: string;
kind: string;
objectId: string;
objectType: string;
redacted: boolean;
requestId: string | null;
version: number | null;
}[];
nextCursor: string | null;
}>;
getLayout: (eventId: string, requestOptions?: RequestOptions) => Promise<unknown>;
getLayoutChangeResult: (eventId: string, workflowId: string, requestOptions?: RequestOptions) => Promise<{
result?: unknown;
status: string;
workflowId: string;
}>;
list: (options?: {
accountId?: string;
cursor?: string;
include?: ("occurrences" | "prices" | "venue")[];
limit?: string;
page?: string;
search?: string;
status?: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
updatedSince?: string;
venueId?: string;
visibility?: "discoverable" | "visible";
}, requestOptions?: RequestOptions) => Promise<{
channel: | {
id: string;
name: string;
slug: string;
}
| null;
events: {
accountId: string;
contentUpdatedAt: string;
createdAt: string;
createdBy?: string;
defaultPriceSchemeId: string | null;
description?: string;
heroImageUrl: string | null;
id: string;
images: {
card: | {
alt: ... | ...;
contentType: ... | ...;
height: ... | ...;
url: string;
width: ... | ...;
}
| null;
hero: | {
alt: ... | ...;
contentType: ... | ...;
height: ... | ...;
url: string;
width: ... | ...;
}
| null;
};
imageUrl: string | null;
isDeleted: boolean;
listing: | {
closesAt: string | null;
currency: string | null;
discoverable: boolean;
id: string;
nextOccurrenceAt: string | null;
opensAt: string | null;
priceFrom: number | null;
sellable: boolean;
visible: boolean;
}
| null;
name: string;
occurrenceCount: number;
occurrences?: {
endDate: string;
endsAt: ... | ...;
endTime: string;
id: string;
startDate: string;
startsAt: ... | ...;
startTime: string;
status: ... | ... | ... | ... | ...;
timezone: string;
venueId: ... | ...;
venueName: ... | ...;
}[];
occurrencesTruncated?: boolean;
organisationId: string;
presentation: | {
buttonSize?: "small" | "medium" | "large";
cinemaGradient?: {
position: ...;
strength: ...;
};
heroLayout?: {
size: ...;
type: ...;
};
navbar?: {
transparent?: ...;
};
twoColumnSplit?: [..., ...];
}
| null;
prices?: | {
currency: string | null;
feesIncluded: boolean;
from: number | null;
sellable: boolean;
state: | "on_sale"
| "sold_out"
| "locked"
| "hidden"
| "not_yet_on_sale"
| "off_sale"
| null;
to: number | null;
}
| {
byChannel: {
channel: ...;
currency: ...;
feesIncluded: ...;
from: ...;
sellable: ...;
state: ...;
to: ...;
}[];
};
productCount: number;
rules: {
discoverable: {
open: boolean;
windows: {
audience: ...;
audienceTags: ...;
from: ...;
until: ...;
}[];
};
sellable: {
open: boolean;
windows: {
audience: ...;
audienceTags: ...;
from: ...;
until: ...;
}[];
};
visible: {
open: boolean;
windows: {
audience: ...;
audienceTags: ...;
from: ...;
until: ...;
}[];
};
};
shortDescription: string | null;
status: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle: string | null;
tags: string[];
ticketCount: number;
ticketTypes: {
description?: string;
displayOrder: number;
id: string;
name: string;
requiredBenefit?: string;
tags?: ...[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: ...[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone: string;
updatedAt: string;
venue?: | {
city: string | null;
coordinates: | {
latitude: ...;
longitude: ...;
}
| null;
country: string | null;
id: string;
name: string;
streetAddress: string | null;
timezone: string;
website: string | null;
}
| null;
venueId?: string;
venueName: string | null;
version: number;
}[];
pagination: {
hasNext: boolean;
hasPrev: boolean;
limit: number;
nextCursor: string | null;
page: number;
total: number;
totalPages: number;
};
}>;
listNotes: (id: string, options?: {
cursor?: string;
limit?: number;
}, requestOptions?: RequestOptions) => Promise<{
nextCursor: string | null;
notes: {
author: {
id: string | null;
kind: string;
};
body: string;
createdAt: string;
deletedAt: string | null;
editedAt: string | null;
id: string;
legacyField: string | null;
objectId: string;
objectType: string;
redactedAt: string | null;
tier: "internal" | "restricted";
}[];
}>;
streamLayoutChangeProgress: (eventId: string, workflowId: string, requestOptions?: RequestOptions) => Promise<any>;
update: (id: string, request: {
description?: any;
expectedVersion?: number;
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;
presentation?: any;
rules?: {
discoverable?: {
open: boolean;
windows: {
audience?: ... | ... | ...;
audienceTags?: ... | ...;
from: ... | ...;
until: ... | ...;
}[];
};
sellable?: {
open: boolean;
windows: {
audience?: ... | ... | ...;
audienceTags?: ... | ...;
from: ... | ...;
until: ... | ...;
}[];
};
visible?: {
open: boolean;
windows: {
audience?: ... | ... | ...;
audienceTags?: ... | ...;
from: ... | ...;
until: ... | ...;
}[];
};
};
shortDescription?: any;
status?: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle?: any;
tags?: string[];
ticketTypes?: {
description?: string;
displayOrder: number;
id?: string;
name: string;
tags?: string[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: string[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone?: string;
venueId?: any;
venueName?: any;
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
contentUpdatedAt: string;
createdAt: string;
createdBy?: string;
defaultPriceSchemeId: string | null;
description?: string;
heroImageUrl: string | null;
id: string;
images: {
card: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
hero: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
};
imageUrl: string | null;
isDeleted: boolean;
name: string;
occurrenceCount: number;
organisationId: 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;
productCount: number;
rules: {
discoverable: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
sellable: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
visible: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
};
shortDescription: string | null;
status: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle: string | null;
tags: string[];
ticketCount: number;
ticketTypes: {
description?: string;
displayOrder: number;
id: string;
name: string;
requiredBenefit?: string;
tags?: string[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: string[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone: string;
updatedAt: string;
venueId?: string;
venueName: string | null;
version: number;
}>;
updateNote: (id: string, noteId: string, request: {
body?: string;
tier?: "internal" | "restricted";
}, requestOptions?: RequestOptions) => Promise<{
author: {
id: string | null;
kind: string;
};
body: string;
createdAt: string;
deletedAt: string | null;
editedAt: string | null;
id: string;
legacyField: string | null;
objectId: string;
objectType: string;
redactedAt: string | null;
tier: "internal" | "restricted";
}>;
validateLayoutChanges: (eventId: string, request: {
accountId: string;
changes: {
addedSeats?: {
areaId: string;
id: string;
isAccessible?: boolean;
isCompanion?: boolean;
number: string;
priceCategory?: string;
row: string;
}[];
capacityChanges?: {
areaId: string;
newCapacity: number;
oldCapacity: number;
}[];
removedSeats?: string[];
seatAttributeChanges?: {
changes: {
isAccessible?: boolean;
isCompanion?: boolean;
priceCategory?: string;
};
seatId: string;
}[];
};
futureOnly: boolean;
}, requestOptions?: RequestOptions) => Promise<{
validation?: unknown;
workflowId: string;
}>;
};Defined in: client.ts:2502
Events methods Use events() to access nested resources: events(id).offers, occurrences, priceschemes, plans
Type Declaration#
addNote()#
addNote: (id: string, request: {
body: string;
tier?: "internal" | "restricted";
}, requestOptions?: RequestOptions) => Promise<{
author: {
id: string | null;
kind: string;
};
body: string;
createdAt: string;
deletedAt: string | null;
editedAt: string | null;
id: string;
legacyField: string | null;
objectId: string;
objectType: string;
redactedAt: string | null;
tier: "internal" | "restricted";
}>;Add event note Add a staff note to an event, internal by default. Needs the permission to update the event; a restricted note also needs the restricted update permission (403 NOTE_TIER_FORBIDDEN). The note, and every later change to it, is in the event's history.
Parameters#
| Parameter | Type | Description |
|---|---|---|
id | string | - |
request | { body: string; tier?: "internal" | "restricted"; } | - |
request.body | string | Description Markdown Example Comp for the promoter. |
request.tier? | "internal" | "restricted" | Description Default internal Example internal @enum {string} |
requestOptions? | RequestOptions | - |
Returns#
Promise<{
author: {
id: string | null;
kind: string;
};
body: string;
createdAt: string;
deletedAt: string | null;
editedAt: string | null;
id: string;
legacyField: string | null;
objectId: string;
objectType: string;
redactedAt: string | null;
tier: "internal" | "restricted";
}>
Operation Id#
createEventNote
applyLayoutChanges()#
applyLayoutChanges: (eventId: string, request: {
accountId: string;
changes: {
addedSeats?: {
areaId: string;
id: string;
isAccessible?: boolean;
isCompanion?: boolean;
number: string;
priceCategory?: string;
row: string;
}[];
capacityChanges?: {
areaId: string;
newCapacity: number;
oldCapacity: number;
}[];
removedSeats?: string[];
seatAttributeChanges?: {
changes: {
isAccessible?: boolean;
isCompanion?: boolean;
priceCategory?: string;
};
seatId: string;
}[];
};
futureOnly: boolean;
}, requestOptions?: RequestOptions) => Promise<any>;Apply layout changes Starts the workflow that applies a set of layout changes to an event and its occurrences, and answers with the workflow id to follow.
Parameters#
| Parameter | Type | Description |
|---|---|---|
eventId | string | - |
request | { accountId: string; changes: { addedSeats?: { areaId: string; id: string; isAccessible?: boolean; isCompanion?: boolean; number: string; priceCategory?: string; row: string; }[]; capacityChanges?: { areaId: string; newCapacity: number; oldCapacity: number; }[]; removedSeats?: string[]; seatAttributeChanges?: { changes: { isAccessible?: boolean; isCompanion?: boolean; priceCategory?: string; }; seatId: string; }[]; }; futureOnly: boolean; } | - |
request.accountId | string | Description Account ID that owns the event Example acc_abc123 |
request.changes? | { addedSeats?: { areaId: string; id: string; isAccessible?: boolean; isCompanion?: boolean; number: string; priceCategory?: string; row: string; }[]; capacityChanges?: { areaId: string; newCapacity: number; oldCapacity: number; }[]; removedSeats?: string[]; seatAttributeChanges?: { changes: { isAccessible?: boolean; isCompanion?: boolean; priceCategory?: string; }; seatId: string; }[]; } | Description Layout changes to apply |
request.changes.addedSeats? | { areaId: string; id: string; isAccessible?: boolean; isCompanion?: boolean; number: string; priceCategory?: string; row: string; }[] | Description New seats to add |
request.changes.capacityChanges? | { areaId: string; newCapacity: number; oldCapacity: number; }[] | Description Capacity changes for unallocated areas |
request.changes.removedSeats? | string[] | Description Event layout seat IDs to remove Example [ "eas_seat1", "eas_seat2" ] |
request.changes.seatAttributeChanges? | { changes: { isAccessible?: boolean; isCompanion?: boolean; priceCategory?: string; }; seatId: string; }[] | Description Attribute changes for existing seats |
request.futureOnly? | boolean | Description Only apply to future occurrences (default: true) Default true |
requestOptions? | RequestOptions | - |
Returns#
Promise<any>
Operation Id#
applyEventLayoutChanges
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;
presentation?: any;
rules?: {
discoverable?: {
open: boolean;
windows: {
audience?: ... | ... | ...;
audienceTags?: ... | ...;
from: ... | ...;
until: ... | ...;
}[];
};
sellable?: {
open: boolean;
windows: {
audience?: ... | ... | ...;
audienceTags?: ... | ...;
from: ... | ...;
until: ... | ...;
}[];
};
visible?: {
open: boolean;
windows: {
audience?: ... | ... | ...;
audienceTags?: ... | ...;
from: ... | ...;
until: ... | ...;
}[];
};
};
shortDescription?: any;
status?: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle?: any;
tags?: string[];
ticketTypes?: {
description?: string;
displayOrder: number;
id?: string;
name: string;
tags?: string[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: string[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone?: string;
venueId?: any;
venueName?: any;
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
contentUpdatedAt: string;
createdAt: string;
createdBy?: string;
defaultPriceSchemeId: string | null;
description?: string;
heroImageUrl: string | null;
id: string;
images: {
card: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
hero: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
};
imageUrl: string | null;
isDeleted: boolean;
name: string;
occurrenceCount: number;
organisationId: 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;
productCount: number;
rules: {
discoverable: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
sellable: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
visible: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
};
shortDescription: string | null;
status: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle: string | null;
tags: string[];
ticketCount: number;
ticketTypes: {
description?: string;
displayOrder: number;
id: string;
name: string;
requiredBenefit?: string;
tags?: string[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: string[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone: string;
updatedAt: string;
venueId?: string;
venueName: string | null;
version: number;
}>;Create event Create a new event in the organisation
Parameters#
| Parameter | Type | Description |
|---|---|---|
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; presentation?: any; rules?: { discoverable?: { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; }; sellable?: { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; }; visible?: { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; }; }; shortDescription?: any; status?: | "cancelled" | "draft" | "published" | "on_sale" | "sold_out" | "completed"; subtitle?: any; tags?: string[]; ticketTypes?: { description?: string; displayOrder: number; id?: string; name: string; tags?: string[]; taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable"; unlockTags?: string[]; visibility?: "public" | "locked" | "hidden"; }[]; timezone?: string; venueId?: any; venueName?: any; } | - |
request.accountId | string | - |
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.name? | string | - |
request.presentation? | any | - |
request.rules? | { discoverable?: { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; }; sellable?: { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; }; visible?: { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; }; } | - |
request.rules.discoverable? | { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; } | - |
request.rules.discoverable.open? | boolean | Description false is closed whatever the windows say; true with no windows is always Example true |
request.rules.discoverable.windows? | { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[] | Description With open true, the rule holds when any window matches now and the caller |
request.rules.sellable? | { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; } | - |
request.rules.sellable.open? | boolean | Description false is closed whatever the windows say; true with no windows is always Example true |
request.rules.sellable.windows? | { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[] | Description With open true, the rule holds when any window matches now and the caller |
request.rules.visible? | { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; } | - |
request.rules.visible.open? | boolean | Description false is closed whatever the windows say; true with no windows is always Example true |
request.rules.visible.windows? | { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[] | Description With open true, the rule holds when any window matches now and the caller |
request.shortDescription? | any | - |
request.status? | | "cancelled" | "draft" | "published" | "on_sale" | "sold_out" | "completed" | - |
request.subtitle? | any | - |
request.tags? | string[] | - |
request.ticketTypes? | { description?: string; displayOrder: number; id?: string; name: string; tags?: string[]; taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable"; unlockTags?: string[]; visibility?: "public" | "locked" | "hidden"; }[] | - |
request.timezone? | string | - |
request.venueId? | any | - |
request.venueName? | any | - |
requestOptions? | RequestOptions | - |
Returns#
Promise<{
accountId: string;
contentUpdatedAt: string;
createdAt: string;
createdBy?: string;
defaultPriceSchemeId: string | null;
description?: string;
heroImageUrl: string | null;
id: string;
images: {
card: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
hero: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
};
imageUrl: string | null;
isDeleted: boolean;
name: string;
occurrenceCount: number;
organisationId: 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;
productCount: number;
rules: {
discoverable: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
sellable: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
visible: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
};
shortDescription: string | null;
status: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle: string | null;
tags: string[];
ticketCount: number;
ticketTypes: {
description?: string;
displayOrder: number;
id: string;
name: string;
requiredBenefit?: string;
tags?: string[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: string[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone: string;
updatedAt: string;
venueId?: string;
venueName: string | null;
version: number;
}>
Operation Id#
createEvent
delete()#
delete: (id: string, requestOptions?: RequestOptions) => Promise<{
id: string;
success: boolean;
}>;Delete event Delete an event (soft delete)
Parameters#
| Parameter | Type |
|---|---|
id | string |
requestOptions? | RequestOptions |
Returns#
Promise<{
id: string;
success: boolean;
}>
Operation Id#
deleteEvent
deleteNote()#
deleteNote: (id: string, noteId: string, requestOptions?: RequestOptions) => Promise<{
author: {
id: string | null;
kind: string;
};
body: string;
createdAt: string;
deletedAt: string | null;
editedAt: string | null;
id: string;
legacyField: string | null;
objectId: string;
objectType: string;
redactedAt: string | null;
tier: "internal" | "restricted";
}>;Delete event note Delete a note. Its author only (403 NOTE_AUTHOR_ONLY). It leaves the list; the event's history keeps what it said.
Parameters#
| Parameter | Type |
|---|---|
id | string |
noteId | string |
requestOptions? | RequestOptions |
Returns#
Promise<{
author: {
id: string | null;
kind: string;
};
body: string;
createdAt: string;
deletedAt: string | null;
editedAt: string | null;
id: string;
legacyField: string | null;
objectId: string;
objectType: string;
redactedAt: string | null;
tier: "internal" | "restricted";
}>
Operation Id#
deleteEventNote
get()#
get: (id: string, options?: {
include?: ("occurrences" | "prices" | "venue")[];
}, requestOptions?: RequestOptions) => Promise<{
channel: | {
id: string;
name: string;
slug: string;
}
| null;
event: {
accountId: string;
contentUpdatedAt: string;
createdAt: string;
createdBy?: string;
defaultPriceSchemeId: string | null;
description?: string;
heroImageUrl: string | null;
id: string;
images: {
card: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
hero: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
};
imageUrl: string | null;
isDeleted: boolean;
listing: | {
closesAt: string | null;
currency: string | null;
discoverable: boolean;
id: string;
nextOccurrenceAt: string | null;
opensAt: string | null;
priceFrom: number | null;
sellable: boolean;
visible: boolean;
}
| null;
name: string;
occurrenceCount: number;
occurrences?: {
endDate: string;
endsAt: string | null;
endTime: string;
id: string;
startDate: string;
startsAt: string | null;
startTime: string;
status: "cancelled" | "draft" | "on_sale" | "sold_out" | "completed";
timezone: string;
venueId: string | null;
venueName: string | null;
}[];
occurrencesTruncated?: boolean;
organisationId: string;
presentation: | {
buttonSize?: "small" | "medium" | "large";
cinemaGradient?: {
position: ... | ...;
strength: ... | ... | ...;
};
heroLayout?: {
size: ... | ... | ...;
type: ... | ...;
};
navbar?: {
transparent?: ... | ... | ...;
};
twoColumnSplit?: [number, number];
}
| null;
prices?: | {
currency: string | null;
feesIncluded: boolean;
from: number | null;
sellable: boolean;
state: | "on_sale"
| "sold_out"
| "locked"
| "hidden"
| "not_yet_on_sale"
| "off_sale"
| null;
to: number | null;
}
| {
byChannel: {
channel: {
id: ...;
name: ...;
slug: ...;
};
currency: ... | ...;
feesIncluded: boolean;
from: ... | ...;
sellable: boolean;
state: ... | ... | ... | ... | ... | ... | ...;
to: ... | ...;
}[];
};
productCount: number;
rules: {
discoverable: {
open: boolean;
windows: {
audience: ... | ...;
audienceTags: ...[];
from: ... | ...;
until: ... | ...;
}[];
};
sellable: {
open: boolean;
windows: {
audience: ... | ...;
audienceTags: ...[];
from: ... | ...;
until: ... | ...;
}[];
};
visible: {
open: boolean;
windows: {
audience: ... | ...;
audienceTags: ...[];
from: ... | ...;
until: ... | ...;
}[];
};
};
shortDescription: string | null;
status: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle: string | null;
tags: string[];
ticketCount: number;
ticketTypes: {
description?: string;
displayOrder: number;
id: string;
name: string;
requiredBenefit?: string;
tags?: string[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: string[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone: string;
updatedAt: string;
venue?: | {
city: string | null;
coordinates: | {
latitude: number;
longitude: number;
}
| null;
country: string | null;
id: string;
name: string;
streetAddress: string | null;
timezone: string;
website: string | null;
}
| null;
venueId?: string;
venueName: string | null;
version: number;
};
}>;Get event Get a specific event by ID, with its content fields and images. With X-Ticketlayer-Channel, the event as that channel shows it, and 404 when the channel does not show it right now (a link-only listing is shown). include=occurrences returns every occurrence (on a channel, the ones a buyer there sees); include=venue adds the venue.
Parameters#
| Parameter | Type |
|---|---|
id | string |
options? | { include?: ("occurrences" | "prices" | "venue")[]; } |
options.include? | ("occurrences" | "prices" | "venue")[] |
requestOptions? | RequestOptions |
Returns#
Promise<{
channel: | {
id: string;
name: string;
slug: string;
}
| null;
event: {
accountId: string;
contentUpdatedAt: string;
createdAt: string;
createdBy?: string;
defaultPriceSchemeId: string | null;
description?: string;
heroImageUrl: string | null;
id: string;
images: {
card: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
hero: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
};
imageUrl: string | null;
isDeleted: boolean;
listing: | {
closesAt: string | null;
currency: string | null;
discoverable: boolean;
id: string;
nextOccurrenceAt: string | null;
opensAt: string | null;
priceFrom: number | null;
sellable: boolean;
visible: boolean;
}
| null;
name: string;
occurrenceCount: number;
occurrences?: {
endDate: string;
endsAt: string | null;
endTime: string;
id: string;
startDate: string;
startsAt: string | null;
startTime: string;
status: "cancelled" | "draft" | "on_sale" | "sold_out" | "completed";
timezone: string;
venueId: string | null;
venueName: string | null;
}[];
occurrencesTruncated?: boolean;
organisationId: string;
presentation: | {
buttonSize?: "small" | "medium" | "large";
cinemaGradient?: {
position: ... | ...;
strength: ... | ... | ...;
};
heroLayout?: {
size: ... | ... | ...;
type: ... | ...;
};
navbar?: {
transparent?: ... | ... | ...;
};
twoColumnSplit?: [number, number];
}
| null;
prices?: | {
currency: string | null;
feesIncluded: boolean;
from: number | null;
sellable: boolean;
state: | "on_sale"
| "sold_out"
| "locked"
| "hidden"
| "not_yet_on_sale"
| "off_sale"
| null;
to: number | null;
}
| {
byChannel: {
channel: {
id: ...;
name: ...;
slug: ...;
};
currency: ... | ...;
feesIncluded: boolean;
from: ... | ...;
sellable: boolean;
state: ... | ... | ... | ... | ... | ... | ...;
to: ... | ...;
}[];
};
productCount: number;
rules: {
discoverable: {
open: boolean;
windows: {
audience: ... | ...;
audienceTags: ...[];
from: ... | ...;
until: ... | ...;
}[];
};
sellable: {
open: boolean;
windows: {
audience: ... | ...;
audienceTags: ...[];
from: ... | ...;
until: ... | ...;
}[];
};
visible: {
open: boolean;
windows: {
audience: ... | ...;
audienceTags: ...[];
from: ... | ...;
until: ... | ...;
}[];
};
};
shortDescription: string | null;
status: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle: string | null;
tags: string[];
ticketCount: number;
ticketTypes: {
description?: string;
displayOrder: number;
id: string;
name: string;
requiredBenefit?: string;
tags?: string[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: string[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone: string;
updatedAt: string;
venue?: | {
city: string | null;
coordinates: | {
latitude: number;
longitude: number;
}
| null;
country: string | null;
id: string;
name: string;
streetAddress: string | null;
timezone: string;
website: string | null;
}
| null;
venueId?: string;
venueName: string | null;
version: number;
};
}>
Operation Id#
getEvent
getHistory()#
getHistory: (id: string, options?: {
cursor?: string;
limit?: number;
}, requestOptions?: RequestOptions) => Promise<{
history: {
actor: {
id: string | null;
kind: string;
};
at: string;
changes: {
[key: string]: {
from?: unknown;
to?: unknown;
};
};
id: string;
kind: string;
objectId: string;
objectType: string;
redacted: boolean;
requestId: string | null;
version: number | null;
}[];
nextCursor: string | null;
}>;Get event history Every change to an event record (its dates, prices and layouts keep their own): who made it, when, from which request, and each field from and to. Newest first. Each change shows only the fields the caller may read: a change to a field above their tier is not shown, and a change made only to such fields is left out. Paged by cursor.
Parameters#
| Parameter | Type |
|---|---|
id | string |
options? | { cursor?: string; limit?: number; } |
options.cursor? | string |
options.limit? | number |
requestOptions? | RequestOptions |
Returns#
Promise<{
history: {
actor: {
id: string | null;
kind: string;
};
at: string;
changes: {
[key: string]: {
from?: unknown;
to?: unknown;
};
};
id: string;
kind: string;
objectId: string;
objectType: string;
redacted: boolean;
requestId: string | null;
version: number | null;
}[];
nextCursor: string | null;
}>
Operation Id#
getEventHistory
getLayout()#
getLayout: (eventId: string, requestOptions?: RequestOptions) => Promise<unknown>;Get event layout Gets the seating layout an event was built from, with the areas, categories and seats it holds.
Parameters#
| Parameter | Type |
|---|---|
eventId | string |
requestOptions? | RequestOptions |
Returns#
Promise<unknown>
Operation Id#
getEventLayout
getLayoutChangeResult()#
getLayoutChangeResult: (eventId: string, workflowId: string, requestOptions?: RequestOptions) => Promise<{
result?: unknown;
status: string;
workflowId: string;
}>;Get layout change result Reports where a layout change workflow has got to, and its result once it has finished.
Parameters#
| Parameter | Type |
|---|---|
eventId | string |
workflowId | string |
requestOptions? | RequestOptions |
Returns#
Promise<{
result?: unknown;
status: string;
workflowId: string;
}>
Operation Id#
getEventLayoutChangeResult
list()#
list: (options?: {
accountId?: string;
cursor?: string;
include?: ("occurrences" | "prices" | "venue")[];
limit?: string;
page?: string;
search?: string;
status?: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
updatedSince?: string;
venueId?: string;
visibility?: "discoverable" | "visible";
}, requestOptions?: RequestOptions) => Promise<{
channel: | {
id: string;
name: string;
slug: string;
}
| null;
events: {
accountId: string;
contentUpdatedAt: string;
createdAt: string;
createdBy?: string;
defaultPriceSchemeId: string | null;
description?: string;
heroImageUrl: string | null;
id: string;
images: {
card: | {
alt: ... | ...;
contentType: ... | ...;
height: ... | ...;
url: string;
width: ... | ...;
}
| null;
hero: | {
alt: ... | ...;
contentType: ... | ...;
height: ... | ...;
url: string;
width: ... | ...;
}
| null;
};
imageUrl: string | null;
isDeleted: boolean;
listing: | {
closesAt: string | null;
currency: string | null;
discoverable: boolean;
id: string;
nextOccurrenceAt: string | null;
opensAt: string | null;
priceFrom: number | null;
sellable: boolean;
visible: boolean;
}
| null;
name: string;
occurrenceCount: number;
occurrences?: {
endDate: string;
endsAt: ... | ...;
endTime: string;
id: string;
startDate: string;
startsAt: ... | ...;
startTime: string;
status: ... | ... | ... | ... | ...;
timezone: string;
venueId: ... | ...;
venueName: ... | ...;
}[];
occurrencesTruncated?: boolean;
organisationId: string;
presentation: | {
buttonSize?: "small" | "medium" | "large";
cinemaGradient?: {
position: ...;
strength: ...;
};
heroLayout?: {
size: ...;
type: ...;
};
navbar?: {
transparent?: ...;
};
twoColumnSplit?: [..., ...];
}
| null;
prices?: | {
currency: string | null;
feesIncluded: boolean;
from: number | null;
sellable: boolean;
state: | "on_sale"
| "sold_out"
| "locked"
| "hidden"
| "not_yet_on_sale"
| "off_sale"
| null;
to: number | null;
}
| {
byChannel: {
channel: ...;
currency: ...;
feesIncluded: ...;
from: ...;
sellable: ...;
state: ...;
to: ...;
}[];
};
productCount: number;
rules: {
discoverable: {
open: boolean;
windows: {
audience: ...;
audienceTags: ...;
from: ...;
until: ...;
}[];
};
sellable: {
open: boolean;
windows: {
audience: ...;
audienceTags: ...;
from: ...;
until: ...;
}[];
};
visible: {
open: boolean;
windows: {
audience: ...;
audienceTags: ...;
from: ...;
until: ...;
}[];
};
};
shortDescription: string | null;
status: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle: string | null;
tags: string[];
ticketCount: number;
ticketTypes: {
description?: string;
displayOrder: number;
id: string;
name: string;
requiredBenefit?: string;
tags?: ...[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: ...[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone: string;
updatedAt: string;
venue?: | {
city: string | null;
coordinates: | {
latitude: ...;
longitude: ...;
}
| null;
country: string | null;
id: string;
name: string;
streetAddress: string | null;
timezone: string;
website: string | null;
}
| null;
venueId?: string;
venueName: string | null;
version: number;
}[];
pagination: {
hasNext: boolean;
hasPrev: boolean;
limit: number;
nextCursor: string | null;
page: number;
total: number;
totalPages: number;
};
}>;List events
List events, newest first. Unscoped, the administrative view of every event the caller may see. With X-Ticketlayer-Channel, what that channel lists right now: its discoverable listings (visibility=visible adds the link-only ones), each with how the channel lists it in listing, and the channel echoed in the response. Every event carries its content fields and images; include=occurrences and include=venue add the dates and the venue, loaded for the whole page at once. For a sync: page with cursor (pagination.nextCursor) and poll with updatedSince, which compares contentUpdatedAt, so an edited occurrence, price scheme, layout or venue brings the event back. Overlap the watermark by a few seconds: a write is stamped when it is made and is visible when it commits.
Parameters#
| Parameter | Type |
|---|---|
options? | { accountId?: string; cursor?: string; include?: ("occurrences" | "prices" | "venue")[]; limit?: string; page?: string; search?: string; status?: | "cancelled" | "draft" | "published" | "on_sale" | "sold_out" | "completed"; updatedSince?: string; venueId?: string; visibility?: "discoverable" | "visible"; } |
options.accountId? | string |
options.cursor? | string |
options.include? | ("occurrences" | "prices" | "venue")[] |
options.limit? | string |
options.page? | string |
options.search? | string |
options.status? | | "cancelled" | "draft" | "published" | "on_sale" | "sold_out" | "completed" |
options.updatedSince? | string |
options.venueId? | string |
options.visibility? | "discoverable" | "visible" |
requestOptions? | RequestOptions |
Returns#
Promise<{
channel: | {
id: string;
name: string;
slug: string;
}
| null;
events: {
accountId: string;
contentUpdatedAt: string;
createdAt: string;
createdBy?: string;
defaultPriceSchemeId: string | null;
description?: string;
heroImageUrl: string | null;
id: string;
images: {
card: | {
alt: ... | ...;
contentType: ... | ...;
height: ... | ...;
url: string;
width: ... | ...;
}
| null;
hero: | {
alt: ... | ...;
contentType: ... | ...;
height: ... | ...;
url: string;
width: ... | ...;
}
| null;
};
imageUrl: string | null;
isDeleted: boolean;
listing: | {
closesAt: string | null;
currency: string | null;
discoverable: boolean;
id: string;
nextOccurrenceAt: string | null;
opensAt: string | null;
priceFrom: number | null;
sellable: boolean;
visible: boolean;
}
| null;
name: string;
occurrenceCount: number;
occurrences?: {
endDate: string;
endsAt: ... | ...;
endTime: string;
id: string;
startDate: string;
startsAt: ... | ...;
startTime: string;
status: ... | ... | ... | ... | ...;
timezone: string;
venueId: ... | ...;
venueName: ... | ...;
}[];
occurrencesTruncated?: boolean;
organisationId: string;
presentation: | {
buttonSize?: "small" | "medium" | "large";
cinemaGradient?: {
position: ...;
strength: ...;
};
heroLayout?: {
size: ...;
type: ...;
};
navbar?: {
transparent?: ...;
};
twoColumnSplit?: [..., ...];
}
| null;
prices?: | {
currency: string | null;
feesIncluded: boolean;
from: number | null;
sellable: boolean;
state: | "on_sale"
| "sold_out"
| "locked"
| "hidden"
| "not_yet_on_sale"
| "off_sale"
| null;
to: number | null;
}
| {
byChannel: {
channel: ...;
currency: ...;
feesIncluded: ...;
from: ...;
sellable: ...;
state: ...;
to: ...;
}[];
};
productCount: number;
rules: {
discoverable: {
open: boolean;
windows: {
audience: ...;
audienceTags: ...;
from: ...;
until: ...;
}[];
};
sellable: {
open: boolean;
windows: {
audience: ...;
audienceTags: ...;
from: ...;
until: ...;
}[];
};
visible: {
open: boolean;
windows: {
audience: ...;
audienceTags: ...;
from: ...;
until: ...;
}[];
};
};
shortDescription: string | null;
status: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle: string | null;
tags: string[];
ticketCount: number;
ticketTypes: {
description?: string;
displayOrder: number;
id: string;
name: string;
requiredBenefit?: string;
tags?: ...[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: ...[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone: string;
updatedAt: string;
venue?: | {
city: string | null;
coordinates: | {
latitude: ...;
longitude: ...;
}
| null;
country: string | null;
id: string;
name: string;
streetAddress: string | null;
timezone: string;
website: string | null;
}
| null;
venueId?: string;
venueName: string | null;
version: number;
}[];
pagination: {
hasNext: boolean;
hasPrev: boolean;
limit: number;
nextCursor: string | null;
page: number;
total: number;
totalPages: number;
};
}>
Operation Id#
listEvents
listNotes()#
listNotes: (id: string, options?: {
cursor?: string;
limit?: number;
}, requestOptions?: RequestOptions) => Promise<{
nextCursor: string | null;
notes: {
author: {
id: string | null;
kind: string;
};
body: string;
createdAt: string;
deletedAt: string | null;
editedAt: string | null;
id: string;
legacyField: string | null;
objectId: string;
objectType: string;
redactedAt: string | null;
tier: "internal" | "restricted";
}[];
}>;List event notes The staff notes on an event, newest first, at the tiers the caller reads: internal notes to whoever reads the event, restricted ones only with the restricted permission. Paged by cursor.
Parameters#
| Parameter | Type |
|---|---|
id | string |
options? | { cursor?: string; limit?: number; } |
options.cursor? | string |
options.limit? | number |
requestOptions? | RequestOptions |
Returns#
Promise<{
nextCursor: string | null;
notes: {
author: {
id: string | null;
kind: string;
};
body: string;
createdAt: string;
deletedAt: string | null;
editedAt: string | null;
id: string;
legacyField: string | null;
objectId: string;
objectType: string;
redactedAt: string | null;
tier: "internal" | "restricted";
}[];
}>
Operation Id#
listEventNotes
streamLayoutChangeProgress()#
streamLayoutChangeProgress: (eventId: string, workflowId: string, requestOptions?: RequestOptions) => Promise<any>;Stream layout change progress Server-sent event stream of a layout change workflow: a connected frame, a heartbeat each second, and one final frame carrying the result, the failure or a timeout.
Parameters#
| Parameter | Type |
|---|---|
eventId | string |
workflowId | string |
requestOptions? | RequestOptions |
Returns#
Promise<any>
Operation Id#
streamEventLayoutChangeProgress
update()#
update: (id: string, request: {
description?: any;
expectedVersion?: number;
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;
presentation?: any;
rules?: {
discoverable?: {
open: boolean;
windows: {
audience?: ... | ... | ...;
audienceTags?: ... | ...;
from: ... | ...;
until: ... | ...;
}[];
};
sellable?: {
open: boolean;
windows: {
audience?: ... | ... | ...;
audienceTags?: ... | ...;
from: ... | ...;
until: ... | ...;
}[];
};
visible?: {
open: boolean;
windows: {
audience?: ... | ... | ...;
audienceTags?: ... | ...;
from: ... | ...;
until: ... | ...;
}[];
};
};
shortDescription?: any;
status?: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle?: any;
tags?: string[];
ticketTypes?: {
description?: string;
displayOrder: number;
id?: string;
name: string;
tags?: string[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: string[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone?: string;
venueId?: any;
venueName?: any;
}, requestOptions?: RequestOptions) => Promise<{
accountId: string;
contentUpdatedAt: string;
createdAt: string;
createdBy?: string;
defaultPriceSchemeId: string | null;
description?: string;
heroImageUrl: string | null;
id: string;
images: {
card: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
hero: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
};
imageUrl: string | null;
isDeleted: boolean;
name: string;
occurrenceCount: number;
organisationId: 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;
productCount: number;
rules: {
discoverable: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
sellable: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
visible: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
};
shortDescription: string | null;
status: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle: string | null;
tags: string[];
ticketCount: number;
ticketTypes: {
description?: string;
displayOrder: number;
id: string;
name: string;
requiredBenefit?: string;
tags?: string[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: string[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone: string;
updatedAt: string;
venueId?: string;
venueName: string | null;
version: number;
}>;Update event
Update an existing event. Name the version the change is based on (the version of a read, or its ETag) as If-Match or expectedVersion and the update is refused with 412 VERSION_MISMATCH, writing nothing, when the event has changed since. Without one the update applies as it always has.
Parameters#
| Parameter | Type | Description |
|---|---|---|
id | string | - |
request | { description?: any; expectedVersion?: number; 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; presentation?: any; rules?: { discoverable?: { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; }; sellable?: { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; }; visible?: { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; }; }; shortDescription?: any; status?: | "cancelled" | "draft" | "published" | "on_sale" | "sold_out" | "completed"; subtitle?: any; tags?: string[]; ticketTypes?: { description?: string; displayOrder: number; id?: string; name: string; tags?: string[]; taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable"; unlockTags?: string[]; visibility?: "public" | "locked" | "hidden"; }[]; timezone?: string; venueId?: any; venueName?: any; } | - |
request.description? | any | - |
request.expectedVersion? | number | - |
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.presentation? | any | - |
request.rules? | { discoverable?: { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; }; sellable?: { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; }; visible?: { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; }; } | - |
request.rules.discoverable? | { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; } | - |
request.rules.discoverable.open? | boolean | Description false is closed whatever the windows say; true with no windows is always Example true |
request.rules.discoverable.windows? | { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[] | Description With open true, the rule holds when any window matches now and the caller |
request.rules.sellable? | { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; } | - |
request.rules.sellable.open? | boolean | Description false is closed whatever the windows say; true with no windows is always Example true |
request.rules.sellable.windows? | { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[] | Description With open true, the rule holds when any window matches now and the caller |
request.rules.visible? | { open: boolean; windows: { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[]; } | - |
request.rules.visible.open? | boolean | Description false is closed whatever the windows say; true with no windows is always Example true |
request.rules.visible.windows? | { audience?: ... | ... | ...; audienceTags?: ... | ...; from: ... | ...; until: ... | ...; }[] | Description With open true, the rule holds when any window matches now and the caller |
request.shortDescription? | any | - |
request.status? | | "cancelled" | "draft" | "published" | "on_sale" | "sold_out" | "completed" | - |
request.subtitle? | any | - |
request.tags? | string[] | - |
request.ticketTypes? | { description?: string; displayOrder: number; id?: string; name: string; tags?: string[]; taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable"; unlockTags?: string[]; visibility?: "public" | "locked" | "hidden"; }[] | - |
request.timezone? | string | - |
request.venueId? | any | - |
request.venueName? | any | - |
requestOptions? | RequestOptions | - |
Returns#
Promise<{
accountId: string;
contentUpdatedAt: string;
createdAt: string;
createdBy?: string;
defaultPriceSchemeId: string | null;
description?: string;
heroImageUrl: string | null;
id: string;
images: {
card: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
hero: | {
alt: string | null;
contentType: string | null;
height: number | null;
url: string;
width: number | null;
}
| null;
};
imageUrl: string | null;
isDeleted: boolean;
name: string;
occurrenceCount: number;
organisationId: 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;
productCount: number;
rules: {
discoverable: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
sellable: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
visible: {
open: boolean;
windows: {
audience: string | null;
audienceTags: string[];
from: string | null;
until: string | null;
}[];
};
};
shortDescription: string | null;
status: | "cancelled"
| "draft"
| "published"
| "on_sale"
| "sold_out"
| "completed";
subtitle: string | null;
tags: string[];
ticketCount: number;
ticketTypes: {
description?: string;
displayOrder: number;
id: string;
name: string;
requiredBenefit?: string;
tags?: string[];
taxCategory?: "admission" | "admission_exempt" | "donation" | "non_taxable";
unlockTags?: string[];
visibility?: "public" | "locked" | "hidden";
}[];
timezone: string;
updatedAt: string;
venueId?: string;
venueName: string | null;
version: number;
}>
Operation Id#
updateEvent
updateNote()#
updateNote: (id: string, noteId: string, request: {
body?: string;
tier?: "internal" | "restricted";
}, requestOptions?: RequestOptions) => Promise<{
author: {
id: string | null;
kind: string;
};
body: string;
createdAt: string;
deletedAt: string | null;
editedAt: string | null;
id: string;
legacyField: string | null;
objectId: string;
objectType: string;
redactedAt: string | null;
tier: "internal" | "restricted";
}>;Edit event note Change a note's body or tier. Its author only (403 NOTE_AUTHOR_ONLY), who must still be allowed to update the event and to write both tiers. The note that stands for a field keeps that field's tier.
Parameters#
| Parameter | Type | Description |
|---|---|---|
id | string | - |
noteId | string | - |
request | { body?: string; tier?: "internal" | "restricted"; } | - |
request.body? | string | Example Comp for the promoter, agreed by Sam. |
request.tier? | "internal" | "restricted" | Example restricted @enum {string} |
requestOptions? | RequestOptions | - |
Returns#
Promise<{
author: {
id: string | null;
kind: string;
};
body: string;
createdAt: string;
deletedAt: string | null;
editedAt: string | null;
id: string;
legacyField: string | null;
objectId: string;
objectType: string;
redactedAt: string | null;
tier: "internal" | "restricted";
}>
Operation Id#
updateEventNote
validateLayoutChanges()#
validateLayoutChanges: (eventId: string, request: {
accountId: string;
changes: {
addedSeats?: {
areaId: string;
id: string;
isAccessible?: boolean;
isCompanion?: boolean;
number: string;
priceCategory?: string;
row: string;
}[];
capacityChanges?: {
areaId: string;
newCapacity: number;
oldCapacity: number;
}[];
removedSeats?: string[];
seatAttributeChanges?: {
changes: {
isAccessible?: boolean;
isCompanion?: boolean;
priceCategory?: string;
};
seatId: string;
}[];
};
futureOnly: boolean;
}, requestOptions?: RequestOptions) => Promise<{
validation?: unknown;
workflowId: string;
}>;Validate layout changes Checks a set of layout changes against what has already been sold, and reports what each change would block or affect. Nothing is applied.
Parameters#
| Parameter | Type | Description |
|---|---|---|
eventId | string | - |
request | { accountId: string; changes: { addedSeats?: { areaId: string; id: string; isAccessible?: boolean; isCompanion?: boolean; number: string; priceCategory?: string; row: string; }[]; capacityChanges?: { areaId: string; newCapacity: number; oldCapacity: number; }[]; removedSeats?: string[]; seatAttributeChanges?: { changes: { isAccessible?: boolean; isCompanion?: boolean; priceCategory?: string; }; seatId: string; }[]; }; futureOnly: boolean; } | - |
request.accountId | string | Description Account ID that owns the event Example acc_abc123 |
request.changes? | { addedSeats?: { areaId: string; id: string; isAccessible?: boolean; isCompanion?: boolean; number: string; priceCategory?: string; row: string; }[]; capacityChanges?: { areaId: string; newCapacity: number; oldCapacity: number; }[]; removedSeats?: string[]; seatAttributeChanges?: { changes: { isAccessible?: boolean; isCompanion?: boolean; priceCategory?: string; }; seatId: string; }[]; } | Description Layout changes to validate |
request.changes.addedSeats? | { areaId: string; id: string; isAccessible?: boolean; isCompanion?: boolean; number: string; priceCategory?: string; row: string; }[] | Description New seats to add |
request.changes.capacityChanges? | { areaId: string; newCapacity: number; oldCapacity: number; }[] | Description Capacity changes for unallocated areas |
request.changes.removedSeats? | string[] | Description Event layout seat IDs to remove Example [ "eas_seat1", "eas_seat2" ] |
request.changes.seatAttributeChanges? | { changes: { isAccessible?: boolean; isCompanion?: boolean; priceCategory?: string; }; seatId: string; }[] | Description Attribute changes for existing seats |
request.futureOnly? | boolean | Description Only validate against future occurrences (default: true) Default true |
requestOptions? | RequestOptions | - |
Returns#
Promise<{
validation?: unknown;
workflowId: string;
}>
Operation Id#
validateEventLayoutChanges