Skip to content
Docs
Reference

BackstageClient.salesChannels

BackstageClient.salesChannels in @ticketlayer/backstage.

@ticketlayer/backstage


@ticketlayer/backstage / BackstageClient / salesChannels

salesChannels: (channelId: string) => {
  channelaccess: {
     grant: (request: {
        subjectId: string;
        subjectType: "user" | "role";
      }, requestOptions?: RequestOptions) => Promise<{
        createdAt: string;
        id: string;
        organisationId: string;
        salesChannelId: string;
        subjectId: string;
        subjectType: "user" | "role";
     }>;
     list: (requestOptions?: RequestOptions) => Promise<{
        createdAt: string;
        id: string;
        organisationId: string;
        salesChannelId: string;
        subjectId: string;
        subjectType: "user" | "role";
     }[]>;
     revoke: (accessId: string, requestOptions?: RequestOptions) => Promise<boolean>;
  };
  concierge: {
     get: (requestOptions?: RequestOptions) => Promise<{
        channelId: string;
        concierge: {
           ai: {
              disabledTools: string[];
              enabled: boolean;
              tier: "answer" | "integrated" | "actions";
           };
           allowedOrigins: string[];
           contactQueueId: string | null;
           enabled: boolean;
           features: {
              chat: boolean;
              contact: boolean;
              myOrders: boolean;
              search: boolean;
           };
           knowledge: {
              restrictToOwn: boolean;
           };
           openingHours:   | {
              timezone: string;
              weekly: {
                 fri?: ...;
                 mon?: ...;
                 sat?: ...;
                 sun?: ...;
                 thu?: ...;
                 tue?: ...;
                 wed?: ...;
              };
            }
              | null;
           persona: {
              avatarAssetId?: string;
              greeting?: string;
              name?: string;
           };
           placements: {
              embedded: {
                 buyTickets: boolean;
                 checkout: boolean;
                 confirmation: boolean;
                 myOrders: boolean;
              };
              inline: boolean;
              launcher: boolean;
              page: boolean;
           };
        };
     }>;
     replace: (request: {
        ai?: {
           disabledTools?: string[];
           enabled?: boolean;
           tier?: "answer" | "integrated" | "actions";
        };
        allowedOrigins?: string[];
        contactQueueId?: string | null;
        enabled?: boolean;
        features?: {
           chat?: boolean;
           contact?: boolean;
           myOrders?: boolean;
           search?: boolean;
        };
        knowledge?: {
           restrictToOwn?: boolean;
        };
        openingHours?:   | {
           timezone: string;
           weekly: {
              fri?: ...[];
              mon?: ...[];
              sat?: ...[];
              sun?: ...[];
              thu?: ...[];
              tue?: ...[];
              wed?: ...[];
           };
         }
           | null;
        persona?: {
           avatarAssetId?: string;
           greeting?: string;
           name?: string;
        };
        placements?: {
           embedded?: {
              buyTickets?: ... | ... | ...;
              checkout?: ... | ... | ...;
              confirmation?: ... | ... | ...;
              myOrders?: ... | ... | ...;
           };
           inline?: boolean;
           launcher?: boolean;
           page?: boolean;
        };
      }, requestOptions?: RequestOptions) => Promise<{
        channelId: string;
        concierge: {
           ai: {
              disabledTools: string[];
              enabled: boolean;
              tier: "answer" | "integrated" | "actions";
           };
           allowedOrigins: string[];
           contactQueueId: string | null;
           enabled: boolean;
           features: {
              chat: boolean;
              contact: boolean;
              myOrders: boolean;
              search: boolean;
           };
           knowledge: {
              restrictToOwn: boolean;
           };
           openingHours:   | {
              timezone: string;
              weekly: {
                 fri?: ...;
                 mon?: ...;
                 sat?: ...;
                 sun?: ...;
                 thu?: ...;
                 tue?: ...;
                 wed?: ...;
              };
            }
              | null;
           persona: {
              avatarAssetId?: string;
              greeting?: string;
              name?: string;
           };
           placements: {
              embedded: {
                 buyTickets: boolean;
                 checkout: boolean;
                 confirmation: boolean;
                 myOrders: boolean;
              };
              inline: boolean;
              launcher: boolean;
              page: boolean;
           };
        };
     }>;
     resolved: (requestOptions?: RequestOptions) => Promise<{
        accountId: string;
        ai: {
           disabledTools: string[];
           enabled: boolean;
           tier: "answer" | "integrated" | "actions";
        };
        allowedLinkHosts: string[];
        allowedOrigins: string[];
        brandId: string | null;
        channelId: string;
        contactQueueId: string | null;
        enabled: boolean;
        features: {
           chat: boolean;
           contact: boolean;
           myOrders: boolean;
           search: boolean;
        };
        knowledge: {
           restrictToOwn: boolean;
        };
        openingHours:   | {
           timezone: string;
           weekly: {
              fri?: ... | ...;
              mon?: ... | ...;
              sat?: ... | ...;
              sun?: ... | ...;
              thu?: ... | ...;
              tue?: ... | ...;
              wed?: ... | ...;
           };
         }
           | null;
        persona: {
           avatarAssetId: string | null;
           avatarUrl: string | null;
           greeting: string | null;
           name: string;
        };
        placements: {
           embedded: {
              buyTickets: boolean;
              checkout: boolean;
              confirmation: boolean;
              myOrders: boolean;
           };
           inline: boolean;
           launcher: boolean;
           page: boolean;
        };
     }>;
  };
  keys: {
     issue: (request: {
        keyType: "publishable" | "secret";
        name: string;
      }, requestOptions?: RequestOptions) => Promise<{
        key: {
           channelId: string;
           createdAt: string;
           id: string;
           keyType: "publishable" | "secret";
           last4: string;
           mode: "live" | "test";
           name: string;
           status: "revoked" | "active" | "compromised";
        };
        keyMaterial: string;
        warning?: string;
     }>;
     list: (requestOptions?: RequestOptions) => Promise<{
        channelId: string;
        createdAt: string;
        id: string;
        keyType: "publishable" | "secret";
        last4: string;
        lastUsedAt: string | null;
        mode: "live" | "test";
        name: string;
        publishableKey: string | null;
        revokedAt: string | null;
        status: "revoked" | "active" | "compromised";
     }[]>;
     revoke: (keyId: string, request: {
        reason?: string;
      }, requestOptions?: RequestOptions) => Promise<{
        id: string;
        revokedAt: string | null;
        status: "revoked" | "active" | "compromised";
     }>;
  };
  listings: {
     create: (request: {
        eventId: string;
        rules?: {
           discoverable?: any;
           sellable?: any;
           visible?: any;
        };
      }, requestOptions?: RequestOptions) => Promise<{
        channelId: string;
        createdAt: string;
        effective: {
           discoverable: {
              open: boolean;
              windows: {
                 audience: ...;
                 audienceTags: ...;
                 from: ...;
                 until: ...;
              }[];
           };
           sellable: {
              open: boolean;
              windows: {
                 audience: ...;
                 audienceTags: ...;
                 from: ...;
                 until: ...;
              }[];
           };
           visible: {
              open: boolean;
              windows: {
                 audience: ...;
                 audienceTags: ...;
                 from: ...;
                 until: ...;
              }[];
           };
        };
        eventId: string;
        id: string;
        rules: {
           discoverable: {
              open: boolean;
              windows: ...[];
           } & Record<string, never>;
           sellable: {
              open: boolean;
              windows: ...[];
           } & Record<string, never>;
           visible: {
              open: boolean;
              windows: ...[];
           } & Record<string, never>;
        };
        state: {
           closesAt: string | null;
           discoverable: boolean;
           opensAt: string | null;
           sellable: boolean;
           visible: boolean;
        };
        updatedAt: string;
     }>;
     delete: (listingId: string, requestOptions?: RequestOptions) => Promise<boolean>;
     list: (requestOptions?: RequestOptions) => Promise<{
        channelId: string;
        createdAt: string;
        effective: {
           discoverable: {
              open: boolean;
              windows: ...[];
           };
           sellable: {
              open: boolean;
              windows: ...[];
           };
           visible: {
              open: boolean;
              windows: ...[];
           };
        };
        eventId: string;
        id: string;
        rules: {
           discoverable: {
              open: ...;
              windows: ...;
           } & Record<..., ...>;
           sellable: {
              open: ...;
              windows: ...;
           } & Record<..., ...>;
           visible: {
              open: ...;
              windows: ...;
           } & Record<..., ...>;
        };
        state: {
           closesAt: string | null;
           discoverable: boolean;
           opensAt: string | null;
           sellable: boolean;
           visible: boolean;
        };
        updatedAt: string;
     }[]>;
     update: (listingId: string, request: {
        rules?: {
           discoverable?: any;
           sellable?: any;
           visible?: any;
        };
      }, requestOptions?: RequestOptions) => Promise<{
        channelId: string;
        createdAt: string;
        effective: {
           discoverable: {
              open: boolean;
              windows: {
                 audience: ...;
                 audienceTags: ...;
                 from: ...;
                 until: ...;
              }[];
           };
           sellable: {
              open: boolean;
              windows: {
                 audience: ...;
                 audienceTags: ...;
                 from: ...;
                 until: ...;
              }[];
           };
           visible: {
              open: boolean;
              windows: {
                 audience: ...;
                 audienceTags: ...;
                 from: ...;
                 until: ...;
              }[];
           };
        };
        eventId: string;
        id: string;
        rules: {
           discoverable: {
              open: boolean;
              windows: ...[];
           } & Record<string, never>;
           sellable: {
              open: boolean;
              windows: ...[];
           } & Record<string, never>;
           visible: {
              open: boolean;
              windows: ...[];
           } & Record<string, never>;
        };
        state: {
           closesAt: string | null;
           discoverable: boolean;
           opensAt: string | null;
           sellable: boolean;
           visible: boolean;
        };
        updatedAt: string;
     }>;
  };
} & {
  create: (request: {
     accountId: string;
     autoList?: boolean;
     channelTags?: string[];
     channelType:   | "box_office"
        | "internal"
        | "website"
        | "embed"
        | "kiosk"
        | "reseller_api";
     checkoutTtlSeconds?: number;
     customerConfig?: {
        allowGuestCheckout?: boolean;
        collectAddress?: boolean;
        collectPhone?: boolean;
        requireLogin?: boolean;
     };
     customerFacing?: {
        allowedOrigins?: any[];
        customDomain?: string;
        enabled?: boolean;
        magicLinkBaseUrl?: string;
        partnerIdentity?: {
           algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512";
           issuer: string;
           publicKeyPem: string;
        };
        priceVisibility?: {
           lockedAs?: "locked" | "hidden";
           unlockHints?: boolean;
        };
        subdomain?: string;
     };
     description?: string;
     eventFilter?: {
        channelTags?: string[];
        mode: "all" | "tagged";
     };
     feeProfileId?: string;
     name: string;
     pricingConfig?: {
        includeFeesInPrice?: boolean;
        showMemberPricing?: boolean;
        showOriginalPrice?: boolean;
     };
     receivingAccountId?: string;
     reservationTtlSeconds?: number;
     sellingRules?: {
        maxTickets?: number;
        singleSeatGap?: "warn" | "confirm";
     };
     slug: string;
   }, requestOptions?: RequestOptions) => Promise<{
     accountId: string;
     autoList: boolean;
     brandId: string | null;
     channelTags: string[];
     channelType:   | "box_office"
        | "internal"
        | "website"
        | "embed"
        | "kiosk"
        | "reseller_api";
     checkoutTtlSeconds: number;
     concierge: {
        ai: {
           disabledTools: string[];
           enabled: boolean;
           tier: "answer" | "integrated" | "actions";
        };
        allowedOrigins: string[];
        contactQueueId: string | null;
        enabled: boolean;
        features: {
           chat: boolean;
           contact: boolean;
           myOrders: boolean;
           search: boolean;
        };
        knowledge: {
           restrictToOwn: boolean;
        };
        openingHours:   | {
           timezone: string;
           weekly: {
              fri?: ...[];
              mon?: ...[];
              sat?: ...[];
              sun?: ...[];
              thu?: ...[];
              tue?: ...[];
              wed?: ...[];
           };
         }
           | null;
        persona: {
           avatarAssetId?: string;
           greeting?: string;
           name?: string;
        };
        placements: {
           embedded: {
              buyTickets: boolean;
              checkout: boolean;
              confirmation: boolean;
              myOrders: boolean;
           };
           inline: boolean;
           launcher: boolean;
           page: boolean;
        };
     };
     createdAt: string;
     customerConfig: {
        allowGuestCheckout: boolean;
        collectAddress: boolean;
        collectPhone: boolean;
        requireLogin: boolean;
     };
     customerFacing: {
        allowedOrigins: string[];
        customDomain?: string;
        enabled: boolean;
        magicLinkBaseUrl?: string;
        partnerIdentity?: {
           algorithm: string;
           issuer: string;
           publicKeyPem: string;
        };
        priceVisibility?: {
           lockedAs?: "locked" | "hidden";
           unlockHints?: boolean;
        };
        subdomain?: string;
     };
     deletedAt: string | null;
     description: string | null;
     eventFilter: {
        channelTags?: string[];
        mode: "all" | "tagged";
     };
     externalCollection: {
        enabled: boolean;
        methods: (
           | "in_person_cash"
           | "in_person_card"
           | "online_card"
           | "bank_transfer"
          | "cheque")[];
     };
     feeProfileId: string | null;
     id: string;
     isActive: boolean;
     isDeleted: boolean;
     name: string;
     organisationId: string;
     pricingConfig: {
        includeFeesInPrice: boolean;
        showMemberPricing: boolean;
        showOriginalPrice: boolean;
     };
     receivingAccountId: string;
     reservationTtlSeconds: number;
     sellingRules: {
        maxTickets: number;
        singleSeatGap: "warn" | "confirm";
     };
     slug: string;
     updatedAt: string;
  }>;
  delete: (channelId: string, requestOptions?: RequestOptions) => Promise<boolean>;
  get: (channelId: string, requestOptions?: RequestOptions) => Promise<{
     accountId: string;
     autoList: boolean;
     brandId: string | null;
     channelTags: string[];
     channelType:   | "box_office"
        | "internal"
        | "website"
        | "embed"
        | "kiosk"
        | "reseller_api";
     checkoutTtlSeconds: number;
     concierge: {
        ai: {
           disabledTools: string[];
           enabled: boolean;
           tier: "answer" | "integrated" | "actions";
        };
        allowedOrigins: string[];
        contactQueueId: string | null;
        enabled: boolean;
        features: {
           chat: boolean;
           contact: boolean;
           myOrders: boolean;
           search: boolean;
        };
        knowledge: {
           restrictToOwn: boolean;
        };
        openingHours:   | {
           timezone: string;
           weekly: {
              fri?: ...[];
              mon?: ...[];
              sat?: ...[];
              sun?: ...[];
              thu?: ...[];
              tue?: ...[];
              wed?: ...[];
           };
         }
           | null;
        persona: {
           avatarAssetId?: string;
           greeting?: string;
           name?: string;
        };
        placements: {
           embedded: {
              buyTickets: boolean;
              checkout: boolean;
              confirmation: boolean;
              myOrders: boolean;
           };
           inline: boolean;
           launcher: boolean;
           page: boolean;
        };
     };
     createdAt: string;
     customerConfig: {
        allowGuestCheckout: boolean;
        collectAddress: boolean;
        collectPhone: boolean;
        requireLogin: boolean;
     };
     customerFacing: {
        allowedOrigins: string[];
        customDomain?: string;
        enabled: boolean;
        magicLinkBaseUrl?: string;
        partnerIdentity?: {
           algorithm: string;
           issuer: string;
           publicKeyPem: string;
        };
        priceVisibility?: {
           lockedAs?: "locked" | "hidden";
           unlockHints?: boolean;
        };
        subdomain?: string;
     };
     deletedAt: string | null;
     description: string | null;
     eventFilter: {
        channelTags?: string[];
        mode: "all" | "tagged";
     };
     externalCollection: {
        enabled: boolean;
        methods: (
           | "in_person_cash"
           | "in_person_card"
           | "online_card"
           | "bank_transfer"
          | "cheque")[];
     };
     feeProfileId: string | null;
     id: string;
     isActive: boolean;
     isDeleted: boolean;
     name: string;
     organisationId: string;
     pricingConfig: {
        includeFeesInPrice: boolean;
        showMemberPricing: boolean;
        showOriginalPrice: boolean;
     };
     receivingAccountId: string;
     reservationTtlSeconds: number;
     sellingRules: {
        maxTickets: number;
        singleSeatGap: "warn" | "confirm";
     };
     slug: string;
     updatedAt: string;
  }>;
  list: (requestOptions?: RequestOptions) => Promise<{
     accountId: string;
     autoList: boolean;
     brandId: string | null;
     channelTags: string[];
     channelType:   | "box_office"
        | "internal"
        | "website"
        | "embed"
        | "kiosk"
        | "reseller_api";
     checkoutTtlSeconds: number;
     concierge: {
        ai: {
           disabledTools: string[];
           enabled: boolean;
           tier: "answer" | "integrated" | "actions";
        };
        allowedOrigins: string[];
        contactQueueId: string | null;
        enabled: boolean;
        features: {
           chat: boolean;
           contact: boolean;
           myOrders: boolean;
           search: boolean;
        };
        knowledge: {
           restrictToOwn: boolean;
        };
        openingHours:   | {
           timezone: string;
           weekly: {
              fri?: ... | ...;
              mon?: ... | ...;
              sat?: ... | ...;
              sun?: ... | ...;
              thu?: ... | ...;
              tue?: ... | ...;
              wed?: ... | ...;
           };
         }
           | null;
        persona: {
           avatarAssetId?: string;
           greeting?: string;
           name?: string;
        };
        placements: {
           embedded: {
              buyTickets: boolean;
              checkout: boolean;
              confirmation: boolean;
              myOrders: boolean;
           };
           inline: boolean;
           launcher: boolean;
           page: boolean;
        };
     };
     createdAt: string;
     customerConfig: {
        allowGuestCheckout: boolean;
        collectAddress: boolean;
        collectPhone: boolean;
        requireLogin: boolean;
     };
     customerFacing: {
        allowedOrigins: string[];
        customDomain?: string;
        enabled: boolean;
        magicLinkBaseUrl?: string;
        partnerIdentity?: {
           algorithm: string;
           issuer: string;
           publicKeyPem: string;
        };
        priceVisibility?: {
           lockedAs?: "locked" | "hidden";
           unlockHints?: boolean;
        };
        subdomain?: string;
     };
     deletedAt: string | null;
     description: string | null;
     eventFilter: {
        channelTags?: string[];
        mode: "all" | "tagged";
     };
     externalCollection: {
        enabled: boolean;
        methods: (
           | "in_person_cash"
           | "in_person_card"
           | "online_card"
           | "bank_transfer"
          | "cheque")[];
     };
     feeProfileId: string | null;
     id: string;
     isActive: boolean;
     isDeleted: boolean;
     name: string;
     organisationId: string;
     pricingConfig: {
        includeFeesInPrice: boolean;
        showMemberPricing: boolean;
        showOriginalPrice: boolean;
     };
     receivingAccountId: string;
     reservationTtlSeconds: number;
     sellingRules: {
        maxTickets: number;
        singleSeatGap: "warn" | "confirm";
     };
     slug: string;
     updatedAt: string;
  }[]>;
  mySalesChannels: (requestOptions?: RequestOptions) => Promise<{
     channels: {
        id: string;
        name: string;
        slug: string;
     }[];
     permissions: {
        permission: string;
        scope: "channel" | "all";
     }[];
     scope: "channel" | "all";
  }>;
  update: (channelId: string, request: {
     autoList?: boolean;
     brandId?: any;
     channelTags?: string[];
     checkoutTtlSeconds?: number;
     customerConfig?: {
        allowGuestCheckout?: boolean;
        collectAddress?: boolean;
        collectPhone?: boolean;
        requireLogin?: boolean;
     };
     customerFacing?: {
        allowedOrigins?: any[];
        customDomain?: string;
        enabled?: boolean;
        magicLinkBaseUrl?: string;
        partnerIdentity?: {
           algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512";
           issuer: string;
           publicKeyPem: string;
        };
        priceVisibility?: {
           lockedAs?: "locked" | "hidden";
           unlockHints?: boolean;
        };
        subdomain?: string;
     };
     description?: string;
     eventFilter?: {
        channelTags?: string[];
        mode: "all" | "tagged";
     };
     externalCollection?: {
        enabled?: boolean;
        methods?: (
           | "in_person_cash"
           | "in_person_card"
           | "online_card"
           | "bank_transfer"
          | "cheque")[];
     };
     feeProfileId?: any;
     isActive?: boolean;
     name?: string;
     paymentProviderId?: any;
     pricingConfig?: {
        includeFeesInPrice?: boolean;
        showMemberPricing?: boolean;
        showOriginalPrice?: boolean;
     };
     receivingAccountId?: string;
     reservationTtlSeconds?: number;
     sellingRules?: {
        maxTickets?: number;
        singleSeatGap?: "warn" | "confirm";
     };
   }, requestOptions?: RequestOptions) => Promise<{
     accountId: string;
     autoList: boolean;
     brandId: string | null;
     channelTags: string[];
     channelType:   | "box_office"
        | "internal"
        | "website"
        | "embed"
        | "kiosk"
        | "reseller_api";
     checkoutTtlSeconds: number;
     concierge: {
        ai: {
           disabledTools: string[];
           enabled: boolean;
           tier: "answer" | "integrated" | "actions";
        };
        allowedOrigins: string[];
        contactQueueId: string | null;
        enabled: boolean;
        features: {
           chat: boolean;
           contact: boolean;
           myOrders: boolean;
           search: boolean;
        };
        knowledge: {
           restrictToOwn: boolean;
        };
        openingHours:   | {
           timezone: string;
           weekly: {
              fri?: ...[];
              mon?: ...[];
              sat?: ...[];
              sun?: ...[];
              thu?: ...[];
              tue?: ...[];
              wed?: ...[];
           };
         }
           | null;
        persona: {
           avatarAssetId?: string;
           greeting?: string;
           name?: string;
        };
        placements: {
           embedded: {
              buyTickets: boolean;
              checkout: boolean;
              confirmation: boolean;
              myOrders: boolean;
           };
           inline: boolean;
           launcher: boolean;
           page: boolean;
        };
     };
     createdAt: string;
     customerConfig: {
        allowGuestCheckout: boolean;
        collectAddress: boolean;
        collectPhone: boolean;
        requireLogin: boolean;
     };
     customerFacing: {
        allowedOrigins: string[];
        customDomain?: string;
        enabled: boolean;
        magicLinkBaseUrl?: string;
        partnerIdentity?: {
           algorithm: string;
           issuer: string;
           publicKeyPem: string;
        };
        priceVisibility?: {
           lockedAs?: "locked" | "hidden";
           unlockHints?: boolean;
        };
        subdomain?: string;
     };
     deletedAt: string | null;
     description: string | null;
     eventFilter: {
        channelTags?: string[];
        mode: "all" | "tagged";
     };
     externalCollection: {
        enabled: boolean;
        methods: (
           | "in_person_cash"
           | "in_person_card"
           | "online_card"
           | "bank_transfer"
          | "cheque")[];
     };
     feeProfileId: string | null;
     id: string;
     isActive: boolean;
     isDeleted: boolean;
     name: string;
     organisationId: string;
     pricingConfig: {
        includeFeesInPrice: boolean;
        showMemberPricing: boolean;
        showOriginalPrice: boolean;
     };
     receivingAccountId: string;
     reservationTtlSeconds: number;
     sellingRules: {
        maxTickets: number;
        singleSeatGap: "warn" | "confirm";
     };
     slug: string;
     updatedAt: string;
  }>;
};

