Skip to content
Docs
Reference

BackstageClient.events

BackstageClient.events in @ticketlayer/backstage.

@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#

ParameterTypeDescription
idstring-
request{ body: string; tier?: "internal" | "restricted"; }-
request.bodystringDescription 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#

ParameterTypeDescription
eventIdstring-
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.accountIdstringDescription 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?booleanDescription 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#

ParameterTypeDescription
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.accountIdstring-
request.description?string-
request.heroImageUrl?any-
request.imageUrl?any-
request.layout?{ areas?: { capacity: number; categoryId?: string; description?: string; displayOrder?: number; id?: string; name: string; type: "unallocated" | "allocated"; }[]; categories?: { color?: string; description?: string; displayOrder?: number; id?: string; name: string; }[]; venueLayoutTemplateId?: string; }-
request.layout.areas?{ capacity: number; categoryId?: string; description?: string; displayOrder?: number; id?: string; name: string; type: "unallocated" | "allocated"; }[]-
request.layout.categories?{ color?: string; description?: string; displayOrder?: number; id?: string; name: string; }[]-
request.layout.venueLayoutTemplateId?string-
request.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?booleanDescription 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?booleanDescription 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?booleanDescription 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#

ParameterType
idstring
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#

ParameterType
idstring
noteIdstring
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#

ParameterType
idstring
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#

ParameterType
idstring
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#

ParameterType
eventIdstring
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#

ParameterType
eventIdstring
workflowIdstring
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#

ParameterType
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#

ParameterType
idstring
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#

ParameterType
eventIdstring
workflowIdstring
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#

ParameterTypeDescription
idstring-
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?booleanDescription 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?booleanDescription 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?booleanDescription 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#

ParameterTypeDescription
idstring-
noteIdstring-
request{ body?: string; tier?: "internal" | "restricted"; }-
request.body?stringExample 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#

ParameterTypeDescription
eventIdstring-
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.accountIdstringDescription 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?booleanDescription Only validate against future occurrences (default: true) Default true
requestOptions?RequestOptions-

Returns#

Promise<{ validation?: unknown; workflowId: string; }>

Operation Id#

validateEventLayoutChanges