Defined in: client.ts:7525

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

Type Declaration#

create()#

create: (request: {
  accountId: string;
  autoList?: boolean;
  channelTags?: string[];
  channelType:   | "box_office"
     | "internal"
     | "website"
     | "embed"
     | "kiosk"
     | "reseller_api";
  checkoutTtlSeconds?: number;
  customerConfig?: {
     allowGuestCheckout?: boolean;
     collectAddress?: boolean;
     collectPhone?: boolean;
     requireLogin?: boolean;
  };
  customerFacing?: {
     allowedOrigins?: any[];
     customDomain?: string;
     enabled?: boolean;
     magicLinkBaseUrl?: string;
     partnerIdentity?: {
        algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512";
        issuer: string;
        publicKeyPem: string;
     };
     priceVisibility?: {
        lockedAs?: "locked" | "hidden";
        unlockHints?: boolean;
     };
     subdomain?: string;
  };
  description?: string;
  eventFilter?: {
     channelTags?: string[];
     mode: "all" | "tagged";
  };
  feeProfileId?: string;
  name: string;
  pricingConfig?: {
     includeFeesInPrice?: boolean;
     showMemberPricing?: boolean;
     showOriginalPrice?: boolean;
  };
  receivingAccountId?: string;
  reservationTtlSeconds?: number;
  sellingRules?: {
     maxTickets?: number;
     singleSeatGap?: "warn" | "confirm";
  };
  slug: string;
}, requestOptions?: RequestOptions) => Promise<{
  accountId: string;
  autoList: boolean;
  brandId: string | null;
  channelTags: string[];
  channelType:   | "box_office"
     | "internal"
     | "website"
     | "embed"
     | "kiosk"
     | "reseller_api";
  checkoutTtlSeconds: number;
  concierge: {
     ai: {
        disabledTools: string[];
        enabled: boolean;
        tier: "answer" | "integrated" | "actions";
     };
     allowedOrigins: string[];
     contactQueueId: string | null;
     enabled: boolean;
     features: {
        chat: boolean;
        contact: boolean;
        myOrders: boolean;
        search: boolean;
     };
     knowledge: {
        restrictToOwn: boolean;
     };
     openingHours:   | {
        timezone: string;
        weekly: {
           fri?: ...[];
           mon?: ...[];
           sat?: ...[];
           sun?: ...[];
           thu?: ...[];
           tue?: ...[];
           wed?: ...[];
        };
      }
        | null;
     persona: {
        avatarAssetId?: string;
        greeting?: string;
        name?: string;
     };
     placements: {
        embedded: {
           buyTickets: boolean;
           checkout: boolean;
           confirmation: boolean;
           myOrders: boolean;
        };
        inline: boolean;
        launcher: boolean;
        page: boolean;
     };
  };
  createdAt: string;
  customerConfig: {
     allowGuestCheckout: boolean;
     collectAddress: boolean;
     collectPhone: boolean;
     requireLogin: boolean;
  };
  customerFacing: {
     allowedOrigins: string[];
     customDomain?: string;
     enabled: boolean;
     magicLinkBaseUrl?: string;
     partnerIdentity?: {
        algorithm: string;
        issuer: string;
        publicKeyPem: string;
     };
     priceVisibility?: {
        lockedAs?: "locked" | "hidden";
        unlockHints?: boolean;
     };
     subdomain?: string;
  };
  deletedAt: string | null;
  description: string | null;
  eventFilter: {
     channelTags?: string[];
     mode: "all" | "tagged";
  };
  externalCollection: {
     enabled: boolean;
     methods: (
        | "in_person_cash"
        | "in_person_card"
        | "online_card"
        | "bank_transfer"
       | "cheque")[];
  };
  feeProfileId: string | null;
  id: string;
  isActive: boolean;
  isDeleted: boolean;
  name: string;
  organisationId: string;
  pricingConfig: {
     includeFeesInPrice: boolean;
     showMemberPricing: boolean;
     showOriginalPrice: boolean;
  };
  receivingAccountId: string;
  reservationTtlSeconds: number;
  sellingRules: {
     maxTickets: number;
     singleSeatGap: "warn" | "confirm";
  };
  slug: string;
  updatedAt: string;
}>;

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

Parameters#

ParameterTypeDescription
request{ accountId: string; autoList?: boolean; channelTags?: string[]; channelType: | "box_office" | "internal" | "website" | "embed" | "kiosk" | "reseller_api"; checkoutTtlSeconds?: number; customerConfig?: { allowGuestCheckout?: boolean; collectAddress?: boolean; collectPhone?: boolean; requireLogin?: boolean; }; customerFacing?: { allowedOrigins?: any[]; customDomain?: string; enabled?: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"; issuer: string; publicKeyPem: string; }; priceVisibility?: { lockedAs?: "locked" | "hidden"; unlockHints?: boolean; }; subdomain?: string; }; description?: string; eventFilter?: { channelTags?: string[]; mode: "all" | "tagged"; }; feeProfileId?: string; name: string; pricingConfig?: { includeFeesInPrice?: boolean; showMemberPricing?: boolean; showOriginalPrice?: boolean; }; receivingAccountId?: string; reservationTtlSeconds?: number; sellingRules?: { maxTickets?: number; singleSeatGap?: "warn" | "confirm"; }; slug: string; }-
request.accountIdstring-
request.autoList?boolean-
request.channelTags?string[]-
request.channelType?| "box_office" | "internal" | "website" | "embed" | "kiosk" | "reseller_api"-
request.checkoutTtlSeconds?number-
request.customerConfig?{ allowGuestCheckout?: boolean; collectAddress?: boolean; collectPhone?: boolean; requireLogin?: boolean; }-
request.customerConfig.allowGuestCheckout?boolean-
request.customerConfig.collectAddress?boolean-
request.customerConfig.collectPhone?boolean-
request.customerConfig.requireLogin?boolean-
request.customerFacing?{ allowedOrigins?: any[]; customDomain?: string; enabled?: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"; issuer: string; publicKeyPem: string; }; priceVisibility?: { lockedAs?: "locked" | "hidden"; unlockHints?: boolean; }; subdomain?: string; }-
request.customerFacing.allowedOrigins?any[]-
request.customerFacing.customDomain?string-
request.customerFacing.enabled?boolean-
request.customerFacing.magicLinkBaseUrl?string-
request.customerFacing.partnerIdentity?{ algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"; issuer: string; publicKeyPem: string; }-
request.customerFacing.partnerIdentity.algorithm?"RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"-
request.customerFacing.partnerIdentity.issuer?string-
request.customerFacing.partnerIdentity.publicKeyPem?string-
request.customerFacing.priceVisibility?{ lockedAs?: "locked" | "hidden"; unlockHints?: boolean; }-
request.customerFacing.priceVisibility.lockedAs?"locked" | "hidden"Description locked (the default) shows a locked price with how to unlock it; hidden hides every locked price on this channel until it is unlocked Example hidden @enum {string}
request.customerFacing.priceVisibility.unlockHints?booleanDescription false withholds how to unlock a locked price (its tags' labels, whether a code could, the products that grant a tag) from buyers on this channel. Default true Example true
request.customerFacing.subdomain?string-
request.description?string-
request.eventFilter?{ channelTags?: string[]; mode: "all" | "tagged"; }-
request.eventFilter.channelTags?string[]-
request.eventFilter.mode?"all" | "tagged"-
request.feeProfileId?string-
request.name?string-
request.pricingConfig?{ includeFeesInPrice?: boolean; showMemberPricing?: boolean; showOriginalPrice?: boolean; }-
request.pricingConfig.includeFeesInPrice?boolean-
request.pricingConfig.showMemberPricing?boolean-
request.pricingConfig.showOriginalPrice?boolean-
request.receivingAccountId?string-
request.reservationTtlSeconds?number-
request.sellingRules?{ maxTickets?: number; singleSeatGap?: "warn" | "confirm"; }-
request.sellingRules.maxTickets?numberDescription The most seats one cart holds for one occurrence: 1 to 50 Example 10
request.sellingRules.singleSeatGap?"warn" | "confirm"Description warn: a seat choice that strands a single seat is refused (409 SINGLE_SEAT_GAP) with a shifted suggestion, no override. confirm: the same refusal, and the box office may resend with acceptSingleSeatGap Example warn @enum {string}
request.slug?string-
requestOptions?RequestOptions-

Returns#

Promise<{ accountId: string; autoList: boolean; brandId: string | null; channelTags: string[]; channelType: | "box_office" | "internal" | "website" | "embed" | "kiosk" | "reseller_api"; checkoutTtlSeconds: number; concierge: { ai: { disabledTools: string[]; enabled: boolean; tier: "answer" | "integrated" | "actions"; }; allowedOrigins: string[]; contactQueueId: string | null; enabled: boolean; features: { chat: boolean; contact: boolean; myOrders: boolean; search: boolean; }; knowledge: { restrictToOwn: boolean; }; openingHours: | { timezone: string; weekly: { fri?: ...[]; mon?: ...[]; sat?: ...[]; sun?: ...[]; thu?: ...[]; tue?: ...[]; wed?: ...[]; }; } | null; persona: { avatarAssetId?: string; greeting?: string; name?: string; }; placements: { embedded: { buyTickets: boolean; checkout: boolean; confirmation: boolean; myOrders: boolean; }; inline: boolean; launcher: boolean; page: boolean; }; }; createdAt: string; customerConfig: { allowGuestCheckout: boolean; collectAddress: boolean; collectPhone: boolean; requireLogin: boolean; }; customerFacing: { allowedOrigins: string[]; customDomain?: string; enabled: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: string; issuer: string; publicKeyPem: string; }; priceVisibility?: { lockedAs?: "locked" | "hidden"; unlockHints?: boolean; }; subdomain?: string; }; deletedAt: string | null; description: string | null; eventFilter: { channelTags?: string[]; mode: "all" | "tagged"; }; externalCollection: { enabled: boolean; methods: ( | "in_person_cash" | "in_person_card" | "online_card" | "bank_transfer" | "cheque")[]; }; feeProfileId: string | null; id: string; isActive: boolean; isDeleted: boolean; name: string; organisationId: string; pricingConfig: { includeFeesInPrice: boolean; showMemberPricing: boolean; showOriginalPrice: boolean; }; receivingAccountId: string; reservationTtlSeconds: number; sellingRules: { maxTickets: number; singleSeatGap: "warn" | "confirm"; }; slug: string; updatedAt: string; }>

Operation Id#

createSalesChannel

delete()#

delete: (channelId: string, requestOptions?: RequestOptions) => Promise<boolean>;

Delete sales channel Soft-delete a sales channel

Parameters#

ParameterType
channelIdstring
requestOptions?RequestOptions

Returns#

Promise<boolean>

Operation Id#

deleteSalesChannel

get()#

get: (channelId: string, requestOptions?: RequestOptions) => Promise<{
  accountId: string;
  autoList: boolean;
  brandId: string | null;
  channelTags: string[];
  channelType:   | "box_office"
     | "internal"
     | "website"
     | "embed"
     | "kiosk"
     | "reseller_api";
  checkoutTtlSeconds: number;
  concierge: {
     ai: {
        disabledTools: string[];
        enabled: boolean;
        tier: "answer" | "integrated" | "actions";
     };
     allowedOrigins: string[];
     contactQueueId: string | null;
     enabled: boolean;
     features: {
        chat: boolean;
        contact: boolean;
        myOrders: boolean;
        search: boolean;
     };
     knowledge: {
        restrictToOwn: boolean;
     };
     openingHours:   | {
        timezone: string;
        weekly: {
           fri?: ...[];
           mon?: ...[];
           sat?: ...[];
           sun?: ...[];
           thu?: ...[];
           tue?: ...[];
           wed?: ...[];
        };
      }
        | null;
     persona: {
        avatarAssetId?: string;
        greeting?: string;
        name?: string;
     };
     placements: {
        embedded: {
           buyTickets: boolean;
           checkout: boolean;
           confirmation: boolean;
           myOrders: boolean;
        };
        inline: boolean;
        launcher: boolean;
        page: boolean;
     };
  };
  createdAt: string;
  customerConfig: {
     allowGuestCheckout: boolean;
     collectAddress: boolean;
     collectPhone: boolean;
     requireLogin: boolean;
  };
  customerFacing: {
     allowedOrigins: string[];
     customDomain?: string;
     enabled: boolean;
     magicLinkBaseUrl?: string;
     partnerIdentity?: {
        algorithm: string;
        issuer: string;
        publicKeyPem: string;
     };
     priceVisibility?: {
        lockedAs?: "locked" | "hidden";
        unlockHints?: boolean;
     };
     subdomain?: string;
  };
  deletedAt: string | null;
  description: string | null;
  eventFilter: {
     channelTags?: string[];
     mode: "all" | "tagged";
  };
  externalCollection: {
     enabled: boolean;
     methods: (
        | "in_person_cash"
        | "in_person_card"
        | "online_card"
        | "bank_transfer"
       | "cheque")[];
  };
  feeProfileId: string | null;
  id: string;
  isActive: boolean;
  isDeleted: boolean;
  name: string;
  organisationId: string;
  pricingConfig: {
     includeFeesInPrice: boolean;
     showMemberPricing: boolean;
     showOriginalPrice: boolean;
  };
  receivingAccountId: string;
  reservationTtlSeconds: number;
  sellingRules: {
     maxTickets: number;
     singleSeatGap: "warn" | "confirm";
  };
  slug: string;
  updatedAt: string;
}>;

Get sales channel Get a sales channel by ID

Parameters#

ParameterType
channelIdstring
requestOptions?RequestOptions

Returns#

Promise<{ accountId: string; autoList: boolean; brandId: string | null; channelTags: string[]; channelType: | "box_office" | "internal" | "website" | "embed" | "kiosk" | "reseller_api"; checkoutTtlSeconds: number; concierge: { ai: { disabledTools: string[]; enabled: boolean; tier: "answer" | "integrated" | "actions"; }; allowedOrigins: string[]; contactQueueId: string | null; enabled: boolean; features: { chat: boolean; contact: boolean; myOrders: boolean; search: boolean; }; knowledge: { restrictToOwn: boolean; }; openingHours: | { timezone: string; weekly: { fri?: ...[]; mon?: ...[]; sat?: ...[]; sun?: ...[]; thu?: ...[]; tue?: ...[]; wed?: ...[]; }; } | null; persona: { avatarAssetId?: string; greeting?: string; name?: string; }; placements: { embedded: { buyTickets: boolean; checkout: boolean; confirmation: boolean; myOrders: boolean; }; inline: boolean; launcher: boolean; page: boolean; }; }; createdAt: string; customerConfig: { allowGuestCheckout: boolean; collectAddress: boolean; collectPhone: boolean; requireLogin: boolean; }; customerFacing: { allowedOrigins: string[]; customDomain?: string; enabled: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: string; issuer: string; publicKeyPem: string; }; priceVisibility?: { lockedAs?: "locked" | "hidden"; unlockHints?: boolean; }; subdomain?: string; }; deletedAt: string | null; description: string | null; eventFilter: { channelTags?: string[]; mode: "all" | "tagged"; }; externalCollection: { enabled: boolean; methods: ( | "in_person_cash" | "in_person_card" | "online_card" | "bank_transfer" | "cheque")[]; }; feeProfileId: string | null; id: string; isActive: boolean; isDeleted: boolean; name: string; organisationId: string; pricingConfig: { includeFeesInPrice: boolean; showMemberPricing: boolean; showOriginalPrice: boolean; }; receivingAccountId: string; reservationTtlSeconds: number; sellingRules: { maxTickets: number; singleSeatGap: "warn" | "confirm"; }; slug: string; updatedAt: string; }>

Operation Id#

getSalesChannel

list()#

list: (requestOptions?: RequestOptions) => Promise<{
  accountId: string;
  autoList: boolean;
  brandId: string | null;
  channelTags: string[];
  channelType:   | "box_office"
     | "internal"
     | "website"
     | "embed"
     | "kiosk"
     | "reseller_api";
  checkoutTtlSeconds: number;
  concierge: {
     ai: {
        disabledTools: string[];
        enabled: boolean;
        tier: "answer" | "integrated" | "actions";
     };
     allowedOrigins: string[];
     contactQueueId: string | null;
     enabled: boolean;
     features: {
        chat: boolean;
        contact: boolean;
        myOrders: boolean;
        search: boolean;
     };
     knowledge: {
        restrictToOwn: boolean;
     };
     openingHours:   | {
        timezone: string;
        weekly: {
           fri?: ... | ...;
           mon?: ... | ...;
           sat?: ... | ...;
           sun?: ... | ...;
           thu?: ... | ...;
           tue?: ... | ...;
           wed?: ... | ...;
        };
      }
        | null;
     persona: {
        avatarAssetId?: string;
        greeting?: string;
        name?: string;
     };
     placements: {
        embedded: {
           buyTickets: boolean;
           checkout: boolean;
           confirmation: boolean;
           myOrders: boolean;
        };
        inline: boolean;
        launcher: boolean;
        page: boolean;
     };
  };
  createdAt: string;
  customerConfig: {
     allowGuestCheckout: boolean;
     collectAddress: boolean;
     collectPhone: boolean;
     requireLogin: boolean;
  };
  customerFacing: {
     allowedOrigins: string[];
     customDomain?: string;
     enabled: boolean;
     magicLinkBaseUrl?: string;
     partnerIdentity?: {
        algorithm: string;
        issuer: string;
        publicKeyPem: string;
     };
     priceVisibility?: {
        lockedAs?: "locked" | "hidden";
        unlockHints?: boolean;
     };
     subdomain?: string;
  };
  deletedAt: string | null;
  description: string | null;
  eventFilter: {
     channelTags?: string[];
     mode: "all" | "tagged";
  };
  externalCollection: {
     enabled: boolean;
     methods: (
        | "in_person_cash"
        | "in_person_card"
        | "online_card"
        | "bank_transfer"
       | "cheque")[];
  };
  feeProfileId: string | null;
  id: string;
  isActive: boolean;
  isDeleted: boolean;
  name: string;
  organisationId: string;
  pricingConfig: {
     includeFeesInPrice: boolean;
     showMemberPricing: boolean;
     showOriginalPrice: boolean;
  };
  receivingAccountId: string;
  reservationTtlSeconds: number;
  sellingRules: {
     maxTickets: number;
     singleSeatGap: "warn" | "confirm";
  };
  slug: string;
  updatedAt: string;
}[]>;

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

Parameters#

ParameterType
requestOptions?RequestOptions

Returns#

Promise<{ accountId: string; autoList: boolean; brandId: string | null; channelTags: string[]; channelType: | "box_office" | "internal" | "website" | "embed" | "kiosk" | "reseller_api"; checkoutTtlSeconds: number; concierge: { ai: { disabledTools: string[]; enabled: boolean; tier: "answer" | "integrated" | "actions"; }; allowedOrigins: string[]; contactQueueId: string | null; enabled: boolean; features: { chat: boolean; contact: boolean; myOrders: boolean; search: boolean; }; knowledge: { restrictToOwn: boolean; }; openingHours: | { timezone: string; weekly: { fri?: ... | ...; mon?: ... | ...; sat?: ... | ...; sun?: ... | ...; thu?: ... | ...; tue?: ... | ...; wed?: ... | ...; }; } | null; persona: { avatarAssetId?: string; greeting?: string; name?: string; }; placements: { embedded: { buyTickets: boolean; checkout: boolean; confirmation: boolean; myOrders: boolean; }; inline: boolean; launcher: boolean; page: boolean; }; }; createdAt: string; customerConfig: { allowGuestCheckout: boolean; collectAddress: boolean; collectPhone: boolean; requireLogin: boolean; }; customerFacing: { allowedOrigins: string[]; customDomain?: string; enabled: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: string; issuer: string; publicKeyPem: string; }; priceVisibility?: { lockedAs?: "locked" | "hidden"; unlockHints?: boolean; }; subdomain?: string; }; deletedAt: string | null; description: string | null; eventFilter: { channelTags?: string[]; mode: "all" | "tagged"; }; externalCollection: { enabled: boolean; methods: ( | "in_person_cash" | "in_person_card" | "online_card" | "bank_transfer" | "cheque")[]; }; feeProfileId: string | null; id: string; isActive: boolean; isDeleted: boolean; name: string; organisationId: string; pricingConfig: { includeFeesInPrice: boolean; showMemberPricing: boolean; showOriginalPrice: boolean; }; receivingAccountId: string; reservationTtlSeconds: number; sellingRules: { maxTickets: number; singleSeatGap: "warn" | "confirm"; }; slug: string; updatedAt: string; }[]>

Operation Id#

listSalesChannels

mySalesChannels()#

mySalesChannels: (requestOptions?: RequestOptions) => Promise<{
  channels: {
     id: string;
     name: string;
     slug: string;
  }[];
  permissions: {
     permission: string;
     scope: "channel" | "all";
  }[];
  scope: "channel" | "all";
}>;

The channels I may act through The sales channels the caller may act through, and at which scope. The one way a client learns its set: a box office app offers these at sign-in and sends the chosen slug as X-Ticketlayer-Channel on everything after.

Parameters#

ParameterType
requestOptions?RequestOptions

Returns#

Promise<{ channels: { id: string; name: string; slug: string; }[]; permissions: { permission: string; scope: "channel" | "all"; }[]; scope: "channel" | "all"; }>

Operation Id#

getMySalesChannels

update()#

update: (channelId: string, request: {
  autoList?: boolean;
  brandId?: any;
  channelTags?: string[];
  checkoutTtlSeconds?: number;
  customerConfig?: {
     allowGuestCheckout?: boolean;
     collectAddress?: boolean;
     collectPhone?: boolean;
     requireLogin?: boolean;
  };
  customerFacing?: {
     allowedOrigins?: any[];
     customDomain?: string;
     enabled?: boolean;
     magicLinkBaseUrl?: string;
     partnerIdentity?: {
        algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512";
        issuer: string;
        publicKeyPem: string;
     };
     priceVisibility?: {
        lockedAs?: "locked" | "hidden";
        unlockHints?: boolean;
     };
     subdomain?: string;
  };
  description?: string;
  eventFilter?: {
     channelTags?: string[];
     mode: "all" | "tagged";
  };
  externalCollection?: {
     enabled?: boolean;
     methods?: (
        | "in_person_cash"
        | "in_person_card"
        | "online_card"
        | "bank_transfer"
       | "cheque")[];
  };
  feeProfileId?: any;
  isActive?: boolean;
  name?: string;
  paymentProviderId?: any;
  pricingConfig?: {
     includeFeesInPrice?: boolean;
     showMemberPricing?: boolean;
     showOriginalPrice?: boolean;
  };
  receivingAccountId?: string;
  reservationTtlSeconds?: number;
  sellingRules?: {
     maxTickets?: number;
     singleSeatGap?: "warn" | "confirm";
  };
}, requestOptions?: RequestOptions) => Promise<{
  accountId: string;
  autoList: boolean;
  brandId: string | null;
  channelTags: string[];
  channelType:   | "box_office"
     | "internal"
     | "website"
     | "embed"
     | "kiosk"
     | "reseller_api";
  checkoutTtlSeconds: number;
  concierge: {
     ai: {
        disabledTools: string[];
        enabled: boolean;
        tier: "answer" | "integrated" | "actions";
     };
     allowedOrigins: string[];
     contactQueueId: string | null;
     enabled: boolean;
     features: {
        chat: boolean;
        contact: boolean;
        myOrders: boolean;
        search: boolean;
     };
     knowledge: {
        restrictToOwn: boolean;
     };
     openingHours:   | {
        timezone: string;
        weekly: {
           fri?: ...[];
           mon?: ...[];
           sat?: ...[];
           sun?: ...[];
           thu?: ...[];
           tue?: ...[];
           wed?: ...[];
        };
      }
        | null;
     persona: {
        avatarAssetId?: string;
        greeting?: string;
        name?: string;
     };
     placements: {
        embedded: {
           buyTickets: boolean;
           checkout: boolean;
           confirmation: boolean;
           myOrders: boolean;
        };
        inline: boolean;
        launcher: boolean;
        page: boolean;
     };
  };
  createdAt: string;
  customerConfig: {
     allowGuestCheckout: boolean;
     collectAddress: boolean;
     collectPhone: boolean;
     requireLogin: boolean;
  };
  customerFacing: {
     allowedOrigins: string[];
     customDomain?: string;
     enabled: boolean;
     magicLinkBaseUrl?: string;
     partnerIdentity?: {
        algorithm: string;
        issuer: string;
        publicKeyPem: string;
     };
     priceVisibility?: {
        lockedAs?: "locked" | "hidden";
        unlockHints?: boolean;
     };
     subdomain?: string;
  };
  deletedAt: string | null;
  description: string | null;
  eventFilter: {
     channelTags?: string[];
     mode: "all" | "tagged";
  };
  externalCollection: {
     enabled: boolean;
     methods: (
        | "in_person_cash"
        | "in_person_card"
        | "online_card"
        | "bank_transfer"
       | "cheque")[];
  };
  feeProfileId: string | null;
  id: string;
  isActive: boolean;
  isDeleted: boolean;
  name: string;
  organisationId: string;
  pricingConfig: {
     includeFeesInPrice: boolean;
     showMemberPricing: boolean;
     showOriginalPrice: boolean;
  };
  receivingAccountId: string;
  reservationTtlSeconds: number;
  sellingRules: {
     maxTickets: number;
     singleSeatGap: "warn" | "confirm";
  };
  slug: string;
  updatedAt: string;
}>;

Update sales channel Update a sales channel's configuration

Parameters#

ParameterTypeDescription
channelIdstring-
request{ autoList?: boolean; brandId?: any; channelTags?: string[]; checkoutTtlSeconds?: number; customerConfig?: { allowGuestCheckout?: boolean; collectAddress?: boolean; collectPhone?: boolean; requireLogin?: boolean; }; customerFacing?: { allowedOrigins?: any[]; customDomain?: string; enabled?: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"; issuer: string; publicKeyPem: string; }; priceVisibility?: { lockedAs?: "locked" | "hidden"; unlockHints?: boolean; }; subdomain?: string; }; description?: string; eventFilter?: { channelTags?: string[]; mode: "all" | "tagged"; }; externalCollection?: { enabled?: boolean; methods?: ( | "in_person_cash" | "in_person_card" | "online_card" | "bank_transfer" | "cheque")[]; }; feeProfileId?: any; isActive?: boolean; name?: string; paymentProviderId?: any; pricingConfig?: { includeFeesInPrice?: boolean; showMemberPricing?: boolean; showOriginalPrice?: boolean; }; receivingAccountId?: string; reservationTtlSeconds?: number; sellingRules?: { maxTickets?: number; singleSeatGap?: "warn" | "confirm"; }; }-
request.autoList?boolean-
request.brandId?any-
request.channelTags?string[]-
request.checkoutTtlSeconds?number-
request.customerConfig?{ allowGuestCheckout?: boolean; collectAddress?: boolean; collectPhone?: boolean; requireLogin?: boolean; }-
request.customerConfig.allowGuestCheckout?boolean-
request.customerConfig.collectAddress?boolean-
request.customerConfig.collectPhone?boolean-
request.customerConfig.requireLogin?boolean-
request.customerFacing?{ allowedOrigins?: any[]; customDomain?: string; enabled?: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"; issuer: string; publicKeyPem: string; }; priceVisibility?: { lockedAs?: "locked" | "hidden"; unlockHints?: boolean; }; subdomain?: string; }-
request.customerFacing.allowedOrigins?any[]-
request.customerFacing.customDomain?string-
request.customerFacing.enabled?boolean-
request.customerFacing.magicLinkBaseUrl?string-
request.customerFacing.partnerIdentity?{ algorithm: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"; issuer: string; publicKeyPem: string; }-
request.customerFacing.partnerIdentity.algorithm?"RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512"-
request.customerFacing.partnerIdentity.issuer?string-
request.customerFacing.partnerIdentity.publicKeyPem?string-
request.customerFacing.priceVisibility?{ lockedAs?: "locked" | "hidden"; unlockHints?: boolean; }-
request.customerFacing.priceVisibility.lockedAs?"locked" | "hidden"Description locked (the default) shows a locked price with how to unlock it; hidden hides every locked price on this channel until it is unlocked Example hidden @enum {string}
request.customerFacing.priceVisibility.unlockHints?booleanDescription false withholds how to unlock a locked price (its tags' labels, whether a code could, the products that grant a tag) from buyers on this channel. Default true Example true
request.customerFacing.subdomain?string-
request.description?string-
request.eventFilter?{ channelTags?: string[]; mode: "all" | "tagged"; }-
request.eventFilter.channelTags?string[]-
request.eventFilter.mode?"all" | "tagged"-
request.externalCollection?{ enabled?: boolean; methods?: ( | "in_person_cash" | "in_person_card" | "online_card" | "bank_transfer" | "cheque")[]; }-
request.externalCollection.enabled?booleanDescription Whether the channel's secret key and the staff selling on it may record payment the channel collected itself (POST /orders/{orderId}/external-payments). Off by default. Switching it on, or adding a method, also needs ledger.settle on the channel's account: the channel's owner will hold buyers' money and owe the event owner for it. Example true
request.externalCollection.methods?( | "in_person_cash" | "in_person_card" | "online_card" | "bank_transfer" | "cheque")[]Description The real methods the channel may record. At least one while enabled (EXTERNAL_COLLECTION_METHODS_REQUIRED). Example [ "in_person_cash" ]
request.feeProfileId?any-
request.isActive?boolean-
request.name?string-
request.paymentProviderId?any-
request.pricingConfig?{ includeFeesInPrice?: boolean; showMemberPricing?: boolean; showOriginalPrice?: boolean; }-
request.pricingConfig.includeFeesInPrice?boolean-
request.pricingConfig.showMemberPricing?boolean-
request.pricingConfig.showOriginalPrice?boolean-
request.receivingAccountId?string-
request.reservationTtlSeconds?number-
request.sellingRules?{ maxTickets?: number; singleSeatGap?: "warn" | "confirm"; }-
request.sellingRules.maxTickets?numberDescription The most seats one cart holds for one occurrence: 1 to 50 Example 10
request.sellingRules.singleSeatGap?"warn" | "confirm"Description warn: a seat choice that strands a single seat is refused (409 SINGLE_SEAT_GAP) with a shifted suggestion, no override. confirm: the same refusal, and the box office may resend with acceptSingleSeatGap Example warn @enum {string}
requestOptions?RequestOptions-

Returns#

Promise<{ accountId: string; autoList: boolean; brandId: string | null; channelTags: string[]; channelType: | "box_office" | "internal" | "website" | "embed" | "kiosk" | "reseller_api"; checkoutTtlSeconds: number; concierge: { ai: { disabledTools: string[]; enabled: boolean; tier: "answer" | "integrated" | "actions"; }; allowedOrigins: string[]; contactQueueId: string | null; enabled: boolean; features: { chat: boolean; contact: boolean; myOrders: boolean; search: boolean; }; knowledge: { restrictToOwn: boolean; }; openingHours: | { timezone: string; weekly: { fri?: ...[]; mon?: ...[]; sat?: ...[]; sun?: ...[]; thu?: ...[]; tue?: ...[]; wed?: ...[]; }; } | null; persona: { avatarAssetId?: string; greeting?: string; name?: string; }; placements: { embedded: { buyTickets: boolean; checkout: boolean; confirmation: boolean; myOrders: boolean; }; inline: boolean; launcher: boolean; page: boolean; }; }; createdAt: string; customerConfig: { allowGuestCheckout: boolean; collectAddress: boolean; collectPhone: boolean; requireLogin: boolean; }; customerFacing: { allowedOrigins: string[]; customDomain?: string; enabled: boolean; magicLinkBaseUrl?: string; partnerIdentity?: { algorithm: string; issuer: string; publicKeyPem: string; }; priceVisibility?: { lockedAs?: "locked" | "hidden"; unlockHints?: boolean; }; subdomain?: string; }; deletedAt: string | null; description: string | null; eventFilter: { channelTags?: string[]; mode: "all" | "tagged"; }; externalCollection: { enabled: boolean; methods: ( | "in_person_cash" | "in_person_card" | "online_card" | "bank_transfer" | "cheque")[]; }; feeProfileId: string | null; id: string; isActive: boolean; isDeleted: boolean; name: string; organisationId: string; pricingConfig: { includeFeesInPrice: boolean; showMemberPricing: boolean; showOriginalPrice: boolean; }; receivingAccountId: string; reservationTtlSeconds: number; sellingRules: { maxTickets: number; singleSeatGap: "warn" | "confirm"; }; slug: string; updatedAt: string; }>

Operation Id#

updateSalesChannel